Живые организмы эволюционировали в течение сотен миллионов лет,
чтобы пройти путь от первых амфибий к млекопитающим с большим и сложным
мозгом. Этот путь, только в гораздо более короткие сроки, повторяют и
роботы. Однако у современного сценария развития роботов есть
существенный недостаток – неспособность реагировать на изменение в
своей конструкции, ведь добавление какого-либо элемента или датчика
делает необходимым внесение существенных изменений в управляющее
аппаратом программное обеспечение. Такая особенность приводит к
удорожанию и увеличению времени разработки автономных систем, когда для
каждой из модификаций программистами разрабатывается и новая версия ПО.
Впрочем, исследователи из Университета Роберта Гордона,
Абердин, Великобритания, создали робота, способного реагировать на
изменение собственной конструкции. В данном случае главной проблемой,
стоявшей перед инженерами, являлась необходимость в разработке
достаточно гибкого программного обеспечения, способного с течение
времени «обучаться», но самое главное «переучиваться» в случае
необходимости. За основу исследователи взяли уже хорошо известные
широкой публике нейронные сети, которые работают по схожему алгоритму с
клетками головного мозга человека – в зависимости от успешного или
неуспешного результата определенных действий устанавливаются, или
наоборот, рвутся связи между определенными узлами.
Сконструированный сотрудниками Университета Роберта Гордона робот
представляет собой весьма просто механизм, оснащенный для начала лишь
двумя передними конечностями и набором датчиков, работой которых
управляет нейронная сеть. Перед аппаратом ставится вполне определенная
основная задача – пройти как можно большее расстояние за 1000 секунд.
После многочисленных проб и ошибок робот обучается движению, и за
указанное время стабильно проходит определенное расстояние – по всей
видимости развивать большую скорость уже не позволяет сама конструкция
устройства. На этом этапе процедура обучения робота не отличается от
стандартной модели работы нейронных сетей – программное обеспечение
находит оптимальный вариант передвижения и использует его в дальнейшем.
Однако самое интересное еще только впереди – при изменении
конструкции двух передних конечностей уже найденный механизм
передвижения оказывается неприменимым в конкретных условиях. В этом
случае традиционное программное обеспечение оказывается бессильным
перед новой проблемой, а вот разработанный инженерами инкрементальный
алгоритм эволюции (incremental evolutionary algorithm - IEA)
распознает, что конструкция аппарата изменилась и требуется провести
процесс переобучения. Но не менее интересно, что IEA способен не только
реагировать на изменение какого-то одного элемента, а может и
распознавать появление дополнительных «органов», в том числе и
дополнительных сенсоров. В этом случае также проводится этап
«переобучения» нейронной сети – добавление двух дополнительных задних
конечностей разработанному сотрудниками Университета Роберта Гордона
робота кардинально изменяет его механизм передвижения, подстраиваясь
под новые условия.
Таким образом, исследователям удалось разработать простейший
алгоритм, способный реагировать на изменения конструкции аппарата и
выстраивать новую модель поведения. Подобным образом осуществляется и
эволюция живых организмов, но что самое главное, разработка должна лечь
в основу программного обеспечения для управления гораздо более сложными
системами. Именно IEA поможет роботам нового поколения гибко
реагировать не только на внешние раздражители, но и распознавать
изменения, как конструктивные, так и деструктивные, собственной
конструкции.