1.54M
Category: informaticsinformatics

Разработка искусственного интеллекта для решения рутинных задач

1.

Разработка
искусственного
интеллекта для решения
рутинных задач
Выполнили:
Машинников Алексей
Каракулова Екатерина
Руководитель:
Исупов Сергей

2.

Актуальность
Глобальная проблема
Глобальная цель

3.

Цели и задачи
Цель: разработка робота, справляющегося с простейшей человеческой задачей.
Проблема: для решения человеческих задач необходимо обладать чувствами, интеллектом
и средствами воздействия на физические объекты, соответственно локально встают
проблемы: компьютерного зрения, компьютерного интеллекта, механических манипуляторов.
Задачи:
1. Выбор предмета разработки.
2. Изучение теории программирования, искусственного интеллекта, машиностроения.
3. Разработка алгоритмической базы для решаемой проблемы.
4. Разработка модели робота, решающего поставленную задачу при помощи
алгоритмической базы.

4.

Выбор объекта
разработки
Выбор объекта разработки был обусловлен следующими критериями:
1. Возможность применить компьютерное зрение.
2. Возможность применить искусственный интеллект.
3. Возможность применения манипуляторов.
Руководствуясь критериями, в качестве объекта разработки мы выбрали
робота, самостоятельно играющего в игру «Words of wonders», где нам
понадобится:
1. Компьютерное зрение, чтобы определять текущее состояние игры.
2. Искусственный интеллект, чтобы определять слова для ввода.
3. Манипулятор для ввода действий игрока.

5.

Структура проекта
Робот
Алгоритмы
Генераторы
Нейросети

6.

Главный алгоритм работы
Загрузка справочника слов
Пока не закончатся уровни:
Выбор следующего уровня
Решение уровня:
Снимок экрана
Распознавание доступных букв
Распознавание структуры кроссворда
Получение списка возможных слов

7.

Главный алгоритм работы
Умный алгоритм перебора слов:
Выбор наиболее привлекательного слова
Ввод выбранного слов
Исключение лишних слов из списка согласно новому состоянию
Если умный алгоритм не справился:
Простой алгоритм перебора слов:
Ввод очередного слова из списка
Если простой алгоритм не справился:
Перебор всех возможных комбинаций:
Ввод очередной комбинации

8.

Сверточные нейросети
Нейронные сети — это модели машинного обучения, состоящие из взаимосвязанных
узлов, которые обрабатывают информацию для принятия решений.
Один из видов нейронных сетей – сверточные нейросети, которыми мы пользовались
для распознавания изображений и их классификации.
Сверточные нейросети – это особый тип нейронных сетей, которые помогают
компьютерам видеть и понимать изображения и видео.

9.

Нейросети проекта
Данные нейросети для проекта были разработаны самостоятельно:
Классификация
круга
Распознавание
буквы
Определение
границ
кроссворда
Распознавание
размера
кроссворда
Распознавание
типа ячейки

10.

Алгоритмы проекта
поиск возможных слов
структура кроссворда
наполнение кроссворда
поиск лучшего слова
фильтрация кроссворда
аварийный перебор слов

11.

Генераторы проекта
Круга с
буквами
Букв
Фонов
Ячеек
Кроссвордов

12.

Матрица
Базой для большинства алгоритмов является матрица кроссворда, получаемая
компьютерным зрением.

13.

Псевдо-робот
«Псевдо-робот» - программа, управляющая положением курсора. Алгоритмическая база
разрабатывается на «псевдо-роботе», а телефон с игрой заменен на эмулятор.
Такое решение позволяет отладить алгоритмическую часть проекта, не сталкиваясь с
проблемами механики, которые так же являются частью проекта, но которыми на данном этапе
можно пренебречь.
На текущий момент «псевдо-робот» умеет управлять курсором мыши, а именно:
1. Передвигать его
2. Зажимать клавишу
3. Отпускать клавишу
С использованием таких простых команд реализована более сложная функция – ввод слова на
круге.

14.

Текущее состояние разработки
На данный момент алгоритм умеет:
1. Проходить уровень умным алгоритмом.
2. Проходить уровень перебором возможных комбинаций.
3. Проходить уровень перебором подходящих слов.
Прохождение производится на эмуляторе при помощи
курсора мыши.
Гифка

15.

Показатели проекта в цифрах
30 секунд
Робот тратит на решение одного уровня
8 дней
Потребуется для прохождения всей игры или 23380 уровней
10 человек
Решают столько же уровней за определенный промежуток
времени , сколько 1 робот

16.

Показатели проекта в цифрах
Робот в среднем тратит 30 секунд на решение уровня.
При это робот угадывает с первого раза 4 из 5 слов.
В словаре робота более 300000 слов, которыми он может пользоваться.
В игре 23380 уровней, поэтому прохождение игры при идеальной работе алгоритма
займет 195 часов или 8 дней, при условии, что алгоритм будет работать непрерывно.
Средний человек решает средний уровень за 5 минут.
В среднем, алгоритм может решить столько же уровней за определенный
промежуток времени, сколько и 10 человек вместе.

17.

Дорожная карта
Проект еще находится в стадии разработки, имеет промежуточные результаты, но не обладает
своей конечной формой. Для его завершения мы запланировали следующие работы:
Улучшение справочника: расширение допустимых слов, исключение некорректных слов, ввод
системы рейтинга слов
Отладка основного алгоритма: устранение неточностей, дообучение сетей
Разработка компьютерного зрения для определения служебных экранов: необходимая функция для
зацикливания работы программы
Разработка физической модели робота: игра будет запущена на телефоне, а управлять ей будет
рука-манипулятор при помощи стилуса
Запуск стрима: перманентная съемка процесса работы робота и ее трансляция на популярные
платформы, с целью популяризации нашей работы

18.

Применение нашего проекта
Наш проект затрагивает такие моменты, как искусственный интеллект,
компьютерное зрение и робототехника. Нашу небольшую разработку далее
можно масштабировать на все возможные сферы, где присутствуют рутинные
работы. Например:
Компьютерное зрение, которое мы используем в проекте можно использовать
для распознавания текстов, предметов или объектов, классифицировать объекты
по различным признакам.
Алгоритмическую базу проекта можно использовать для различных других
программ и нейросетей, изучающих или прогнозирующих тексты, например таких
как ChatGPT.
Руку-манипулятор можно использовать практически в любой сфере – от
машиностроения до нейрохирургии или от игры в пинг-понг до 3d печати.

19.

Заключение
В ходе работы мы написали множество алгоритмов на языке Python, обучили ряд
нейросетей, разработали прототип робота, который способен самостоятельно играть в
простую логическую игру.
Цели проекта частично достигнуты, однако сам проект еще находится в стадии
разработки.
На основе разработанного нами искусственного интеллекта могут быть разработаны ИИ
для других сфер, в которых требуется распознать текст и неким образом
проанализировать его или выполнить операции с ним.
Но самой большой ценностью данного проекта является опыт, который мы получаем в
процессе работы над ним. Создав текущее решение, перед нами откроются двери в мир
серьезных разработок и технологий.
English     Русский Rules