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

Discussion in 'Машинное отделение' started by grizly, 6 Dec 2017.

  1. sovaz1997 Учаcтник

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

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.250
    Likes Received:
    23.518
    Репутация:
    1.270
    Оффлайн
    PGN, как таковая, не выкладывалась, партии взяты из статьи на arXive
    —- добавлено: 15 Dec 2017 —-
    в научной статье приведены примерные 10 партий
    Тенденциозная выборка, я ж не спорю
    Но и оценок там быть не должно
  3. Undying Учаcтник

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

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

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.250
    Likes Received:
    23.518
    Репутация:
    1.270
    Оффлайн
    подождём Фрукта, пусть он нам расскажет план победы
    я глянуть не могу, комп занят :)
    sovaz1997 likes this.
  6. redhelicopter Старожил

    • Участник
    • Старожил
    Member Since:
    11.11.2014
    Message Count:
    629
    Likes Received:
    2.262
    Репутация:
    41
    Оффлайн
    Прикол в том что на любой глубине эта картина. Хоть прогнать на личессе, хоть пооставить на своей машине анализ на сутки.

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

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.250
    Likes Received:
    23.518
    Репутация:
    1.270
    Оффлайн
    утверждать это без эксперимента невозможно

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

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

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

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


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

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

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

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

    • Заслуженный
    • Участник
    • Старожил
    Member Since:
    12.02.2006
    Message Count:
    2.201
    Likes Received:
    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. Как играть дальше черным? Предлагайте варианты.
    Комсюк and sovaz1997 like this.
  12. hornet Учаcтник

    • Участник
    Member Since:
    05.11.2016
    Message Count:
    859
    Likes Received:
    785
    Репутация:
    498
    Оффлайн
    Укажите пожалуйста ошибки в партии за стока

  13. crem Учаcтник

    • Участник
    Member Since:
    24.11.2016
    Message Count:
    140
    Likes Received:
    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 and Комсюк like this.
  14. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.250
    Likes Received:
    23.518
    Репутация:
    1.270
    Оффлайн
    crem, :clap:
    Вот бы и другим научиться признавать неправоту
  15. hornet Учаcтник

    • Участник
    Member Since:
    05.11.2016
    Message Count:
    859
    Likes Received:
    785
    Репутация:
    498
    Оффлайн
    А все мои посты видел, внимательный ты наш?
  16. Комсюк народный модератор

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

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

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.250
    Likes Received:
    23.518
    Репутация:
    1.270
    Оффлайн
    Соваз, предложи ход за чёрных в конце варианта Фрукта
    —- добавлено: 15 Dec 2017 —-
    обороняйся Стокфишем пока :)
    sovaz1997 likes this.
  19. sovaz1997 Учаcтник

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

    Эта позиция?

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

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.250
    Likes Received:
    23.518
    Репутация:
    1.270
    Оффлайн
    у тебя комп мощный, просто поставь на полчаса в одну линию
    А Fruit пробьёт крепость :writing:
    —- добавлено: 15 Dec 2017 —-
    через пару часов и я подключусь к обороне
  21. cs111g Начинающий

    • Начинающий
    Member Since:
    15.12.2017
    Message Count:
    5
    Likes Received:
    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 and Комсюк like this.
  22. sovaz1997 Учаcтник

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

    Code:
    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 and Комсюк like this.
  23. Baron Учаcтник

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

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

    • Участник
    Member Since:
    30.08.2016
    Message Count:
    649
    Likes Received:
    120
    Репутация:
    3
    Оффлайн
    Qe7 теперь предлагает как лучший ход. Пока нет полной линии, оценка приближается к 0.
    Комсюк likes this.
  26. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.250
    Likes Received:
    23.518
    Репутация:
    1.270
    Оффлайн
    тем интереснее реакция Фрукта
    sovaz1997 likes this.
  27. Fruit Александр

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

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

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

    Пока ясно

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

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

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.250
    Likes Received:
    23.518
    Репутация:
    1.270
    Оффлайн
    Fruit, есть ещё запасная линия
    Соваз говорит, что уже нули
    Подождём обновление
  30. cs111g Начинающий

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

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

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    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 and N1mTzo like this.
  33. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.250
    Likes Received:
    23.518
    Репутация:
    1.270
    Оффлайн
    мы не торопимся :)
    cs111g вон идейку подкинул
    sovaz1997 likes this.
  34. martos Начинающий

    • Начинающий
    Member Since:
    16.12.2017
    Message Count:
    1
    Likes Received:
    4
    Репутация:
    0
    Оффлайн
  35. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.250
    Likes Received:
    23.518
    Репутация:
    1.270
    Оффлайн
    плодотворная идея!
    Пока не вижу усиления...
    sovaz1997 likes this.

Share This Page