Содержание статьи
Компьютерные палочники показали процесс обучения ИИ
«Проблема в том, что симулятор никогда не будет таким точным, как в реальном мире. Какие-то аспекты всегда будут упущены. Чтобы адаптировать уроки из симулятора, требуется дополнительное программирование», — говорит Данияр Хафнер, который работал над проектом с коллегами Алехандро Эсконтрелой и Филиппом Ву, а сейчас проходит стажировку в DeepMind.
Робособака машет лапами в воздухе, как раздражённый жук. После 10 минут борьбы ей удаётся перевернуться на живот. Через полчаса робот делает свои первые неуклюжие шаги, как новорождённый теленок. Час спустя он уверенно расхаживает по лаборатории. Особенность этого четвероногого робота в том, что он научился этому сам, без компьютерной симуляции.
В процессе «эволюции» у существа появляется несколько копий, которые двигают мышцы в случайном порядке. При непрерывном растягивании и сокращении мышц система обучается, анализируя определенный набор параметров: расстояние существа до земли и количество точек соприкосновения, его направление движения и скорость, а также его местонахождение в пространстве. Затем, в зависимости от поставленной задачи, система выбирает двух наиболее удачных кандидатов для дальнейшего размножения: соответствующие им параметры затем используются для создания новых существ. Процесс повторяется до тех пор, пока поставленная перед существом задача не будет выполнена максимально корректно.
Задача любого вида машинного обучения сводится к тому, чтобы научиться выполнять какую-либо задачу в процессе непрерывных попыток. Тип обучения зависит, например, от архитектуры выбранной нейросети: например, в генеративно-состязательных системах сеть-генератор создает объекты, а сеть-оценщик — сравнивает их с «золотым стандартом», после чего отправляет генератор переделывать объект до достижения лучшего результата. Обычно при анализе работы машинного обучения можно посмотреть на веса — оценки, которые выдаются полученному решению. Эволюцию искусственного интеллекта в процессе обучения теперь можно рассмотреть во всех деталях — с помощью новой игры-симуляции.
Каждое созданное существо оснащено деталями трех типов: костями, мышцами и суставами. Суставы необходимы для того, чтобы соединить вместе кости, а мышцы регулируют движения костей за счет сокращений и растягиваний. В процессе «эволюции» к существую добавляется «мозг» — нейросеть, которая обучается на движениях существа. Единственная из деталей, которой может управлять «мозг» при этом — это мышцы, которых должно быть достаточно для того, чтобы двигались все кости (то есть кость не может не быть соединена с другой костью только сухожилием).
Обычно роботов обучают движениям на компьютерном симуляторе. Однако этот метод не универсален и требует значительных затрат, в том числе временных. Команда Калифорнийского университета в Беркли предложила решение проблемы — алгоритм Dreamer, основанный на обучении с подкреплением. Он позволяет роботу самостоятельно осваивать новые навыки и адаптироваться к изменениям вокруг. Исследование опубликовано на arXiv.org.
С помощью такой симуляции, как отмечает Донягард, можно проследить за тем, как обучаются нейросети: сначала случайно выполняя действия, а затем корректирует свое поведение на основе анализа предоставленных ему параметров. Кроме того, симуляция — еще и отличный способ узнать побольше о строении и функционировании приборов, работающих с помощью искусственных мышц. Помимо веб-версии также есть десктоп-версии для разных операционных платформ.
Алгоритм команды, получивший название Dreamer, использует прошлый опыт для построения модели окружающего мира. Dreamer также позволяет роботу проводить вычисления методом проб и ошибок в компьютерной программе, в отличие от реального мира, путём прогнозирования результатов его потенциальных действий. Это позволяет ему учиться быстрее. Как только робот научился ходить, он продолжал учиться и адаптироваться к неожиданным ситуациям, например, сопротивляться падению, если его толкнут палкой.
Разработчик Кейван Донягард (Keiwan Donyagard) представил Evolution — небольшую игру-симуляцию, которая позволяет следить за работой и развитием искусственного интеллекта. С помощью набора из костей, мышц и суставов можно создавать небольших существ и дать им задачу научиться прыгать, бегать или ходить, а дальше — следить за их эволюцией. Симуляцию можно опробовать на сайте.
Джонатан Херст, профессор робототехники в Университете штата Орегон, говорит, что результаты, которые ещё не прошли экспертную оценку, ясно показывают, что «обучение с подкреплением станет краеугольным камнем в будущем управления роботами». У решения убрать тренажёр из обучения роботов есть много преимуществ. По словам Хафнера, алгоритм может быть полезен для обучения роботов тому, как осваивать навыки в реальном мире и адаптироваться к таким ситуациям, как аппаратные сбои – например, робот может научиться перемещаться с неисправным двигателем на одной ноге.
Этот подход также может иметь огромный потенциал для более сложных вещей, таких как автономное вождение, которые требуют сложных и дорогостоящих симуляторов, говорит Стефано Альбрехт, доцент кафедры искусственного интеллекта в Эдинбургском университете. Новое поколение алгоритмов обучения с подкреплением могло бы «очень быстро освоиться в реальном мире, поняв, как работает окружающая среда», говорит Альбрехт. В будущем, говорит Хафнер, было бы неплохо научить робота понимать произносимые команды. По его словам, команда также планирует подключить камеры к робособаке, чтобы дать ей зрение. Это позволило бы ему ориентироваться в сложных ситуациях внутри помещения, например отправиться в комнату, найти предмет или принести мяч.