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

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

  1. Mustitz Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    30.09.2006
    Сообщения:
    2.783
    Симпатии:
    254
    Репутация:
    18
    Адрес:
    Киев
    Оффлайн
    Ну... там с окончаниями много нюансов. Во-первых, нейросеть имеет ограниченную мощность, которую лучше потратить на миттельшпильные позиции. Во-вторых, эндшпильных позиций меньше в обучающей выборке. В-третьих, эндшпиль сложен для игры, поэтому оценка для него берёться из статистики доигрываний, где велика вероятность ошибочного результата.
    sovaz1997 нравится это.
  2. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    570
    Симпатии:
    256
    Репутация:
    7
    Оффлайн
    В многофигурных эндшпилях Лила же сильно играет. А малофигурные проще намного.
    --- добавлено: 21 сен 2018 ---
    Конечно, в силу таблиц Налимова нейронка играть не будет. Так в эту силу и алгоритмические движки не играют. Если нейронку обучить, то играть в малофигурных эндшпилях она будет очень сильно, но конечно не идеально.
  3. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    570
    Симпатии:
    256
    Репутация:
    7
    Оффлайн
    Если это окажется критичным, можно для эндшпилей отдельную нейронку натренировать и переключаться на нее, когда до эндшпиля дело доходит.
  4. WinPooh В.М.

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

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

    [​IMG]
    Последние данные очков репутации:
    Yury_Solomatin: 1 (Мне нравится эта картина!!!) 25 сен 2018
    Yury_Solomatin нравится это.
  5. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    570
    Симпатии:
    256
    Репутация:
    7
    Оффлайн
    Так в этом положении Лила досчитала до малофигурок и посчитала, что там все хорошо. Это все та же проблема.
  6. Kesandr Учаcтник

    • Участник
    Рег.:
    02.09.2008
    Сообщения:
    385
    Симпатии:
    12
    Репутация:
    11
    Оффлайн
    Да что тот рейтинг сегодня лила рухнул резко вниз. З чем ето связано? http://lczero.org
  7. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.527
    Симпатии:
    1.815
    Репутация:
    78
    Адрес:
    Москва
    Оффлайн
    Что-то они странное делают. Периодически с нуля начинают обучать...
    Нормальный график самообучения должен выглядеть вот так, как у настоящей Лилы, которая в Го играет: https://zero.sjeng.org/
    Последние данные очков репутации:
    Комсюк: 2 (за всё хорошее) 22 сен 2018
  8. Sergey1983 Учаcтник

    • Участник
    Рег.:
    03.04.2018
    Сообщения:
    124
    Симпатии:
    14
    Репутация:
    1
    Оффлайн
    Как я понял они изменили какой-то параметр в результате временное(?) падение силы игры.
  9. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    106
    Симпатии:
    14
    Репутация:
    0
    Оффлайн
    Интересно, а настройки обучения (и другие параметры ) масштабируются на сеть большего размера?
    Можно ли отработать все это дело например на сетях 6х64 и 10х128 и потом уже с этими настройками обучать большую сеть.
    Или так нельзя?
  10. KEV81 Учаcтник

    • Участник
    Рег.:
    06.03.2017
    Сообщения:
    529
    Симпатии:
    130
    Репутация:
    1
    Оффлайн
    Нет.
  11. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.527
    Симпатии:
    1.815
    Репутация:
    78
    Адрес:
    Москва
    Оффлайн
    Итак, после 20 партий (беру только этот этап) против первой тройки: 19 ничьих, 1 поражение.
    Кто-то ещё сомневается в том, что у программы из топ-3 данная версия выиграть не способна в принципе?
  12. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    570
    Симпатии:
    256
    Репутация:
    7
    Оффлайн
    С эндшпильными таблицами способна. Партия со Стокфишем это наглядно показала.

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

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.527
    Симпатии:
    1.815
    Репутация:
    78
    Адрес:
    Москва
    Оффлайн
    Ну, это из серии известных суждений об отличии бабушки от дедушки. Счёт - он на табло.

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

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    570
    Симпатии:
    256
    Репутация:
    7
    Оффлайн
    То что в принципе Лила способна обыграть движок из топ-3 сомнений уже никаких. И Комодо и Стокфиш спаслись чудом. Т.е. примерно в одной из десяти партий Лила получает большой перевес. А чудесные спасения вечными быть не могут.

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

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

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

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

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.527
    Симпатии:
    1.815
    Репутация:
    78
    Адрес:
    Москва
    Оффлайн
    Кстати, против Ethereal тоже ещё ни разу "не шмогла".
  16. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.527
    Симпатии:
    1.815
    Репутация:
    78
    Адрес:
    Москва
    Оффлайн
    И вдруг оказывается, что превосходства-то никакого и нет, если с определённого момента в партии не использовать костыль в виде алгоритмически же подсчитанных таблиц.

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

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    570
    Симпатии:
    256
    Репутация:
    7
    Оффлайн
    Ethereal Лила уже обыгрывала. На первом этапе. Но вообще Ethereal явно неудобный соперник для Лилы. После поражения он тут же отыгрался и больше пока не проигрывал.
    --- добавлено: 23 сен 2018, опубликовано: 23 сен 2018 ---
    Вы всерьез считаете, что нейронка в принципе не способна понять, что две связанные пешки и слон против коня не выигрывают?

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

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

    • Участник
    Рег.:
    06.03.2017
    Сообщения:
    529
    Симпатии:
    130
    Репутация:
    1
    Оффлайн
    Легко взглянуть на график прогресса лилы что бы понять что предел близок.
  19. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    Рег.:
    17.07.2011
    Сообщения:
    11.610
    Симпатии:
    11.396
    Репутация:
    686
    Нарушения:
    25
    Оффлайн
    не подтвердилось на Иммортале :)
  20. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.527
    Симпатии:
    1.815
    Репутация:
    78
    Адрес:
    Москва
    Оффлайн
    Вихляющийся туда-сюда на плюс-минус тысячу единиц график Лилы скорее наводит на мысль, что близка шизофрения.
  21. sovaz1997 Учаcтник

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

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

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

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    570
    Симпатии:
    256
    Репутация:
    7
    Оффлайн
    Во-первых, есть возможность чисто экстенсивного роста. Потенциал 4 V100 Лила сейчас использует процентов на десять. То есть в несколько раз еще точно ускорить можно. Во-вторых, откуда уверенность, что нынешняя версия Лилы обучена наилучшим образом. Разработчики всего месяц назад что-то подправили и получили сразу +150 пунктов к силе в сравнении с версией, которая в 4 дивизионе TCEC играла. В-третьих, обучение на играх с алгоритмическими движками выглядит очень перспективным направлением в плане увеличения практической силы игры.
    sovaz1997 нравится это.
  23. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.527
    Симпатии:
    1.815
    Репутация:
    78
    Адрес:
    Москва
    Оффлайн
    Хе-хе, в очередной раз убеждаюсь, какой я замечательный предсказатель.
    Сейчас, кажется, выиграет у Комодо :)
    В прошлый раз, помнится, я в 2007 предсказывал невозможность достижение силы про в Го в ближайшие лет 50.
    sovaz1997 и Undying нравится это.
  24. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    570
    Симпатии:
    256
    Репутация:
    7
    Оффлайн
    Вот она историческая победа. :)

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

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    352
    Симпатии:
    43
    Репутация:
    3
    Оффлайн
    LC0 и у Stockfish-а выигрывала в бонусе)

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

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

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

    • Заслуженный
    • Ветеран
    Рег.:
    17.07.2011
    Сообщения:
    11.610
    Симпатии:
    11.396
    Репутация:
    686
    Нарушения:
    25
    Оффлайн
    совсем шапку убирай, словами опишешь
  27. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    570
    Симпатии:
    256
    Репутация:
    7
    Оффлайн
    Когда есть прямая игра, Лила очень красиво играет. А вот когда нет, тогда ее бесконечные повторения ходов портят все эстетическое впечатление.

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

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    570
    Симпатии:
    256
    Репутация:
    7
    Оффлайн
    Все-таки Лилу надо честно обучать, без использования эндшпильных таблиц. А иначе в глубоком эндшпиле так и будут начинаться чудеса.

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



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

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.527
    Симпатии:
    1.815
    Репутация:
    78
    Адрес:
    Москва
    Оффлайн
    Я вот о чём задумался. В оригинальном препринте ДипМайнд сообщалось об универсальной программе, которая научилась играть и в шахматы, и в Го, и в сёги - архитектура сети и поиска одна и та же, только исходные данные разные, в виде правил и генераторов ходов. Энтузиасты написали сейчас по мотивам препринта реализации Лилы для шахмат и для Го, совершенно разные. А вот что с сёги? Кто-нибудь, интересно, пробовал написать зеро программу для этой игры? Правда, там информации для сравнения мало, даже партий не предоставили..
  30. Mustitz Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    30.09.2006
    Сообщения:
    2.783
    Симпатии:
    254
    Репутация:
    18
    Адрес:
    Киев
    Оффлайн
    Почему не выигрывают?



    1... Nf5 Loose in 25

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

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

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

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    570
    Симпатии:
    256
    Репутация:
    7
    Оффлайн
    Еще один глюк у Лилы в окончаниях. Проводя пешку она ставит ладью, а не ферзя. Например, в партии №229 с Андскашем. И это не первый раз такое уже.
    --- добавлено: 24 сен 2018, опубликовано: 24 сен 2018 ---
    В реальности использование таблиц при обучении привело к тому, что Лила в принципе не понимает, что одинокий слон не может сбить блокаду. Результат ничьи со Стокфишем и Этзереалем в абсолютно выигранных позициях. Причем, если в первом случае это не стало бы проблемой умей Лила пользоваться эндшпильными таблицами во время игры, то втором случае таблицы бы не помогли. Ничейный эндшпиль, который Лила считала абсолютно выигранным, 9 фигурный.
  32. Mustitz Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    30.09.2006
    Сообщения:
    2.783
    Симпатии:
    254
    Репутация:
    18
    Адрес:
    Киев
    Оффлайн
    А где это повлияло не результат? Возможно нейросеть помнит начальные партии, когда ферзь это больше шансов запатовать короля. А с тех пор это работает и настройки не менялись.
    --- добавлено: 24 сен 2018 ---
    Дык вроде как при обучении таблицы Налимова не использовались принципиально.
    Polarity нравится это.
  33. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    570
    Симпатии:
    256
    Репутация:
    7
    Оффлайн
    Может быть дело не в использовании таблиц Налимова, а в чем-то другом. Но как только дело доходит до глубокого эндшпиля Лила зачастую начинает играть в силу безразрядника. Сейчас с Гудини в этой позиции Лила смело разменяла ладьи:



    Не может нейронка прекрасно понимать миттельшпильные позиции и быть абсолютно бездарной в элементарных эндшпилях. Явно в каких-то грубейших недочетах обучения дело.
    --- добавлено: 24 сен 2018, опубликовано: 24 сен 2018 ---
    Насколько помню все чудеса в эндшпилях связаны с одинокими слонами. И у себя, и у соперника такого слона Лила часто оценивает удивительно неадекватно.
  34. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.527
    Симпатии:
    1.815
    Репутация:
    78
    Адрес:
    Москва
    Оффлайн
    Так, может, и никакого понимания миттельшпильных позиций нет? А есть просто случайно открывшаяся эксплуатация некоторых неочевидных багов альфа-бета подхода?
  35. Polarity Новичок

    • Новичок
    Рег.:
    24.04.2018
    Сообщения:
    50
    Симпатии:
    8
    Репутация:
    0
    Оффлайн
    Версия в CCCC обучалась без таблиц, емнип. Таблицы должны только всё усилить, чем лучше оценки, т. е. данные, тем лучше результат :)
    С таблицами мне видится только одна проблема. Обученная версия не будет уметь доигрывать до мата без таблиц, но это вроде бы и не проблема вовсе.
    Таблицы не добавили с самого начала кажется по 2 причинам.
    Во-первых, хотелось воспроизвести результаты DeepMind.
    Во-вторых, эта задача не имела высокий приоритет, т. к. всё работало и без них. И соответсвенно, на неё не хватало времени. Все пытались создать минимально рабочую версию, без крупных багов, быстро обучающуюся, может быть местами недооптимизированную, а не пихать все крутые идеи сразу, бесконечно усложняя всё.
    Когда же Лила начала выходить на плато, то добавление таблиц стало вполне логичным шагом, чтобы получить дальнейший прирост в силе.
    Мой прогноз: когда таблицы (хотя бы 6-фигурные) будут добавлены в обучение, стокфиш начнёт сдавать лидерство, если конечно не получит ещё значительное усиление за это время :)

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