Особенности обучения построению моделей
перемещения сложных объектов, обладающих искусственным интеллектом на базе нейронной сети
Федосин Сергей Алексеевич профессор, к.т.н., заведующий кафедрой автоматизированных систем обработки информации и управления, Национальный исследовательский Мордовский государственный университет имени
Н. П. Огарева
ул. Б. Хмельницкого, 39, г. Саранск, 430005, (8342)478691 [email protected]
Плотникова Наталья Павловна к.т.н., старший преподаватель кафедры автоматизированных систем обработки информации и управления, Национальный исследовательский Мордовский государственный университет имени
Н. П. Огарева
ул. Б. Хмельницкого, 39, г. Саранск, 430005, (8342)478691 [email protected]
Немчинова Елена Андреевна Студентка направления «Информатика и вычислительная техника», Институт электроники и светотехники Национальный исследовательский Мордовский государственный университет имени
Н. П. Огарева ул. Б. Хмельницкого, 39, г. Саранск, 430005 [email protected]
Макарова Наталья Владимировна студентка,
Национальный исследовательский Мордовский государственный университет имени
Н. П. Огарева ул. Б. Хмельницкого, 39, г. Саранск, 430005 nat [email protected]
Аннотация
В статье рассматривается процесс создания модели сложного объекта, обладающего искусственным интеллектом, описываются способы перемещения полученной модели в пространстве, применение нейронных сетей для управления действиями модели объекта. Исследования в данной сфере позволяют студентам Мордовского государственного университета им. Н. П. Огарева расширить свои знания в области искусственного интеллекта, а также взаимодействующих с ней дисциплин, таких как робототехника. The article deals with the process of creating a model of a complex object possessing artificial intelligence, describing the ways of moving the resulting model in space, the application of neural networks for control. Studies in this area allow students of the Mordovian State University of N. P. Ogarev to expand their knowledge in the field of artificial intelligence, as well as interacting disciplines such as robotics.
Ключевые слова
искусственный интеллект, нейронная сеть, модель сложного объекта, перемещение в пространстве
artificial intelligence, neural network, model of a complex object, movement in
space
Ведение
Искусственный интеллект является одним из передовых направлений современной науки. Утверждение о том, что данную дисциплину преподают только на технических специальностях, ошибочно, так как ее достижения захватывают все сферы человеческой деятельности. Основная цель изучения искусственного интеллекта научить машины думать подобно тому, как это делает человеческий мозг.
Толчком к росту популярности искусственного интеллекта в последние годы послужило активное развитие нейронных сетей. Искусственные нейронные сети являются сложной вычислительной системой с множеством связей между параллельно выполняющимся простыми процессами. Они представляют собой модель биологического мозга. Само слово «модель» говорит о ряде упрощений, выявлении только ключевых качеств реального объекта, что отличает ее от аналога. Однако даже при таких ограничениях искусственный интеллект на базе нейронной сети показывает хорошие результаты, а главное, способен обучаться и развиваться на основе полученных данных [1].
Нейронные сети решают широкий круг задач, каждая из которых непосредственно связана с обучением. К основным областям применения нейронных сетей относят распознавание образов и их классификацию, принятие решений и управление, кластеризацию, прогнозирование, аппроксимацию, оптимизацию, сжатие и анализ данных. В настоящий момент нейронные сети являются ключевым элементом современных систем навигации, используются для распознавания и синтеза речи, обработки изображений, а также для защиты информационных систем от несанкционированного доступа и другого вида атак.
В процессе изучения возможностей искусственного интеллекта одной из сложнейших задач стало обучение нейронной сети осознанному перемещению в пространстве. Когда человек идет по улице, он с легкостью переставляет ноги, поддерживает равновесие с помощью рук, не задумываясь, обходит препятствия. Все это происходит, как нам кажется, автоматически. Однако, это не так. Перемещение человека -это сложный процесс, хорошо просчитанный и четко спланированный нашим мозгом. Нейронные сети решают подобные проблемы пока лишь в упрощенном варианте, но в то же время они могут управлять моделями любых сложных объектов. Одним из направлений исследований Мордовского государственного университета им. Н. П. Огарева является моделирование процессов перемещения объектов в пространстве с применением нейронных сетей. Далее будет рассмотрен пример создания модели некоторого объекта, управляемого искусственным интеллектом на базе нейронной сети, перемещающегося в двумерном пространстве.
Создание модели объекта
Под моделью объекта будем понимать совокупность отрезков, концы которых соединены между собой. В ней должны быть отражены основные части объекта, с помощью которых он перемещается. Соединения отрезков назовем «суставами» модели
объекта. Так как перемещение происходит в двумерном пространстве, для однозначного определения положения некоторого отрезка в каждый момент времени зададим его в виде координат точек, являющихся концами этого отрезка. Телом модели объекта будет являться набор жестко связанных отрезков, то есть неподвижных друг относительно друга. Тогда отрезки, способные менять свое положение относительно тела, будут представлять собой конечности модели. Рассмотрим конкретную модель объекта, представленную на рисунке 1.
Рис. 1. Модель объекта
Исходя из рисунка 1, модель имеет тело, обозначенное четырехугольником 12-4-3, и две ярко выраженные конечности (левая конечность - отрезки 3-5 и 5-7, правая - отрезки 4-6, 6-8), с помощью которых объект будет перемещаться.
Следующим шагом необходимо определить, в каких «суставах» и каким образом будут двигаться отрезки, из которых состоит модель. Очевидно, что движения будут совершать отрезки конечностей:
- отрезок 3-5 будет совершать поворот на некоторый угол в «суставе», обозначенном точкой 3;
- отрезок 5-7 поворачивается в точке 5;
- отрезок 4-6 совершает поворот в «суставе» 4;
- отрезок 6-8 - в точке 6.
Обозначим на рисунке 2 углы, на которые смогут поворачиваться конечности объекта.
Рис. 2. Обозначение углов поворота конечностей объекта
Способы организации движения модели
В широком смысле под перемещение понимается изменение положения тела в пространстве с течением времени относительно выбранной системы отсчета. Однако многое зависит от того, как именно будет двигаться объект: будет ли он катиться или упругими прыжками стремиться к цели. Поэтому необходимо определить способ передвижения объекта, который напрямую зависит от свойств его конечностей.
Обозначим два способа организации движения конечностей модели:
- неупругое движение, при котором конечности фиксируют свое положение после совершённого действия;
- упругое движение, использующее пружинящий эффект мышц.
Рассмотрим каждый из них более детально.
Способ неупругого движения конечностей
Данный способ характеризуется фиксацией отрезка конечности в некотором положении, в которое он пришел после совершения очередного действия. Изначально необходимо определить для исходной модели, на какие углы смогут поворачиваться отрезки в «суставах», то есть требуется указать крайние положения отрезков. Для того, чтобы ограничения были корректны в любом положении объекта относительно системы координат, их следует привязать к неподвижным отрезкам модели, а именно к отрезкам, формирующим тело. На рисунке 3 пунктирными линиями указаны предельные положения для каждого из отрезков конечностей объекта.
Рис. 3. Диапазоны углов поворота конечностей
После поворота конкретного отрезка на определенный угол в доступном ему диапазоне, его положение фиксируется в ожидании дальнейшего действия или реакции окружающей среды. Части конечности, связанные «суставами» с тем отрезком, что совершил поворот в данный момент, также изменяют свое положение, если это необходимо. На текущем шаге эти части считаются жестко связанными с ним.
Способ упругого движения конечностей
Этот способ в качестве основных двигателей использует «мышцы», представленные в виде пружин. Для подвижных отрезков, как и в предыдущем случае, устанавливается угол поворота. Затем для каждого «сустава», в котором производится некоторый поворот, определяется соответствующая ему «мышца», обозначаемая на рисунке в виде отрезка, лежащего против угла поворота с вершиной в этом «суставе». Крепление «мышц» осуществляется в точки, лежащие на отрезках. На рисунке 4 представлена модель с выделением углов попорота отрезков. Рисунок 5 демонстрирует «мышцы» (голубым цветом) полученной модели объекта.
Рис. 4. Модель объекта с указанием углов поворота отрезков конечностей
Рис. 5. Расположение «мышц» объекта
Модель использует два вида «мышц»: «умные» и «немые». Первые «мышцы» инициируют действие модели. Они изменяют свою длину в соответствии с данными, полученными от нейронной сети. Вторые всего лишь реагируют на произошедшие из-
менения, влияющие на их состояние. При этом все «мышцы» не остаются в четко фиксированном положении, а реагирую упругими сжатиями и растяжениями подобно пружине.
Особенности применения нейронной сети
В рассмотренных способах перемещения для управления действиями модели объекта будут использоваться нейронные сети, основным отличием которых станут данные, подаваемы на входы сетей, а также результаты, полученные после обработки этих данных.
Применительно к неупругой модели движения целесообразно предоставить нейронной сети информацию об углах поворота конечностей объекта и координатах концов отрезков в текущий момент времени. Однако нейронная сеть, которая будет управлять движением конечностей модели, не сможет повернуть некоторый отрезок на произвольный угол. Ей необходим ряд состояний, для каждого из которых она будет давать оценку выгодности этого состояния в текущий момент времени. Для удовлетворения потребностей сети разделим диапазон возможных углов поворота для некоторого отрезка на фиксированное количество частей. Определим как действия модели повороты отрезков по часовой стрелке и против часовой стрелки на угол, равный полученной при делении части диапазона. Состояниями при этом будут все возможные положения конечностей модели, количество которых равно произведению чисел частей, на которые разделили каждый из диапазонов. На рисунке 6 приведена схема разбиения диапазонов допустимых углов поворота отрезков на конечное число частей, где красными пунктирными линиями изображены границы частей основного диапазона. При достаточно большом количестве таких частей объект будет двигаться более плавно и правильно.
Рис. 6. Разбиение диапазонов углов поворота отрезков на конечное число одинаковых частей
Каким же образом будет перемещаться полученная модель? В каждый момент времени нейронная сеть, оценив предыдущие действия и состояние окружающей среды, делает предположение о дальнейшем действии. Модель выполняет полученное от нейронной сети указание, то есть поворачивает один из отрезков конечностей на некоторый определенный заранее угол. После чего производятся получение данных о
новом состоянии объекта. Также производится проверка на устойчивость модели в новом состоянии. Если модель начинает падать, то рассчитывается угол поворота тела объекта в сторону падения и соответствующее ее смещение на часть этого угла, определенную для единичного промежутка времени. Когда вычислено итоговое положение модели в пространстве после всех преобразований, данные могут быть переданы на вход нейронной сети для генерации следующего действия.
В случае модели упругого перемещения за счет сжатий и растяжений «мышц» движение происходит путем отталкивания объекта от поверхности, то есть прыжками, поэтому в некоторые моменты времени он находится в состоянии полета [2]. Перемещение модели представлено на рисунке 7.
Рис. 7. Перемещение модели объекта
Для описания текущего состояния модели необходимо учитывать ряд дополнительных параметров, передаваемых на входы нейронной сети, таких как скорость перемещения, давление касания точек, скорость вращения объектов. Эти данные однозначно характеризуют модель в каждый момент времени. После обработки поданной информации нейронной сетью объект получает от нее значения длин «умных мышц» и изменяет их состояние, сжимая или растягивая последние. В зависимости от того, как изменилось положение «умных мышц» и соответствующих отрезков, реагируют «немые мышцы». Таким образом производится упругое отталкивание модели объекта от поверхности, по которой он движется, или его приземление. Как и в первом случае, все данные о новом состоянии модели передаются на входы нейронной сети.
Заключение
Искусственный интеллект постепенно становится частью нашей жизни. Знакомство с нейронными сетями происходит в процессе обучения студентов в высшие учебные заведения. Современные вузы стараются ориентировать курс дисциплины «Искусственный интеллект» на взаимосвязь с конкретным направлением, по которому обучается студент. Это производится путем комбинирования различных дисциплин для раскрытия применимости и значимости искусственного разума в конкретных областях деятельности человека. Широкое применение искусственный интеллект нашел в робототехнике. Уже сейчас управление моделями объектов с помощью нейронных сетей показывает значительные результаты, реалистично воспроизводя движения живых существ, в том числе и человека. Ярким примером развития данной области является разработка компанией Google DeepMind искусственного интеллекта, которому
удалось научиться ходить, бегать, прыгать и преодолевать препятствия без каких-либо предварительных рекомендаций [3]. В Мордовском государственном университете им. Н. П. Огарева также проводятся исследования в данной сфере. Студенты и преподаватели занимаются созданием моделей перемещения сложных объектов, обладающих искусственным интеллектом на базе нейронной сети. Полученные результаты исследований вносят вклад в развитие науки в данном направлении, выводя ее на новый уровень.
Литература
1. Оссовский С. Нейронные сети для обработки информации / Пер. с польского И. Д. Рудинского. - М.: Финансы и статистика, 2002. - 344с.: ил.
2. EVOLUTION [V6] - Learn to Walk (genetic algorithm & Neural Network) [Электронный ресурс]. -
Режим доступа: https://www.youtube.com/watch?v=h-89xjWpV4U. - Загл. с экрана.
3. Google's DeepMind AI Just Taught Itself To Walk [Электронный ресурс]. -Режим доступа: https://www.youtube.com/watch?v=gn4nRCC9TwQ. - Загл. с экрана.