Выбрать главу

Подумайте о поездке в парк аттракционов. Здесь ценность вашего местоположения измеряется тем, как далеко вы находитесь от этого полезного места. Выходя из дома, вы рассчитываете добраться туда за 40 минут. Вы едете прямо пять минут и выезжаете на шоссе. Теперь вы рассчитываете добраться до места через 35 минут. Через 15 минут езды по шоссе вы сворачиваете с него. Теперь ваше расчетное время прибытия составляет 20 минут. Но, выехав на съезд и свернув на боковую улицу, вы попадаете в пробку. Сидя в своем еле двигающемся автомобиле, вы понимаете, что будете в парке только через 30 минут. Теперь ваше ожидаемое время прибытия увеличилось на 10 минут - значительная ошибка.

Что следует извлечь из этой ошибки? Если бы у вас было точное представление о мире, то в момент съезда с дороги вы бы ожидали еще 30 минут езды. Таким образом, обучение по временной разнице говорит, что вы должны обновить значение состояния, связанного с этим выездом. То есть вы используете информацию, полученную в одном состоянии (пробка на обочине), чтобы обновить свои убеждения о ценности предыдущего состояния (выезд). И это может означать, что в следующий раз, когда вы поедете в этот парк развлечений, вы избежите этого выезда и выберете другой. Но для того, чтобы извлечь уроки из этой ошибки, не обязательно приезжать в парк развлечений на 10 минут позже; достаточно было ожидать, что это произойдет при виде пробки.

Алгоритм Саттона показывает, что путем простого исследования - методом проб и ошибок - люди, животные или даже искусственный интеллект могут в конце концов узнать правильную функцию ценности для тех состояний, которые они исследуют. Все, что для этого нужно, - обновлять ожидания, когда они меняются, - "учиться угадывать на основе угадывания", как описывает это Саттон.

Являясь продолжением работы Беллмана по динамическому программированию, обучение на основе временных разностей имело потенциал для решения реальных проблем. Простое правило обучения "момент за моментом" делало его привлекательным с точки зрения вычислительной техники: оно не требовало такого объема памяти, как программы, которым нужно было хранить весь набор действий, предшествовавших получению вознаграждения, прежде чем учиться на его основе. Кроме того, оно работало. Одним из самых ярких проявлений его возможностей стала TD-Gammon - компьютерная программа, обученная с помощью обучения временным различиям играть в настольную игру нарды. Настольные игры являются особенно полезными тестами для обучения с подкреплением, поскольку вознаграждение часто приходит только в самом конце игры, в виде выигрыша или проигрыша. Использование такого грубого и отдаленного сигнала для управления стратегией на самом первом ходу - сложная задача, но временное разностное обучение может ее решить. Созданная в 1992 году Джеральдом Тесауро, ученым из IBM, система TD-Gammon сыграла сотни тысяч партий против самой себя и в итоге достигла уровня игрока среднего уровня, ни разу не получив инструкций от человека. Поскольку он учился в изоляции, он также разрабатывал стратегии, не опробованные людьми (которые, как правило, под влиянием игрового процесса друг друга придерживаются определенного набора ходов). В итоге необычные ходы TD-Gammon повлияли на теорию и понимание самой игры в нарды.

В 2013 году в прессе появилось еще одно применение метода обучения временным различиям, на этот раз в видеоиграх. Ученые из компании DeepMind, занимающейся исследованиями в области искусственного интеллекта, создали компьютерную программу, которая научила себя играть в несколько игр из аркадной системы Atari 1970-х годов. Этот искусственный геймер получил полный опыт игры в Atari. Единственными входными данными для алгоритма были пиксели на экране - ему не было дано никаких специальных знаний о том, что некоторые из этих пикселей могут представлять собой космические корабли, биты для пинг-понга или подводные лодки. Действия, которые он мог выполнять, включали в себя стандартные кнопки: вверх, вниз, влево, вправо, A, B; а наградой для модели служила оценка, которую давала игра, в которую она играла. Поскольку в этом случае перед алгоритмом ставилась более сложная задача, чем в нардах, где, по крайней мере, понятия фигур и расположения заложены в исходные данные модели, исследователи объединили обучение временной разности с глубокими нейронными сетями (метод, с которым мы уже сталкивались в главе 3). Одна из версий этой глубокой нейронной сети насчитывала около 20 000 искусственных нейронов и после нескольких недель обучения достигла производительности на уровне человека в 29 из 49 протестированных игр. Поскольку этот алгоритм Atari также обучался асоциально, в итоге у него появились некоторые интересные причуды, в том числе он обнаружил хитроумный трюк для прохода сквозь стену в игре Breakout, где нужно разрушать кирпичи.

Игры - это яркий и забавный способ продемонстрировать возможности такого подхода, но на этом его применение не закончилось. После того как в 2014 году компания Google приобрела DeepMind, она поставила перед алгоритмами обучения с подкреплением задачу минимизировать энергопотребление в своих огромных центрах обработки данных. В результате было достигнуто 40-процентное снижение потребления энергии для охлаждения центров и, вероятно, экономия в сотни миллионов в течение нескольких лет. Алгоритмы обучения с подкреплением, ориентированные на достижение поставленной цели, находят творческие и эффективные решения сложных задач. Таким образом, эти инопланетные разумы могут помочь разработать планы, до которых человек никогда бы не додумался.

Пути последовательного принятия решений и павловского обусловливания представляют собой победу конвергентной научной эволюции. Пути Беллмана и Павлова начинаются с отдельных и существенных проблем, каждая из которых кипит своими требовательными деталями. Как больнице составить график работы медсестер и врачей, чтобы обслужить наибольшее количество пациентов? Что заставляет собаку выделять слюну, когда в ее ушах раздается звук зуммера? Казалось бы, эти вопросы не имеют ничего общего. Но если отбросить груз конкретики, оставив лишь голые кости проблемы, становится понятна их взаимосвязь. В этом и заключается одна из задач математики: поместить вопросы, не связанные между собой в физическом мире, в одно и то же концептуальное пространство, в котором может проявиться их глубинное сходство.

Таким образом, история обучения с подкреплением - это история успешного междисциплинарного взаимодействия. Она показывает, что психология, инженерия и информатика могут работать вместе, чтобы добиться прогресса в решении сложных проблем. Она демонстрирует, как математика может быть использована для понимания и воспроизведения способности животных и людей учиться у окружающей среды. Эта история и так была бы замечательной, если бы на этом закончилась. Но она на этом не заканчивается.

* * *

Октопамин - это молекула, содержащаяся в нервной системе многих насекомых, моллюсков и червей. Он назван так из-за того, что был обнаружен в слюнных железах осьминога в 1948 году. В мозге пчелы октопамин высвобождается при попадании нектара. В начале 1990-х годов Терри Сейновски, профессор Института Солка в Сан-Диего (Калифорния), и два сотрудника его лаборатории, Рид Монтегю и Питер Даян, задумались об октопамине. В частности, они построили модель - компьютерную симуляцию поведения пчел, - в центре которой находился нейрон в мозге пчелы, выделяющий октопамин. Они предположили, что выбор пчелы, на какие цветы садиться или избегать, можно объяснить с помощью модели обучения Рескорла-Вагнера, а нейронная цепь, включающая октопаминовый нейрон, может быть аппаратным обеспечением, реализующим эту модель. Но пока они решали эту октопаминовую головоломку, команда узнала о другом исследовании, проведенном примерно в 6000 миль от них немецким профессором по имени Вольфрам Шульц, посвященном химическому родственнику октопамина - дофамину.