Альфа зеро что это
Альфа Зеро: Новый идол компьютерных шахмат?
День добрый, дорогой друг!
Вы можете представить ситуацию, что вдруг появляется никому не известный шахматист и обыгрывает в матче чемпиона мира? Я – нет. У нас, людей, — такого никогда не было. А вот в мире компьютерных шахмат случилось именно это. Появился новый шахматный терминатор — Альфа Зеро.
Кстати, научиться прилично играть — задача вполне реальная. Отличным помощником в этом станут Программы подготовки шахматистов
Сногсшибательная новость
На chess.com опубликована следующая новость, быстро облетевшая шахматный мир:
«Вчера шахматы изменились навсегда. Возможно, не только шахматы, но и весь мир. Искусственный интеллект AlphaZero от корпорации Google разгромил сильнейший по рейтингу шахматный движок.
А именно Stockfish, который используют для домашней подготовки большинство игроков. Победитель Чемпионата TCEC 2016 года и Чемпионата Chess.com среди компьютерных программ 2017 года, оказался явно слабее. В матче из 100 партий AlphaZero одержал 28 побед при 72 ничьих и ни разу не проиграл».
Итак, общий счет 64:36 ( 28 побед, 72 ничьи) в пользу AplhaZero». Ни одного поражения.
Что это за программа?
Именно здесь, на 8 этаже штаб-квартир Гугла в Лондоне, находится «святая святых» нового шахматного идола.
Революция
В жизни человечества существовали и существуют божества. У разных народов в разных религиях и конфессиях.
Шахматный мир эта потребность поклоняться высшему разуму также не обошла стороной. Когда-то мы боготворили чемпионов мира. Относительно недавно шахматист начали обожествлять шахматные программы, которые подняли планку шахматного искусства на доселе небывалую высоту.
Говорят, что этот искусственный интеллект познакомился с шахматами и буквально за несколько часов достиг такой невероятной силы.
Полагаю, будет неправильно не упомянуть человека, которому мы обязаны всем этим «безобразием».
Демис Хассабис – исследователь и разработчик искусственного интеллекта, кандидат в мастера по шахматам.
Еше в начале 90-х подавал большие надежды в шахматах, однако выбрал видимо более интересное и перспективное для себя дело.
В чем принципиальное отличие Альфа Зеро от Стокфиша, Комодо, Гудини? Последние играют любую партию с листа и просто перебирают варианты до посинения.
У стокфиша, правда есть смягчающие обстоятельства: он играл на относительно скромном железе и не использовал дебютные книги.
Доподлинно что произошло, какие технологические нюансы сыграли свою роль, я судить не берусь. Об этом, полагаю, еще расскажут специалисты и выскажут свое мнение эксперты и ведущие игроки.
Что говорят эксперты?
Петр Свидлер:
Вначале хотелось бы получить достоверную информацию об изначальных условиях матча Альфы со Стокфишом. Кто-то говорит, что Альфа играла на гораздо более сильном железе. Другие говорят, что она тренировалась на более сильном железе, а играли в равных условиях. Есть и еще ряд похожих моментов.
Хотя сравнивать сложно. Альфа Зеро — это нейронная сеть, Стокфиш- компьютер.
Я посмотрел несколько партий. Они совершенно феноменальны. Особенно с учетом того, что, как было объявлено, не та, не другая программа, — не имели доступа к дебютной книге.
Например, центральный вариант новоиндийской защиты, который людьми шлифовался более 10 лет, Альфа «раскусила», всего несколько часов поучившись играть в шахматы.
То, что люди нарабатывали десятилетиями, машина «поднимает» с ходу. Короче говоря, прилетели инопланетяне и показали, как надо играть.
В то, что это какой-то фейк, я не верю. Гугл вряд ли пойдет на такое. К тому же, наряду с шахматами ранее была повержена еще одна игра – го. Гораздо менее «счетная».
Закономерен вопрос, по поводу которого многие потирают руки: можно ли как-то адаптировать эту нейронную сеть к ПК и воспользоваться его возможностями? Вопрос остается открытым.
Все –же думается, Гугл вряд ли можно заинтересовать подобными прикладными проектами. За четыре часа программа познала шахматы, за тем два часа ушло на «сёги» и была обыграна сильнейшая программа в этой игре.
Скорее всего, Гугл с помощью Альфы Зеро будет решать совершенно другие задачи. Они создают нейронную сеть не для того, чтобы играть в шахматы. Шахматы, го, сёги – скорее пиар-компания, позволяющая продемонстрировать возможности нового искусственного интеллекта.»
Полное интервью гроссмейстера Сергея Шипова и Петром Свидлером:
Как AlphaZero играет в шахматы?
Оценки матча со стороны шахматного сообщества варьировались от восхищения до полного недоверия.
Так как же работает AlphaZero?
Насколько она отличается от других движков и почему она так сильна? В этой статье из двух частей я постараюсь объяснить вам принципы работы AlphaZero.
Начнем с изложения фактов: AlphaZero, разработанная DeepMind (подразделением Google), специализируется в играх между двумя противниками, совершающими ходы по очереди. В программу были заложены правила шахмат и больше ничего.
Потом она начала изучать шахматы, играя сама с собой. В первой партии делались абсолютно случайные ходы. По ее завершении DeepZero сделала вывод, что проигравшая сторона допустила какую-то ошибку, а выигравшая действовала лучше. Так DeepZero дала себе самой первый урок шахмат. Во второй партии она играла уже чуть лучше, чем в первой.
Через девять часов и 44 миллиона партий с самой собой, AlphaZero (возможно) узнала о шахматах достаточно, чтобы стать величайшим игроком всех времен, превосходящим и людей и машин.
Как ей это удалось?
Так штаб-квартира Google в Лондоне выглядит изнутри, отдел DeepMind расположен на восьмом этаже. | Фотография Марии Емельяновой/Chess.com.
Она не рассчитывала больше вариантов, чем Stockfish.
Совсем наоборот: Stockfish оценивал 70 миллионов позиций в секунду, а AlphaZero хватало на 99.89 процентов меньше позиций: 80,000 в секунду. Вспоминаются слова, сказанные Джонатаном Роусоном после сокрушительного матчевого поражения от Майкла Адамса в 1998 году: “Я был потрясен тем, как мало он видел”.
Более сильные игроки считают меньше вариантов, чем слабые, заменяя счет высокоразвитой интуицией, которая помогает им сосредотачиваться лишь на наиболее важных продолжениях. Именно это делает AlphaZero. Она вполне по-человечески обучилась шахматам, развив интуицию, которой прежде не обладала ни одна машина, дополненную точной оценкой.
The Analysis Tree
Все распространенные шахматные движки основаны на минимаксном алгоритме, то есть, они выбирают ход, дающий наибольшее преимущество при любом ответе противника. Минмаксный алгоритм обязательно связан с альфа-бета отсечением, позволяющим уменьшить размер изучаемого дерева вариантов. Приведем радикальный пример того, как работает отсечение: допустим, что движок пытается оценить ход и видит, что у противника есть 20 ответных ходов, один из которых форсировано матует. Это позволяет движку больше не рассматривать (отсечь) ход независимо от оценки позиций, которые возникают после 19 оставшихся ответов.
Если движок начнет отсекать ходы, которые только кажутся плохими, например, связаны с отдачей материала, он перестанет рассматривать любые жертвы. Кстати, именно поэтому ранние движки так держались за материал. В современных движках похожих на Stockfish альфа-бета отсечение сочетается со специализированными алгоритмами: «эвристикой убийцы» (сильный ход в одной позиции, скорее всего, окажется сильным и в похожей), «эвристикой ответного хода» (ответы на некоторые ходы очевидны независимо от позиции — например, на axb5 обычно отвечают axb5, не так ли?) и многими другими.
В отличие от этих программ, AlphaZero для поиска в дереве ходов использует метод Монте-Карло (Monte Carlo Tree Search или MCTS). Город Монте-Карло известен своими казино, поэтому в программировании этот термин используется, когда что-то происходит случайным образом. Движок, использующий чистый метод Монте-Карло, оценивал бы позицию, случайным образом создавая несколько последовательностей ходов (называемых “розыгрыши”) и получая средний итоговый результат (победа/ничья/поражение), к которому они ведут. Этот подход может показаться слишком простым, но поразмыслив, вы поймете, что это вполне возможный способ оценки позиции.
Заметьте, что мы не рассказали о работе AlphaZero ничего, характерного исключительно для шахмат. В следующей статье мы узнаем, как AlphaZero учится оценивать шахматные позиции, и увидим, что и там нет ничего специфически шахматного!
Как новорожденный малыш, AlphaZero появилась на свет со скудными знаниями, но у этой программы были великолепные способности к самообучению. Единственной слабостью метода Монте-Карло является то, что розыгрыши все же наполовину случайны, поэтому в острой позиции, где существует серия строго единственных оптимальных ходов, программа может ошибиться, если сильнейший ход не попадет в выборку. Скорее всего, именно это привело к поражению предшественницы AlphaZero, программы AlphaGo, проигравшей партию в го Ли Седолю, 18-кратному чемпиону мира по этой игре. Кажется, в матче со Stockfish таких зевков не было.
Метод Монте-Карло ранее уже использовался в играх для двух противников, но до сих пор результаты его применения были намного хуже, чем при более распространенном подходе с минмаксным алгоритмом и альфа-бета отсечением. В программе AlphaZero метод Монте-Карло хорошо сочетается с оценочной функцией на основе нейронной сети.
В своей следующей статье я более подробно объясню, что такое нейронная сеть, и как она самостоятельно учится оценивать шахматные позиции. Я также расскажу о вычислительной технике, на которой работает AlphaZero, и дам прогноз воздействия этого открытия на современные шахматы.
А что вы думаете о том, как AlphaZero играет в шахматы? Поделитесь с нами в комментариях.
Alpha Zero
Alpha Zero – алгоритм, основанный на нейронных сетях, разработанный компанией Google DeepMind. С помощью машинного обучения, которое было применено к созданию программы, 5 декабря 2017 года AlphaZero за 4 часа достигла сверхчеловеческого уровня игры в шахматы и разгромила один из сильнейших шахматных движков Stockfish. Матч состоял из 100 партий, в которых детище DeepMind одержало 28 побед при 72 ничьих, не проиграв ни разу.
Особенности Alpha Zero
Alpha Zero – это не традиционный шахматный движок. Это программа, которой не нужны ни дебютные, ни эндшпильные базы данных. Ей не были прописаны сложные алгоритмы вычисления оценки, как это было сделано для Komodo, для того же Stockfish и других движков. За считанные часы AlphaZero сыграла сама с собой многое множество партий и уяснила для себя, что и как.
История применения нейронных сетей и машинного обучения для шахматных движков на самом деле не нова. В 2015 году с помощью подхода, называемого «обучение с подкреплением» Мэтью Лай разработал Giraffe, шахматную программу уровня международного мастера. Оценочная функция Giraffe была полностью основана на нейронной сети, в отличие от классических шахматных программ, в которых функция оценки представляет собой набор критериев из фиксированных правил, хорошо известных шахматистам.
Позднее Мэтью Лай был приглашен в DeepMind. Он прекратил работу над Giraffe, но применил свои наработки для AlphaZero, которая тоже использует нейронные сети для оценочной функции. Но не только для этого. Переборный механизм в Giraffe был основан на классическом «поиске с основным вариантом», наследнике «alpha-beta-отсечения», разработанного еще в 1962 году. Однако AlphaZero для перебора применяет «метод Монте-Карло поиска по дереву», который тоже управляется нейронной сетью. Это принципиальное отличие AlphaZero от Giraffe и конечно от шахматных движков старой школы.
AlphaZero против Stockfish
К новости о разгромной победе никому неизвестной Альфа Зеро над великим и ужасным Стокфиш в шахматном мире отнеслись, как к революции. Но есть несколько следующих «но».
Из представленного DeepMind доклада «Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm» того же 5 декабря 2017 года и графика обучения в нем, видно, что разница в силе АльфаЗеро и Стокфиш совсем не велика, как могло показаться по итогу матча.
Программы играли на совершенно разном оборудовании. Стокфиш получил обычный CPU, пусть и 64-ядерный, а АльфаЗеро – 4 TPU (Tensor Processing Unit, тензорный процессор). А для обучения АльфаЗеро вообще было применено 5000 TPU первого поколения и 64 TPU второго поколения. Процессоры имеют разную архитектуру и сравнить их напрямую тяжело. Если оценить производительность по количеству операций с плавающей запятой в секунду, то система из 4-х TPU окажется на 2 порядка более мощной чем 64 ядра CPU. Задействовать Стокфиш на сравнимой мощности невозможно, таких CPU процессоров нет, а для архитектуры TPU Стокфиш не предназначен. Таким образом, сравнить программы на равных мощностях не получится.
Помимо этого, Стокфиш был лишен дебютной библиотеки, на которую ориентирован, а также играл с нетипичным контролем времени – 1 минута на ход. В довесок, противником АльфаЗеро был Стокфиш прошлогодней 8-й версии.
О превосходстве Alpha Zero
Говоря о скорости перебора, которую использовали программы, то данные конечно впечатляют: Альфа Зеро с помощью дерева поиска Монте-Карло просматривал 80 тысяч позиций в секунду, тогда как Стокфиш – 70 миллионов. Опять же здесь есть свои нюансы, если приводить скорость перебора в качестве аргумента силы. Однако нельзя не сказать о том, что Alpha Zero гораздо избирательнее и применяемый ею подход в какой-то степени ее «очеловечивает».
Кроме того, переход от перебора, управляемого множеством правил, которые могут содержать в себе изъяны, связанные с предубеждениями или субъективностью шахматных экспертов, к переходу, управляемому нейронной сетью, это бесспорно благо, которое быть может в будущем расскажет много нового о шахматах.
Подводя итог, учитывая, что разница в силе игры не такая большая и зная, что Alpha Zero имела оборудование значительно более мощное, нежели Стокфиш, однозначно сказать о превосходстве, не оставляющем сомнений, сложно. Но это на самом деле маловажно, потому что Альфа Зеро это не еще один шахматный движок. Это прикладной пример использования искусственного интеллекта против традиционного программного алгоритма и определенно большой и качественный шаг в области изучения и совершенствования интеллектуальных машин.
Скачать Alpha Zero
Скачать движок Alpha Zero, как многие пытаются, у вас разумеется не получится. Это объясняется причинами, которые были объяснены выше. Однако разработчики из DeepMind представили общественности 10 партий из 100, сыгранных их детищем против Stockfish. Скачать их можно прямо с официального сайта компании.
В заключении, экспертное мнение международного гроссмейстера и комментатора Сергея Шипова о явлении AlphaZero шахматному миру с обзором партий против Stockfish:
Как устроен шахматный мозг AlphaZero?
В первой части статьи я рассказывал, как AlphaZero считает варианты. В этой части я остановлюсь на том, как она обучается игре в шахматы.
Мне придется пропустить некоторые детали, но надеюсь, что открою достаточно, чтобы вы лучше поняли, как работает AlphaZero.
Как устроена AlphaZero
Давайте перейдем к самой сути: AlphaZero обучается с использованием нейросети, которую можно изобразить следующим образом:
Да, AlphaZero уже похожа на шахматиста: “У белых небольшой перевес, и ходы Сg5 и h4 смотрятся неплохо!”
Это потрясает, но вспомним, что и человечество училось играть в шахматы сходным образом. Сотнями лет миллионы людей играли в шахматы, используя свой мозг, чтобы узнать больше об этой игре, как гигантский многопроцессорный органический компьютер. Мы тоже прошли тернистый путь, прежде чем научились строить игру через центр, ставить ладьи на открытые вертикали, атаковать базу пешечной цепи и тому подобному. Все это пришлось узнать и AlphaZero. Было бы интересно изучить 44 миллиона партий, которые она сыграла сама с собой. Любопытно, как была открыта атака пешечного меньшинства?
Как AlphaZero играет в шахматы
Мы уже узнали, как AlphaZero тренирует свою нейронную сеть, чтобы оценивать позицию на доске и предполагать, какие ходы, скорее всего, окажутся хорошими (ничего не считая).
Добавим новые термины: часть нейросети, оценивающая позиции, называется «оценочной сетью», а та часть, которая подсказывает ходы, «стратегической сетью». Посмотрим, как эти сети помогают AlphaZero играть в шахматы.
Допустим, что стратегическая сеть предлагает в среднем по три заслуживающих внимания хода в каждой позиции. При скорости 80,000 позиций в секунду, которую использует AlphaZero, за минуту она заглянет на семь полных ходов вперед. Добавьте к этому инстинктивную оценку позиций, возникающих в конце вариантов, с помощью оценочной сети и вы получите очень мощную машину для игры в шахматы.
На каком оборудовании работает AlphaZero
Неудивительно, что нейронная сеть AlphaZero работает на специальном оборудовании, тензорных процессорах Google (TPU). AlphaZero использовала 5,000 TPU первого поколения чтобы играть с собой тренировочные партии и 64 TPU второго поколения для обучения как такового. Это огромные вычислительные мощности. Для игры в шахматы против Stockfich использовались всего четыре тензорных процессора.
Почему Google не использовал остальные 5,060 процессоров? Возможно, чтобы показать, что для эффективной работы AlphaZero не нужно гигантских вычислительных мощностей.
Тензорные процессоры Google (TPU).
Поступало много предложений о том, как сделать стартовые условия для программ справедливыми, но это невозможно, потому что они используют совершенно разное оборудование. Гонка человека с лошадью не стала бы справедливой, если бы она бежала всего на двух ногах.
Несомненно и удивительно, что сочетание вычислительных мощностей и программных алгоритмов AlphaZero позволило этой программе научиться за четыре часа оценивать позиции и ходы лучше, чем постоянно совершенствуемый Stockfish.
Если вы все еще киваете на размер хэша Stockfish, вы упускаете истинный смысл случившегося. Подумайте: достижение AlphaZero было бы лишь чуть менее удивительным, если бы эта программа проиграла Stockfish с тем же счетом.
Хочу запустить AlphaZero на своем ноуте!
Нужно кое-что уточнить! AlphaZero обучает нейросеть. И вам нужна именно нейросеть, обученная AlphaZero играть в шахматы. Чтобы выправить вывихнутый палец, вы идете к врачу, а не поступаете в медицинский университет. Разумеется, эта нейросеть была сохранена, когда обучившие ее тензорные процессоры переключились на другие задачи. Если бы структура и весы нейросети были опубликованы, стало бы возможным, по крайней мере, теоретически, воспроизвести работу AlphaZero на ноутбуке, но ее сила отличалась бы от того, что можно достичь на специализированном оборудовании Google.
Что это значит для нашего шахматного мира? Совершен гигантский шаг: компьютер может освоить шахматную игру на высоком уровне, полагаясь на обучение, присущее людям, а не на привычный для компьютеров счет методом полного перебора. Это способно поколебать наше представление о человеческом превосходстве и неизбежно повлияет на развитие шахматных движков в будущем, поскольку нам придется неохотно согласиться, что машины не только лучше считают варианты, но и лучше понимают шахматы.
Оборудование, на котором работает AlphaZero, еще не скоро станет доступно любителям шахмат, но не забывайте, что в 1988 году, когда специальный компьютер Deep Thought (предшественник Deep Blue) выиграл партию у Бента Ларсена, его создатели не могли вообразить, что в будущем дети станут носить столь же мощные вычислительные устройства в своих карманах.
Alpha Zero, шахматы и изучение английского: настоящее и будущее искусственного интеллекта
Тут нам недавно нашептали, что уже через пяток лет переводчики и преподаватели языков будут просто не нужны. А все дело в том, что очень активно развиваются нейронные системы искусственного интеллекта.
Мол, они будут так качественно и быстро переводить текст и речь, что потребность в живых специалистах просто пропадет.
Мы, конечно, посмеялись, но задумались. И решили поглубже окунуться в тему и узнать, что там с искусственным интеллектом и действительно ли он оставит нас без работы.
Что такое искусственная нейронная сеть
Если вкратце, то искусственная нейронная сеть создается в попытках имитировать работу человеческого мозга с помощью математических алгоритмов.
Основная особенность нейронной сети — способность самообучаться. С точки зрения математиков этот процесс выглядит как задача нелинейной оптимизации, в которой используются методы дискриминантного анализа и кластеризации.
Если для гуманитариев, то искусственная нейронная сеть способна анализировать данные с помощью сложных алгоритмов и проводить операции как с четко определенными математическими системами, так и с нечеткими языковыми.
Два примера, которые мы разберем.
Четко определенная математическая система — шахматы. В игре есть ряд четких правил, которые абсолютны к выполнению. Есть конкретная цель — поставить мат сопернику.
И есть огромный массив возможных ходов, среди которых нужно выбрать те, которые приведут к победе.
Сложность анализа шахматной партии в том, что количество уникальных шахматных партий близится к числу 10^120. Да-да, это 10 в 120 степени. К сравнению, количество атомов в обозримой Вселенной примерно равно 10^79.
Проанализировать все позиции физически нереально. Поэтому система вынуждена выбирать ходы и приемы, которые ведут к немедленному выигрышу или стратегическому усилению позиции.
Второй пример использования нейронной сети — перевод с одного языка на другой. Здесь абсолютно другая система обработки данных, ведь существует сотни правил и тысячи нюансов языков, которые нужно учитывать при переводе.
Кроме того, системе нужно понимать контекст, чтобы переводить непереводимые слова или каламбуры. Иначе как можно узнать правильный перевод предложения с глаголом «set», у которого только признанных значений 44 штуки?
Или еще более сложная задача — передать тонкий английский юмор, чтобы над ним мог посмеяться русский. Или еще более сложная — перевести стих. Или… ну вы поняли.
Теперь вкратце о том, как работает нейронная сеть.
Система сначала раскладывает данные на элементарные составляющие. А затем один или несколько скрытых слоев из алгоритмов анализируют данные и проводят преобразование.
В глубоких нейронных сетях есть несколько слоев алгоритмов, которые занимаются анализом. Часто они носят каскадный характер, при котором информация из низшего слоя передается на слой, который стоит в иерархии выше и обрабатывает информацию на другом уровне.
При этом если алгоритмы находят четкие зависимости в данных, то на их основе создаются новые алгоритмы.
В шахматах, к примеру, машина очень быстро «изобретает» тактику быстрого развития фигур и захвата центральных полей.
А все потому, что подобные маневры практически всегда дают преимущество в дебюте.
Заметим, что в правилах игры такого и близко нет, но большинство сыгранных партий подтверждают гипотезу, поэтому машина начинает ее использовать сама.
То же относится и к переводу значений слова, которые на разных языках могут сильно отличаться.
Чтобы узнать, какой вариант перевода использовать, нейронная система присваивает каждому значению собственные параметры, которые также зависят от слов, используемых рядом в предложении.
Интересно. Слово «стрела» в этом случае не будет учитываться как значимое при определении значения слова «лук». А все потому, что «стрела» может также означать и зеленый стебель лука как овоща. Поэтому в систему рано или поздно будет добавлено исключение, которое не будет учитывать в контексте «лука» слово «стрела».
По мере обучения системы количество алгоритмов и параметров растет. Некоторые из них совершенствуются и становятся сложнее, некоторые из них заменяются более компактными вариантами.
И в результате получается феномен, когда по своим выводам действиям машина становится близкой к человеку. И это несмотря на то, что там все равно используется система алгоритмов, пусть даже сложных и многоуровневых.
Пусть кибернетики и математики не ругаются. Если что, то мы — гуманитарии в хорошем смысле этого слова, и статью писали для себе подобных гуманоидов.
Пара слов об Alpha Zero и шахматах
В 2017 году DeepMind, дочернее подразделение компании Google, выпустило обновленную программу для нейронных сетей. Протестировать работу программы разработчики решили на самых популярных стратегических играх с четко установленными правилами: шахматы, го и сёга.
Процесс обучения программы шахматам занял всего лишь 24 часа. В систему были введены только правила игры — и все. Никаких дебютных библиотек или баз данных партий. Только правила. И 24 часа программа играла сама с собой.
В первой партии делались абсолютно случайные ходы. Правда, ее нельзя нигде посмотреть — информация взята со слов разработчиков. В результате одна сторона проиграла, и система посчитала, что действия второй стороны были лучше для выигрыша.
Через 24 часа и 44 миллиона партий, сыгранных с самой собой, AlphaZero стала сильнейшим игроком в шахматы в истории игры. Рейтинг Эло AlphaZero составляет примерно 3500 пунктов, хотя по разным данным он доходит и до 5000.
Для сравнения, средний рейтинг любителя — 1200 Эло, мастера спорта по шахматам — 2200–2400 Эло. Максимальный рейтинг Эло, полученный человеком, имеет Магнус Карлсен, действующий чемпион мира. 21 апреля 2014 года он достиг значения 2889,2 пунктов Эло.
Alpha Zero же играет примерно на 600 пунктов сильнее (в самом оптимистическом варианте). Это все равно что мастер спорта играет с второразрядником. И второразрядником здесь выступает как раз сильнейший игрок-человек.
Для ценителей шахмат. Вот разбор некоторых партий Alpha Zero против Stockfish от российского гроссмейстера Сергея Шипова. И скажем честно, мы были впечатлены.
Alpha Zero и Stockfish: в чем разница
Stockfish была сильнейшей компьютерной шахматной программой до тех пор, пока Alpha Zero ее не унизил.
Примечательно, что Stockfish за секунду анализировал 70 миллионов позиций, а Alpha Zero — только 40 000, которые считал перспективными по методу Монте Карло.
То есть, нейронная сеть оценивает не каждый отдельный ход, а сумму итогов розыгрышей ходов, отсекая при этом розыгрыши, которые ведут к проигрышной позиции.
В результате Alpha Zero тратил на анализ на 99,99% меньше ресурсов.
В результате из 100 партий Alpha Zero выиграл 28, 72 свел вничью и не проиграл ни одной.
Что касается шахмат, то нейронный искусственный интеллект уже превзошел человека и своих более старых машинных собратьев.
Но это по факту касается замкнутой системы с небольшим определенным изначальным набором правил.
Теперь давайте разберемся с языковой системой.
Нейронный искусственный интеллект и перевод
Нам хорошо знакомо детище компании Google в области переводов — Google Translate.
Так вот, Google Translate с переводами работает немного не так, как Alpha Zero с шахматами. В шахматах система анализирует отдельные комплексы ходов, которые приводят к максимально выгодному результату. Для переводов же используется двунаправленная сеть. Один поток разделяет оригинальное предложение на смысловые элементы, а второй — воспроизводит их в правильном порядке на другом языке.
Примерно так это происходит. Предложение разбивается на составляющие. Причем слово — это не наименьшая составляющая, ведь смыслы слова считаются более глубоким уровнем.
Полученные составляющие элементы анализируются по смыслам с помощью алгоритмов — тем самых самообучающихся скрытых слоев. Предложение анализируется сначала по частям, затем — все вместе и даже в обратном направлении. Ведь, к примеру, в немецком языке частица «nicht» в конце предложения в корне меняет весь его смысл.
Схематическое отображение процесса. Каждый слой алгоритмов анализирует предложение в разных конфигурациях, а потом «собирает» из полученных смыслов предложение на другом языке с учетом его грамматических особенностей.
Но если с шахматами все ясно, то язык — система более гибкая в правилах, которая в тому же допускает перевод предложений, точных не только «по букве», но и «по духу». То есть, переводчик может сознательно пожертвовать точностью дословного перевода, чтобы глубже передать смысл.
Художественный перевод стихов
Нарицательным примером можно считать перевод стихов. Ведь практически невозможно перевести даже одно четверостишье так, чтобы сохранить сразу и ритм, и расположение слов, и полный смысл.
Здесь просто не может быть единых алгоритмов, ведь часто приходится кардинально переделывать стих, чтобы передать его реальный смысл.
Конечно, перевод стихов — это одна из самых сложных областей лингвистики, но ведь нейронные сети уже показали себя лучшими в точных вычислениях, поэтому начнем именно с самого сложного.
Для примера возьмем второй сонет Шекспира. Попеременно приведем оригинальный текст, перевод С. Трухтанова (выбрали этот вариант из многих чисто субъективно) и перевод от Google Translate.
When forty winters shall besiege thy brow,
And dig deep trenches in thy beauty’s field,
Thy youth’s proud livery, so gazed on now,
Will be a tatter’d weed, of small worth held:
Then being ask’d where all thy beauty lies,
Where all the treasure of thy lusty days,
To say, within thine own deep-sunken eyes,
Were an all-eating shame and thriftless praise.
How much more praise deserved thy beauty’s use,
If thou couldst answer «This fair child of mine
Shall sum my count and make my old excuse,»
Proving his beauty by succession thine!
This were to be new made when thou art old,
And see thy blood warm when thou feel’st it cold.
Как видите, английский здесь явно устаревший — есть даже единственное число второго лица, которое в современном английском не используется. А это еще больше усложняет перевод.
В общем, не будем тянуть и просто посмотрим разницу между человеческим и машинным переводом:
И если честно, то это далеко не лучший перфоманс Гугла. Возможно, именно поэтому адепты машинных переводов конфузятся, когда их спрашивают, будут ли работать их алгоритмы со стихами. Ведь даже хваленый Google Translate с этим даже и близко не справляется.
Художественный перевод прозы
Раз так, попробуем что-нибудь попроще. Художественная проза. «Великий Гэтсби» Фицджеральда.
“In my younger and more vulnerable years my father gave me some advice that I’ve been turning over in my mind ever since.
“Whenever you feel like criticizing any one,” he told me, “just remember that all the people in this world haven’t had the advantages that you’ve had.”
Теперь сравним переводы человека и машины. В качестве защитника человечества мы взяли перевод Н. Лаврова.
Перевод Лаврова не совсем точно отвечает оригиналу. Есть изменения в расположении словосочетаний, предложения несколько более расширены, чем на английском. Но в общем впечатление гармоничное, смысл и настроение переданы полностью.
Машинный перевод более точный в плане механики — предложения переведены именно так, как написаны в оригинале. Смысл передан достаточно неплохо, но есть проблемы с «ты-вы» да и звучит все довольно топорно.
В художественных переводах можно немного пожертвовать точностью в угоду благозвучности или для гармоничности фраз. Переводчики-люди этим пользуются, даже излишне часто, а машина — нет.
И что дальше?
Правда, ради справедливости нужно упомянуть, что технические тексты, где важна именно дословная точность перевода, Google Translate переводит отлично и практически без ошибок. Но вот тех персонажей, которые утверждают, что переводчики через 5-10 лет останутся без работы, можно смело отправлять в далекое пешее путешествие.
Существующие процессоры и алгоритмы обработки данных могут справляться с системами, в которых есть ограниченный набор правил. Шахматы или го — именно такие. Но вот с гибкими разновидностями систем вроде языков, где границы правил размыты, программе приходится надстраивать излишне сложные алгоритмы, которые работают далеко не идеально.
Не исключено, что алгоритмам нужно просто больше времени на обучение для точной работы с языками. Что ж, мы будем делать свою работу дальше и вполуха следить за успехами нейронных сетей на этом поприще.
Но пока не надейтесь на искусственные нейронные сети — учите английский и развивайте свои собственные.
EnglishDom.com — онлайн-платформа по изучению английского
Прокачай разговорный английский на онлайн-курсах от EnglishDom.com. По ссылке — 2 месяца подписки на все курсы в подарок.
А для живого общения выбирай обучение по Skype с преподавателем. Первый пробный урок — бесплатно, регистрируйся тут. По промокоду goodhabr2 — 2 урока в подарок при покупке от 10 занятий. Бонус действует до 31.05.19.