Обучаемый ДСМ

advertisement
Об одной аппаратной реализации
обучаемого ДСМ-контроллера
Д.А. Добрынин,
ВИНИТИ РАН, г. Москва, научный сотрудник, к.т.н.
Рассматриваются вопросы построения адаптивных классификаторов для систем управления
роботами на основе динамического ДСМ-метода. Приводится реализация обучаемого ДСМ-контроллера на
основе универсального восьмиразрядного микроконтроллера.
Введение
Одним из направлений искусственного интеллекта является целенаправленное
поведение роботов (создание интеллектуальных роботов, способных автономно совершать
операции по достижению целей, поставленных человеком).
Камнем преткновения при создании робототехнических систем стала проблема
адаптации роботов к изменениям окружающей их среды. Оказалось, что даже при
выполнении простейших действий – перемещений объектов с помощью манипуляторов,
движении по местности колесных роботов и т. п. возникают большие трудности. Жесткие
алгоритмы, которые использовались в системах управления роботов, оказались
непригодны для решения задач в изменяющейся среде.
Для придания роботу свойств человека, он должен быть «интеллектуальным».
Общепринято мнение, что интеллектуальный робот обладает т.н. моделью внешнего мира
или внутренней средой, что позволяет роботу действовать в условиях неопределенности
информации. В том случае, если эта модель реализована в виде базы знаний, то
целесообразно, чтоб эта база знаний была динамической. При этом коррекция правил
вывода в условиях меняющейся внешней среды естественным образом реализует
механизмы самообучения и адаптации.
Современные роботы являются сложными системами, имеющими большое
количество датчиков (рецепторов) и управляемых механизмов (эффекторов). Увеличение
количества сигналов рецепторов приводит к очевидным сложностям обучения. Например,
при R независимых входных сигналах размерность входного алфавита автоматной модели
определяется как dim X=2R и очень быстро растет при увеличении R. Введение
параллелизма, например, в случае использование нейронной сети, не спасает ситуацию время обучения возрастает экспоненциально и становится недопустимо большим.
Отсюда неизбежно возникает задача классификации множества входных сигналов,
т.е. распознавание ситуаций. Классификатор может быть различного вида – от множества
продукций до реализации в виде нейронной сети или хромосомы генетического
алгоритма. Его функция заключается в анализе входного вектора и определения класса, к
которому этот вектор относится.
Основная задача состоит в создании этого классификатора как результата
адаптивного поведения робота, т.е. результата его самообучения.
Динамический ДСМ-метод
Классификацию входных сигналов можно осуществлять с помощью ДСМ метода.
ДСМ-метод автоматического порождения гипотез [Финн, 1991] является теорией
автоматизированных рассуждений и способом представления знаний для решения задач
прогнозирования в условиях неполноты информации. Классический ДСМ метод работает
с замкнутым множеством исходных примеров, которое формируется экспертом и
составляет базу знаний. Каждый пример описывается множеством элементарных
признаков и наличием (или отсутствием) целевого свойства. С помощью специальных
логических процедур из этой базы знаний ДСМ-система получает гипотезы, которые
объясняют свойства исходных примеров из-за наличия или, наоборот, отсутствия в
структуре примеров определенной совокупности признаков. Таким образом, ДСМ система
выделяет из исходной информации в базе знаний существенные совокупности признаков,
т. е. осуществляет автоматическую классификацию. ДСМ метод успешно применим в тех
областях знаний, где пример можно представить в виде множества (или кортежа)
элементарных признаков.
В отличие от классического ДСМ метода, который работает с замкнутым
множеством исходных примеров и заранее определенными их свойствами, динамический
ДСМ метод позволяет работать в открытой среде с неизвестным заранее количеством
примеров [Добрынин, 2006].
Динамический ДСМ работает в двух режимах:
-
режим обучения, когда происходит заполнение базы фактов (множество
обучающих примеров) и генерируются гипотезы, составляющие базу знаний;
-
рабочий режим, когда полученные ранее гипотезы используются для выработки
сигналов управления.
В режиме обучения для формирования обучающих примеров используется внешний
алгоритм – так называемый «учитель». Данный алгоритм получает на вход информацию
от рецепторов и вырабатывает управляющие сигналы, необходимые для адекватного
поведения робота. Совокупность сигналов рецепторов и выработанных для них
управляющих воздействий определяет один обучающий пример. Этот пример проверяется
на уникальность и заносится ДСМ системой в базу фактов. После занесения каждого
нового примера во множество обучающих примеров производится поиск гипотез. Для
данной задачи использовался простой ДСМ метод без запрета на контрпримеры,
поскольку нет отрицательных обучающих примеров [Кузнецов, 1991].
Полученное множество гипотез будет содержать все возможные пересечения (общие
части) обучающих примеров. Далее среди них отбираются минимальные гипотезы, то есть
такие, которые вкладываются в остальные. Тем самым количество «полезных» гипотез
резко сокращается. Полученные минимальные гипотезы проверяются на уникальность и
заносятся в базу знаний.
Обучение должно производиться до тех пор, пока база знаний не перестанет
пополняться новыми гипотезами. Очевидно, что в этом случае обучающий алгоритм
перебрал все возможные варианты входных воздействий, на которые он способен
реагировать, и можно считать, что база фактов достаточно полна.
В рабочем режиме ДСМ система получает на вход сигналы рецепторов, из которых
формируется тестовый вектор. Принятие решения происходит путем проверки вложения
гипотез в этот вектор. Если в тестовый вектор сигналов рецепторов вкладывается
гипотеза, то робот должен действовать в соответствии с ней. Если же ни одной гипотезы
не найдено, то это неизвестное состояние, для которого нужно сформировать случайный
вектор управления (или ничего не делать, например).
На роботе «Амур» [Добрынин и др., 2005] проводились эксперименты по построению
классификатора с помощью двух методов: эволюционного моделирования (ЭМ) и
динамического ДСМ-метода [Добрынин и др., 2006]. В качестве простого примера было
взято движение робота по контрастной полосе, когда робот имеет фотодатчики и
двигается по полосе. Требовалось построить управляющую систему, которая бы
заставляла робота корректно двигаться по этой полосе. По результатам экспериментов
выявились следующие отличия этих двух методов:
•
Достаточность обучающих примеров. При наличии представительной выборки
обучающих примеров оба метода дают хорошие результаты. Однако в условиях
неполноты обучающего множества метод ЭМ дает более устойчивые результаты
по сравнению с ДСМ. Это связано прежде всего с характером обучения.
•
Непротиворечивость обучающей выборки. ДСМ, в отличие от ЭМ, не применим
в условиях противоречий в обучающих примерах. Такая ситуация может
возникать, когда учитель ошибается в оценке состояния датчиков. Ошибки такого
типа необходимо отсеивать на этапе формирования обучающих примеров. В ЭМ
подобная противоречивость не так критична, т.к. она приводит в худшем случае к
неопределенности фенотипического поведения.
•
Эффективность обучения (скорость). Обучение в ЭМ – принципиально
длительный процесс. Для устойчивого обучения методом эволюционного
моделирования иногда требуются сотни тысяч тактов. В этом отношении ДСМметод обладает несомненным преимуществом - для обучения достаточно получить
несколько разных обучающих примеров. В экспериментах роботу достаточно было
проехать один круг на реальном полигоне чтобы сформировались все необходимые
гипотезы.
•
Динамическое обучение. Теоретически ЭМ может работать и в открытой среде с
неизвестным заранее количеством примеров, практически же это связано с
большими вычислительными затратами. Динамический ДСМ метод позволяет
эффективно работать с заранее неизвестным количеством примеров при
сравнительно небольших вычислительных затратах.
•
Обучение с учителем. Все рассматриваемые алгоритмы обучения работают с
«учителем»,
который
фактически
формирует
для
них
представительную
обучающую выборку. В качестве «учителя» в проводимых экспериментах
выступал внешний алгоритм управления роботом. В принципе, учителем может
быть и человек, при условии непротиворечивости выдаваемых им управляющих
воздействий.
•
Требуемые ресурсы. При реализации практических алгоритмов встает проблема
ограниченности
вычислительных
ресурсов
автономного
робота.Если
моделирование эволюции требует весьма больших временных и емкостных затрат,
то для работы ДСМ метода достаточно небольших вычислительных ресурсов. Это
позволяет разместить программу обучения и управления непосредственно на
роботе, реализовав обучаемый контроллер в виде маленького компактного
устройства.
Обучаемый ДСМ-контроллер
Перечисленные
выше
свойства
классификатора,
построенного
на
основе
динамического ДСМ-метода, позволяют реализовать его на базе микроконтроллера. Для
уменьшения сложности разработки был выбран однокристальный 8-ми разрядный
микроконтроллер с внешней памятью данных.
На рис. 1 представлена структура обучаемого ДСМ-контроллера. Контроллер
получает на вход сигналы с датчиков Xi, а на выходе формирует сигналы управления ui.
Из совокупности этих сигналов в режиме обучения формируется обучающий пример.
Множество обучающих примеров – это множество пар вида
E={ei}={(Xi,ui)},
где Xi - вектор сигналов рецепторов, ui – вектор управления (состояние
исполнительных механизмов).
Гипотезы представляются в виде множества пар вида:
G={gi}= {{xi,yi}},
где xi – часть вектора сигналов рецепторов, yi – требуемый вектор управления
(необходимое действие).
Гипотезы хранятся в памяти данных контроллера. В режиме обучения, который
переключается внешним сигналом, обучающий пример формируется из вектора сигналов
рецепторов, поступающих на контроллер извне и из вектора сигналов управления,
решатель
сигналы
датчиков
Xi
генератор
пересечений
правила
1-го и 2-го
рода
сигналы
управления
ui
внешний
алгоритм
(учитель)
обучение/работа
примеры,
гипотезы
(база знаний)
Рис. 1 Структура обучаемого контроллера
который формируется внешним алгоритмом (учителем). Внешний алгоритм получает по
дополнительному каналу связи также и текущее состояние вектора сигналов рецепторов.
Обучающий пример обрабатывается с помощью генератора пересечений, который
ищет сходства этого и поступивших ранее уникальных примеров. Найденные непустые
пересечения проверяются правилами 1-го рода на минимальность [Кузнецов, 1991]. Если
получена новая минимальная гипотеза, не похожая на имеющиеся в базе, то она
добавляется в базу гипотез.
В рабочем режиме внешний алгоритм отключается, и контроллер работает в
автономном режиме. Он получает на вход сигналы датчиков, из которых формируется
тестовый вектор. Правила 2-го рода производят проверку вложения гипотез в этот вектор.
Если в тестовый вектор сигналов рецепторов вкладывается какая-нибудь гипотеза, то
контроллер устанавливает сигналы управляния в соответствии с ней. Если же ни одной
гипотезы не найдено, то это соответствует неизвестному состоянию, для которого ничего
не нужно делать.
На рис.2 представлены фотографии обучаемого ДСМ-контроллера, реализованного
в виде одной платы. Программирование ведется на языке Forth, примитивы которого
зашиты в микроконтроллер. Контроллер имеет достаточное количество ресурсов для
реализации ДСМ-системы.
Рис. 2 Обучаемый контроллер
Контроллер имеет следующие параметры:
микроконтроллер
ATMega128
память программ
128Кбайт
память данных
128Кбайт
Flash память
256Кбайт
тактовая частота
7.3728Мгц
связь с хостом
USB 2.0
дополнительный COM порт
230.4 Кбод
линий ввода/вывода
11/4
Система управления роботом на основе обучаемого ДСМ-контроллера
представлена на рис. 3. С датчиками и исполнительными устройствами контроллер
соединяется с помощью дополнительного COM порта, поскольку свободных линий
ДСМ
контроллер
USB
управляющий
компьютер
COM
контролеры
датчиков
контроллеры
исполнительных
механизмов
Рис. 3 Структура системы управления на основе обучаемого контроллера
ввода/вывода
остается
не
так
много.
Обучение
и
внешнее
управление
контроллером осуществляется через USB интерфейс с внешнего компьютера.
Контроллер имеет следующие особенности реализации:
- небольшая размерность входов и выходов. Как показывает практика, для
обучения требуется, всего лишь три-пять входных сигналов и три-четыре выходных;
- низкая стоимость системы, за счет использования дешевых 8-ми разрядных
микроконтроллеров;
- высокое быстродействие;
- возможность обучения в изменяющейся рабочей среде;
- малое время обучения, возможность учиться в реальном времени;
- возможность получить гипотезы в явном виде для дальнейшего анализа. Это
свойство ДСМ системы отличает ее от нейронных сетей, для которых невозможно в явном
виде выделить причины проявления эффекта.
Заключение
Созданный обучаемый ДСМ-контроллер планируется примененить в качестве
пробного экземпляра системы управления автономным роботом. В дальнейшем можно
попробовать использовать такой обучаемый контроллер в качестве компонента других
систем управления.
Список литературы
1. [Финн, 1991] Финн В.К. Правдоподобные рассуждения в интеллектуальных системах
типа ДСМ //Итоги науки и техники. Сер. «Информатика». Т. 15. - М.: ВИНИТИ, 1991. - С.
54–101.
2. [Кузнецов, 1991] Кузнецов С.О. ДСМ-метод как система автоматизированного
обучения // Итоги науки и техники. Сер. «Информатика». Т. 15. - М: ВИНИТИ, 1991. - 17–
53.
3. [Добрынин и др., 2005] Добрынин Д.А., Карпов В.Э., Мещерякова Т.В., Степанов С.Н.
Адаптивный мобильный робот //Мобильные роботы и мехатронные системы: Материалы
научной школы-конференции, Москва, 21-25 марта 2005. Часть 1. М.: Изд-во Моск. ун-та,
2005., стр. 137-143
4. [Добрынин и др., 2006] Добрынин Д.А., Карпов В.Э. Моделирование некоторых форм
адаптивного поведения интеллектуальных роботов.// Информационные технологии и
вычислительные системы, Москва, №2, 2006, с. с. 45-56
5. [Добрынин, 2006] Добрынин Д.А. Динамический ДСМ-метод в задаче управления
интеллектуальным роботом.// Десятая национальная конференция по искусственному
интеллекту КИИ-2006, 25-28 сентября 2006 г., Обнинск, Труды конференции,
М:Физматлит 2006, т.2, с. 695-699
Download