Специалисты DeepMind
применили свой метод глубокого Q-обучения к 49 различным играм Atari в Arcade Learning Environment. Хотя программисты DeepMind использовали для каждой игры одну и ту же архитектуру сети и одни и те же настройки гиперпараметров, их система осваивала каждую игру с нуля, то есть знания системы (веса сети), полученные при освоении одной игры, не применялись, когда система начинала обучение другой игре. Чтобы освоить каждую из игр, системе требовалось несколько тысяч обучающих эпизодов, но на мощных компьютерах процесс шел довольно быстро.Когда глубокая Q-сеть обучилась каждой игре, специалисты DeepMind
сравнили навыки машины с навыками “профессионального тестировщика игр”, которому позволили для подготовки по два часа поиграть в каждую игру. Работа мечты, скажете вы? Только если вам нравится позорно проигрывать компьютеру! Программы глубокого Q-обучения, созданные DeepMind, показали лучшие результаты, чем тестировщик, более чем в половине игр. В половине из этих игр результат программ оказался более чем в два раза лучше человеческого. В половине из этих игр результат программ был более чем в пять раз выше. Настоящего триумфа DNQ-программа добилась в игре Breakout, набирая в среднем более чем в десять раз больше очков, чем человек.Чему именно научились эти сверхчеловеческие программы? Проанализировав результаты, специалисты DeepMind
выяснили, что их программы освоили очень хитрые стратегии. Так, программа для игры в Breakout научилась применять великолепную уловку, показанную на рис. 29. Программа поняла, что если выбить кирпичи таким образом, чтобы проложить узкий тоннель у края кладки, то мяч начнет скакать между “потолком” и верхним рядом кирпичей, быстро выбивая дорогие верхние кирпичи при неизменном положении ракетки.DeepMind
впервые представила свою работу в 2013 году на международной конференции по машинному обучению[189]. Собравшиеся были поражены. Менее года спустя Google объявила о покупке DeepMind за 440 миллионов фунтов стерлингов (около 650 миллионов долларов на момент заключения сделки) – вероятно, благодаря этим результатам. Да, обучение с подкреплением порой приносит солидные награды.Получив огромные деньги и доступ к ресурсам Google
, специалисты DeepMind – которая теперь называется Google DeepMind – поставили перед собой более серьезную задачу, входящую в число “больших вызовов” ИИ: создать программу, лучше людей играющую в го. Разработанная DeepMind программа AlphaGo стала логическим продолжением долгой истории ИИ в настольных играх. Давайте для начала кратко изложим эту историю, что поможет нам понять, как работает AlphaGo и почему это так важно.Рис. 29. Программа компании DeepMind
освоила стратегию проброса мяча сквозь кирпичи при игре в Breakout, что позволило ей быстро уничтожать дорогие кирпичи верхних рядов, благодаря отскокам мяча от потолкаШахматы и шашки
В 1949 году инженер Артур Сэмюэл поступил на работу в лабораторию IBM, расположенную в Покипси, в штате Нью-Йорк, и сразу приступил к программированию ранней версии компьютера IBM 701 для игры в шашки. Если у вас есть опыт в компьютерном программировании, вы оцените стоявшую перед ним задачу: как отметил один историк, “Сэмюэл первым решил написать серьезную программу для IMB 701, а потому не имел возможности использовать системные утилиты [то есть, по сути, не имел операционной системы!]. В частности, у него не было ассемблера, поэтому ему приходилось прописывать все операционные коды и адреса”[190]
. Для читателей, не имеющих опыта в программировании, поясню: это все равно что строить дом, имея лишь ручную пилу и молоток. Созданная Сэмюэлом программа для игры в шашки стала одной из первых программ машинного обучения – и именно Сэмюэл ввел в обиход сам термин “машинное обучение”[191].Программа Сэмюэла для игры в шашки была основана на анализе дерева игры – и такой анализ по-прежнему остается фундаментом всех программ для игры в настольные игры (включая AlphaGo
, которую я опишу далее). На рис. 30 показано дерево игры в шашки. “Корнем” дерева (обычно он находится на схемах сверху, в отличие от корней настоящего дерева) служит исходное положение шашек на доске до совершения первого хода. От корня расходятся “ветки”, ведущие ко всем ходам, доступным первому игроку (здесь – черным). Возможных ходов семь (для простоты на рисунке показаны лишь три из них). Для каждого из семи возможных ходов черных есть семь возможных ответов белых (не все они показаны на рисунке) и так далее. На рис. 30 каждая доска показывает возможное положение шашек, называемое позицией на доске.Рис. 30. Фрагмент дерева игры в шашки. Для простоты на рисунке показано всего по три возможных хода для каждой позиции на доске. Белыми стрелками показано передвижение шашки с предыдущей клетки на текущую