Нейро-автоматное управление в машинном обучении Выполнил: Губин Ю.А. ст. гр Руководитель: Шалыто А.А. д.т.н, проф., зав. каф. ТП, СПбГУ ИТМО
Автоматное Программирование Программа рассматривается как совокупность автоматизированных объектов управления. Каждый такой объект состоит из системы управления и объекта управления. Понятие автомата 2
Искусственные Нейронные Сети Многослойный персептрон Предложены Норбертом Винером в 1943г. Принцип организации и функционирования биологических нейронных сетей. Персептрон, сети Хопфилда, Хемминга 3
Использование ИНС и Автоматов Нейронная сеть используется для классификации значений вещественных входных переменных и выработки входных логических переменных для автомата. 4
Использование ИНС и Автоматов Автомат как источник входных данных для нейронной сети. Клеточный автомат – элемент нейронной сети Хопфилда. 5
Актуальность В описанных методах: Автомат – средство для работы с ИНС или часть ИНС. ИНС – объект для связи среды с автоматом. Используется одна ИНС. Осложнено повторное использование разработанных автоматов. Нет возможности корректировать ИНС в процессе работы. 6
Метод Нейро-Автоматного Управления Использование ИНС для обработки данных в состоянии. Расширенное состояние. Реализация изначально неопределенной логики переходов. Корректировка ИНС в процессе работы автомата. Использование расширенных состояний для реализации ядра автомата. 7
Метод Нейро-Автоматного Управления 1)Автомат находится в состоянии А. 2)Подается входное воздействие, состоящее из управляющего воздействия E и входных данных D 1, D 2, D 3. 3)По управляющему воздействию E срабатывает переход из состояния A в расширенное состояние B. 4)При входе в расширенное состояние B входные данные D 1, D 2, D 3 подаются на вход нейронной сети, вычисляются V 1, V 2, V 3. 8
Метод Нейро-Автоматного Управления Функция работы с НС. Использование результатов работы НС для генерации нового события. 9
Метод Нейро-Автоматного Управления 1)Автомат находится в состоянии A. 2)На вход подается воздействия E 1 и входные данные D 1, D 2, D 3, D 4, D 5. 3)Автомат переходит в расш. состояние B. 4)Обработка D 1, D 2, D 3 нейросетью состояния B. 5)Генерации нового управляющего воздействия E 2. 6)По управляющему воздействию E 2 автомат переходит в C. 7)Обработка D 4, D 5, нейросетью состояния C. 10
Метод Нейро-Автоматного Управления Определение структуры ядра автомата. Создание графа переходов автомата с использованием расширенных состояний для ядра автомата. Выбор топологии нейронной сети, используемой в расширенном состоянии. Реализация функции работы с НС. Сбор и подготовка данных для обучения. Обучение нейронных сетей расширенных состояний. Определение правил корректировки характеристик сети в процессе работы автомата. Проверка адекватности обучения и правил корректировки во время тестирования. 11
Реализация Используется разработанная библиотека для создания автоматных классов на языке Java: Классы для создания состояний, переходов, групп состояний. Абстрактные классы для реализации действий и условий. Возможность изоморфного переноса кода в графическую модель (Graphviz API). Класс для создания расширенного состояния. Классы для создания нейронных сетей. 12
Пример: Робот-Исследователь Диаграмма состояний автомата Explorer 13
Выводы 14 ИНС – составляющая состояний автомата. Использование нескольких ИНС. Возможность корректировки ИНС во время работы. Доступно повторное использование разработанных автоматов.
Заключение Предложен метод использования нейронных сетей в автоматах. Предложено использование расширенных состояний. Продемонстрировано применение предложенного метода. 15
Спасибо за внимание!