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

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

  1. WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.124
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Если заменить текущую версию на кентавра с простейшим правилом: "если на доске больше, чем 8 (10, 12...) фигур, то включать Лилу, иначе включать Стокфиш" - такая программа явно шла бы сейчас на более высоком месте, чем 3-4.
    А полную гарантию, как известно, может дать только страховой полис. Да и то не всегда.
  2. WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.124
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Кстати, уже ведутся работы по обучению специальной сети для эндшпиля:
    https://github.com/dkappe/leela-chess-weights/releases/tag/Ender38
    Когда её отладят, видимо, наступит этап "прививания" этих весов к основной сети. Слышал, что с нейросетями такие штуки можно делать.
    Я, правда, вижу концептуальное препятствие: десятки терабайт точных эндшпильных таблиц сжать в небольшую нейросеть не получится чисто по теории информации. Для эндшпиля надо менять не только (не столько) оценку, но и алгоритм поиска. Впрочем, не скажу, что этот путь 100% тупиковый, попробовать, конечно, стоит.
  3. Undying Учаcтник

    • Участник
    Member Since:
    31.08.2016
    Message Count:
    1.316
    Likes Received:
    566
    Репутация:
    15
    Оффлайн
    Проще просто обучить Лилу малофигурным эндшпилям. После обучения они будут элементарны для нейронки.
    —- добавлено: 21 Sep 2018 —-
    Движки второго эшелона уже громит. А штамповать ничьи с топами тоже неплохо для начала.
  4. Sergey1983 Учаcтник

    • Участник
    Member Since:
    03.04.2018
    Message Count:
    126
    Likes Received:
    14
    Репутация:
    1
    Оффлайн
    WinPooh, нейросетка это не эндшпильные базы это скорее набор правил для игры в эндшпиле.
  5. WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.124
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    С движками Ethereal и Andscacs счёт пока тоже равный. Это какого эшелона движки - первого, второго, полуторного?
  6. WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.124
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Так в том-то и дело, что не для всех эндшпилей можно сформулировать чёткие правила. Простейший пример - ферзь против ладьи. Из брошюры Авербаха для начинающих все знают правила: отгоняйте ладью от короля, загоняйте короля в угол, угрожайте матом и вилкой. А на практике против компа, да ещё в блиц, эти правила вдруг не помогают. Потому что надо конкретику и знать, и считать. В более сложных окончаниях вообще наступает полный хаос.


    Мат в 72 хода. Выигрывает 1. Kh7, все остальные ходы - ничья.


    Мат в 262 хода.
  7. Mustitz Заслуженный

    • Заслуженный
    • Участник
    • Старожил
    Member Since:
    30.09.2006
    Message Count:
    3.547
    Likes Received:
    1.285
    Репутация:
    37
    Location:
    Киев
    Оффлайн
    Ну... там с окончаниями много нюансов. Во-первых, нейросеть имеет ограниченную мощность, которую лучше потратить на миттельшпильные позиции. Во-вторых, эндшпильных позиций меньше в обучающей выборке. В-третьих, эндшпиль сложен для игры, поэтому оценка для него берёться из статистики доигрываний, где велика вероятность ошибочного результата.
    sovaz1997 likes this.
  8. Undying Учаcтник

    • Участник
    Member Since:
    31.08.2016
    Message Count:
    1.316
    Likes Received:
    566
    Репутация:
    15
    Оффлайн
    В многофигурных эндшпилях Лила же сильно играет. А малофигурные проще намного.
    —- добавлено: 21 Sep 2018 —-
    Конечно, в силу таблиц Налимова нейронка играть не будет. Так в эту силу и алгоритмические движки не играют. Если нейронку обучить, то играть в малофигурных эндшпилях она будет очень сильно, но конечно не идеально.
  9. Undying Учаcтник

    • Участник
    Member Since:
    31.08.2016
    Message Count:
    1.316
    Likes Received:
    566
    Репутация:
    15
    Оффлайн
    Если это окажется критичным, можно для эндшпилей отдельную нейронку натренировать и переключаться на нее, когда до эндшпиля дело доходит.
  10. WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.124
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Ну вот, очередная ничья с Ethereal на подходе. Оценка Лилы +2, оценка Ethereal 0.00. На доске 11 фигур, то есть до таблиц ещё очень далеко.
    Я понял, что мне напоминает стиль Лилы - это пресловутое "накопление позиционных преимуществ" в своём самом худшем смысле. Вот здесь у нас защищённая проходная, вот здесь ладью на открытой линии поставили, вот ещё король централизован - давайте себе +5 или +10 нарисуем. А, что, не выигрывается? КЛЯТЫЕ ТАБЛИЦЫ НАЛИМОВА!

    Визуальной аналогией может служить, например, вот такой образец творчества нейронных сетей. Вроде, в каждом отдельном месте всё правильно нарисовано, а в сумме лажа какая-то :)

    [​IMG]
    Yury_Solomatin likes this.
  11. Undying Учаcтник

    • Участник
    Member Since:
    31.08.2016
    Message Count:
    1.316
    Likes Received:
    566
    Репутация:
    15
    Оффлайн
    Так в этом положении Лила досчитала до малофигурок и посчитала, что там все хорошо. Это все та же проблема.
  12. Kesandr Учаcтник

    • Участник
    Member Since:
    02.09.2008
    Message Count:
    464
    Likes Received:
    35
    Репутация:
    11
    Оффлайн
    Да что тот рейтинг сегодня лила рухнул резко вниз. З чем ето связано? http://lczero.org
  13. WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.124
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Что-то они странное делают. Периодически с нуля начинают обучать...
    Нормальный график самообучения должен выглядеть вот так, как у настоящей Лилы, которая в Го играет: https://zero.sjeng.org/
  14. Sergey1983 Учаcтник

    • Участник
    Member Since:
    03.04.2018
    Message Count:
    126
    Likes Received:
    14
    Репутация:
    1
    Оффлайн
    Как я понял они изменили какой-то параметр в результате временное(?) падение силы игры.
  15. svoitsl Учаcтник

    • Участник
    Member Since:
    06.01.2018
    Message Count:
    374
    Likes Received:
    91
    Репутация:
    7
    Оффлайн
    Интересно, а настройки обучения (и другие параметры ) масштабируются на сеть большего размера?
    Можно ли отработать все это дело например на сетях 6х64 и 10х128 и потом уже с этими настройками обучать большую сеть.
    Или так нельзя?
  16. WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.124
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Итак, после 20 партий (беру только этот этап) против первой тройки: 19 ничьих, 1 поражение.
    Кто-то ещё сомневается в том, что у программы из топ-3 данная версия выиграть не способна в принципе?
  17. Undying Учаcтник

    • Участник
    Member Since:
    31.08.2016
    Message Count:
    1.316
    Likes Received:
    566
    Репутация:
    15
    Оффлайн
    С эндшпильными таблицами способна. Партия со Стокфишем это наглядно показала.

    А чтобы реально прорыв был. Надо все-таки нейронку на играх с алгоритмическими движками тренировать.
  18. WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.124
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Ну, это из серии известных суждений об отличии бабушки от дедушки. Счёт - он на табло.

    Вообще, я считаю эндшпильные таблицы в данном контексте читерством.
    Нейросеть должна познавать глубинные законы шахмат. Если она не может этого сделать для простейшего класса позиций, то чего стоят её выводы в более сложных случаях?
  19. Undying Учаcтник

    • Участник
    Member Since:
    31.08.2016
    Message Count:
    1.316
    Likes Received:
    566
    Репутация:
    15
    Оффлайн
    То что в принципе Лила способна обыграть движок из топ-3 сомнений уже никаких. И Комодо и Стокфиш спаслись чудом. Т.е. примерно в одной из десяти партий Лила получает большой перевес. А чудесные спасения вечными быть не могут.

    Читерство в другом. Все движки играют с эндшпильными таблицами, а Лила почему-то без. Соперники в неравным условиях находятся.

    Это вы сами придумали. Задача чисто практическая. Показать превосходство нейросети над алгоритмическом подходом даже в такой переборной игре как шахматы. Глубинность законов это дело десятое.

    Для этого Лилу надо на простейших позициях потренировать. А при обучении этого явно не делалось.

    И может быть это вообще большая ошибка. По крайней мере человек учится от простого к сложному. И если человеку в принципе не давать играть простые эндшпили (определяя всегда результат по таблицам), то мне кажется это приведет к каким-то пробелам в его понимании шахмат, что может влиять даже на миттельшпиль. Конечно, может быть подобные аналогии между нейронкой и человеком неверны. Но я бы все-таки попробовал обучать нейронку честно без использования таблиц.
    WinPooh likes this.
  20. WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.124
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Кстати, против Ethereal тоже ещё ни разу "не шмогла".
  21. WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.124
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    И вдруг оказывается, что превосходства-то никакого и нет, если с определённого момента в партии не использовать костыль в виде алгоритмически же подсчитанных таблиц.

    Выскажу вообще крамольную мысль, что нынешние топ-программы уже вплотную подобрались к асимптотически недостижимому идеальному игроку, и дальнейшее усиление на достаточно большую величину просто невозможно.
  22. Undying Учаcтник

    • Участник
    Member Since:
    31.08.2016
    Message Count:
    1.316
    Likes Received:
    566
    Репутация:
    15
    Оффлайн
    Ethereal Лила уже обыгрывала. На первом этапе. Но вообще Ethereal явно неудобный соперник для Лилы. После поражения он тут же отыгрался и больше пока не проигрывал.
    —- добавлено: 23 Sep 2018, опубликовано: 23 Sep 2018 —-
    Вы всерьез считаете, что нейронка в принципе не способна понять, что две связанные пешки и слон против коня не выигрывают?

    Явно в партии со Стокфишем нейронка в первый раз в "жизни" такую позицию увидела.

    Далеко не подобрались. Кмс адвансер голый движок легко обыграет в матче. Потому что адвансер понимает в каких позициях алгоритмические движки плавают. А Лила не понимает, потому что нет у нее опыта игры с алгоритмическими движками.
  23. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.231
    Likes Received:
    23.509
    Репутация:
    1.266
    Оффлайн
    не подтвердилось на Иммортале :)
  24. WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.124
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Вихляющийся туда-сюда на плюс-минус тысячу единиц график Лилы скорее наводит на мысль, что близка шизофрения.
  25. sovaz1997 Учаcтник

    • Участник
    Member Since:
    30.08.2016
    Message Count:
    649
    Likes Received:
    120
    Репутация:
    3
    Оффлайн
    До предела еще очень далеко. Программы ошибаются (даже программы ТОП-уровня), нет идеального алгоритма. Да, они неплохо отсекают, но они не могут точно считать на ту глубину, которую они выдают. Есть позиция, которую половина ТОП-движков не решают (мат в 5 ходов там xD). Поставьте 32-фигурную базу и SF максимум 1-2 ничьи возьмет из 1000 партий.

    По поводу игры LCZero: ее сила очень близка к силе игры ТОП-3 на этом железе. Причем играет не самая лучшая сеть. Да, с тактикой у нее все очень плохо. Но она играет не в тактические шахматы, а в чисто позиционные. И тут она превосходит всех в позиционном понимании. То, что она видит 15 пешек в ничейном окончании - свойство алгоритма.

    Если за 6 месяцев программа практически достигла уровня Houdini и Komodo, то вряд ли она вдруг остановится в развитии. Проект по сути только начал свое развитие и мы не можем сказать, что будет через год. Давайте лучше дождемся и не будем делать предварительных выводов о том, что Lc0 никогда не достигнет уровня SF.
    —- добавлено: 23 Sep 2018 —-
    Предел близок для конкретной сети (20x256)
  26. Undying Учаcтник

    • Участник
    Member Since:
    31.08.2016
    Message Count:
    1.316
    Likes Received:
    566
    Репутация:
    15
    Оффлайн
    Во-первых, есть возможность чисто экстенсивного роста. Потенциал 4 V100 Лила сейчас использует процентов на десять. То есть в несколько раз еще точно ускорить можно. Во-вторых, откуда уверенность, что нынешняя версия Лилы обучена наилучшим образом. Разработчики всего месяц назад что-то подправили и получили сразу +150 пунктов к силе в сравнении с версией, которая в 4 дивизионе TCEC играла. В-третьих, обучение на играх с алгоритмическими движками выглядит очень перспективным направлением в плане увеличения практической силы игры.
    sovaz1997 likes this.
  27. WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.124
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Хе-хе, в очередной раз убеждаюсь, какой я замечательный предсказатель.
    Сейчас, кажется, выиграет у Комодо :)
    В прошлый раз, помнится, я в 2007 предсказывал невозможность достижение силы про в Го в ближайшие лет 50.
    sovaz1997 and Undying like this.
  28. Undying Учаcтник

    • Участник
    Member Since:
    31.08.2016
    Message Count:
    1.316
    Likes Received:
    566
    Репутация:
    15
    Оффлайн
    Вот она историческая победа. :)

    Для алгоритмических движков правильно предсказывали.
  29. sovaz1997 Учаcтник

    • Участник
    Member Since:
    30.08.2016
    Message Count:
    649
    Likes Received:
    120
    Репутация:
    3
    Оффлайн
    LC0 и у Stockfish-а выигрывала в бонусе)

    Чисто позиционно выиграла. Конечно, окончание партии Lc0 всегда затягивает.

    Сила игры Lc0 в данной конфигурации, может, и выше, чем у Komodo. Но может и нет. Слишком мало партий, чтобы сделать выводы. Опять же, не самая лучшая сеть играет.

    P. S. PGN опять не встраивается :(
  30. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.231
    Likes Received:
    23.509
    Репутация:
    1.266
    Оффлайн
    совсем шапку убирай, словами опишешь
  31. Undying Учаcтник

    • Участник
    Member Since:
    31.08.2016
    Message Count:
    1.316
    Likes Received:
    566
    Репутация:
    15
    Оффлайн
    Когда есть прямая игра, Лила очень красиво играет. А вот когда нет, тогда ее бесконечные повторения ходов портят все эстетическое впечатление.

    У Лилы явный синдром Леко. Сильным не проигрывает, у слабых не выигрывает. В матче даже против Стокфиша результат неочевиден, а против Комодо я бы однозначно на Лилу ставил. А вот в разношерстном турнире типа первого этапа cccc шансов на соперничество с топ-3 никаких.
    sovaz1997 likes this.
  32. Undying Учаcтник

    • Участник
    Member Since:
    31.08.2016
    Message Count:
    1.316
    Likes Received:
    566
    Репутация:
    15
    Оффлайн
    Все-таки Лилу надо честно обучать, без использования эндшпильных таблиц. А иначе в глубоком эндшпиле так и будут начинаться чудеса.

    Вот такую позицию Лила в партии с Этзереалем оценила как совершенно выигранную (-7.53) и смело перешла в нее из реально выигранной позиции:



    Подключение таблиц здесь не поможет. Эндшпиль 9 фигурный.
  33. WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.124
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Я вот о чём задумался. В оригинальном препринте ДипМайнд сообщалось об универсальной программе, которая научилась играть и в шахматы, и в Го, и в сёги - архитектура сети и поиска одна и та же, только исходные данные разные, в виде правил и генераторов ходов. Энтузиасты написали сейчас по мотивам препринта реализации Лилы для шахмат и для Го, совершенно разные. А вот что с сёги? Кто-нибудь, интересно, пробовал написать зеро программу для этой игры? Правда, там информации для сравнения мало, даже партий не предоставили..
  34. Mustitz Заслуженный

    • Заслуженный
    • Участник
    • Старожил
    Member Since:
    30.09.2006
    Message Count:
    3.547
    Likes Received:
    1.285
    Репутация:
    37
    Location:
    Киев
    Оффлайн
    Почему не выигрывают?



    1... Nf5 Loose in 25

    Моё мнение, что шахматы это конкретная игра, и надо считать варианты.
    —- добавлено: 24 Sep 2018, опубликовано: 24 Sep 2018 —-
    Ну... график роста силы AlphaZero выходил на плато примерно на этом уровне.

    Ещё раз (1) таблицы дадут более точную оценку в том числе для обучения; (2) таблицы увеличат число рассматриваемых вариантов.

    Предположим, что Leela на этапе обучения сыграла 100 ладейных окончаний с пешками «f» и «h». Поскольку она играла их без таблиц, то могла допускать ошибки при защите (допустить ошибку там легко), поэтому оценка этого окончания будет в целом как выиграно для сильнейшей стороны. И нейросеть будет обучаться на основании этой оценки. Ну а дальше Leela будет переходить в подобные окончания как технически выигранные. Таким образом таблицы окончаний увеличат силу на этапе обучения, дадут более точные оценки окончаний, что увеличит качество нейросети.
    Sergey1983 and Polarity like this.
  35. Undying Учаcтник

    • Участник
    Member Since:
    31.08.2016
    Message Count:
    1.316
    Likes Received:
    566
    Репутация:
    15
    Оффлайн
    Еще один глюк у Лилы в окончаниях. Проводя пешку она ставит ладью, а не ферзя. Например, в партии №229 с Андскашем. И это не первый раз такое уже.
    —- добавлено: 24 Sep 2018, опубликовано: 24 Sep 2018 —-
    В реальности использование таблиц при обучении привело к тому, что Лила в принципе не понимает, что одинокий слон не может сбить блокаду. Результат ничьи со Стокфишем и Этзереалем в абсолютно выигранных позициях. Причем, если в первом случае это не стало бы проблемой умей Лила пользоваться эндшпильными таблицами во время игры, то втором случае таблицы бы не помогли. Ничейный эндшпиль, который Лила считала абсолютно выигранным, 9 фигурный.

Share This Page