Схватка интеллектов
Текст: Екатерина Хворова | 2016-06-20 | 1831
Дэмис Хассабис. Дэмис Хассабис. И ещё раз Дэмис Хассабис. Запомните это имя. Принадлежит оно создателю AlphaGO – компьютерной нейросети, победившей человека в го. Это событие уже назвали историческим – и не только в плане развития искусственного интеллекта, но и современного прогресса в целом.


В 1997 году под натиском Deep Blue пал шахматный король Гарри Каспаров. Тот эпохальный шестиматчевый поединок он проиграл со счётом 3,5 на 2,5. После этого стало окончательно понятно, что полное превосходство техники над человеком – лишь вопрос времени. Однако считалось, что в го – одну из сложнейших игр – компьютер выиграет ещё очень не скоро. Кто-то отводил на это целое столетие, но даже в самых оптимистичных прогнозах фигурировали в лучшем случае 2025-2030 годы.

К настоящему моменту компьютер победил человека практически во всех логических настольных играх. Достаточно быстро «сдались»: крестики-нолики, реверси и скрэббл. А вот шашки, шахматы, нарды и, естественно, го продержались куда дольше, ведь победа в них обусловлена не столько умением хорошо считать и перебирать возможные игровые ситуации, сколько такими присущими только человеку свойствами как интуиция, чутьё и жизненный опыт. Только человек, обладая незначительным объёмом информации о противнике и его прошлых играх, а иногда исключительно из вербальных и невербальных символов мог просчитать свои предстоящие ходы и возможные ответы противника, поставить «ловушки» и обманки, разработать победную стратегию.

Вообще надо сказать, что первая победа компьютера в шахматах была зафиксирована в 1956 году. MANIAC I (Mathematical Analyzer, Numerical Integrator and Computer – Математический анализатор, числовой интегратор и компьютер), созданный в 1952 году в Лос-Аламосской национальной лаборатории поставил своему сопернику мат в 23 хода. Правда, играл он тогда с новичком и по упрощённым правилам. Но уже в 1981 году Cray Blitz на закрытом шахматном чемпионате в Миссисипи обыграл всех человеческих соперников, в том числе мастера спорта. С того момента машины стали всё чаще и чаще побеждать титулованных соперников. В 1996 году сильнейший шахматист мира Гарри Каспаров одержал победу над созданной IBM программой Deep Blue. Однако проиграл ей же уже в следующем, 1997 году. Deep Blue была способна отрабатывать 200 миллионов позиций в секунду. В последующих играх наиболее частым результатом становились ничья или победа программы. Так, в 2003 году Каспаров сыграл вничью с двумя программами, а вот Владимир Крамник в 2002-м проиграл усовершенствованному Deep Fritz. Компьютеры «запоминают» все сыгранные или известные комбинации, поэтому человек способен победить компьютер, но только в совершенно новой, ещё неизвестной ситуации на шахматной доске. Просчитать шахматы до конца компьютер не в состоянии, поскольку число возможных на шахматной доске позиций составляет 1046. Для отработки всех этих вариантов даже самым современным компьютерам потребуется несколько миллиардов лет.

А вот в шашках количество комбинаций оценивается куда меньшим числом – 1020. И эта игра уже полностью «решена». Чемпиона мира по шашкам компьютер впервые обыграл ещё в 1994 году, а в 2007-м на суперкомпьютере были просчитаны все возможные ходы. Поэтому модифицированная программа Chinook стала беспроигрышной, так как в любой позиции она знает наилучший ход. Обыграть её человек не способен ни при каких раскладах.

Как ни удивительно, но машина стабильно побеждает человека и в такой игре как камень-ножницы-бумага. Учёные давно выявили оптимальный алгоритм действий, однако какое-то время человеку всё-таки удавалось «обманывать» компьютер и выигрывать. Но теперь искусственный игрок выучивает тактику соперника и при достаточно большом количестве раундов всегда оказывается победителем.

Постепенно разработчики обучили программы и нечёткой логике, позволяющей принимать оптимальные решения в играх с неполной информацией. Считается, что в таких играх есть элемент случайности, везения. Так, например, если победа шахматиста полностью зависит от способностей игрока, то в нардах несколько неудачных выпадений на кубиках может помешать сильному игроку победить. Однако и в нардах победа остаётся за машинами, а не за человеком. Летом 1979 года на Мировом чемпионате по нардам в Монте-Карло программа BKG 9.8 выиграла с разгромным счётом. В этой игре даже при неудачном выбросе кубиков есть оптимальные ходы, позволяющие одержать победу. И компьютеры научились корректировать стратегию в зависимости от таких «случайностей».

Одной из последних «сдалась» машинам игра в покер. В ней помимо случайных вариантов получения собственных карт при раздаче есть элементы неопределённости карт у других игроков и их способности блефовать. Несмотря на то, что компьютеры блефовать не могут, в 2015 году в научном журнале Science была описана программа, способная победить человека в самой популярной разновидности покера – Техасском холдеме. Перед победой над человеком компьютер сыграл сам с собой 24 триллиона партий. В этих играх программа оценивала ходы – сделанные и потенциально возможные в данной ситуации, исходя из последовавших «денежных» потерь. Бесконечно играя в карты, компьютер вычислил оптимальные стратегии для всех возможных раздач, и теперь победить его невозможно за исключением особо неудачных вариантов карт. Конечно, машина играет без азарта и не имеет цели перехитрить противников. Но она и не совершает ошибок, присущих людям в силу их эмоциональности.

А вот теперь компьютером была одолена и считавшаяся неподвластной искусственному разуму древняя игра го. В октябре 2015 года победу над трёхкратным чемпионом Европы Фанем Хуэем в пяти играх со счётом 5:0 присудили программе AlphaGo, а в марте 2016-го со счётом 4:1 был обыгран лучший игрок последних десяти лет чемпион мира Ли Седоль.

После поражения Фань Хуэй признал, что если бы не знал, что играет с компьютером, то решил бы, что это  человек – немного странный, но сильный и очень техничный игрок. Наблюдая за этими играми, президент Британской ассоциации го Джон Даймонд заключил: «Я был очень впечатлён силой игры AlphaGo, и у меня возникали сложности с определением того, на какой стороне играет компьютер, а на какой – человек, пока я не знал, каким цветом играл Хуэй.  До этой серии игр у меня не было и мысли, что компьютер сможет соперничать с профессионалами, а теперь, похоже, победа машины над топ-игроками является неизбежностью».

Несмотря на проигрыш Фань Хуэя, следующий соперник AlphaGo – Ли Седоль – был уверен, что выиграет у компьютера. Он согласился на матч, даже не посмотрев партии Фань Хуэя. Разрыв в силе между 2 даном и элитным игроком 9 дана столь велик, что партии Фань Хуэя с AlphaGo не позволили бы ему судить о реальной силе программы. Корейский мастер не рассматривал возможности поражения, поэтому даже не оговорил суммы своего гонорара в случае проигрыша, как это делается обычно. Между тем, призовой фонд матча составлял 1 млн долларов + 20 тысяч долларов за каждую победу (в случае победы AlphaGo деньги шли на благотворительность). В интервью перед матчем Ли Седоль предсказывал, что он легко выиграет со счётом 4-1 или даже 5-0 и последующие 2-3 года Google будут дорабатывать AlphaGo, после чего захотят взять у него реванш; в этом случае играть с обновлённой версией AlphaGo будет действительно интересно.

В стартовой партии Ли Седоль ходил первым по специально разработанному им перед игрой началу. После нескольких начальных ходов партия не имела аналогов в истории, и уже после 186-го хода в безнадёжной позиции Ли Седоль признал своё поражение в первом матче. Чемпион признался, что в игре ни разу не ощущал своего преимущества перед соперником. AlphaGo ходила спокойно и уверенно, а в самые неожиданные моменты делала резкие выпады в сторону противника. В первой половине партии была острая равная борьба, но на 102-м ходу AlphaGo сделала невероятно сильный ход, переломив таким образом весь ход партии. Впоследствии Ли Седоль проиграл ещё три игры – вторую, третью и пятую. На пресс-конференции, посвящённой единственной выигранной им партии чемпион заявил, что смог найти у программы несколько слабых сторон, приводящих к её неожиданному поведению и итоговому результату. Во-первых, ему показалось, что AlphaGo сложнее играть чёрными камнями, чем белыми. Во-вторых, неожиданные ходы противника буквально ставят программу в тупик и приводят к тому, что возможность хорошего ответного хода с её стороны резко снижается. Однако для победы над компьютером таких выводов оказалось недостаточно.

Наблюдавшие за игрой эксперты не ожидали столь разгромного для человека финала, никто не предполагал, что компьютер способен усовершенствоваться так быстро. Руководитель службы компьютерного зрения и нейросетевых технологий компании «Яндекс» Александр Крайнов сказал после этого матча: «У AlphaGo просто нет слабых мест. Сила его самого слабого хода очень велика. Он не ошибается».

Уникальность программы AlphaGo заключается в том, что в её основе лежат искусственные нейронные сети. Они позволяют программе анализировать абстракции, составлять сложное многоуровневое представление о ситуации и выявлять стратегию, с большой вероятностью приводящую к успеху. Это совершенно новое решение для игровых программ. Именно этим и обусловлен успех AlphaGo. В го количество возможных комбинаций составляет 10171, и это несоизмеримо больше даже чем у шахмат. Причём для первого хода (361 вариант) и ответа противника (360 вариантов) количество возможных комбинаций на доске уже составляет 129?960. Нужно учитывать и фактор ветвления, увеличивающий возможные комбинации, ведь среднее количество ходов в одной игре составляет примерно 200-250, тогда как в шахматах только 35-40. Поэтому простым перебором возможных ситуаций построить игру машины нельзя. У человека за выбор перспективного хода в большей степени отвечает интуиция или образное восприятие. Далеко не все игроки понимают, почему они ходят именно так, а не иначе: «Просто смотришь на доску и знаешь», – говорят они.

Перед программистами AlphaGo стояла задача не просто научить машину играть по правилам и распознавать ситуацию на доске, но и оценивать перспективность ходов. Поэтому построена программа была на базе двух нейронных сетей. Нейронные сети по принципу действия схожи с работой нейронов мозга человека, в котором информация никогда не записывается в окончательном варианте – происходит постоянное образование, изменение силы и разрушение нейронных связей. Значит, и компьютерные алгоритмы нужно было научить не просто навсегда фиксировать что-то в памяти, а перестраиваться в процессе обработки информации. Такой алгоритм способен к обучению и именно такие сети позволяют современным программам распознавать образы (лица, буквы, объекты). Они способны действовать самостоятельно, руководствуясь приобретёнными знаниями, а не по заданной человеком схеме.

Первая часть AlphaGo включает 12 слоёв нейронной сети, которые распознают образы, и умеет по текущей картинке определять, как будет выглядеть игровое поле после следующего хода. После обучения программы, которое проходило на 30 миллионах ходов из известных игровых партий, она с вероятностью в 57% стала предсказывать следующий ход живых игроков. Вторая сеть AlphaGo моделирует развитие событий на несколько шагов вперёд и определяет самые выгодные варианты ходов. «Сеть оценок» нужна в первую очередь для того, чтобы резко сократить число возможных ходов на доске и упростить вычисления, а «сеть решений» – для выбора оптимального шага из самых густых ветвей «дерева» возможных решений. Сократив число приемлемых ходов, машина просчитывает наперёд разные комбинации, находя наиболее выигрышные. Но делает это не до конца партии, а лишь на несколько десятков ходов вперёд. Совместная работа этих двух частей напоминает человеческое мышление: на каждом ходу AlphaGo сначала на основании опыта проводит оценку текущей позиции на доске и определяет наиболее вероятные действия противника (по известным аналогиям), а потом на основании проведённого анализа высчитывает плюсы и минусы каждого из них для выбора следующего хода. Таким образом AlphaGo из всех возможных ходов способна выявлять наиболее перспективные. При этом действия AlphaGo не лишены и элемента случайности: программа с определённой вероятностью может выбрать любой из нескольких наиболее выгодных вариантов ходов.

Программа прошла длительную тренировку, вначале изучая игры профессионалов, в том числе онлайн-игры, а также играя сама с собой. Эксперты считают, что именно после игр с самой собой она научилась играть на профессиональном уровне. Алгоритмы обучения отрабатывали в том числе и на консольных играх: через информацию о пикселях на экране и счёт программа постигала логику игры, совершая случайные действия и наблюдая за результатами этих действий. Уже через несколько часов тренировок программа побеждала почти в каждой игре. В этих играх AlphaGo достигла рейтинга в 3,1 тысячи эло, что соответствует уровню гроссмейстера международного уровня в шахматах или профессиональному третьему дану в го. Отработанные программой 30 млн комбинаций позволили ей развить собственное «чувство игры» или интуицию.

Общая стоимость AlphaGo, разумеется, очень высока – она составляет несколько десятков миллионов долларов. На одну программу AlphaGo работает 176 графических карточек Nvidia. Кроме того, нейронная сеть использует 1200 процессоров. Ей требуются сотни часов работы серверов для обучения алгоритма и тысячи человеко-часов работы программистов.


Подпишитесь на eRazvitie.org в Фейсбуке и ВКонтакте, чтобы не пропустить новые материалы.