Автор: Шамиль Мамедов Редактура: Дмитрий Раков
Одним из самых ранних, известных и успешных проектов в области автономного вождения стал проект Autonomous Land Vehicle In a Neural Network (ALVINN) Университета Карнеги-Меллон. В рамках ALVINN нейронная сеть научилась отображать входные изображения на дискретные действия для управления транспортным средством. Она имела один скрытый слой с 29 узлами. Ее входной слой содержал 30 на 32 узлов, а выходной слой — 45 узлов. Хотя структура этой сети была проще структуры современных нейронных сетей с миллионами параметров, системе удалось успешно преодолеть североамериканский континент. Ключевым фактором успеха проекта ALVINN было имитационное обучение.
Рисунок 1. Автомобиль из проекта ALVINN и архитектура нейронной сети для его управления
Сейчас для большинства задач в робототехнике программирование роботов производится экспертами вручную. Однако по мере того, как роботы и другие интеллектуальные агенты переходят из простых сред в среды посложнее, неструктурированные среды, ручное программирование их поведения становится все более трудоемкой и дорогостоящей задачей. Часто эксперту легче продемонстрировать желаемое поведение, чем попытаться реализовать его своими руками.
Такой процесс обучения на основе демонстраций и исследование алгоритмов для его выполнения называется имитационным обучением.
Цель имитационного обучения — эффективное освоение желаемого поведения путем имитации действий эксперта. Его применение не ограничивается физическими системами: такое обучение может быть полезным инструментом для разработки автономного поведения в различных областях, включая веб-сайты, компьютерные игры и мобильные приложения. Однако в робототехнике имитационное обучение играет особенно важную роль, ведь оно позволяет передавать навыки человека роботизированным системам.
В робототехнике экспертами выступают человеческие операторы, а обучающимися — робототехнические системы. Таким образом, имитационное обучение представляет собой технику для передачи человеческих навыков роботам. Для этого нам нужно разработать систему, которая запишет демонстрации экспертов и обучит политику повторять продемонстрированное поведение на основе записанных данных.
Рисунок 2. Сбор данных для обучения робота жонглированию теннисным мячом
На первый взгляд имитационное обучение может показаться равным обучению с учителем (оно более известное) или схожим с ним. Однако у имитационного обучения есть отличительные особенности:
Кроме того, часто реализации эксперта и робота различаются. Например, при передаче навыков человека двуногому шагающему роботу движение, записанное человеком-экспертом, может быть невозможным для робота. В этом случае демонстрируемое движение должно быть адаптировано для выполнения роботом, и такая адаптация менее распространена в стандартном обучении с учителем.
В машинном обучении проблема прогнозирования с различным распределением исходного и целевого доменов часто называется "covariate shift", или "адаптацией домена". В имитационном обучении набор данных с демонстрациями не охватывает все возможные ситуации — это обычно слишком затратно по времени и средствам. Поэтому робот может столкнуться с такими не охваченными экспертом состояниями, следовательно, распределение целевого и исходного доменов будет отличаться. Поэтому covariate shift является неотъемлемой частью имитационного обучения.
Напомним, что цель имитационного обучения — обучение политики (policy), которая смогла бы воспроизвести поведение экспертов, демонстрирующих этапы выполнения определенной задачи. В некоторых задачах поведение эксперта наиболее точно описывается как траектория $\tau =[\phi_0,\dots,\phi_N]$. Она является последовательностью признаков $\phi$. Эти признаки представляют состояние робототехнической системы или любые другие измерения и выбираются в соответствии с поставленной задачей.
Следует отметить: $\phi$ не обязательно должны быть заданы вручную, плюс они могут быть такими общими, как пиксели в необработанных изображениях.
При других сценариях, например, когда робот не способен выполнять произвольные траектории, поведение эксперта наилучшим образом характеризуется как последовательность пар состояние $x_i$ и действие (action) $u_i$. В случае гибкого робота (как на анимации ниже) состоянием может быть положение и скорость шарниров или конечной точки робота.
Рисунок 3. Экспертные демонстрации по управлению гибким роботом при наличии препятствий