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

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

  1. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.402
    Симпатии:
    1.766
    Репутация:
    68
    Адрес:
    Москва
    Онлайн
    Тем временем DeusEx стартовала с победы в достаточно зрелищном стиле.
  2. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.402
    Симпатии:
    1.766
    Репутация:
    68
    Адрес:
    Москва
    Онлайн
    Кстати, а как интерпретировать для LZ/DeusEx показатель depth в информации о выводе движка? Показывает depth = 4 ply, и тут же рядом PV ходов на 15-20. Странно как-то всё это.
  3. Polarity Новичок

    • Новичок
    Рег.:
    24.04.2018
    Сообщения:
    46
    Симпатии:
    5
    Репутация:
    0
    Оффлайн
    Это кажется означало глубину, до которой были просмотрены всевозможные варианты. MCTS очень избирателен в выборе следующей позиции для анализа, поэтому глубины 5 может быть придётся ждать очень долго :)
  4. pavelgttfj8 Новичок

    • Новичок
    Рег.:
    07.12.2017
    Сообщения:
    48
    Симпатии:
    11
    Репутация:
    0
    Оффлайн
    Это просто очень хорошо. С 22-го по 26-й ход стокфиш оценивает ходы белых как 0 и только 27. Qb7 определяет как ошибку. Лила же считала все это время что у нее хорошая позиция




    [Event "TCEC Season 13 - Division 4"]
    [Date "2018.08.04"]
    [Round "2.2"]
    [White "Senpai 2.0"]
    [Black "LCZero 16.10161"]
    [Result "0-1"]
    [BlackElo "3219"]
    [ECO "A28"]
    [GameDuration "01:08:22"]
    [GameEndTime "2018-08-04T02:11:26.642 W. Europe Standard Time"]
    [GameStartTime "2018-08-04T01:03:03.841 W. Europe Standard Time"]
    [Opening "English"]
    [PlyCount "111"]
    [Termination "adjudication"]
    [TerminationDetails "TCEC win rule"]
    [TimeControl "1800+10"]
    [Variation "four knights, Nimzovich variation"]
    [WhiteElo "3062"]


    1.c4 e5 2.Nc3 Nf6 3.Nf3 Nc6 4.e4 Bb4 5.d3 d6 6.a3 Bxc3+ 7.bxc3 Nd7 8.Bg5 f6 9.Be3 Na5 10.d4 b6 11.Be2 Bb7 12.Nd2 Qe7 13.O-O c5 14.d5 Bc8 15.Nb3 O-O 16.Nxa5 bxa5 17.Qa4 Nb6 18.Qxa5 f5 19.f3 Bd7 20.Qa6 Rfb8 21.Rab1 h5 22.exf5 Bxf5 23.Rbe1 h4 24.Rf2 Qf6 25.Bf1 Qg6 26.f4 Re8 27.Qb7 h3 28.g3 exf4 29.Rxf4 Rab8 30.Qxa7 Nd7 31.Bf2 Rxe1 32.Bxe1 Bg4 33.Bd2 Re8 34.Qa4 Ne5 35.Rxg4 Nxg4 36.Qd1 Rf8 37.Qe2 Rf2 38.Qxf2 Nxf2 39.Kxf2 Qc2 40.Ke1 Qe4+ 41.Kf2 Kf7 42.Bxh3 Qxc4 43.Bg2 Qd3 44.Be1 Qc2+ 45.Kg1 Qe2 46.Bf2 Qd1+ 47.Bf1 Qxd5 48.c4 Qf3 49.a4 Qa3 50.Bg2 Qa1+ 51.Bf1 Qxa4 52.Be3 Qb3 53.Kf2 d5 54.cxd5 Qxd5 55.Be2 c4 56.Bf3
    {Black wins by adjudication: TCEC win rule}
    0-1
    Undying нравится это.
  5. Polarity Новичок

    • Новичок
    Рег.:
    24.04.2018
    Сообщения:
    46
    Симпатии:
    5
    Репутация:
    0
    Оффлайн
    Мне вот стало интересно, как Albert Silver тренировал свою сеть на играх людей.
    Чтобы это сделать, нужен либо правильный ответ (т. е. наилучший ход, в заданной позиции), либо очень точная оценка каким-нибудь движком. Причём таких игр вообще говоря должно быть очень много. У всех этих подходов есть масса проблем. И получившаяся нейронная сеть должна играть в каком-то смысле уже известном стиле, не демонстрируя каких-то там интересных новинок.
    Если я правильно помню, ASilver занимался тем, что подбирал более удачные параметры командной строки для lc0. Не удивлюсь, если он просто обучил сеть готовыми скриптами на новых играх + подобрал немного другие параметры.
    Как кто-то сказал недавно, deusX - первая шахматная программа, участвующая в TCEC, которая не была написана программистом :)
  6. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    452
    Симпатии:
    149
    Репутация:
    21
    Онлайн
    Хе-хе, последняя партия DeusX - это нечто.

    Ранее некоторые околотоповые классические движки писались нешахматистами, а сейчас нейросетевые пишутся непрограммистами. Так что баш на баш.
  7. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    452
    Симпатии:
    149
    Репутация:
    21
    Онлайн
    Ход в партии считается за правильный ответ. Этого достаточно для вычисления перекрестной энтропии с распределением вероятностей 100-0-0-0... Разве нет? Вроде бы ходили слухи, что Сильвер использовал партии переписочников.
  8. Vladruss НедоКМС, победитель второразрядников.

    • Заслуженный
    • Ветеран
    Рег.:
    30.12.2009
    Сообщения:
    10.150
    Симпатии:
    3.348
    Репутация:
    329
    Нарушения:
    12
    Оффлайн
    Зашел по ссылке, а там реклама Комодо Чесс 12 с технологией АльфаЗеро, с предложением купить за 75,55 евриков. Это что за зверь такой?
  9. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    452
    Симпатии:
    149
    Репутация:
    21
    Онлайн
    Вариант Комодо с перебором методом Монте-Карло. Без нейросети. Слабее пунктов на 200, чем обычный Комодо:
    http://www.computerchess.org.uk/ccrl/4040/cgi/engine_details.cgi?print=Details&each_game=1&eng=Komodo 12.1.1 MCTS 64-bit 4CPU#Komodo_12_1_1_MCTS_64-bit_4CPU

    P.S. Плюс, по-видимому, обычный Комодо в комплекте.
    Vladruss нравится это.
  10. Vladruss НедоКМС, победитель второразрядников.

    • Заслуженный
    • Ветеран
    Рег.:
    30.12.2009
    Сообщения:
    10.150
    Симпатии:
    3.348
    Репутация:
    329
    Нарушения:
    12
    Оффлайн
    Жулики и хапуги, короче.
    Sergey1983, Rom и Polarity нравится это.
  11. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.402
    Симпатии:
    1.766
    Репутация:
    68
    Адрес:
    Москва
    Онлайн
    А где можно скачать все PGN турнира тем, кто по ночам спит?
  12. Polarity Новичок

    • Новичок
    Рег.:
    24.04.2018
    Сообщения:
    46
    Симпатии:
    5
    Репутация:
    0
    Оффлайн
    Пойду свою нейросеточку обучу, за неделю думаю до уровня div4 уж точно дойдёт :D
    Rom нравится это.
  13. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    452
    Симпатии:
    149
    Репутация:
    21
    Онлайн
    Тем, кто рано встаёт... :)

    File => Save Event PGN
    http://tcec.chessdom.com/season13/live.php
  14. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.402
    Симпатии:
    1.766
    Репутация:
    68
    Адрес:
    Москва
    Онлайн
    Кончаются чернила,
    Заржавлена пила...
    Победу ЛИла слИла,
    Или ЛилА слилА?

    (к партии с Tucano)
    Последние данные очков репутации:
    Vladruss: 2 (Остроумно.) 4 авг 2018
    sovaz1997 и Vladruss нравится это.
  15. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    292
    Симпатии:
    35
    Репутация:
    1
    Онлайн
    Хорошее начало: далеко не самая последняя сеть LCZero обыграла Deus X.
    Sergey1983 нравится это.
  16. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    452
    Симпатии:
    149
    Репутация:
    21
    Онлайн
    Теперь я понимаю, почему авторы Альфа Зеро старались не использовать стандартные контроли времени.

    106. f4??


  17. pavelgttfj8 Новичок

    • Новичок
    Рег.:
    07.12.2017
    Сообщения:
    48
    Симпатии:
    11
    Репутация:
    0
    Оффлайн
    Им наверное вообще лень было писать тайм-менеджер, они же не для турниров создавали А0. А в Лиле очевидно он не идеален
  18. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    452
    Симпатии:
    149
    Репутация:
    21
    Онлайн
    Идеален-не идеален, а в затянувшихся окончаниях всё равно придётся играть на добавлении. У обычных движков в TCEC (не топов), кстати, такие проколы тоже случались, но гораздо реже.

    P.S. Не зря народ в чате вспоминал известную партию Накамуры против Рыбы на сервере ICC. В той партии Накамура, играя в блиц без добавления времени, и используя pre-move, сначала заставил Рыбку играть на микросекундах, чем низвёл её до уровня третьеразрядника, а затем легко обыграл.
  19. Mustitz Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    30.09.2006
    Сообщения:
    2.739
    Симпатии:
    224
    Репутация:
    13
    Адрес:
    Киев
    Оффлайн
    Ну... стиль игры программы, имхо, в большей степени характеризуется алгоритмом MCTS, чем нейросетью. Мой опыт применения MCTS в шашках даёт достаточно человечную (имхо) игру при полном рандоме в роллауте.

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

    • Новичок
    Рег.:
    24.04.2018
    Сообщения:
    46
    Симпатии:
    5
    Репутация:
    0
    Оффлайн
    Как мне кажется, на практике можно условно сказать либо "вот это программа сильная, надо предсказывать нейронкой её ходы", либо "вот эта программа оценивает хорошо, поэтому учим оценивать так же хорошо, а из оценки можно вывести наилучший ход".

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

    Гораздо вероятней выглядит гипотеза, что ASilver просто скачал последние игры Lc0, и запустил скрипты для обучения маленькой нейросети. Что кстати уже проделывали некоторые энтузиасты в дискорде и до него.
  21. Mustitz Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    30.09.2006
    Сообщения:
    2.739
    Симпатии:
    224
    Репутация:
    13
    Адрес:
    Киев
    Оффлайн
    Ну... ИМХО, задача нейросети выдавать не сколько чтобы выдавать лучший ход, а в том, чтобы не отсекать заслуживающие внимания. Потому как за нейросетью стоит MCTS, который при помощи перебора сам разберёться, какой ход хороший а какой плохой в данных конкретных обстоятельтсвах. Предположим, что есть некоторая позиция
    Screenshot from 2018-08-06 11-14-34.png
    Является ли тут ход 10... Bxh2+ наилучшим? Для нейросети ответить на этот вопрос без крайне сложно (даже невозможно), но ей это и не нужно — главное включить этот ход в список ходов-кандидатов.
  22. Polarity Новичок

    • Новичок
    Рег.:
    24.04.2018
    Сообщения:
    46
    Симпатии:
    5
    Репутация:
    0
    Оффлайн
    Думаю, качество игры будет от этого заметно страдать. Как говорится, мусор на входе - мусор на выходе.
    Ах да, если брать этот подход с кандидатами, то ещё для lc0 нужно откуда-то взять Value Head, чтобы оценить позицию после MCTS симуляций.
    Как ни крути, вопросов больше чем ответов. Причём попытки что-нибудь разъяснить, как правило, порождают ещё больше вопросов :)
  23. Polarity Новичок

    • Новичок
    Рег.:
    24.04.2018
    Сообщения:
    46
    Симпатии:
    5
    Репутация:
    0
    Оффлайн
    Интересный матч

  24. pavelgttfj8 Новичок

    • Новичок
    Рег.:
    07.12.2017
    Сообщения:
    48
    Симпатии:
    11
    Репутация:
    0
    Оффлайн
    Нормально так DeusX Wasp раскатал


    Интересна оценка обоих движков по ходу игры.

    [​IMG]

    [Event "TCEC Season 13 - Division 4"]
    [Date "2018.08.07"]
    [Round "17.1"]
    [White "DeusX 1.0"]
    [Black "Wasp 3.2"]
    [Result "1-0"]
    [BlackElo "2964"]
    [ECO "C11"]
    [GameDuration "01:10:46"]
    [GameEndTime "2018-08-07T07:00:23.047 W. Europe Standard Time"]
    [GameStartTime "2018-08-07T05:49:36.921 W. Europe Standard Time"]
    [Opening "French"]
    [PlyCount "122"]
    [Termination "adjudication"]
    [TerminationDetails "TCEC win rule"]
    [TimeControl "1800+10"]
    [Variation "Steinitz, Boleslavsky variation"]
    [WhiteElo "3200"]

    1.e4 e6 2.d4 d5 3.Nc3 Nf6 4.e5 Nfd7 5.f4 c5 6.Nf3 Nc6 7.Be3 Be7 8.Qd2 a6 9.dxc5 Bxc5 10.Bxc5 Nxc5 11.a3 O-O 12.b4 Nd7 13.Bd3 Qc7 14.O-O Nb6 15.Qf2 h6 16.Rae1 Bd7 17.g4 Ne7 18.Ne2 Nc4 19.Qh4 Bb5 20.a4 Bxa4 21.Ned4 Nb2 22.f5 Nxd3 23.cxd3 Bb5 24.Re3 exf5 25.gxf5 f6 26.Kh1 Bxd3 27.Rxd3 fxe5 28.Ne6 Nxf5 29.Qe1 Qc4 30.Rc3 Qe4 31.Nxf8 Rxf8 32.Rg1 Qxe1 33.Rxe1 e4 34.Ne5 Re8 35.Ng6 d4 36.Rc5 Ne3 37.Re5 Kf7 38.Rxe8 Kxe8 39.Nh4 Kd7 40.Ng2 Ng4 41.Kg1 Nf6 42.Rd1 d3 43.Ne3 Kc6 44.Kf2 b6 45.Ke1 a5 46.bxa5 bxa5 47.Kd2 Kc5 48.Rc1+ Kb5 49.Rc7 Ne8 50.Rd7 a4 51.Kc3 a3 52.Ra7 Nd6 53.Rxa3 Kc5 54.Ra5+ Nb5+ 55.Kd2 Kb4 56.Ra8 Na3 57.Re8 Nb1+ 58.Kc1 Nc3 59.Nd1 Nd5 60.Rxe4+ Kc5 61.Kd2 Kd6 {White wins by adjudication: TCEC win rule}
    1-0

    [​IMG]
    [​IMG]
  25. Jadn Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    10.05.2006
    Сообщения:
    2.945
    Симпатии:
    670
    Репутация:
    27
    Оффлайн
    Очень хорошо чувствует закрытые позиции. Можно еще посмотреть победу против Айвенго в этом же варианте.

  26. Polarity Новичок

    • Новичок
    Рег.:
    24.04.2018
    Сообщения:
    46
    Симпатии:
    5
    Репутация:
    0
    Оффлайн
    На текущий момент самая быстрая победа в дивизионе против одного из лидеров: https://lichess.org/Nqz6uYKV
  27. pavelgttfj8 Новичок

    • Новичок
    Рег.:
    07.12.2017
    Сообщения:
    48
    Симпатии:
    11
    Репутация:
    0
    Оффлайн
    15. .. f5
    Wasp обезумел
  28. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.402
    Симпатии:
    1.766
    Репутация:
    68
    Адрес:
    Москва
    Онлайн
    Есть сильное подозрение, что DeusX не разрешат играть в третьем дивизионе, даже если он займет одно из первых двух мест:
    https://blog.lczero.org/2018/08/07/mistake/
  29. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    292
    Симпатии:
    35
    Репутация:
    1
    Онлайн
    Мне кажется, что если только в следующем сезоне
  30. Mustitz Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    30.09.2006
    Сообщения:
    2.739
    Симпатии:
    224
    Репутация:
    13
    Адрес:
    Киев
    Оффлайн
    Вопрос скорее в том, насколько DeusX отличается от Leela? Структура сети, количество симуляций, количество совпадающих ходов?
  31. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    292
    Симпатии:
    35
    Репутация:
    1
    Онлайн
    Например, Leela, которая будет играть в следующем дивизионе, будет очень сильно отличаться от той, которая играет сейчас. Также и Deus X отличается - размером сети и весами.
  32. Polarity Новичок

    • Новичок
    Рег.:
    24.04.2018
    Сообщения:
    46
    Симпатии:
    5
    Репутация:
    0
    Оффлайн
    Он наверняка не менял структуру сети, т. к. пришлось бы сильно переписывать код. Да и не факт, что другая структура сети будет хоть как-то сносно учиться.
    За симуляции во время игры отвичает движок Lc0. А во время обучения он не мог запускать симуляции, у него не хватило бы просто ресурсов.
    Вот интересно было бы посмотреть на совпадающие ходы, я вроде бы уже предлагал идею, не знаю кто-либо проверял или нет. У меня к сожалению нет в данный момент мощных GPU под рукой, чтобы это сделать самостоятельно.
    Я до сих пор считаю, что он скачал партии с сайта Лилы и запустил уже написанные скрипты за него, чтобы натренировать сеть меньшего размера.
    sovaz1997 нравится это.
  33. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    292
    Симпатии:
    35
    Репутация:
    1
    Онлайн
    В последней партии и Deus X, и последние версии LCZero в равном эндшпиле давали себе большой перевес.
  34. Neo94 Учаcтник

    • Участник
    Рег.:
    15.11.2014
    Сообщения:
    419
    Симпатии:
    139
    Репутация:
    -6
    Оффлайн
    Результаты партий у деуса и лейлы с одними и теми же соперниками весьма и весьма разные - http://tcec.chessdom.com/season13/live.php
    Вряд ли там так уж много совпадает, хотя может, что если смотреть сами встречи, то выйдет и ближе к вашей версии.
  35. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.402
    Симпатии:
    1.766
    Репутация:
    68
    Адрес:
    Москва
    Онлайн
    Да, вот это немного раздражает в нейросетевых программах. Играют чрезвычайно сильно, но оценка зачастую к действительности не имеет никакого отношения. Для анализа их пока использовать трудно.

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