ВВЕДЕНИЕ
ГЛАВА 1. ПОСТАНОВКА ЗАДАЧИ…………………………………7
1.1. Задача управления «роботом-велосипедистом»….. ……..7
1.2. Проблемы практического применения теоретических
результатов
1.3. Математическая постановка задачи ……………………..10
ГЛАВА 2. ИССЛЕДОВАНИЕ ЗАДАЧИ………………………..…..14
2.1. Моделирование неуправляемой системы……..…………14
2.2. Графики моделирования неуправляемой системой …….16
2.3. Моделирование управляемой системы и оценка коэффициента
2.4. Графики моделирование управляемой системы и оценка
коэффициента
Заключение
Список литературы
Приложения
Одним из популярных направлений науки в настоящее время является
искусственный интеллект. Одной из важных составляющих этого
направления – это машинное обучение. Оно применяется во многих
областях, например в информационной безопасности, робототехники,
медицине. Почему его применяют? Дело в том, что системы машинного
обучения позволяют быстро применять знания, полученные при обучении на
больших наборах данных, что позволяет им преуспевать в таких задачах, как
распознавание лиц, распознавание речи, распознавание объектов,
автоматический перевод текстов, оно помогает в управлении самолетами,
ракетами, в диагностировании заболеваний и многое другое. В отличие от
программ с закодированными вручную инструкциями для выполнения
конкретных задач, машинное обучение позволяет системе научиться
самостоятельно, распознавать шаблоны и делать прогнозы. В некоторых
случаях машина по сравнению с человеком способна принимать более
правильные, быстрые, решения.[1] Но эта область имеет множество
нерешенных проблем. В машинном обучении выделяют такие направления,
как: обучение по дереву принятия решений, обучение по ассоциативным
правилам, обучение с подкреплением, искусственные нейронные сети,
глубокое обучение, обучение по характерным особенностям, обучение по
подобию, обучение по избыточному словарю и многое другое. [2] Данная
работа относится к области обучения с подкреплением, а точнее к
адаптивным алгоритмам. Обучение с подкреплением используют там, где
задачей стоит не анализ данных, а выживание в реальной среде. Откликом
среды (а не специальной системы управления подкреплением, как это
происходит в обучении с учителем) на принятые решения являются сигналы
подкрепления, поэтому такое обучение является частным случаем обучения с
учителем, но учителем является среда или её модель. С точки
зрения кибернетики, обучение с подкреплением является одним из5
видов кибернетического эксперимента. В инженерных задачах управления
механическими и техническими системами, самообучение и
самонастраивание регулятора последние 50 лет изучается под флагом адаптивного управления.
Целью данной работы является изучение методов машинного обучения
с подкреплением для задач управления механической системой на примере робота-велосипедиста.
Робот-велосипедист представляет собой велосипед с находящемся на
нем регулятором. Последний должен поддерживать равновесие движущегося
велосипеда. Возможно ли реализовать такой регулятор? Наверное, поскольку
человек может ездить на велосипеде и регулировать его таким образом, что
бы тот не упал, есть также уже и реализованные роботы данного класса.
Любая задача автоматического управления превращается в задачу об
адаптивном управлении. Содержание подобных задач весьма разнообразно,
например, управление подвижными объектами, технологическими
процессами, управление робототехническими системами. Адаптивные
регуляторы обладают большой надежностью и устойчивостью в работе,
ввиду способности компенсировать разного рода неточности (неизвестные
параметры модели, внешние возмещения). Если адаптивный регулятор
построен на основании неточно составленной математической модели
объекта, но реальный объект принадлежит классу адаптации регулятора, то он будет работоспособен.[3]
Работа основана на статье В. А Якубовича «Адаптивные системы с
многошаговыми целевыми условиями» в применении ее теории к
прикладной задаче. Статья является довольно старой по написанию и
структуре, поэтому при ее разборе возникает большое количество вопросов и
затруднений. Поэтому было решено разобрать данную статью и написать
прикладную часть таким образом, чтобы человеку, который хочет применить
данный алгоритм, не пришлось сталкиваться свыше обозначенными6
проблемами и тратить на них время. Так же в этой работе представлена
программная реализация этого алгоритма.
Моделирование выполнено на языке Python[5], так как он сегодня
является одним из самых распространенных языков и имеет большое
количество библиотек помогающих в реализации, визуализации,
вычислениях. При разработке использовались библиотеки: matplotlib –
визуализация данные двумерной графикой; numpy[7] - расширение языка
Python, добавляющее поддержку больших многомерных массивов и матриц
(которые в нашем случае нужны для визуализации получаемых нами
данных), вместе с большой библиотекой высокоуровневых математических
функций для операции с этими массивами; math[6] – это модуль
предоставляет обширный функционал для работы с числами.
Структура работы
Во введении обосновывается актуальность решаемой задачи,
анализируются труды по данной тематике, ставится цель и задачи
исследования, а также основные направления исследования.
В первой главе описывается задача, которая поставлена в статье[3].
Также обозначены проблемы, которые возникали во время ее изучения.
Описывается концепция работы и дается математическая постановка задачи.
Во второй главе представлена программная реализация моделирования
с алгоритмом и без него, графики для обоих случаев и описание программ.
В заключении делается вывод о полученных результатах исследования и приводится список литературы.
В данной работе проводилась попытка практического применения
алгоритма адаптации из статьи В. А Якубовича «Адаптивные системы с
многошаговыми целевыми условиями». Изучение литературы
использовавшейся для разбора данной статьи и реализация прикладной части
с описаниями параметров.
Целью статьи В. А Якубовича являлось обучение робота кататься на
велосипеде без падений. То есть по данным о наклоне рамы относительно
вертикальной плоскости, определять угол поворота руля велосипеда. Вначале
мной были разобраны параметры, которые были необходимы для
моделирования движения «робота-велосипедиста» без обучения. Это
моделирование было важно для того, что бы понять какие параметры, на что
влияют и какие ситуации стоит рассматривать, а какие нет, так как при
некоторых условиях равновесие достигается и без управления, в данной
работе нам такие случаи нам не интересны.
Моделирование состояло из нескольких этапов: это определение
переменных, условий, задание начальных значений и удовлетворение
условиям теоремы 2 статьи[3], так же написание программной реализации и
отображение данных полученных в программе на графиках. Далее, после
варьирования значений переменных и параметров, получилось сделать вывод
о влиянии их на движение и на скорость уравновешивания. По графикам
видно, что алгоритм работает верно, при соблюдении условий, которые
присутствуют в статье. Следовательно, единицы измерения, начальные
условия, известные и не известные компоненты, пространства параметров и
функций определены верно. Все графики после регулирования
уравновешиваются и стремятся к своей точке равновесия.32
Достигнута следующая цель: разобран алгоритм, написана прикладная
часть статьи[3] и реализована программа описывающая движение «робота велосипедиста» с обучением (алгоритм статьи [3]).
Были выполнены следующие задачи:
1. Изучена литература по рассматриваемому вопросу и сделано
заключение о необходимости развития работы на прикладной уровень, для
облегчения построения алгоритма управления по параметрам объекта без
глубокого анализа теоремы;
2. Реализована программа моделирования движения робота велосипедиста без обучения.
3. Реализована программа моделирования движения робота велосипедиста с обучением, написана программа позволяющая вычислять оценку
4. Сделаны выводы о сложности применения этой теории и
получены замечания для специалистов в смежных областях.
1. Стюарт Рассел, Питер Норвиг(2017) Искусственный интеллект, Вильямс, 2
2. Машинное обучение /http://tcyber.ru/tk/research/machine_learning.html(Дата
обращения: 12.02.2019)
3. Фомин В. Н, Фрадков А.Л, Якубович В.А(1981) “Адаптивное управление
динамическими объектами”, Наука
4. В. А. Якубович, “Адаптивные системы с многошаговыми целевыми
условиями”, Докл. АН СССР, 183:2 (1968), 303–306
5. Марк Лутц, «Программирование на Python»
6. Python 2.7.3 /https://www.python.org/ (Дата обращения: 12.03.2019)
7. NumPy 1.8.1 /http://www.scipy.org/ (Дата обращения: 15.03.2019)
8. Якубович В. А., ДАН, 166, №6 (1966)
9. Якубович В.А., “Об одной задаче самообучения целесообразному
поведению”, Автомат. и телемех., 1969, № 8, 119–139
10. Якубович В. А. , “К теории адаптивных систем”, Докл. АН СССР, 182:3
(1968), 518–521
11. Лойцянский Ф. Г., Лурье Е. И., Курс теоретической механики, 3, 1934.
12. Неймарк Ю. И., Фуфаев М. А., Механика твердых тел, № 2, 12 (1967)
13. Гелиг А. Х., Матвеев А. С., Введение в математическую теорию
обучаемых распознающих систем и нейронных сетей, Спб (2014)