Они хотели написать программу, которая получала бы на входе состояние пикселей экрана и текущий счет и играла так, чтобы максимизировать счет. Правила игры программе не сообщаются: она должна случайным образом экспериментировать, двигая в разные стороны ракетку в Breakout или по-всякому стреляя из лазерной пушки по снижающимся кораблям пришельцев в Space Invaders. Каждый раз, когда программа делает ход, она может оценить, привел ли он к увеличению счета или не произвел никакого эффекта.
Эта программа реализует возникшую еще в 1990-е годы концепцию обучения с подкреплением, которая предполагает корректировку вероятности определенных действий в зависимости от воздействия на функцию вознаграждения или счет. Например, в игре Breakout можно принять только одно-единственное решение – сдвинуть ракетку, расположенную внизу экрана, влево или вправо. Изначально выбор делается с вероятностью 50: 50. Но если случайное перемещение ракетки приводит к попаданию по шарику, то через короткое время после этого счет увеличивается. Тогда программа производит пере-калибровку вероятности смещения влево или вправо с учетом этой новой информации. Это увеличивает вероятность смещения в том же направлении, в котором движется шарик. Новшеством было совмещение такого обучения с нейронными сетями, которые должны были оценивать состояние пикселей и решать, какие именно элементы коррелируют с ростом счета.
Вначале, поскольку компьютер просто пробовал случайные ходы, его игра была ужасна; он почти не набирал очков. Но каждый раз, когда очередной случайный ход приводил к увеличению счета, программа запоминала этот ход и более активно использовала его в дальнейшем. Постепенно случайные ходы прекратились, и стал проявляться более обоснованный рисунок игры – ходы, которые, как программа выяснила на опыте, по-видимому, способствовали росту счета.
Видеоролик, который сотрудники DeepMind приложили в качестве иллюстрации к написанной впоследствии статье об этой работе, стоит посмотреть. В нем показано, как программа учится играть в Breakout. Сначала видно, как она случайным образом двигает ракетку взад и вперед, чтобы посмотреть, что из этого выйдет. Затем, когда шарик наконец попадает в ракетку, отскакивает от нее и разбивает кирпичик, отчего увеличивается счет, программа начинает переписывать самое себя. По-видимому, соприкосновение пикселей ракетки с пикселями шарика приносит положительный результат. После 400 партий программа играет уже по-настоящему сильно: ракетка постоянно отправляет шарик то туда, то сюда.
Но настоящий шок я испытал, когда увидел, что она открыла, сыграв 600 партий. Она нашла нашу лазейку! Не знаю точно, сколько партий потребовалось сыграть нам в детстве, чтобы освоить этот фокус, но, судя по количеству времени, которое потратили мы с другом, их вполне могло быть и больше. И вот тебе на. Манипулируя ракеткой, программа стала пробивать по бокам туннели, чтобы шарик застревал в пространстве между верхом стены и верхним краем экрана. После этого счет начинает расти очень быстро, а компьютеру почти ничего не приходится делать. Насколько я помню, когда мы с моим другом открыли этот трюк, мы запрыгали от восторга. Машина же не ощутила ничего.
К 2014 году, через четыре года после создания DeepMind, программа научилась обыгрывать человека в двадцати девяти из сорока девяти игр для Atari, которые были ей предложены. Статья с подробным описанием достижений группы была опубликована в журнале Nature в начале 2015 года. Любая публикация в Nature считается одной из вершин карьеры ученого. Но эта статья удостоилась еще более высокой чести: она стала главной темой всего выпуска. Редакция журнала признала ее появление важным этапом в развитии искусственного интеллекта.
Стоит еще раз подчеркнуть, насколько поразительным было это достижение с точки зрения программирования. Программа, имевшая в своем распоряжении только сырые данные о состоянии пикселей и изменениях счета, прошла весь путь от случайных перемещений ракетки Breakout взад и вперед к пониманию того, что создание туннеля на краю стены позволяет добиться максимального счета. Но игры для Atari – далеко не ровня древней игре го. Хассабис и его коллеги по DeepMind решили, что готовы создать новую программу, которая могла бы взяться и за эту задачу.
Именно тогда Хассабис решил продать свою компанию Google. «Мы не собирались этого делать, но в течение трех лет я был настолько сосредоточен на поисках финансирования, что на исследования оставалось всего 10 % моего времени, – объяснял он в то время в интервью журналу Wired. – Я понял, что в одной жизни, наверное, не хватит времени и построить компанию размером с Google, и решить задачу создания ИИ. Чем я буду больше гордиться потом – созданием многомиллиардного дела или вкладом в раскрытие тайны разума? Выбор был очевиден». Благодаря этой продаже он получил в свое распоряжение всю мощь Google и возможность работать над созданием кода для достижения своей цели – разрешения проблемы го… а там и интеллекта.
Читать дальше