Вот какие вопросы встают перед растущим сообществом специалистов по обучению с подкреплением. Как и в сфере глубокого обучения, разработка успешных систем обучения с подкреплением остается сложным (и порой весьма прибыльным!) делом. Им занимается относительно небольшая группа экспертов, которые, как и их коллеги по глубокому обучению, много времени уделяют настройке гиперпараметров. (Сколько нужно обучающих эпизодов? Сколько итераций на каждый эпизод? В какой степени должна происходить “уценка” сигнала подкрепления при распространении в обратную сторону? И так далее.)
Препятствия в реальном мире
Давайте пока забудем об этих проблемах и рассмотрим два серьезных препятствия, которые возникают при экстраполяции примера обучения Рози на реальные задачи обучения с подкреплением. Первое препятствие – матрица Q. В сложных реальных задачах – например, при обучении беспилотного автомобиля езде по многолюдному городу – невозможно определить небольшой набор “состояний” для матрицы. Состояние автомобиля в конкретный момент времени определяется всеми данными с его камер и других датчиков. Это значит, что число возможных состояний беспилотного автомобиля фактически бесконечно. Обучение с помощью матрицы Q из примера о Рози в таком случае невозможно. По этой причине в большинстве современных методов обучения с подкреплением вместо матрицы Q используется нейронная сеть. Задача нейронной сети состоит в том, чтобы узнавать, какие значения ценности следует присваивать действиям в конкретном состоянии. В частности, сеть получает текущее состояние в качестве входного сигнала и на выходе присваивает значения ценности всем возможным действиям, которые агент может выполнить в этом состоянии. Есть надежда, что сеть сможет научиться группировать связанные состояния в общие концепции (“безопасно продолжать движение вперед” или “нужно немедленно остановиться, чтобы не столкнуться с помехой”).
Вторым препятствием становится сложность проведения обучения с подкреплением на большом количестве эпизодов в реальном мире для настоящего робота. Невыполним даже наш пример с Рози. Представьте, как вы сотни раз начинаете новый эпизод – выходите на поле, чтобы установить робота и мяч, – не говоря уже о необходимости ждать, пока робот выполнит сотни действий в каждом эпизоде. У вас просто не хватит на это времени. Кроме того, вы рискуете тем, что робот повредит себя, выбрав неверное действие, например если он пнет бетонную стену или шагнет вниз с обрыва.
Подобно тому, как я поступила с Рози, специалисты по обучению с подкреплением почти всегда решают эту проблему, создавая компьютерные симуляции роботов и сред, чтобы пройти все обучающие эпизоды в симуляции, а не в реальном мире. Иногда такой подход работает. Среди прочего с помощью симуляций роботов учат ходить, прыгать, поднимать предметы и водить автомобили с дистанционным управлением, и роботы с переменным успехом применяют навыки, приобретенные в ходе симуляции, в реальном мире
[182]. Однако, чем более сложна и непредсказуема среда, тем менее успешны попытки перенести усвоенное в компьютерной симуляции в реальный мир. Эти сложности объясняют, почему на сегодняшний день обучение с подкреплением добилось наибольших успехов не в робототехнике, а в областях, которые удобно моделировать на компьютере. Самые громкие успехи при этом наблюдались в сфере игр. О применении обучения с подкреплением к играм речь пойдет в следующей главе.
Глава 9
Игра началась
С первых дней развития ИИ энтузиасты начали разрабатывать программы, способные побеждать людей в играх. В конце 1940-х годов Алан Тьюринг и Клод Шеннон, стоявшие у истоков компьютерной эры, написали программы для игры в шахматы, хотя в то время еще не было компьютеров, чтобы их запустить. В последующие десятилетия многие молодые любители игр осваивали программирование, чтобы научить компьютеры играть в свои любимые игры – шашки, шахматы, нарды, го, покер, а позже и в видеоигры.
В 2010 году молодой британский ученый и любитель игр Демис Хассабис вместе с двумя близкими друзьями основал в Лондоне компанию DeepMind Technologies. Хассабис – незаурядный человек и легенда современного ИИ. Шахматный вундеркинд, в шесть лет он начал выигрывать турниры, в пятнадцать стал профессионально программировать видеоигры, а уже в двадцать два основал собственную компанию по созданию видеоигр. Помимо занятия предпринимательством, он получил докторскую степень по когнитивной нейробиологии в Университетском колледже Лондона, надеясь тем самым приблизить свою цель – создание ИИ по образцу человеческого мозга. Хассабис с коллегами основали DeepMind Technologies, чтобы “заниматься поистине фундаментальными вопросами” искусственного интеллекта
[183]. Возможно, не стоит удивляться, что специалисты DeepMind сочли видеоигры подходящей площадкой для работы над этими вопросами. Видеоигры, по мнению Хассабиса, “сродни микрокосму реального мира, но… понятнее и ограниченнее”
[184].
Рис. 27. Иллюстрация игры Breakout, разработанной компанией Atari
Как бы вы ни относились к видеоиграм, если вы предпочитаете “понятную и ограниченную” среду “реальному миру”, вам стоит подумать о создании программ ИИ для видеоигр компании Atari, разработанных в 1970-х и 1980-х годах. Именно этим решили заняться специалисты DeepMind. В зависимости от того, сколько вам лет и какие у вас интересы, вы, возможно, помните некоторые классические игры: Asteroids, Space Invaders, Pong, Ms. Pac-Man. Знакомые названия? Простая графика и управление с помощью джойстика делали эти игры достаточно простыми, чтобы их могли освоить дети, но достаточно сложными, чтобы взрослые тоже не теряли к ним интерес.