ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3

advertisement
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
Л.А. СТАНКЕВИЧ, В.Г. КАПРАЛОВ,
И.В. КЛОЧКОВ
Санкт-Петербургский государственный политехнический университет
Stankevich_lev@inbox.ru
НЕЙРОМОРФНЫЕ СРЕДСТВА
ДЛЯ УПРАВЛЕНИЯ РОБОТАМИ
В работе обсуждаются вопросы построения и применения
нейроморфных средств и возможность их применения. Рассматривается
вариант нейроморфного модуля, построенного на модели мозжечка и
обучения
с
подкреплением.
Экспериментально
исследуется
эффективность применения такого модуля для координированного
управления манипуляциями и перемещениями роботов.
Ключевые слова: нейроморфная техника, управление роботами
Введение
В настоящее время получили развитие исследования в области
нейроморфной техники (neuromorphic engineering), которая связана с
разработкой архитектур и технических реализаций систем на
нейробиологических принципах. Разрабатываемые нейроморфные
средства должны обеспечить построение машин, которые имеют
аналогичное человеческому восприятие, способность к самоорганизации,
робастность по отношению к изменениям среды. Предполагается, что
нейроморфные средства должна стать основой для реализации будущих
«думающих» машин. Практическое развитие этого направления в
настоящее время в плане нейроморфных вычислений (neuromorphic
computing) поддерживается фирмой IBM, а в плане аппаратных
реализаций нейроморфной техники и ее использования – оборонным
агентством США DARPA, которое в 2008 году объявило проект
SyNARSE. Примерами ранних разработок нейроморфных СБИС
являются: Silicon Retina (модель глаза), Silicon Cochlea (модель уха),
Touch Pad (модель тактильного органа), Koala-obstacle/tracking robot
(управление обходом препятствий и движением по траектории робота).
В данной работе обсуждаются вопросы разработки нейроморфных
средств отображения и преобразования образов, в основе которых лежит
мозжечковая модель. Рассмотрен вариант практической реализации
УДК 004.032.26(06) Нейронные сети
125
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
мозжечковой модели, способной обучаться, запоминать, узнавать и
преобразовывать образы. Проведен модельный эксперимент по
координированному управлению роботом с использованием таких
модулей. Описаны возможные программные средства реализации
предложенного нейроморфного модуля.
Мозжечок играет особую роль в НС и имеет специфически
построенную нейронную структуру. Локальные нейронные ансамбли
Мозжечка объединяют несколько типов нервных клеток: грануляционные,
звездчатые, корзинчатые, Гольджи и Пуркинье. Такая нейронная
структура наиболее приспособлена для координированного управления
множественными мышечными системами напрямую или через
посреднические структуры Спинного мозга. Командная и сенсорная
информация поступает через мшистые нервные волокна, кодируется в
поле грануляционных клеток, через множество параллельных волокон
поступает на клетки Пуркинье, Гольджи, звездчатые и корзинчатые
клетки, обрабатывается ими и используется далее для координированного
управления мышцами. Основная роль при этом принадлежит большим
клеткам Пуркинье – нейронам, реализующим решающие функции.
Звездчатые и корзинчатые клетки, а также клетки Гольджи замыкают
обратные связи и формируют сигналы торможения внутри нейронного
ансамбля. Как и в любом нейронном ансамбле, дендритные
синаптические связи нейронов настраиваются при обучении, в котором
участвуют внешние сигналы, проходящие по длинным вьющимся
волокнам от нейронных ансамблей верхних уровней Мозжечка и Коры
мозга. Эти сигналы стимулируют правильное обучение координации
движений. Заметим, что нейроны Мозжечка не связаны непосредственно
со Спинным мозгом, а передают свои сигналы в Кору мозга, которая
связана со Спинным мозгом напрямую.
Согласно последним исследованиям [1], мозжечок имеет однородную
и регулярную структуру элементов и связей, которая в определенной
степени похожа на большой многослойный персептрон. Центральными
элементами мозжечка являются клетки Пуркинье (КП). КП расположены
в коре мозжечка в один слой и получают информацию через свои
дендриты, упакованные в параллелепипед (листок), причем листки
параллельны друг другу. На каждую КП действуют до 500 тысяч синапсов
от зернистых клеток, получающих входы от мшистых волокон. Аксоны
зернистых клеток называются параллельными волокнами (ПВ). Они
практически параллельны друг другу и перпендикулярны плоскости
дендритов. Каждое из ПВ пронизывает до 1000 листков КП. Помимо
УДК 004.032.26(06) Нейронные сети
126
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
входов от большого числа зернистых клеток на каждую КП через
сложный синапс оказывает мощное воздействие одиночное входное
нервное волокно – лианное волокно (ЛВ). ЛВ передает сигналы лианной
клетки (ЛК), расположенной вне мозжечка, но они считаются элементами
его устройства. Каждая ЛК действует на несколько разных КП.
КП являются выходными клетками коры мозжечка. Их аксоны
обеспечивают также управление активностью ядер мозжечка. Разные
отделы коры мозжечка связаны с разными ядрами. КП через
интернейроны ядер оказывают воздействие на ЛК. Это воздействие
осуществляется через особый вид клеток в ядрах мозжечка – малые
тормозные клетки (МТК). Каждая из этих клеток имеет тормозящие
синапсы на всех ЛК, формирующих вход к тем же КП, которые дают
выход на данную МТК. В конечном счете, возбуждение КП оказывает
возбуждающее воздействие на ее ЛК, формируя как бы сигналы
положительной обратной связи.
Мозжечковый модуль
Основываясь на описании мозжечка, был сконструирован и реализован
мозжечковый модуль, который базируется на упрощенной модели
мозжечка. В определенной мере этот модуль поддерживает модель CMAC
[2]. Предполагалось, что модуль может быть использован для реализации
координированного управления манипуляциями и перемещениями.
Мозжечковый модуль реализует отображение вектор-векторной
зависимости, поэтому функционально соответствует нескольким
параллельным модулям типа CMAC. В модуле используется нечеткое
гранулирующее кодирование входного вектора, а также обучение с
подкреплением, позволяющее формировать отображение входного
вектора в выходной при взаимодействии со средой (рис. 1).
При поступлении на вход вектора X, который содержит сигналы
задания (команды) и сигналы обратной связи от объекта управления,
обученный модуль активизируется и формирует вектор Y, который
соответствует поведению, определяемому отображением X  Y. Процесс
активизации модуля включает цепочку преобразований X  F  H 
(W1,…, WM)   W  Y.
УДК 004.032.26(06) Нейронные сети
127
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
H
X
Кодирующе
е
преобразова
-ние
XFH
Таблица
весов W1
WH1
Таблица
весов W2
Алгоритм
обучения с
подкреплением
WH2
y1
y2
О
Б
Ъ
Е
К
Т
У
П
Р
А
В
Л
Е
Н
И
Я
r
Рис. 1. Схема мозжечкового модуля
Преобразование X  F  H выполняет гранулирующее кодирование
координат входного вектора. Значение каждой координаты xi
проецируется на шкалу квантов этой координаты Fi = {fi1,…, fСРЕДА
im}, где
функция активации fik аппроксимируется сплайн-функциями 3-го порядка,
которые имеют вид:
4
fi ( x)  
[4 x3  3(3xi  xi 3 ) x 2  6 xi ( xi  xi 3 ) x  xi2 ( xi  3xi 3 )]
( xi 3  xi )3
 x j  xi 3 
x   xi ,
;
2


4
[4 x3  3( xi  3xi 3 ) x 2  6 xi 3 ( xi  xi 3 ) x  xi23 ( xi 3  3xi )]
( xi 3  xi )3
 x j  xi  3

x
, xi  3  .
2


Эти функции обладают свойствами положительности, компактности
представления ( fi ( x j )  0 для всех x  ( xi , x j 3 ) ), нормированности (
fi ( x) 
f i ( x)  1, x  R ).
Проецирование значения координаты xi дает m значений функций
активации, что можно записать как
УДК 004.032.26(06) Нейронные сети
128
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
xi  {hi1,..., him}  { fi1 ( xi ),..., fim ( xi )} .
От количества квантов переменных зависит точность кодирования, но
увеличивается размерность представления вектора входных переменных.
Такое
проецирование
позволяет
получить
кодированное
представление вектора X в виде матрицы
H X  [hik ]mN .
Применяя к этой матрице операцию «Т-норма», можно получить
кодирующий вектор hP, по следующему правилу:
hX  h1 f 1  h2 j 2      hNjN ,
N
N
i 1
i 1
где jk  1,..., m, p  1,..., P, P   m, hP   hiji .
Фактически «Т-норма» – это не более чем произведения комбинаций
элементов векторов, являющихся транспонированными строками в
матрице Hx (по типу декартова произведения). Этот вектор содержит
большое количество нулевых элементов, поэтому с целью уменьшения
памяти допустимо использовать процедуру хеш-кодирования, которая,
однако, может снизить точность расчета.
Каждому вектору hP можно поставить в соответствие набор весов из
матриц весов W1 или W2, которые могут быть сформированы при
обучении. Эти матрицы имеют размерность Pm и должны быть
сформированы для каждой выходной координаты.
Последняя операция W – суммирование выбранных весов из каждой
матрицы, которое дает значения координат выходного вектора Y, как
результат описанной цепи преобразований входного вектора X.
Обучение мозжечкового модуля
Обучение с подкреплением основано на взаимодействии обучаемого
объекта с окружающей средой с целью достижения некоторой цели [3].
Такой тип обучения в сочетании мозжечковыми модулями может быть
эффективным при управлении координированными манипуляциями и
перемещениями робота.
Рассмотрим проблему обучения с подкреплением подробнее. Будем
считать робот с системой управления агентом, функционирующим в
окружающей среде. Агент и окружающая среда взаимодействуют друг с
другом в дискретные моменты времени tk , k  0,1, 2,3,... . В каждый
момент времени, t, агент получает некую информацию об окружающей
УДК 004.032.26(06) Нейронные сети
129
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
среде st  S , где S – множество всевозможных состояний, и на этом
основании выбирает действие at  A(st ) , где A(st ) – множество
возможных действие в состоянии s t . В следующий момент времени t k 1
агент получает подкрепление rt 1  R, и оказывается в новом состоянии
st 1 . В каждый момент времени агент осуществляет отображение
текущего состояния в вектор, содержащий числовые значения,
характеризующие каждое из возможных действий. Такое отображение
называется политикой агента, и обозначается, как t . Методы обучения с
подкреплением позволяют определить, как агент должен изменять свою
политику в соответствии с опытом. При этом агент максимизирует
суммарное значение подкреплений (наград), которое он может получить.
Известный алгоритм Sarsa() позволяет вычислять функцию Q( s, a) ,
определяющую значимость действий агента в текущих ситуациях.
Обучение проводится по эпизодам и шагам внутри них. При этом
формируется e( s, a )
– вектор траекторий значений
Q ( s, a ) ,
аппроксимация которого запоминается как результат обучения. Этот
метод ранее был проверен при обучении правильному поведению
виртуального агента-игрока в среде виртуального футбола роботов.
В данной работе используется модифицированный алгоритм Sarsa() ,
приспособленный к обучению агентов [4]. В этом алгоритме введены три
дополнительные функции, раскрыт метод выбора действий во время
обучения, способ обновления траекторий значений Q(s, a) и отображение
входного вектора в активные рецепторные поля мозжечкового модуля.
Новые функции имеют следующее назначение. Функция BeginEpisode() –
агент вызывает эту функцию в начале каждого эпизода. Функция
DoEpisodeStep() – агент вызывает эту функцию, когда происходит
очередной шаг эпизода. Очевидно, что эти функции будут вызываться,
какой бы задаче не обучался модуль. Функция EndEpisode(bool success)
имеет смысл и будет вызвана только для задач, в которых есть понятие и
имеет смысл специально обрабатывать терминальное состояние. Success –
параметр, определяющий, закончился ли эпизод успешно – True, или
неуспешно – False. В алгоритме последовательно происходит
отображение входного вектора в активные рецепторные поля модуля,
определение
q-значений каждого действия для текущего состояния,
определение действия, которое будет выбрано. Обычно выбирается
действие с максимальным значением. Далее происходит обновление
УДК 004.032.26(06) Нейронные сети
130
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
оценок Q(s, a) . Такой метод обновлений называется замещением.
Конкретные значения наград (подкреплений) могут задаваться статически
(в начале обучения), и больше не меняться, или динамически, когда
подкрепление
определяется
«извне»,
и
конкретное
значение
предъявляется системе на каждом шаге обучения.
Моделирование функции координации робота
Эксперимент по координированному управлению манипуляциями
двурукого робота и его перемещением был реализован с использованием
мозжечковых модулей и обучения с подкреплением. Мозжечковые
модули обучались правильной манипуляции объектом, который может
быть взят любой из двух рук, при наличии динамических препятствий
манипулированию. По сценарию задача манипуляции двумя руками –
положить объект на фиксированное место, путь к которому может быть
прегражден внезапно появившимся препятствием. Например, объект
находится в левой руке, которая пытается положить его на указанное
место. Система управления руками должна была научиться оптимально
выбирать одно из следующих действий: уклонение от препятствия и
обход его с целью достижения указанной позиции левой рекой,
перекладывание объекта в правую руку, если нельзя выполнить операцию
левой рукой, бросание объекта через препятствие с целью последующего
перехватывания его правой рукой. Само укладывание объекта на
указанное место не входило в это множество, и проверялось отдельно.
Задача правой руки, получив объект, выбрать направление перемещения,
и попытаться положить объект на указанное место. Задача сводится к
минимизации времени выполнения операции укладки объекта на заданное
место (эпизода). Если оптимальное поведение в эпизоде обозначить через
* (оптимальная политика системы), множество всех допустимых
политик обозначить через П, длительность произвольного эпизода, если
следовать политике , через T () , то тогда формально задача сводится к
определению политики, такой, что *  arg min T () .

Исходя из этого, были выбраны следующие значения подкреплений. За
каждый шаг эпизода rforEpisodeStep  0,001 , за успешное окончание
эпизода (объект положен)
rforSuccessEnd  1 , если рука с объектом
натыкается на препятствие – неудача – rforFailureEnd  1 . После того, как
УДК 004.032.26(06) Нейронные сети
131
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
объект был передан в другую руку, система запоминала это состояние, и
потом, в случае успешного завершения эпизода, подкрепление
определялось как r  1  0,001* t, t – время до завершения эпизода, в
случае неуспешного – оставалось таким же (то есть –1). Иные случаи
рассматривались как ошибки (например, укладка объекта вне заданной
позиции, превышение допустимой длительности времени эпизода), и не
обрабатывались, а происходил переход к инициализации следующего
обучающего эпизода. Обучение контролировалось специальной
программой
–
супервизором, который
и определял,
когда
инициализировать новый эпизод.
Суммарное время обучения составило примерно один час. Обучение
было остановлено, исходя из визуальной оценки работы двух рук.
Заключение
Моделирование координированной работы двух рук в рассмотренном
варианте показало достаточную эффективность предлагаемого подхода.
В развитие этой работы предполагается построить и исследовать ряд
нейроморфных модулей на основе моделей гиппокампа и отделов коры
мозга. Для аппаратного моделирования таких нейроморфных средств в
дальнейшем предполагается использовать СБИС программируемой
логики типа Altera. Предполагается также реализация прототипа
нейроморфной системы управления роботом в целом.
Список литературы
1. Дунин-Барковский В.Л. Теория мозжечка. // Научная сессия МИФИ2009. XII Всероссийская НТК «Нейроинформатика-2010». Лекции по
нейроинформатике. – М.: НИЯУ МИФИ, 2010. С. 14–48.
2. Albus D. Brain Behavior and Robotics. BYTE Books, 1987.
3. Richard S. Sutton and Andrew G. Barto. Reinforcement Learning: An introduction. MIT Press, Cambridge, MA. 1998.
4. Серебряков С.В., Станкевич Л.А. Когнитивные системы и агенты. //
В сб. «Труды СПИИРАН», под общей ред. Р.М. Юсупова. – Вып. 3, т. 1.
СПб.: Наука, 2006. С. 71–87.
УДК 004.032.26(06) Нейронные сети
132
Download