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

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

  1. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    1.316
    Симпатии:
    566
    Репутация:
    15
    Оффлайн
    А на какой глубине вы ищете тактические ошибки?
  2. ШахматыЭтоДиагноз Учаcтник

    • Участник
    Рег.:
    31.03.2017
    Сообщения:
    3.502
    Симпатии:
    4.570
    Репутация:
    206
    Оффлайн
    В режиме поиска грубых ошибок до 30-50 полуходов он доходит, в зависимости от позиции. Но дело даже не в этом (тут всегда можно сослаться на то, что "тот" SF был 64-ядерным и считал глубже), а в том что за А0 таких ошибок нет.
    Любитель_ и Challenger Spy нравится это.
  3. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    1.316
    Симпатии:
    566
    Репутация:
    15
    Оффлайн
    Логично. Во-первых, Альфа Зеро был сильнее и получал лучшие позиции. А как известно в плохой позиции все ходы плохие. А, во-вторых, в отличие от переборных движков Альфа Зеро принципы шахмат уважает, поэтому и вероятность серьезной ошибки с его стороны резко снижается.
  4. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    17.07.2011
    Сообщения:
    19.230
    Симпатии:
    23.509
    Репутация:
    1.263
    Нарушения:
    31
    Оффлайн
    Ну хватит уже!

    Какой у Вас комп?
    Если 2-ядерный, то прогоните все партии по полчаса на ход, если 4-ёх, то пусть будет 15 минут
    Найдёте ошибки, тогда пишите!
    N1mTzo и Gridnev нравится это.
  5. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    1.316
    Симпатии:
    566
    Репутация:
    15
    Оффлайн
    Возникает вопрос - а на сколько вообще можно доверять оценке переборных движков на большой глубине? Чем больше глубина, тем большая доля вариантов движком отсекается и вообще не рассматривается. Пока переборные движки играли между собой это не было особо заметно, так как у всех таких движков принципы отсечения примерно одинаковы. А Альфа Зеро как раз и продемонстрировал эту проблему. Судя по всему многие идеи, которые поднимает Альфа Зеро, переборные движки просто отбрасывают без серьезного рассмотрения.
    Любитель_ и WinPooh нравится это.
  6. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    1.316
    Симпатии:
    566
    Репутация:
    15
    Оффлайн
    Если бы Альфа Зеро был просто переборным движком, то со своими перебираемыми 80 тысячами позиций в секунду, не имел бы никаких шансов против Стокфиша с его 70 миллионами позиций в секунду. Главная разница в оценке позиции. Оценка Стокфиша это уровень 3-4 разряда. А Альфа Зеро понимает шахматы много лучше.
  7. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    17.07.2011
    Сообщения:
    19.230
    Симпатии:
    23.509
    Репутация:
    1.263
    Нарушения:
    31
    Оффлайн
    это мантра времён Рыбки 2
  8. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    649
    Симпатии:
    120
    Репутация:
    3
    Оффлайн
    Ну, серьезно. Если Alpha Zero - настолько мощный движок, зачем его сравнивают со слабым SF 8 в таких условиях? Ведь если Alpha Zero наголову превосходит всех, надо ставить SF в нормальные условия с нормальным хешем и контролем времени.

    Вот позиция:

    4r1kq/p2prp1p/5RpP/2p5/7Q/1B4P1/P4PK1/8 b - - 0 1 (http://talkchess.com/forum/viewtopic.php?t=65972)

    В ней SF играет не Kf8, а Rf8. Почему? Не знаю. Но Kf8 еще давал шансы на ничью.

    И я уверен, есть еще немало таких позиций. Из этого вывод: AZ показывает блестящие позиционные шахматы со стратегией и планом, в отличие от других движков. Но насколько AZ играет лучше мы не сможем сравнить из-за разных архитектур. Пусть партии и получились красивыми, но нам дали только 10 из 100. И SF не всегда делал лучшие ходы. Много вопросов пока, в общем.
  9. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    17.07.2011
    Сообщения:
    19.230
    Симпатии:
    23.509
    Репутация:
    1.263
    Нарушения:
    31
    Оффлайн
    по кочану :diablo:
    Ты же висел в ветке, когда Нора показала этот ход на скрине (Сток 8 без таблиц)
    И на Talkchess напиши
    —- добавлено: 11 дек 2017 —-
    Уверен?
    Покажи позиции!
  10. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    1.316
    Симпатии:
    566
    Репутация:
    15
    Оффлайн
    А что в данном отношении изменилось со времен Рыбки?
  11. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    649
    Симпатии:
    120
    Репутация:
    3
    Оффлайн
    Я уверен не на 100%. Уверен=я уверен (имхо). Если так быстро нашли такую позицию, почему других не будет, где SF делает самоубийственный ход.
  12. Yury_Solomatin Учаcтник

    • Участник
    Рег.:
    25.01.2017
    Сообщения:
    865
    Симпатии:
    503
    Репутация:
    24
    Оффлайн
  13. 4547 Учаcтник

    • Участник
    Рег.:
    15.11.2016
    Сообщения:
    1.804
    Симпатии:
    1.808
    Репутация:
    138
    Оффлайн
    В соревнованиях между обычными движками происходит по сути соревнование алгоритмов оценки позиций, использования ресурсов системы, включая отсечения ненужных вариантов. Алгоритмы как бы совершенствуются.
    У Альфы зеро свои собственные выработанные (не человеком) алгоритмы. Хотя вполне может быть так: A0 была "натренирована" играть именно против стокфиша. Для ИИ с мощными ресурсами найти слабости в заданных человеком алгоритмах стокфиша не так уж трудно... Стокфиш ведь не есть совершенство. Таким образом против другого движка может и не сработать.
  14. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    17.07.2011
    Сообщения:
    19.230
    Симпатии:
    23.509
    Репутация:
    1.263
    Нарушения:
    31
    Оффлайн
    всё чаще гениальное вмешательство второразрядника-адвансёра приносит только вред программе-третьеразряднице
  15. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    1.316
    Симпатии:
    566
    Репутация:
    15
    Оффлайн
    И что принципиально изменилось в оценке позиции? По-прежнему в основе лежит простой подсчет материала. Чуть-чуть учитывается пространство, активность фигур, безопасность короля. Учитывать это лучше не получается в силу врожденной примитивности алгоритмического подхода. Более тонкие вещи, вроде плохих фигур и игры по полям, вообще учитывать не получается. А у Альфа Зеро получается. Что наглядно продемонстрировано в выложенных партиях.
    sovaz1997 нравится это.
  16. Мобуту спаситель нации

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    15.02.2006
    Сообщения:
    6.916
    Симпатии:
    3.969
    Репутация:
    141
    Адрес:
    Заир
    Оффлайн
    Не вижу, чтобы было так уж продемонстрировано непонимание Стокфиша. Если смотреть на его оценки, то он довольно трезво оценивает происходящее. Нет такого, чтобы он ставил -2 там, где должно быть +2. Проиграл по другой причине. Обычно возникали острые позиции с нарушенным соотношением сил сказалось колоссальное превосходство противника в счётных способностях, в железе. А избежать этих позиций он не мог, так как был лишён вариативности игры, которую ему могла бы дать дебютная книжка, возможность самому определять время на раздумье.
  17. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    1.316
    Симпатии:
    566
    Репутация:
    15
    Оффлайн
    Например, в позиции с запертым ферзем у Стокфиша лишнее качество и две пешки при отсутствии прямых угроз. Какую оценку даст Стокфиш видя эту позицию в вариантах на глубине расчета близкой к предельной? Наверняка положительную для себя и смело на эту позицию пойдет. А в реальности это жбан для черных.

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

    Вообще-то дебют это такая же часть шахматной игры как и остальные стадии. И то что Стокфиш играет в дебюте хуже, чем Альфа Зеро, доказывает только то, что он просто хуже играет в шахматы.
    Baron нравится это.
  18. Fruit Александр

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    2.201
    Симпатии:
    64
    Репутация:
    3
    Оффлайн
    В позициях с позиционными жертвами, когда движок не в силах досчитать их последствия, доверять не стоит. Переписочникам это давно известно.
    Вот, например, позиция из моей партии по переписки, игранной в 2010г:

    r1b1r1kq/pp1ppp1p/2n3pB/8/4R2P/1R1B4/P1P2PP1/3Q2K1 w - - 0 19



    Analysis by Stockfish 8 64 BMI2:

    19.Bc4 e6 20.Bd2 h5 21.Rg3 Rd8 22.Bc3 Qh6 23.Qd6 Qf8 24.Qd1 Qh6
    = (0.00) глубина: 49/13 00:55:43 11500484kN

    Стокфиш 8 ее оценивает неправильно (правильно - у черных 100%-й жбан), а в партии все закончилось цугцвангом менее, чем через 20 ходов.
    Alhimik88, N1mTzo и Undying нравится это.
  19. crem Учаcтник

    • Участник
    Рег.:
    24.11.2016
    Сообщения:
    140
    Симпатии:
    203
    Репутация:
    14
    Оффлайн
    У нейросетей действительно такой же перебор, как и у классических движков, но разница вот в чём:

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

    2. По поводу того, какие ходы перебирать, у стокфиша есть некоторые эвристики, по которым он считает некоторые ветки глубже, чем остальные (форсированные взятия, устранение "эффекта горизонта" и т д), но в некотором приближении там полный перебор. У alphazero же отдельная нейронная сеть выбирает какие ходы вероятнее всего статическую оценку (из предыдущего пункта) поменяют, и именно такие ветви и выбираются для просчёта, точно так же как сделал бы человек.

    3. Классические движки оценивают силу позиции в виде одного числа. Alphazero вместо этого оценивает вероятность ничьей, победы и поражения отдельно (сумма этих величин 1.0). Поэтому у стокфиша обоюдоострая позиция будет иметь такую же оценку, как и совсем сухая.
    Почему шахматные движки такого до сих пор не делают — не знаю, это не что-то для чего обязательно нужна нейронная сеть. Хотя вполне возможно, что и делают, только не показывают пользователям.

    По поводу TPU и его стоимости:

    1. В некоторых статьях пишут что TPU стоит "десятки миллионов за штуку". На самом деле это не так, стоимость сравнима с CPU и GPU.

    2. Google Cloud будет предлагать TPU в аренду (и уже предлагает в режиме тестирования, https://cloud.google.com/tpu/) по цене, сопостовимой с арендой CPU и GPU (~0,5$ за один TPU в час).
    При такой цене натренировать нейронную сеть будет дороговато ($2 млн), но наверняка найдутся люди, готовые эту сумму заплатить.
    С другой стороны, играть с натренированной сетью на оборудовании гугла будет не так уж и неподъёмно, ~$5 за игру.

    3. TPU гугла скорее всего в продаже не появятся, но другие производители железа (NVidia та же) наверняка в скором времени предоставит свои TPU для потребительского рынка.

    4. Некоторое время назад гугл опубликовал очень подробное описание AlphaGo, и сказал, что сам гугл больше не будет заниматься Go. С тех пор появилось много проектов с открытым кодом, пытающихся повторить/превзойти силу игры AlphaGo, и сотрудники гугла считают, что некоторые из них уже близки к этому.
    Учитывая интерес к шахматам, я думаю, что с шахматами произойдёт что-нибудь похожее: напишут более подробную статью, проведут соревнования так, чтобы ни у кого не возникло сомнений (например, alphazero против Магнуса с движком на выбор), опубликуют сотню-другую партий alphazero против alphazero, и скажут, что дальше вы сами.
    Alhimik88, Любитель_, MS и 4 другим нравится это.
  20. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    17.07.2011
    Сообщения:
    19.230
    Симпатии:
    23.509
    Репутация:
    1.263
    Нарушения:
    31
    Оффлайн
    поставьте и посмотрите

    сначала удивитесь, а потом расскажете нам
    —- добавлено: 11 дек 2017, опубликовано: 11 дек 2017 —-
    Роберт Гударт писал в релизе к четвёртому Гудку (или даже раньше), что цифры на табло и есть вероятность победы в этой позиции, выраженная в сантипешках (не дословно, но близко по смыслу)
    —- добавлено: 11 дек 2017 —-
    А то, что Альфа наиграла себе дебютные познания "на тренировке" уже не в счёт?

    Ещё раз для всех неверующих
    Скачайте отсюда движок и книжку (это Стокфиш, не волнуйтесь)
    И поставьте матч движка вооружённого и пустого
    Сразу отпадут все вопросы
  21. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    1.316
    Симпатии:
    566
    Репутация:
    15
    Оффлайн
    Например, партия с жертвой фигуры Стокфишем: https://lichess.org/B6ebUyzC

    После 34 хода черных (только что разменялись ферзи) Стокфиш показывает нули даже на глубине 40. И это логично, ведь 4 пешки это достаточная материальная компенсация за слона, а плана выигрыша за черных Стокфиш не видит.
  22. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    17.07.2011
    Сообщения:
    19.230
    Симпатии:
    23.509
    Репутация:
    1.263
    Нарушения:
    31
    Оффлайн
    Вчера или позавчера я ставил эту позу на полчаса по просьбе Локомотива
    ход Кс4 был на первой линии с оценкой -1.18

    Давайте следующую
    Любитель_, N1mTzo, sovaz1997 и ещё 1-му нравится это.
  23. Baron Учаcтник

    • Участник
    Рег.:
    08.02.2008
    Сообщения:
    2.351
    Симпатии:
    237
    Репутация:
    11
    Оффлайн
    Через полчаса (точнее на 61 секунде) Стокфиш роняет флаг и ему все равно засчитывают поражение. Альфе надо давать фору стоку, на порядок большую, чем Морфи давал Паульсену (3 часа против 12), но это само по себе уже показывает разницу в классе.
  24. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    17.07.2011
    Сообщения:
    19.230
    Симпатии:
    23.509
    Репутация:
    1.263
    Нарушения:
    31
    Оффлайн
    Baron, полчаса даётся чтобы компенсировать разницу между моим компом и тем, на котором играл Сток
    —- добавлено: 11 дек 2017 —-
    в этот раз Сток давал фору отсутствием книги
    —- добавлено: 11 дек 2017, опубликовано: 11 дек 2017 —-
    для вновь прибывших альфафанов
    —- добавлено: 11 дек 2017 —-
    это рейтинг-лист КНИГ, движок один и тот же
  25. hornet Учаcтник

    • Участник
    Рег.:
    05.11.2016
    Сообщения:
    844
    Симпатии:
    770
    Репутация:
    468
    Оффлайн
    Что толку от этого анализа? Анализ от стока, да ещё и глубина беспонтовая (21). Сейчас мы не знаем на какой глубине можно доверять анализу стока - в сыгранных партиях мы по большому счету не можем определить, где совершена ошибка, и тем более не можем предложить улучшение (наш же сток нас и обманет). :chess:
  26. Мобуту спаситель нации

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    15.02.2006
    Сообщения:
    6.916
    Симпатии:
    3.969
    Репутация:
    141
    Адрес:
    Заир
    Оффлайн
    Не знаю насчёт того искалеченного Стокфиша, что играл матч, но нормальный Стокфиш на самой обычной персоналке прекрасно понимает, что с пешками за фигуру у белых хуже. Оценка там отрицательная у него была всю дорогу. В случае с запертым на h8 ферзём - наоборот, положительная, т.е. в пользу противника. Даже до бредового хода 49... Rf8??, от которого оценка подскакивает с +0.6 до +6, Стокфишу не нравится позиция чёрных. К слову, этот момент лучше всех прочих показывает, насколько всё-таки был испорчен Стокфиш специально к этому матчу.
    Swordman и ШахматыЭтоДиагноз нравится это.
  27. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    17.07.2011
    Сообщения:
    19.230
    Симпатии:
    23.509
    Репутация:
    1.263
    Нарушения:
    31
    Оффлайн
    Вождь, вы только пишете в этой теме?
    Не читаете других?
    N1mTzo нравится это.
  28. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    649
    Симпатии:
    120
    Репутация:
    3
    Оффлайн
    можете дать FEN позиции?
  29. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    17.07.2011
    Сообщения:
    19.230
    Симпатии:
    23.509
    Репутация:
    1.263
    Нарушения:
    31
    Оффлайн
  30. Мобуту спаситель нации

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    15.02.2006
    Сообщения:
    6.916
    Симпатии:
    3.969
    Репутация:
    141
    Адрес:
    Заир
    Оффлайн
    Так глубоко я не рыл, на своём компе не гонял. Хватает и оценки в интернете.
    https://lichess.org/B6ebUyzC#21 - 35-й ход и далее
    https://lichess.org/tJzewmVJ#92 - 47-й ход и далее
  31. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    649
    Симпатии:
    120
    Репутация:
    3
    Оффлайн
    Мобуту, анализ в lichess очень слабый
  32. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    17.07.2011
    Сообщения:
    19.230
    Симпатии:
    23.509
    Репутация:
    1.263
    Нарушения:
    31
    Оффлайн
    да он троллит, походу
  33. Мобуту спаситель нации

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

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    1.316
    Симпатии:
    566
    Репутация:
    15
    Оффлайн
    То есть Стокфиш начинает что-то подозревать на глубине порядка 50 полуходов. Ему не то, что взгляда на эту позицию недостаточно, а надо на 25(!) ходов вперед посчитать, чтобы качественно правильную оценку дать. Какие вам еще нужны доказательства, что Стокфиш хреново понимает такого типа позиции?
  35. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    649
    Симпатии:
    120
    Репутация:
    3
    Оффлайн
    Undying, внедрение нейросетей в оценочную функцию будет актуально тогда, когда процессоры будут быстро с ними работать. Конечно, плохо то, что сейчас. Но и альтернативы под CPU пока нет.
    —- добавлено: 11 дек 2017 —-
    35-й ход: Rc1, до этого выдавал ход, сделанный в партии. Здесь просто позиция и так проиграна для SF.
    Код:
    info depth 52 seldepth 71 multipv 1 score cp -130 nodes 20666850394 nps 8286319 hashfull 999 tbhits 0 time 2494093 pv g1c1 c5c4 e5c4 f8c5 c2c3 c5f2 c1b1 a7a2 c4b2 f2e3 b3b4 e3d2 b2d1 h3f1 b1b2 a2b2 d1b2 d2c3 h1g1 f1h3 b2c4 c3d4 g1h1 h3f1 c4d6 g8f8 e4e5 f1h3 d6b5 d4b6 d3d4 h3f1 b5d6 b6d4 h2h4 d4c3 b4b5 c3d4 h1h2 d4c5 d6e4 c5b6 g3g4 f1b5 e4d6 b5e2 h2g3 b6a5 h4h5 a5e1 g3h3 e2d3 d6f5 f8f7 h3g2 d3e4 g2h3 e1b4 h3h4 e4c2 f5d4 c2d1 d4f5 b4d2 h4g3 d2e1 g3h3 d1e2 f5d6 f7f8
    47-й ход - этот ход делал AZ.
    Все чисто здесь.

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