Alpha Zero, шахматы и изучение английского: настоящее и будущее искусственного интеллекта

qxfx47twhr9jmy4tmaqvvdsogvu.jpeg

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

Мол, они будут так качественно и быстро переводить текст и речь, что потребность в живых специалистах просто пропадет.

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

Что такое искусственная нейронная сеть


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

Основная особенность нейронной сети — способность самообучаться. С точки зрения математиков этот процесс выглядит как задача нелинейной оптимизации, в которой используются методы дискриминантного анализа и кластеризации.

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

Два примера, которые мы разберем.

Четко определенная математическая система — шахматы. В игре есть ряд четких правил, которые абсолютны к выполнению. Есть конкретная цель — поставить мат сопернику.

И есть огромный массив возможных ходов, среди которых нужно выбрать те, которые приведут к победе.

Сложность анализа шахматной партии в том, что количество уникальных шахматных партий близится к числу 10^120. Да-да, это 10 в 120 степени. К сравнению, количество атомов в обозримой Вселенной примерно равно 10^79.

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

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

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

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


Теперь вкратце о том, как работает нейронная сеть.

Система сначала раскладывает данные на элементарные составляющие. А затем один или несколько скрытых слоев из алгоритмов анализируют данные и проводят преобразование.

n_3vumd0c71aa_1qcplplyjjcue.png

В глубоких нейронных сетях есть несколько слоев алгоритмов, которые занимаются анализом. Часто они носят каскадный характер, при котором информация из низшего слоя передается на слой, который стоит в иерархии выше и обрабатывает информацию на другом уровне.

5c-k8py_io7fkiun7n3sqd5cn34.png

При этом если алгоритмы находят четкие зависимости в данных, то на их основе создаются новые алгоритмы.

В шахматах, к примеру, машина очень быстро «изобретает» тактику быстрого развития фигур и захвата центральных полей.

А все потому, что подобные маневры практически всегда дают преимущество в дебюте.

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

***

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

К примеру, возьмем слово «лук». У него два основных, но кардинально разных варианта значений — овощ («onion») и стрелковое оружие («bow»). Есть еще третье из сленга — «луком» называют сочетание одежды или модный образ (калька с английского «look»). Оно используется редко, но нейросеть должна также его «знать».

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

Так, в предложении «Милый, купи килограмм лука и картошки» система переведет «лук» как «onion». А все потому, что рядом стоит «килограмм», который со стрелковым оружием не используется, и «картошка», которая тоже относится к параметру «овощ».

vfzlyfck8iuzibx6ravc070xcs4.jpeg

Аналогично и с предложением «Стрелок натянул свой лук и пустил стрелу во врага». «Натянуть» можно только лук как оружие. Плюс есть слово «стрелок». Поэтому получаем перевод — «bow».

obyqlalm7cogdzdorwaqgwrlmhe.jpeg

Интересно. Слово «стрела» в этом случае не будет учитываться как значимое при определении значения слова «лук». А все потому, что «стрела» может также означать и зеленый стебель лука как овоща. Поэтому в систему рано или поздно будет добавлено исключение, которое не будет учитывать в контексте «лука» слово «стрела».

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

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

Пусть кибернетики и математики не ругаются. Если что, то мы — гуманитарии в хорошем смысле этого слова, и статью писали для себе подобных гуманоидов.

Пара слов об Alpha Zero и шахматах


o-tuew_vqw8etosnbafgwayl6jg.jpeg

В 2017 году DeepMind, дочернее подразделение компании Google, выпустило обновленную программу для нейронных сетей. Протестировать работу программы разработчики решили на самых популярных стратегических играх с четко установленными правилами: шахматы, го и сёга.

Процесс обучения программы шахматам занял всего лишь 24 часа. В систему были введены только правила игры — и все. Никаких дебютных библиотек или баз данных партий. Только правила. И 24 часа программа играла сама с собой.

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

Через 24 часа и 44 миллиона партий, сыгранных с самой собой, AlphaZero стала сильнейшим игроком в шахматы в истории игры. Рейтинг Эло AlphaZero составляет примерно 3500 пунктов, хотя по разным данным он доходит и до 5000.

Для сравнения, средний рейтинг любителя — 1200 Эло, мастера спорта по шахматам — 2200–2400 Эло. Максимальный рейтинг Эло, полученный человеком, имеет Магнус Карлсен, действующий чемпион мира. 21 апреля 2014 года он достиг значения 2889,2 пунктов Эло.

jszgtufw1tb0hkq4fvbbesm5ejk.jpeg

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 свел вничью и не проиграл ни одной.

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

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

Теперь давайте разберемся с языковой системой.

Нейронный искусственный интеллект и перевод


z_8jha2dommwidxes4dazjfbzsm.jpeg

Нам хорошо знакомо детище компании Google в области переводов — Google Translate.

Так вот, Google Translate с переводами работает немного не так, как Alpha Zero с шахматами. В шахматах система анализирует отдельные комплексы ходов, которые приводят к максимально выгодному результату. Для переводов же используется двунаправленная сеть. Один поток разделяет оригинальное предложение на смысловые элементы, а второй — воспроизводит их в правильном порядке на другом языке.

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

Полученные составляющие элементы анализируются по смыслам с помощью алгоритмов — тем самых самообучающихся скрытых слоев. Предложение анализируется сначала по частям, затем — все вместе и даже в обратном направлении. Ведь, к примеру, в немецком языке частица «nicht» в конце предложения в корне меняет весь его смысл.

ezmwecimy6t3rhhv_wuq3wycaoy.png
Схематическое отображение процесса. Каждый слой алгоритмов анализирует предложение в разных конфигурациях, а потом «собирает» из полученных смыслов предложение на другом языке с учетом его грамматических особенностей.

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

Художественный перевод стихов


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

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

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

5ug6wf1efuyn-m3juj4rvwtuwli.jpeg

Для примера возьмем второй сонет Шекспира. Попеременно приведем оригинальный текст, перевод С. Трухтанова (выбрали этот вариант из многих чисто субъективно) и перевод от 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.

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

В общем, не будем тянуть и просто посмотрим разницу между человеческим и машинным переводом:

umzayiouuxqlc8lj9vji8hzkuha.png

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

Художественный перевод прозы


Раз так, попробуем что-нибудь попроще. Художественная проза. «Великий Гэтсби» Фицджеральда.

7rfyitlzsgdbms_bu45unpx8ssw.jpeg

Оригинал:

«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.»

Теперь сравним переводы человека и машины. В качестве защитника человечества мы взяли перевод Н. Лаврова.

xbeyhlxcgoap1lcghv8798r4c2e.png

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

Машинный перевод более точный в плане механики — предложения переведены именно так, как написаны в оригинале. Смысл передан достаточно неплохо, но есть проблемы с «ты-вы» да и звучит все довольно топорно.

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

И что дальше?


Правда, ради справедливости нужно упомянуть, что технические тексты, где важна именно дословная точность перевода, Google Translate переводит отлично и практически без ошибок. Но вот тех персонажей, которые утверждают, что переводчики через 5–10 лет останутся без работы, можно смело отправлять в далекое пешее путешествие.

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

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

Но пока не надейтесь на искусственные нейронные сети — учите английский и развивайте свои собственные.

EnglishDom.com — онлайн-платформа по изучению английского

wb-exycjqweyt7eybaint3zm_rw.png

Прокачай разговорный английский на онлайн-курсах от EnglishDom.com. По ссылке — 2 месяца подписки на все курсы в подарок.

А для живого общения выбирай обучение по Skype с преподавателем. Первый пробный урок — бесплатно, регистрируйся тут. По промокоду goodhabr2 — 2 урока в подарок при покупке от 10 занятий. Бонус действует до 31.12.18.

© Habrahabr.ru