AlphaZero. Нейронная сеть играет в шахматы

Тема в разделе "Машинное отделение", создана пользователем grizly, 6 дек 2017.

  1. nn Заблокирован

    • Участник
    • Заблокирован
    • Старожил
    Рег.:
    25.03.2007
    Сообщения:
    1.459
    Симпатии:
    3.109
    Репутация:
    124
    Нарушения:
    31
    Оффлайн
    Он один из авторов статьи об AlphaZero
  2. nn Заблокирован

    • Участник
    • Заблокирован
    • Старожил
    Рег.:
    25.03.2007
    Сообщения:
    1.459
    Симпатии:
    3.109
    Репутация:
    124
    Нарушения:
    31
    Оффлайн
    Ну не сказали же, что AlphaZero еще и сама себя написала.
    dom1n1k и Нестор нравится это.
  3. Crest Админ, МГ

    • Команда форума
    Рег.:
    05.02.2006
    Сообщения:
    57.243
    Симпатии:
    21.128
    Репутация:
    627
    Адрес:
    Москва, Россия
    Оффлайн
    Fruit нравится это.
  4. Challenger Spy Технический специалист

    • Команда форума
    Рег.:
    29.01.2011
    Сообщения:
    5.280
    Симпатии:
    2.838
    Репутация:
    226
    Оффлайн
    Crest, Вводная от авторов Альфы + водичка. По сути конфликта ничего нету, правда-матка не раскрыта :)
  5. Nikobelic Зарегистрирован

    Рег.:
    18.10.2016
    Сообщения:
    420
    Симпатии:
    88
    Репутация:
    9
    Оффлайн
    Результат игры профанация чистой воды.
    1. Совершенно разное железо, пишут даже про суперкомпьютер против ПК.
    2. Не использовались дебютные базы и таблицы окончаний, которые являются компонентом работы программы. Если бы их было нельзя подключить они были бы жёстко закодированы, увеличив вес программы на порядки.
    3. Матчи организовываются третьей стороной всегда. А не так что одна из сторон проводит скрытно игру по своим правилам со своим судейством на разном оборудовании.
    Развод лохов

    Контроль минута на ход. Независимо от позиции. Во многих позициях движкам счётного типа требуются более 10 минут чтобы найти верный ход. Здесь все заделано так чтобы обеспечить преимущественное положение своей проге.
    sovaz1997, Challenger Spy и Camon14 нравится это.
  6. Vladruss НедоКМС, победитель второразрядников.

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    30.12.2009
    Сообщения:
    16.477
    Симпатии:
    8.522
    Репутация:
    530
    Нарушения:
    31
    Оффлайн
    Это все проделки мультиядерной рандомности. Поставьте одно ядро и перестаньте забивать себе голову чепухой. Правильный ход находит мигом, никаких эндшпильных таблиц не надо:

    [​IMG]
  7. Нестор консультант_ специалист по черной магии

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    11.04.2006
    Сообщения:
    2.955
    Симпатии:
    3.315
    Репутация:
    331
    Адрес:
    Москва
    Оффлайн
    Nikobelic, это изначально не было задумано как спортивное соревнование.
    Больше похоже на какой-то эксперимент, вот только не могу понять какой.
    То ли научный, то ли рекламный? ;)
  8. Vladruss НедоКМС, победитель второразрядников.

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    30.12.2009
    Сообщения:
    16.477
    Симпатии:
    8.522
    Репутация:
    530
    Нарушения:
    31
    Оффлайн
    Что касается дебютной книги. А что, Стокфиш по дебюту косячил чего-то? Все он здраво играл. Я вот сегодня стравил свой Сток с Фрицем11 и дал Фрицу самую крутую дебютную книгу. Не помогло: 10:0 в пользу Стокфиша. Не в дебютной книге дело.
    Undying нравится это.
  9. Challenger Spy Технический специалист

    • Команда форума
    Рег.:
    29.01.2011
    Сообщения:
    5.280
    Симпатии:
    2.838
    Репутация:
    226
    Оффлайн
    А вот мнение одного из авторов Стокфиша Торда Ромстада:
    Результаты матча сами по себе не имеют большого значения, потому что выбрали довольно странный контроль времени и параметры Stockfish: партии игрались с контролем 1 минута на ход, поэтому Stockfish не мог использовать свой алгоритм распределения времени на обдумывание (мы много работали над тем, чтобы Stockfish мог определять критические моменты партии и решать, когда нужно потратить на ход больше времени). С фиксированным временем на ход он играет намного слабее. Использовавшейся версии уже год, она играла с использованием намного большего количества потоков, чем мы когда-либо тестировали, а хэш-таблиц было слишком мало для такого количества потоков. Я думаю, что в матче с более адекватными условиями процент ничьих был бы намного выше.

    С другой стороны, несомненно, AlphaZero могла играть лучше, если бы над проектом работали дольше (хотя упоминание о "четырех часах обучения" создает ложное впечатление, принимая во внимание огромные вычислительные мощности, использовавшиеся за эти четыре часа). Так или иначе, сравнение Stockfish и AlphaZero - это сравнение яблок с орангутанами. Stockfish - обычная шахматная программа, работающая на обычных компьютерах, AlphaZero использует совершенно другие технологии и работает на специально разработанном оборудовании, которое невозможно купить (и, будь это возможно, его все равно не смогли бы себе позволить рядовые пользователи).

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

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

    Для программистов шахматных движков - и для программистов, работающих во многих других интересных областях, - возникновение технологий машинного обучения, требующих огромных вычислительных мощностей для успешной работы, может стать огорчительным. Возможно, что через несколько лет шахматные программы, похожие на AlphaZero, смогут работать на обычных компьютерах, но вычислительные мощности необходимые для их создания будут выходить за пределы бюджетов любителей или небольших компаний. Возможно, возникнет проект с открытым исходным кодом на базе распределенных вычислений в большой сети компьютеров, предоставленных участниками, но времена сотен разных шахматных движков с уникальными особенностями у каждого уйдут навсегда.
    Fruit, просроченый_кмс и sovaz1997 нравится это.
  10. Мобуту спаситель нации

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    15.02.2006
    Сообщения:
    6.916
    Симпатии:
    3.969
    Репутация:
    141
    Адрес:
    Заир
    Оффлайн
    Дело не в том, что движок становится слабее, а в том, что он становится предсказуемым. Против такого намного легче "самообучиться". Например, можно в процессе "обучения" сыграть с ним миллион партий, почти все проиграть, но хоть несколько выиграть. Выигрышные варианты - запомнить (в этом "обучение"). И дальше - сто зачётных партий, где раз за разом исполняешь только вот эти выигрышные варианты. А противник без книжки обречён повторяться. Могло быть вот так.

    Кстати, из этой же серии - походовая фиксация времени на обдумывание. Это тоже вроде бы не так уж сильно подрывает силу игры движка (хотя автор Стокфиша и гордится хитрым алгоритмом выявления критических позиций). Но намного важнее, что это делает его ещё более предсказуемым. Когда движок сам решает вопрос о времени думок на каждом ходе, это может повысить вариативность, там может быть какой-нибудь гененраторчик случайных чисел. Против такого фиг обучишься. Поэтому - время на думки фиксируется.

    То есть против Стокфиша с дебютной книжкой, способного варьировать свою игру, всё это трюкачество с самообучением могло бы обернуться пшиком. никаких +28 = 72 в зачётной сотне партий, если проводить её честно, не получилось бы. Для получения этого результата Стокфиш могли не то чтобы ослабить, а скорее подставить описанным выше образом.
  11. dom1n1k Учаcтник

    • Участник
    Рег.:
    18.11.2016
    Сообщения:
    187
    Симпатии:
    155
    Репутация:
    3
    Оффлайн
    Думаю, это ключевой момент. Сороконожка просто периодически путалась в собственных лапах.
  12. Vladruss НедоКМС, победитель второразрядников.

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    30.12.2009
    Сообщения:
    16.477
    Симпатии:
    8.522
    Репутация:
    530
    Нарушения:
    31
    Оффлайн
    Я мог бы с вами согласиться, если бы Сток играл на одном ядре. Но многоядерность сама по себе приводит к рамдомности. Поставьте начальную позицию и попробуйте вынудить движок сделать ход самостоятельно без книги. У меня он несколько раз выдал 1. d4, несколько раз 1. e4, три раза 1. Кf3 и один раз даже 1. с4. И у меня двухядерник. Чего можно ожидать от 64-ядерника? Так что, вряд ли можно поймать такого на повторении дебютной позы.
  13. просроченый_кмс Старожил

    • Участник
    • Старожил
    Рег.:
    15.02.2010
    Сообщения:
    1.112
    Симпатии:
    167
    Репутация:
    6
    Оффлайн
    да один гигабайт просто смешно, щас обычному компу что бы работать без торомозов, не используя игр как я, никаких спец прог для видео и т.п. надо 4 гига, а тут шахматная вычислительная прога...
  14. Vladruss НедоКМС, победитель второразрядников.

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    30.12.2009
    Сообщения:
    16.477
    Симпатии:
    8.522
    Репутация:
    530
    Нарушения:
    31
    Оффлайн
    Ну, у меня тоже 4 гига оперативки, но когда я при игре движков ставлю им хэш 1 гиг, у меня комп начинает тормозить и игра не идет. Поэтому, на своем двухядернике я им даю хэша 256 мб. Думаю, что для 64 процессоров 1 гиг хэша не самое плохое. При контроле минута на ход, разумеется.
  15. hornet Учаcтник

    • Участник
    Рег.:
    05.11.2016
    Сообщения:
    844
    Симпатии:
    770
    Репутация:
    467
    Оффлайн
    Наконец на глубине 52-54 асмфиш начал раздупляться: рисунок_3.jpg
  16. Vladimirovich Консультант

    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    27.09.2006
    Сообщения:
    6.007
    Симпатии:
    810
    Репутация:
    31
    Нарушения:
    31
    Адрес:
    https://quantoforum.ru/
    Оффлайн
    Количество ядер само по себе никак не влияет на рандомность
    Все зависит от архитектуры софта.

    P.S.Конечно, если есть race condition, то возможны варианты
    Но это лишь значит, что аффтары сами себе злобные буратины.
  17. Neo94 Учаcтник

    • Участник
    Рег.:
    15.11.2014
    Сообщения:
    434
    Симпатии:
    144
    Репутация:
    -10
    Оффлайн
    Ну по факту здесь только к одному можно придраться - контроль времени (очень больно бьет по стокфишу).
    Гугл же особо и не пиарил свой матч как борьбу за что-то в плане первенства шахматных программ, так что имеют право делать что хотят.
    Провели эксперимент - получили результаты. Эксперимент в плане сравнения чистых движков на принципиально разной архитектуре железа показал, что с контролем 1 минута на ход А0 лучше...
  18. Vladruss НедоКМС, победитель второразрядников.

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    30.12.2009
    Сообщения:
    16.477
    Симпатии:
    8.522
    Репутация:
    530
    Нарушения:
    31
    Оффлайн
    Кому вы говорите? Я собаку съел на тестировании движков по тестовым позициям. Одну и туже позицию, которую программа на одном ядре решает за строго определенное время +/- одна-две секунды, на двух ядрах она уже решает в самое разное время, включая моменты, когда вообще решить позицию не может. Это, по-вашему, "никак не влияет"?
  19. Мобуту спаситель нации

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    15.02.2006
    Сообщения:
    6.916
    Симпатии:
    3.969
    Репутация:
    141
    Адрес:
    Заир
    Оффлайн
    Вариативность какая-то есть, без неё вообще получилось бы +100 -0 =0 с повторением одной и той же партии. Но много ли этой вариативности остаётся без дебютной книжки, без выбора времени на думки, наверное ещё с какими-то настройками от гугловских умельцев? Вот сравниваю две первые белые партии: вяленый играет один и тот же вариант антиберлина с разменом на c6, разница только на 7-м ходу. За чёрных тоже ненамного богаче репертуар: новоиндийская с жертвой d4-d5 раз за разом. Ну, иногда сам играл d7-d5, но всё равно вряд ли новоиндийцы скажут, что Стокфиш играл этот дебют во всём его многообразии.

    К такому предсказуемому противнику "самообучиться" куда проще. Одного варианта мало, но компактного деревца из неприятных для него вариантов уже вполне себе достаточно.
  20. Vladruss НедоКМС, победитель второразрядников.

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    30.12.2009
    Сообщения:
    16.477
    Симпатии:
    8.522
    Репутация:
    530
    Нарушения:
    31
    Оффлайн
    Ко времени матча процесс самообучения Альфы уже был закончен, так что, совершенно не имеет значения, на какие позиции выходил Стокфиш. Главное, что он не делал в дебюте ошибок, а был переигран по игре.
  21. MaxVirmir Новичок

    • Новичок
    Рег.:
    08.12.2017
    Сообщения:
    14
    Симпатии:
    10
    Репутация:
    0
    Оффлайн
    Так разнообразие я так понял тоже обеспечивалось, пусть и немного искусственно :
    У нас есть некоторая «наилучшая» сеть с весами А. Эта сеть A играет сама с собой 25 000 раз (используя MCTS со своими весами для оценки новых нод), и для каждого хода мы сохраняем сам стейт, распределение Pi и то, чем закончилась игра (+1 за победу и -1 за поражение). Дальше готовим батчи из 2048 случайных позиций из последних 500 000 игр, отдаём 1000 таких батчей на тренировку и получаем некоторую новую сеть с весами B, после чего сеть A играет 400 игр с сетью B— при этом обе сети используют MCTS для выбора хода, только при оценке новой ноды A, очевидно, использует свои веса, а B — свои. Если B побеждает более, чем в 55% случаев, она становится лучшей сетью, если нет — чемпион остаётся прежним. Повторять до готовности.

    А мне показалось очевидным, что А0 играет явно не так как обычные движки. Именно в позиционном плане. И этого никакими костылями и рецептами не заменить.

    Странно, а я нашел инфу про архитектуру сети (правда не А0 а Аго 0, но они вроде похожи очень):
    Convolutional layer, потом 40 residual layer'ов, в конце два выхода — value head и policy head

    Остальные домыслы и сомнения SuperZerror (с такого де рода рецептами как гугл всех обманул) как-то тоже не вяжутся именно с уровнем партий. На мой взгляд
    dom1n1k нравится это.
  22. Challenger Spy Технический специалист

    • Команда форума
    Рег.:
    29.01.2011
    Сообщения:
    5.280
    Симпатии:
    2.838
    Репутация:
    226
    Оффлайн
    Это 10 лучших партий из 100, из которых 6 в одном варианте новоиндийки с замороженным флангом, который сток регулярно играл, не имея дебютной книги, которую Альфа имел. Такие дела...
  23. Мобуту спаситель нации

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    15.02.2006
    Сообщения:
    6.916
    Симпатии:
    3.969
    Репутация:
    141
    Адрес:
    Заир
    Оффлайн
    Ну вот Каспаров был переигран Карповым по игре в защите Тарраша с изолятором, взял да и стал играть другой дебют. И в конце концов Карпова замочил. А представьте себе, что ему бы запретили менять дебют. ГК небось бесславно бы слил тот матч со счётом 6-0 и ушёл бы ещё, чего доброго, из шахмат. А кругом бы говорили: не в дебюте дело, защита Тарраша корректна, просто плохому танцору известно что мешает.
  24. MaxVirmir Новичок

    • Новичок
    Рег.:
    08.12.2017
    Сообщения:
    14
    Симпатии:
    10
    Репутация:
    0
    Оффлайн
    Та да...куцая статья какая-то. Думал расскажут в двух словах причину успеха чтоб всем было понятно.

    Как я понял все дело в другом подходе к оценке позиций (или нод построенного дерева вариантов ). Если обычные проги (как я понял) стараются отталкиваться от вписанных в них алгоритмов оценки типа материал +активность+быстрый просчет на макс. глубину форсированных вариантов, то А0 пляшет от результата.

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

    Ну это очень обще. Возможно что-то упустил или наоброт приврал:)
    sovaz1997 нравится это.
  25. Vladruss НедоКМС, победитель второразрядников.

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    30.12.2009
    Сообщения:
    16.477
    Симпатии:
    8.522
    Репутация:
    530
    Нарушения:
    31
    Оффлайн
    Это все пустые размышлизмы. Я более чем уверен, что авторы АльфаЗеро даже не заморачивались подобными рассуждениями - просто взяли что под рукой, и провели матч. А под рукой был комп с оболочкой Фриц, в которой был выставлен хэш на 1 гигабайт, и движок Стокфиш официальной версии, который считается чуть ли не самым сильным. Дали время 1 минуту на ход от фонаря, и провели матч. С точки зрения авторов Зеры, они сделали все правильно. В конце концов, это же не официальный чемпионат мира.
    Launder, nn и Undying нравится это.
  26. просроченый_кмс Старожил

    • Участник
    • Старожил
    Рег.:
    15.02.2010
    Сообщения:
    1.112
    Симпатии:
    167
    Репутация:
    6
    Оффлайн
  27. MaxVirmir Новичок

    • Новичок
    Рег.:
    08.12.2017
    Сообщения:
    14
    Симпатии:
    10
    Репутация:
    0
    Оффлайн
    Почему лучших? Побед было же больше - может там есть и лучше победы.
    Насколько я понял с обзора СЮ это нормальная дебютная схема - ее и гроссы катают. А как там в этой схеме с книгой играет стокфиш? Или вообще новоиндийку не играет?:)
    Да и варианты там немного отличались все таки.

    Альфа не имел и даже не может иметь никакой дебютной книги:) То, в чем его попрекают, по сути часть алгоритма - он как бы ее сам придумал. Но именно как бы!

    Ну ничо...подождем когда сыграют с книгой на самом жирном компе и с нужным хешем. Правда вряд ли это поможет - к тому времени алгоритм и улучшится и обучиться лучше сможет....
  28. hornet Учаcтник

    • Участник
    Рег.:
    05.11.2016
    Сообщения:
    844
    Симпатии:
    770
    Репутация:
    467
    Оффлайн
    Народ о чём вы все говорите? О каком железе? Я же Вам показал на своем примере - сток до глубины 52 ни хрена не видит (там до эндшпиля ещё далеко), как он может учуять проигрыш? Неужели Вы не поняли, что есть типы нормальных игровых позиций, которые сток не понимает?
    Включите свои компы, посмотрите сыгранные партии, найдите на каком ходу начинаются ошибки (ход Лf8 можно больше не смотреть).
    Launder, MaxVirmir и Undying нравится это.
  29. MaxVirmir Новичок

    • Новичок
    Рег.:
    08.12.2017
    Сообщения:
    14
    Симпатии:
    10
    Репутация:
    0
    Оффлайн
    О. А вот это вот отличная статья!
    И сразу стало понятно почему порвало пуканы у "програмеров":

    Шапочку из фольги в основном примеряют люди, занимающиеся шахматным программированием. Их эмоции можно понять – тысячи часов они корчевали пни и укладывали асфальт, в то время как под рукой лежал почти готовый телепорт, ведь нейросети – не какое-то сверхсекретное изобретение, а становящийся вполне стандартным метод решения ранее тупиковых проблем. Уже одно это заставляет меня с некоторым недоверием относиться к их претензиям к DeepMind.
    Undying и Baron нравится это.
  30. Мобуту спаситель нации

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    15.02.2006
    Сообщения:
    6.916
    Симпатии:
    3.969
    Репутация:
    141
    Адрес:
    Заир
    Оффлайн
    Да-да-да. И Слюсарчук Рыбку тоже обыграл примерно так же. Придумал чувак методику запоминания, там тоже нейросети какие-то были. Только вот на чём бы её продемонстрировать? Подвернулась под руку доска с шахатами - ну, взял, быстренько их освоил (главное ведь память, мозги там ни к чему), да и раздал люлей Рыбке. Это дело недолгое, когда есть такая научно выверенная методика.

    Кто-то сомневается в честности? Оставьте свои "пустые размышлизмы" при себе, нормальные люди "более чем уверены", что методика запоминания рулит. Предлагаете повторить в нормальной спортивной обстановке? Пошли нафиг, я не спортсмен, а учёный. Сам Янукович наградил премией за научные достижения. Это вам не статейка какая-то в журналишке.
  31. MaxVirmir Новичок

    • Новичок
    Рег.:
    08.12.2017
    Сообщения:
    14
    Симпатии:
    10
    Репутация:
    0
    Оффлайн
    Да при чем тут Слюсарчук? Это же больной на голову мошенник, убивший кучу людей - жалко шо его выпустили с тюрьмы.
    Как это можно сравнивать то?
  32. Vladimirovich Консультант

    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    27.09.2006
    Сообщения:
    6.007
    Симпатии:
    810
    Репутация:
    31
    Нарушения:
    31
    Адрес:
    https://quantoforum.ru/
    Оффлайн
    Вы не отличать "влияет на рандомность" и "никак не влияет" ?
    При этом не учитывать "само по себе" ?

    Время тестирования здесь вторично. И его девиация тут не "рандомность"
  33. Vladruss НедоКМС, победитель второразрядников.

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    30.12.2009
    Сообщения:
    16.477
    Симпатии:
    8.522
    Репутация:
    530
    Нарушения:
    31
    Оффлайн
    Ну, то, что дозволено Слюсарчуку, не дозволено Дип Майнду, чего там.
    А здорово вы придумали известную уважаемую компанию на одну доску с проходимцем поставить. Главное, оба ведь не спортсмены.
  34. Neo94 Учаcтник

    • Участник
    Рег.:
    15.11.2014
    Сообщения:
    434
    Симпатии:
    144
    Репутация:
    -10
    Оффлайн
    Каспаров получал вполне хорошие позы по дебюту, но вот по игре в первой половине матча Карпов его переигрывал, и далеко не только в Тарраше.

    Дебют там ни при чем был.
    MaxVirmir нравится это.
  35. Vladruss НедоКМС, победитель второразрядников.

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    30.12.2009
    Сообщения:
    16.477
    Симпатии:
    8.522
    Репутация:
    530
    Нарушения:
    31
    Оффлайн
    Так, а теперь давайте все то же самое, но только по-русски.

Поделиться этой страницей