Одна из моих любимых игр на Atari называлась Breakout. Параллельно верхней кромке экрана шла стена из разноцветных кирпичиков, а игрок управлял расположенной внизу ракеткой, которую можно было двигать влево или вправо при помощи джойстика. Шарик отскакивал от ракетки и летел в сторону кирпичиков. Каждый раз, когда он попадал в какой-нибудь кирпичик, кирпичик исчезал. Целью игры было убрать с экрана все кирпичики. За попадание в один из желтых кирпичиков, из которых состояла нижняя часть стены, начислялось одно очко. Красные кирпичики в верхней части приносили по семь очков. По мере исчезновения кирпичиков ракетка становилась все меньше, а шарик летал все быстрее, что делало игру труднее.
Особенное удовольствие мы испытали однажды, когда придумали хитрый способ взломать эту игру. Нужно было пробить сквозь кирпичики на краю экрана туннель; тогда, если шарик пролетал сквозь него и оказывался сверху от стены, он начинал скакать, отражаясь от верхней кромки экрана и верхних, «дорогих», кирпичиков и постепенно уничтожая стену. Игрок мог расслабиться и просто смотреть за этим процессом, пока шарик в конце концов не прилетал сквозь стену обратно вниз. Нужно было только держать ракетку наготове, чтобы снова отбить шарик вверх. Очень приятная была стратегия!
Хассабис и другие члены группы, которую он собирал в это время, также много играли в молодости в компьютерные игры. Возможно, их родителям было приятно узнать, что время и силы, потраченные на эти игры, не были растрачены впустую. Игра Breakout оказалась идеальным полигоном для проверки способности коллектива DeepMind запрограммировать компьютер на обучение играм. Написать программу для каждой отдельной игры было бы работой сравнительно несложной. Но Хассабис и его коллеги ставили перед собой гораздо более трудную задачу.
Они хотели написать программу, которая получала бы на входе состояние пикселей экрана и текущий счет и играла так, чтобы максимизировать счет. Правила игры программе не сообщаются: она должна случайным образом экспериментировать, двигая в разные стороны ракетку в Breakout или по-всякому стреляя из лазерной пушки по снижающимся кораблям пришельцев в Space Invaders. Каждый раз, когда программа делает ход, она может оценить, привел ли он к увеличению счета или не произвел никакого эффекта.
Эта программа реализует возникшую еще в 1990-е годы концепцию обучения с подкреплением, которая предполагает корректировку вероятности определенных действий в зависимости от воздействия на функцию