обучить эту модель состязательным методом. Данный прогноз следует повторить, несколько раз произвольно изменяя z[t].
Изучение модели для планирования последовательности действий является предметом обсуждений во многих лабораториях, в FAIR, в Калифорнийском университете в Беркли, в Google в их дочерней компании DeepMind и в других учреждениях. Но все мы сталкиваемся с одним и тем же препятствием: с трудностью делать прогнозы, потому что мир не очень-то предсказуем.
Архитектура автономных интеллектуальных систем
Системы, которые упоминались ранее, в значительной степени ориентированы на восприятие и интерпретацию естественных сигналов. Обучение с подкреплением пытается объединить восприятие и действие в единую парадигму обучения. Но мы уже убедились в том, что количество проб и ошибок, необходимых для обучения таких систем, недопустимо во многих практических приложениях, таких как робототехника или автоматическое вождение.
Пришло время подумать об общей архитектуре автономного интеллектуального агента, который мог бы научиться воспринимать, планировать и действовать. По этому вопросу проводится много исследований, но эксперты пока не достигли консенсуса относительно дальнейших действий.
Лучший пример автономного интеллектуального агента – это люди. Чтобы понять, чего еще не хватает машине, давайте посмотрим на поведение человека. Им управляет два механизма. Первый – реактивный или стимул-реактивный. Он управляет задачами, которые мы можем выполнять, не задумываясь. Нам бросают мяч, мы ловим его на лету. Нас спрашивают «2 + 2?», мы отвечаем «4». Мы едем на машине по прямой, пустой дороге, не обращая на нее особого внимания.
Второй механизм является сознательным и включает нашу модель мира и нашу способность планировать. Мы должны правильно припарковать машину в специально отведенном для этого месте, или сесть на поезд в незнакомом городе, или выбрать между тем или иным товаром в магазине, рассказать историю, доказать теорему или написать программу, поговорить с банковскими или административными сотрудниками и т. д.
Эти два способа мышления и действий известный психолог и лауреат Нобелевской премии по экономике Даниэл Канеман[127] называет «системой 1» и «системой 2». Некоторые виды поведения типа 1 являются врожденными, например, закрытие век, когда объект быстро приближается к нашему лицу, но большинству из них мы учимся в течение жизни. Поведение типа 2 включает в себя процессы осознанного и рефлексивного мышления.
Давайте перейдем к машине. Все системы, с которыми мы столкнулись до сих пор, относятся к системе 1, а именно «реактивной». Какую архитектуру следует создать, чтобы машина обладала поведением, относящимся к системе 2, а именно «сознательной»? Возможная архитектура автономной интеллектуальной системы показана на рис. 9.8. Она состоит из агента, взаимодействующего с окружающей средой, и целевого модуля, своего рода функции стоимости, которая измеряет степень неудовлетворенности агента. Агент наблюдает за окружающей средой через модуль восприятия, который дает ему представление (как правило, неполное) о мире вокруг него. Целевой модуль наблюдает за внутренним состоянием агента и выдает выходное число, подобное стоимости. Расчетная стоимость низкая, когда все в порядке, высокая, когда что-то не так. Агент старается минимизировать среднее значение целевого результата, рассчитанного в долгосрочной перспективе. Другими словами, целевой модуль «вычисляет» боль (высокая стоимость), удовольствие (низкая стоимость) и побуждение (высокая стоимость, когда они не удовлетворены, низкая стоимость, когда они удовлетворены) – если вообще мы можем назвать их так в случае с машиной. Агент учится минимизировать боль, получать максимальное удовольствие и удовлетворять побуждения, воздействуя на окружающую среду.
Рис. 9.8. Автономная интеллектуальная система с внутренней целью
Система наблюдает за состоянием окружающей среды через модуль восприятия. Он производит воздействие на окружающую среду, чтобы минимизировать целевую функцию (своего рода функцию стоимости), которая измеряет степень ее неудовлетворенности. Данная целевая функция наблюдает за внутренним состоянием агента и выдает небольшое число, если агент находится в состоянии удовлетворения, и большое число, если агент находится в неудобном или болезненном состоянии. Система должна научиться производить действия, которые минимизируют среднее значение цели в долгосрочной перспективе. Эта цель обеспечивает внутреннюю мотивацию системы. Она может быть построена частично «вручную», чтобы обезопасить систему и людей, которые ее используют, во многом подобно цепям и инстинктам боли или удовольствия у животных и людей. Но ее можно и частично обучить.
В мозге подобную роль играет набор структур, расположенных в базальных ганглиях[128]. Они «вычисляют» наше удовольствие, нашу боль и нашу удовлетворенность. Эта архитектура является основой обучения с подкреплением с так называемой «внутренней» мотивацией, когда стоимость рассчитывается внутри машины целевым модулем. В более традиционной модели обучения с подкреплением, используемой AlphaGo, цель является внешней. Величина стоимости не рассчитывается системой, а предоставляется непосредственно агенту окружающей средой в виде числа, символизирующего награду или наказание. Наличие внутренней цели позволяет вычислить ее градиент, чтобы знать, в каком направлении следует изменить состояние агента, чтобы минимизировать цель.
Когда человек хочет что-то сделать, под этим предполагается желаемое состояние мира. Для планирования ряда действий, соответствующих достижению этого желаемого состояния, человек использует модель мира, которая позволяет ему предсказать состояние, возникающее в результате ряда действий. Нам нужно переместить стол из одной комнаты в другую. Желаемое состояние мира – «стол в другой комнате». Но какая последовательность мышечных действий, миллисекунда за миллисекундой, приведет к желаемому результату? Это проблема планирования. Без модели мира человек был бы вынужден опробовать множество последовательностей действий и наблюдать за результатами. Модель мира позволяет нам избегать необходимости пробовать всевозможные сценарии, некоторые из которых могут быть опасными. Помните, что при обучении с подкреплением система не имеет модели и должна перепробовать все!
Шутка для специалистов: окружающую среду и реальный мир нельзя продифференцировать! Вы не можете распространять градиенты по всему миру, чтобы вычислить, как изменить действие, чтобы приблизить его к желаемому состоянию! Вы также не можете заставить реальный мир работать быстрее реального времени.
Как и человек, машина должна иметь модель мира, которую ей придется создавать заново. Агент должен иметь внутреннюю структуру, которая позволяет ему предсказывать последствия серии действий для состояния мира и его цели. Архитектура агента с внутренней моделью показана на рисунке 9.9. Она состоит из трех модулей:
1. Модуль восприятия, который дает оценку состояния мира.
2. Модель мира, то есть функция g, которая в момент времени t предсказывает состояние следующего мира на основе текущего состояния s[t], действия а[t] и, возможно, скрытой переменной z[t], заданной произвольно и позволяющей создавать несколько сценариев, если мир не полностью предсказуем:
s[t + 1] = g(s[t], a[t], z[t], w)
3. Дискриминатор, то есть функция стоимости C(s[t]). Дискриминатор состоит из суммы выражений, некоторые из которых создаются вручную, а другие обучаются и генерируются нейронной сетью. Они настраиваются для прогнозирования будущего среднего значения