Время чтения: 7 минут

Как Яндекс учил ИИ играть в го

Сложность го состоит в том, что каждый ход влечет за собой около 200 возможных вариантов развития игры.

В середине марта завершился исторический по своему значению турнир в го. Впервые в нем победил не живой игрок, а программа. Кто-то может спросить, что в этом удивительного? Если компьютеры уже несколько десятилетий успешно играют с людьми в шахматы, то почему бы им не выиграть в го. На первый взгляд все логично. Но только для тех, кто никогда не играл в эту игру.

Почему компьютеру сложно играть в го?

Особенностью го являются предельно простые правила игры. А сложность состоит в невероятном количестве возможных ходов. Для каждой позиции существует около двухсот возможных решений, каждое из которых влечет за собой следующие двести. То есть уже после первого хода количество возможных позиций составляет 200 вариантов, после второго — 40 000 вариантов, после третьего — 8 000 000 вариантов и так далее. Общее же число ходов в одной партии варьируется от двухсот до трехсот.

Шахматные партии компьютер просчитывает на несколько ходов вперед и, анализируя положение фигур на доске, выбирает оптимальный для себя вариант. Но для игры в го такой алгоритм не подходит, поскольку просчитать все возможные варианты ходов силами современных компьютеров невозможно. Может быть, когда-то и появятся такие машины, но вряд ли это случится в ближайшем обозримом будущем.

Каким же образом играют люди?

Каким же образом играют люди?

А как же люди?

Напрашивается вопрос, если даже самый мощный компьютер не может играть в го, то как же в эту игру играют люди? Все очень просто — игрок-человек не просчитывает партию. Он оценивает положение после каждого хода соперника и догадывается, какой вариант принесет больше пользы. Решение принимается не только исходя из собственного опыта игры, но и интуитивно. Люди, которые сыграли много партий в го, часто говорят, что видят хорошие ходы как красивые. А те, что ведут к проигрышу, кажутся им некрасивыми.

Что такое интуиция? Это приобретенный, но неосознанный опыт. Так, опытному рыбаку хватит одного взгляда на реку или озеро, чтобы сказать будет здесь и сейчас ловиться рыба или нет. Причем, далеко не все отвечают на вопрос осознанно, оценив погодные условия, растительность и другие приметы. Очень часто ответ возникает как бы сам по себе. В этих случаях обычно и вспоминают об интуиции. Но интуиция — это не игра в «угадайку», это опыт, это знания, это воспоминания о похожем месте и условиях.

То же и с игрой в го. Опытные игроки не просчитывают все варианты по каждому возможному ходу. Они просто видят, что пойти сюда — правильно, а вот сюда — нет.

AlphaGo — программа, которая учится и играет как человек

Когда разработчики Яндекса задались целью создать программу, способную играть в го, они понимали, что просчитать все комбинации невозможно. А значит, тот подход, который использовался при разработке шахматных программ, применить нельзя. Соревноваться с человеком и выиграть партию в го под силу только обучающейся системе, то есть искусственному интеллекту.

Как происходило обучение ИИ? На начальном этапе нейросеть учили делать предсказания лучших ходов среди всех возможных на основе сыгранных людьми партий. За «хороший» ход принимаются ходы, сделанные выигравшими игроками, за «плохой» все остальные. Важно сказать, что для обучения использовались не партии, а отдельные ходы. При этом нет необходимости обучать нейросеть стандартным позициям — если комбинации встречаются в выборке достаточно часто, машина сама запоминает их и классифицирует как стандартное положение на доске.

Поскольку нейросеть изучает и запоминает огромное множество партий и отдельных ходов, постепенно она накапливает запас знаний, который можно расценивать как своеобразную интуицию, помогающую отсеять плохие варианты хода, выбрать несколько лучших вариантов и просчитать только их. То есть машина действует, как живой игрок. Из двухсот возможных ходов, она выбирает лучшие и прогнозирует, как изменится ситуация на доске, когда будет сделан тот или иной ход. После этого среди лучших ходов нужно выбрать тот, который принесет максимальную выгоду.

На этом этапе в игру вступает вторая нейросеть, в процессе обучения которой рассматривались не отдельные ходы, а позиция на доске с точки зрения принадлежности к выигравшему или проигравшему игроку. Если игрок выиграл, позиция расценивается как «хорошая», если проиграл — как «плохая». Обучаясь, алгоритм тренируется определять выигрышные позиции и просчитывать процент вероятности выигрыша для каждой из них.

В результате, игра машины выглядит следующим образом: сначала первая нейросеть выбирает лучшие ходы из возможных и просчитывает ограниченное число вариантов. После этого вторая нейросеть выбирает лучшую позицию. Таким образом, была решена проблема обсчета огромного числа возможных вариантов. Делая тот или иной ход, машина не видит итогового результата партии, поскольку считает только на один шаг вперед.

Научившись делать эти действия, программа стала играть на уровне хорошего игрока. А дальше происходит самое интересное, поскольку машина начинает самостоятельно генерировать новые, еще никем не сыгранные партии. То есть она играет сама с собой и в процессе игры обучается.

Технологии машинного обучения открывают огромные перспективы для развития робототехники, поисковых систем, а также иных отраслей.

Искусственный интеллект — уже реальность.

А зачем это нужно?

Итак, 15 марта завершился турнир, в котором AlphaGo со счетом 4:1 победила одного из сильнейших игроков планеты Ли Седоля. Это очень интересно и замечательно. Но практиков волнует вопрос о том, какую пользу можно из этого извлечь. Разумеется, помимо репутационных приобретений Яндекса, разработчики которого решили задачу, поставившую в тупик специалистов других поисковиков и IT-компаний.

Самое ценное в современном мире — это технологии. И способность машины к обучению, причем не только на основе предоставленной людьми информации, но и на самостоятельно сгенерированных примерах, открывает огромные перспективы. Конечно, AlphaGo никогда не научится решать задачи за 7 класс по алгебре или писать стихи, но играть в го она будет все лучше и лучше. И вот эта способность к самообучению может использоваться в любых других отраслях.

В качестве примера приведем робототехнику. Используя возможности искусственного интеллекта, можно научить робота не только механически переставлять ноги, чтобы передвигаться по ровной поверхности, но и перешагивать через препятствия, поднимать предметы, вставать после падения и т.д. Постепенно накапливая знания, робот учится принимать решения, адекватные конкретной ситуации. И это только один из примеров практического применения машинного обучения.

От теории к практике: примеры использования ИИ поисковыми системами

До того искусственного интеллекта, который показывают в фантастических фильмах, все-таки очень далеко. Но в том, что касается машинного обучения поисковых алгоритмов, он уже стал реальностью. И чтобы убедиться в этом, не нужно погружаться в научные дебри, достаточно пары примеров.

  • Контент плохой, контент хороший. Интернет-аудитория расширяется с каждым годом, а вместе с ней растет и число сайтов, соцсетей, форумов и других площадок. При этом большая часть контента на них носит мусорный характер. Соответственно, каждый раз, когда вы вводите в поиск тот или иной запрос, перед поисковыми роботами стоит задача дать релевантный ответ. Раньше, когда деревья были большими, сайтов было мало, а алгоритмы были несовершенными, эта задача решалась через простой поиск совпадений — в выдачу попадали только те сайты, контент которых содержал поисковую фразу или ее часть. С развитием технологии машинного обучения, задача усложнилась. Сегодня поисковики улавливают смысл вопроса и дают релевантный ответ даже в том случае, когда в поисковом запросе и контенте на сайте нет ни одного совпадения по словам. Как этого добиваются? С помощью машинного обучения современные поисковые алгоритмы учатся переводить контент в числа. При этом схожим по смыслу текстам и изображениям присваиваются близкие числовые значения. Благодаря этому облегчается поиск близкого по смыслу, но не имеющего прямого совпадения с поисковой фразой, контента.
  • Красивый или нет? Понятие красоты очень субъективное. И тем сложнее задача, которая стоит перед разработчиками, обучающими ИИ. Как научить машину по запросу «красивый дом» находить фотографии не всех подряд коттеджей, а именно тех, которые хотя бы как-то отвечают человеческим представлениям о красоте? Как и в случае с AlphaGo задача решается количеством. Чем больше выборка, тем точнее итоговый результат. К примеру, если машине «дать» 100 фотографий красивых домов, велика вероятность того, что на большей части картинок будут изображены коттеджи с балконами (колоннами/мансардами/верандами). Алгоритм сделает вывод — красив только тот дом, который имеет балкон. Или другой архитектурный элемент, присутствующий на большей части фотографий. Именно поэтому ста изображений мало. И тысячи тоже недостаточно. Миллион — это уже ближе к теме. А еще лучше несколько десятков или сотен миллионов. Но вручную найти такое количество изображений красивых домов не то чтобы невозможно, но очень близко к тому. Поэтому на первом этапе обучения главная задача состоит в поиске источников. Это могут быть, например, соцсети. При этом под определение «красивый» попадают те картинки, которые набрали максимальное количество оценок пользователей, а к «некрасивым» относятся все остальные. После этого нейросеть сама обучается на основе данной выборки.

Сегодня технологии создания и обучения искусственного интеллекта совсем недалеко ушли от стартовой точки. Но уже используются в алгоритмах поисковых систем, в машинном переводе текстов, в контекстной рекламе, а также при решении тысяч других задач. Поэтому можно уверено говорить, что искусственный интеллект уже шагнул из фантастических книг и фильмов в нашу реальность.

А вот какими будут «разумные» машины зависит от людей. Условно говоря, сейчас ИИ переживает раннее детство. А любого ребенка можно научить и хорошему, и плохому.

Оцените статью:
Понравилась 1
Не понравилась 0
Автор: Артём Шаманский / Создатель проекта

Не бояться, уверенно идти вперед, если нужно, то напролом или даже, ломая кости и вгрызаясь в эту жизнь зубами, если это единственный шанс, чтобы жить и чувствовать себя человеком, чтобы испытывать уважение к самому себе и знать, что сделано все, что можно и даже более того ради достижения поставленной цели.

Нам интересно ваше мнение, напишите комментарий:

Нажимая на кнопку «Отправить», я даю согласие на обработку персональных данных в соответствии с «Политикой конфиденциальности».

Обмен мнениями и отзывы о публикации
Подпишитесь на рассылку блог-оптимизатора.рф

Уже подписались 800 человек