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

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

  1. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    649
    Симпатии:
    120
    Репутация:
    3
    Оффлайн
    1.70 - это вполне может быть крепостью, если учесть то, что оценка не менялась. Посмотрите оценку в моей симуляции, там тоже поначалу кажется, что все плохо у черных.
  2. Комсюк народный модератор

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

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Думаю что выдаст вероятность соответственно позиции возникающей после невозможного хода. Если она хорошая, то хорошую вероятность и выдаст.
    Тут должно быть какое-то сочетание статистики хороших ходов и оценки после хода. Если хода нет в статистике, ни разу не был исполнен - наверно полный мусор выйдет.
  5. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    17.07.2011
    Сообщения:
    19.230
    Симпатии:
    23.509
    Репутация:
    1.263
    Нарушения:
    31
    Оффлайн
    подождём Фрукта, пусть он нам расскажет план победы
    я глянуть не могу, комп занят :)
    sovaz1997 нравится это.
  6. redhelicopter Старожил

    • Участник
    • Старожил
    Рег.:
    11.11.2014
    Сообщения:
    629
    Симпатии:
    2.219
    Репутация:
    40
    Оффлайн
    Прикол в том что на любой глубине эта картина. Хоть прогнать на личессе, хоть пооставить на своей машине анализ на сутки.

    Ну так по вашей ссылке 1 ошибка и 1 неточность за А0, и 5 ошибок + 5 неточностей за SF. Что полностью подтверждает мои слова.
    В паре партий там вообще O-O-O у А0, и несколько ошибок за SF.
  7. Комсюк народный модератор

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

    Рупь за сто, что на сутки вы не ставили

    Ваши слова ошибочные!
    Никто слабыми движками игру сильных не проверяет

    А в процитированной партии гениальный ход Ле1 никак не отмечен, а ход Сd4, который решает партию, отмечен как ошибка
    Ничего не смущает?
    sovaz1997 нравится это.
  8. zeroalphazero Учаcтник

    • Участник
    Рег.:
    14.12.2017
    Сообщения:
    133
    Симпатии:
    69
    Репутация:
    4
    Оффлайн
    Google и IBM — близнецы-братья!
    Кто более матери-истории ценен?
    Мы говорим AlphaZero, подРАЗУМеваем — Blue Brain Project,
    Мы говорим Blue Brain Project, подразумеваем — AlphaZero...


    Вот, мол, какая была цель. Вот, мол, какая была задача. Вот, мол, какие были средства...
    Вот, мол, решение. Хотите — проверяйте. Как? — ваши проблемы.
    Теория невероятностей, право слово...:bayan:
  9. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    В MCTS нет понятия глубины, есть понятие "количество просмотренных узлов" например. Но оно не имеет никакого значения, потому что для всех ходов в партиях оно одинаковое - так как давалось фиксированное время на ход.
    А вот оценку (в матожидании результата/вероятности победы) mcts движок вывести может, так-же как и лучший вариант/наиболее вероятный вариант (аналог PV)
  10. Neo94 Учаcтник

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

    Но читал статью по диагонали, могу ошибаться.
  11. Fruit Александр

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

    Давай-те убедимся наверняка. Основной вариант у меня был 49...Kf8 50. Qf4 Qg8 51. Qc7 c4 52. Qxc4 Rd8 53. Qc3!? (или g4 и потом Qc3) Ke8 54. g4 Qf8 55. g5 Re6 56. Rf3. Как играть дальше черным? Предлагайте варианты.
    Комсюк и sovaz1997 нравится это.
  12. hornet Учаcтник

    • Участник
    Рег.:
    05.11.2016
    Сообщения:
    843
    Симпатии:
    768
    Репутация:
    466
    Оффлайн
    Укажите пожалуйста ошибки в партии за стока

  13. crem Учаcтник

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

    1. В процессе обучения Alpha играла с собой не просто линейно выбирая по одному ходу, а точно так же как и во время игры искала лучший ход методом Монте-Карло, то есть это точно такой же процесс, как и при самой игре, но с обновлением модели в конце. (AlphaGo так не делала, впервые такое использовалось в AlphaGo Zero). Таким образом гораздо быстрее учится и policy network (потому что обновляются вероятности большого числа ходов-кандидатов, а не одного), и value network (потому что она видит позиции при гораздо более сильной игре).

    2. AlphaZero поддерживает множественные исходы игры (например, поражение/ничья/победа), но в данном случае всё равно в качестве результата value network выводится одно число от -1 до 1 (-1 — поражение, 0 — ничья, 1 — победа), а не несколько, потому что этого для данного турнира было достаточно (в турнирных ситуациях, когда "кроме победы ничего не годится" или "ничьей достаточно", использование такого разделения было бы послезно).

    3. В методе Монте-Карло AlphaGo Zero и AlphaZero не используется rollout (проигрывание "случайной" партии из узла до достижения результата, в отличие от AlphaGo и классического метода Монте-Карло, где такое использовалось). По поводу этого, я выше писал что rollout не используется, потом почитал статью об AlphaGo и написал, что ошибся, а теперь оказалось что всё-таки rollout не используется.
    Alhimik88, Undying и Комсюк нравится это.
  14. Комсюк народный модератор

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

    • Участник
    Рег.:
    05.11.2016
    Сообщения:
    843
    Симпатии:
    768
    Репутация:
    466
    Оффлайн
    А все мои посты видел, внимательный ты наш?
  16. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    17.07.2011
    Сообщения:
    19.230
    Симпатии:
    23.509
    Репутация:
    1.263
    Нарушения:
    31
    Оффлайн
    это основная ветка Соваза... пусть накидывает ходы-кандидаты компом
    Не могу присоединиться - партия важная, анализ прерывать не буду
    —- добавлено: 15 дек 2017 —-
    последнюю видел... И шо?
    Ты же сам утверждал, что g5 сомнительный ход
    Включай движок, ищи альтернативы
    —- добавлено: 15 дек 2017, опубликовано: 15 дек 2017 —-
    вот эту часть 19. Re1 Kxh6 20. h4 f6 21. Be3 мой Сток вчера увидел с нулевой оценкой (это я Хорнету)
    Копай дальше!
    Решение на блюдечке ты ждал?
    sovaz1997 нравится это.
  17. sovaz1997 Учаcтник

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

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

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    649
    Симпатии:
    120
    Репутация:
    3
    Оффлайн
    Иногда полезно проверить движок, т. к. При таком длительном анализе могут сильно различаться исследуемые ветки. Я бегло посмотрел, ходы с перестановкой совпадают, вроде, с моим вариантом. Пока SF запущу там.

    Эта позиция?

  20. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    17.07.2011
    Сообщения:
    19.230
    Симпатии:
    23.509
    Репутация:
    1.263
    Нарушения:
    31
    Оффлайн
    у тебя комп мощный, просто поставь на полчаса в одну линию
    А Fruit пробьёт крепость :writing:
    —- добавлено: 15 дек 2017 —-
    через пару часов и я подключусь к обороне
  21. cs111g Начинающий

    • Начинающий
    Рег.:
    15.12.2017
    Сообщения:
    5
    Симпатии:
    5
    Репутация:
    1
    Оффлайн
    56... Qd6 57. Qh8+ Qf8 58. Qxh7 Ke7 59. Bxe6 dxe6 60. Rb3 Rd5 61. Rb7+ Kd6 62. Qxf7 Rxg5+ 63. Kf1 Qxf7 64. Rxf7 Rh5 65. h7 a5 - очень похоже на ничью.

    PS: Если ситуация с шахматами пойдёт по аналогии с ГО, то через несколько месяцев мы увидим официальный матч типа AlphaZero vs Каспаров + движок (причём выкатят новую усиленную версию Alpha)
    Semion13 и Комсюк нравится это.
  22. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    649
    Симпатии:
    120
    Репутация:
    3
    Оффлайн
    У меня все те же +1.40 (за белых) пока. Ждем соскока оценки либо к ничье, либо к победе белых.

    Код:
    info depth 52 seldepth 58 multipv 1 score cp -140 nodes 9877367588 nps 10841597 hashfull 994 tbhits 3112505 time 911062 pv a7a6 f3d3 f8a3 c3d4 a3f8 b3e6 f7e6 d3f3 f8g8 d4f6 d8a8 f6f4 a8d8 f4c7 g8h8 c7c5 h8g8 f3f6 d8a8 c5d6 g8h8 d6d4 e8e7 d4c5 e7e8 g2g3 h8g8 c5b4 a8c8 g3f3 c8a8 f3g2 a8c8 b4d4 c8a8 d4e5 a8d8 e5d6 d8a8 d6c7 g8h8 c7b7 e8e7 b7f3 h8g8 f3c3 e7e8 f6f3 e8e7 c3c5 e7e8 c5d6 g8h8 g2h3 a8d8 h3g3 d8a8
    Semion13 и Комсюк нравится это.
  23. Baron Учаcтник

    • Участник
    Рег.:
    08.02.2008
    Сообщения:
    2.351
    Симпатии:
    237
    Репутация:
    11
    Оффлайн
    Каспарова там не будет, не любит он проигрывать. Притом мысль быть в роли оператора ЭВМ будет противна его величеству.
    P.S. Я забыл о роли $, за приличный гонорар Каспаров наверное может согласиться.
  24. Vladruss НедоКМС, победитель второразрядников.

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

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    649
    Симпатии:
    120
    Репутация:
    3
    Оффлайн
    Qe7 теперь предлагает как лучший ход. Пока нет полной линии, оценка приближается к 0.
    Комсюк нравится это.
  26. Комсюк народный модератор

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

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    2.201
    Симпатии:
    64
    Репутация:
    3
    Оффлайн
    А если пока поддерживаем напряжение 59. Bd5!?
  28. MS Михаил Семионенков

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    6.542
    Симпатии:
    3.361
    Репутация:
    175
    Оффлайн
    Откуда у А0 такие данные? разве все позиции заранее проигрывались и результаты были запомнены?

    У меня подозрение, что оценивается позиция после всех возможных ходов, по оценке выбирается пара лучщих, и строится бинарное дерево на глубину порядка 20 полуходов.
    Но, конечно, надо смотреть первоисточник. Грешен, сразу ссылку не запомнил: не напомните? А то уже несколько страниц накрыло...

    Пока ясно

    1. Есиь нейронная сеть. Для оценки?
    2. Есть Монте-Карло, чтобы ограничить перебор. Как именно?

    И общее впечатление: новинка автопрома выиграла гонку у старого велосипеда в урезанной комплектации.
    Велосипедисты кричат: верните наши звёздочки - мы вас уделаем.
  29. Комсюк народный модератор

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

    • Начинающий
    Рег.:
    15.12.2017
    Сообщения:
    5
    Симпатии:
    5
    Репутация:
    1
    Оффлайн
    В этой позиции (после 59. Bd5!?) непонятно, как добиваться прогресса (рано или поздно происходит переход в различные ничейные ладейные окончания, так как ферзя с h7 не вытащить без размена).
    sovaz1997 и Комсюк нравится это.
  31. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    649
    Симпатии:
    120
    Репутация:
    3
    Оффлайн
    На 58-й глубине опять +1.40. Ещё надо подождать, лучшие ходы часто меняются.
  32. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    MCTS - это не что бы ограничить перебор, это переборный алгоритм. И естественно никакого бинарного дерева не строится.
    MCTS, UCT - альтернатива альфа-бете. В основе лежит не минимаксная процедура, а статистика (исходов партий).
    Партии наигрываются во время обдумывания. Новые версии Альфы "настолько хорошо считают вероятность исхода" - что наигрывания партий не требуется.
    То есть ветви продлеваются не до конца партии.
    Но смысл не меняется. Лучший ход определяется не минимаксной процедурой, а статистикой.

    Вот краткое описание Альфы.
    https://arxiv.org/pdf/1712.01815.pdf

    И мои два ответа на ваш пост.
    http://kasparovchess.crestbook.com/threads/7644/page-24#post-770520\
    http://kasparovchess.crestbook.com/threads/7644/page-25#post-770525

    Вообще MCTS сложен и для понимания, и для объяснения.
    Но в двух словах
    - если мы в ГО, в каждом узле будем делать случайный ход, играя партии до конца.
    С небольшими ограничениями (накладываются условия на разрешенные ходы)
    И для каждого хода будем сохранять статистику - соотношение набранных очков к количеству сыгранных партий - то в это тяжело поверить, но программа будет осмысленно играть, и даже будет видеть простую тактику.
    С этого всё началось. Сейчас mcts в общем виде играет не рандомными ходами. Ну суть - сбор статистики и отсутствие минимаксной процедуры - осталась та же.

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

    ну и ответы на вопросы
    1. есть нейронная сеть, для ОФ, и выдачи статистики по ходам из позиции, которые может использовать MCTS
    2. есть дерево перебора в процессе обдумывания каждого хода. Это могла бы быть альфа-бета, но в данном случае это MCTS - другой переборный алгоритм, который в последнее время становится очень популярным, а началась его популярность с ГО, лет 10 назад. Сейчас практически все сильные программы в ГО используют MCTS.
    MS и N1mTzo нравится это.
  33. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    17.07.2011
    Сообщения:
    19.230
    Симпатии:
    23.509
    Репутация:
    1.263
    Нарушения:
    31
    Оффлайн
    мы не торопимся :)
    cs111g вон идейку подкинул
    sovaz1997 нравится это.
  34. martos Начинающий

    • Начинающий
    Рег.:
    16.12.2017
    Сообщения:
    1
    Симпатии:
    4
    Репутация:
    0
    Оффлайн
    Alhimik88, MS, Нестор и ещё 1-му нравится это.
  35. Комсюк народный модератор

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

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