Anatoly Levenchuk (ailev) wrote,
Anatoly Levenchuk
ailev

Эволюционная робототехника

Интересная публикация обзора по проблемам эволюционной робототехники, с отличной библиографией основных работ последних лет -- http://www.mitpressjournals.org/doi/10.1162/EVCO_a_00172#.V769aa01ODb. Это не попсовый обзор, тем интересней. Цель -- выявить проблемы, при решении которых (авторы уверены, что все эти проблемы будут решены обязательно, вопрос только во времени) эволюционная робототехника станет canonical approach for the engineering of autonomous robots, ни больше, ни меньше. Когда все проблемы будут решены, нужно будет только сформулировать задачу, а далее хоп-хоп-эволюция-хоп-хоп, и вот он, решающий задачу робот во всей его пластиковой и железной плоти, вместе с софтом! Это продолжение линии на формирование дисциплины, наряду с классикой типа https://hal.inria.fr/inria-00566896/document, где ещё в далёком 2011 году (то есть незадолго до взрыва результатов в deep learning) было сформулировано: to mature, ER [evolutionary robotics] need less proofs of concepts and more solid results. To our opinion, ER has one foot in robotic engineering and one foot in experimental sciences. It therefore has much to gain from importing the best practices from these two fields. Да, эволюционная робототехника определяется тем самым как научная и инженерная дисциплина.

Проблемы там делят на общие для машинного обучения, общие для эволюционных методов и специфические для эволюционной робототехники. Мне интересней всего были общие для эволюционных методов, из которых я бы выделил:

1. Трёхуровневую иерархию уровней абстракции поведения: поведение-фенотип-генотип и различные варианты кодирования: прямое (когда каждый ген определяет элемент фенотипа, элемент фенотипа определяет поведение), косвенное (когда один ген проявляется во множественности особенностей фенотипа) и разные варианты гибридов. Абстрагирование даёт масштаб, но вычислительно неподъёмно. Прямое кодирование просто, но не масштабируется никак. Гибриды по-разному находят баланс между реализуемостью и сложностью целевой системы. Из роботики тут приходит фишка про поведение: вместо традиционного "генотип-фенотип" тут ровно по этой же линии абстрагирования "генотип-фенотип-поведение". Хочешь сложного фенотипа -- имей достаточно сложный геном. Хочешь сложного поведения -- имей достаточно сложный фенотип. И далее хитрая трассировка поведения к генотипу через фенотип. Тут ещё можно вспомнить developmental robotics, там поведение тоже возникает постепенно, но там другой заход, "психологии развития из младенца человека", а не "эволюции получения из обезьяны человека" -- https://en.wikipedia.org/wiki/Developmental_robotics.

2. Многокритериальная эволюция: кроме критерия приспособленности придумали критерий новизны (поначалу как раз для эволюции в пространстве поведений!) и далее получили существенные улучшения при использовании гибридного критерия с разными вариантами приспособленности (fitness) и новизны, разными гибридами. Собственно, я про работы в этом направлении (но не по линии робототехники) немного тут писал в "против целей": http://ailev.livejournal.com/1254147.html

В принципе, в обзоре много чего ещё обсуждается, но оно "обычное" для всех остальных методов (типа как скомбинировать обучение в оффлайне и онлайне, или иметь end-to-end эволюцию вместо эволюции только контроллера робота, или иметь типовой метод исследования, как сейчас в нейронных сетях -- берёшь большой набор датасетов и показываешь преодоление планки state-of-the-art своим гениальным изобретением).

Вообще, в робототехнике всё двигается и быстро, и медленно. Быстро -- ибо много чего происходит. Медленно -- ибо с железом работать медленней, чем с софтом, а отработанные в виртуальных мирах решения не всегда (т.е. всегда не) работают так, как они должны работать в реалии. Вот картинка из обзора, показывающая проблему выхода в реальность из виртуальности, она интуитивно понятна, но тут её потрудились нарисовать (This difference in performance is known as the reality gap, and it occurs either because controllers in simulation exploited unrealistic phenomena that are not present in the real world, or because the modeling of the sensors, actuators, and environment is not sufficiently accurate.):


В принципе, ситуация уже потихоньку меняется в указанном обзоре направлении, правда не всё там именно эволюционная робототехника, но чаще deep learning + reinforcement learning, а за ними и стандартные методы исследований. Вот, например, свежая публикация наборов данных обучения роботов в реальном мире: Google Brain released two large datasets for robotics research: https://sites.google.com/site/brainrobotdata/home

Grasping: A collection of 650k grasp attempts, data used in: http://arxiv.org/abs/1603.02199

Push: A collection of 59k examples of pushing motions, data used in: http://arxiv.org/abs/1605.07157

Both datasets contain RGB-D views of the arm, gripper and objects, along with actuation and position parameters. They were collected in a controlled environment using a wide collection of everyday objects, some of which were held out for evaluation. Enjoy!

В образовательной робототехнике регулярно поднимаются вопросы -- что это такое, и эти вопросы тянут за собой вопросы про что такое робототехника необразовательная, и какие там вообще учебные предметы и специализации. Мне кажется, что без программы исследований, без понимания того, куда движется фронтир, без этого нельзя заниматься образованием. Вот эволюционная робототехника сегодня -- это сегодняшний фронтир, будущий фронтир (как нейронные сети были пяток лет назад), эволюционный тупик (pun intended)? Нужно ли иметь его в образовательных планах для настоящих робототехников? Какие предметы нужно уже знать, чтобы понимать тамошние работы и продвигать тамошний state-of-the-art? Вот это и есть обсуждение "образовательной робототехники". А практикование эволюционной (и многих других, той же developmental) робототехники -- это и есть сама робототехника, как научная и инженерная дисциплина.
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 2 comments