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

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

  1. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    649
    Симпатии:
    120
    Репутация:
    3
    Оффлайн
    7-е место. Arasan вылетает из 2-го дивизиона.
  2. Mustitz Заслуженный

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    30.09.2006
    Сообщения:
    3.544
    Симпатии:
    1.265
    Репутация:
    36
    Адрес:
    Киев
    Оффлайн
    Пока что бонусные партии, где тоже участвует Leela. Но почему-то играют больше Booot и Chiron.
  3. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.490
    Симпатии:
    3.104
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Решил проверить новую версию ЛЗ. В варианте для ЦПУ играет так себе - против текущей версии Греки набирает -400 Эло в блице 5 на 40, что даёт рейтинг порядка 2300-2350. Версия для ГПУ посильнее, на моей совсем не крутой видеокарте GTX 950 набирает +50 против самой первой Рыбки. То есть рейтинг где-то под 2850. Возьму в спарринг-партнеры для своей программы.
    Более длинные контроли попробую попозже, а пока уехал с семьёй к братушкам на Чёрное море :)
  4. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    649
    Симпатии:
    120
    Репутация:
    3
    Оффлайн
    У вас CUDA-версия движка?
    И ещё какая версия сети играет?
  5. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.490
    Симпатии:
    3.104
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Сеть скачивал последнюю, на момент пары дней назад. Версия программы для OpenCL.
  6. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    649
    Симпатии:
    120
    Репутация:
    3
    Оффлайн
    CUDA-версия где-то в 5 раз. У меня, правда, видеокарта ещё хуже (GTX 660). Она выдает около 100 nps в OpenCL-версии и около 600 в CUDA-версии для сетей 20x256
  7. crem Учаcтник

    • Участник
    Рег.:
    24.11.2016
    Сообщения:
    140
    Симпатии:
    203
    Репутация:
    14
    Оффлайн
    Это Lc0 с CPU и маленькой сетью. Пробовали запустить на GPU, но оно опять перегрелось.
  8. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    649
    Симпатии:
    120
    Репутация:
    3
    Оффлайн
    Разные подходы. Если за 6 месяцев LCero достигла уровня ТОП-движков, подход нельзя называть бесперспективным. Сравнивать Доту и шахматы немного странно, т. к. это полностью разные игры. Реалии таковы, что LC0 скоро подвинет коммерческих Komodo и Houdini на равном железе.
  9. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    649
    Симпатии:
    120
    Репутация:
    3
    Оффлайн
    Увы, когда пожар в доме, достаточно тяжело при этом играть в шахматы, а при этом еще кого-то обыгрывать.
    Там ведь все было куда хуже, чем даже потеря 80% мощности. Мне кажется, все должны просто забыть этот сезон с такими ляпами. Есть, конечно, категори людей, которые увидели одну партию и сделали вывод о не перспективности подхода. Через год, когда Lc0 обыграет Sf со счетом +16 -6 =78 прочитаете и поймете, кто был не прав ;)
  10. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    649
    Симпатии:
    120
    Репутация:
    3
    Оффлайн
    мошенница_сара, поддержка эндшпильных таблиц уже появилась. Да и сила игры в эндшпиле не так важна, как в миттельшпиле и дебюте. Обойдет ли LCZero Stockfish в самое ближайшее время? Вопрос непростой. Но сначала надо попасть в финал, вытеснив основных конкурентов, а после и за Stockfish браться :)
  11. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    1.316
    Симпатии:
    566
    Репутация:
    15
    Оффлайн
    Странная паника. Энтузиасты на коленке за полгода сделали принципиально новую программу, которая на дешевом железе уже играет на около топовом уровне. Прекрасный результат. Я ожидал много меньшего.

    С чем сравниваем? Переборные движки вообще в доту играть не умеют. Переборные алгоритмы годятся только для простых счетных игр типа шахмат. Даже в го переборные движки слабы, а нейронка легко человека обыграла. Конечно, когда дело доходит до сложных задач до человека нейронке далеко, но в сравнении с переборными алгоритмами это большой шаг вперед.
    Sergey1983 нравится это.
  12. svoitsl Учаcтник

    • Участник
    Рег.:
    06.01.2018
    Сообщения:
    374
    Симпатии:
    91
    Репутация:
    7
    Оффлайн
    все таки ранее не всегда хватало производительности для обучения, а с теорией и сейчас не важно...
    Пока она может рассчитывать на не около топовый, а за пределами топовой десятки, но это пока....
    Есть надежда что в эту десятку она все же войдет..... на топовом железе
    Думаю все таки не скоро ещё, если взять CPU для Komodo за хотя бы $100 и равного по цене GPU для LC0 то думаю что Komodo без особых затруднений выиграет.
    Она возможно выйдет уже в начале ноября.
  13. Пломбир Новичок

    • Новичок
    Рег.:
    09.04.2018
    Сообщения:
    35
    Симпатии:
    25
    Репутация:
    0
    Оффлайн
    Давайте так… если взять «сферический алгоритм в вакууме», то ясно, что алгоритм заточенный под одну задачу – гораздо эффективней, нежели общий алгоритм, способный выполнять многие функции и решать многие задачи. Успех нейросетей в том, что это общий алгоритм, хорошо работающий в плохо формализуемых задачах, когда быстрее и дешевле загнать на «обучение» миллионы примеров с конечным результатом, нежели выискивать вручную закономерности, выстраивая точный перебор.

    Успех нейросетевых технологий в игре в Го на мой взгляд обусловлен тем, что уровень человеческих знаний об этой игре (имхо) – ниже плинтуса. В игре Го уровень человеческого понимания находится где-нибудь в районе 15 века (если сравнивать с шахматами). Но я на этом не настаиваю.

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

    Что касается других игр (Дота и прочее). Создать общий алгоритм для решения таких задач сложнее потому, что длительность одной партии может занять гораздо больше времени, нежели партия в шахматы. И чтобы, к примеру, обучить сеть на 10 миллионах игр, может потребоваться 100 лет (цифры с потолка). Это проблема, которую решать «общими» принципами довольно сложно, требуется комбинировать подходы, обучать стадиями.. короче думать.. в общем, опять должен работать человеческий мозг, а компьютеру удостоена роль калькулятора. Скукота, а начало было таким вдохновляющим.

    Мне вообще все эти истории напоминают эпоху генетических подходов в программировании. Тогда тоже все думали, что пошел прорыв в сфере искусственного интеллекта, и что, дескать, программы будут эволюционировать сами… Но.. проблема комбинаторного взрыва не была решена тогда, и она не будет решена и в этот раз.
  14. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    649
    Симпатии:
    120
    Репутация:
    3
    Оффлайн
    Сейчас в бонусе, кстати, LCZero делает ничейки против Stockfish 8. Правда иногда проигрывает. Играет на слабом GPU (около 1kn/s)
  15. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    1.316
    Симпатии:
    566
    Репутация:
    15
    Оффлайн
    Для того, чтобы переборный алгоритм был эффективен задача должна иметь ограниченное число вариантов и простую оценку позиции. Шахматы под эти условия подходят. Го уже нет. И число вариантов слишком быстро растет и оценить позицию сложно. С более сложными задачами, хотя бы типа Доты, все совсем печально.

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

    Накопленные знания здесь совершенно не причем. Все что накопили за человеческую эпоху в шахматах в переборных движках не используется. В нейронных сетях тоже самое - самообучение оказалось эффективнее использования человеческого опыта.
  16. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    649
    Симпатии:
    120
    Репутация:
    3
    Оффлайн
    С такой скоростью (1kn/s) можно было ожидать и 00000000. Stockfish 8 сильнее последней версии Ethereal. Теперь просто ускорьте Lc0 в 20 раз и наблюдайте, как проиграет Stockfish 8, Ethereal, везунчик Arasan и остальные.
  17. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    1.316
    Симпатии:
    566
    Репутация:
    15
    Оффлайн
    И что не так? Счет 5.5 на 2.5, т.е. разница в рейтинге порядка 150 пунктов. При этом Стокфиш играет на проце за 8 килобаксов, а Лила на бюджетной видяхе, которая раз в 50 дешевле.
    sovaz1997 нравится это.
  18. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    649
    Симпатии:
    120
    Репутация:
    3
    Оффлайн
    K80, кстати, примерно столько же и стоит xD
    Но по скорости в 10-20 раз медленнее, чем даже 2x1080Ti, не говоря о том, что будет в следующем TCEC :)
  19. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    1.316
    Симпатии:
    566
    Репутация:
    15
    Оффлайн
    Разница в понимании шахмат нейронного и переборного движка впечатляет. Лила считает в 50 тысяч раз вариантов меньше, а играют практически на равных. В 11 партии в миттельшпиле Лила белыми красиво Стокфиш перекатала. Стокфиш себе показывал себе минус пешку, но в ничейный ладейник без пешки сумел соскочить.
  20. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.490
    Симпатии:
    3.104
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    "Понимание" - это когда бито-ничейный слоновник оценивают в "плюс три", ага.
  21. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    649
    Симпатии:
    120
    Репутация:
    3
    Оффлайн
    Теперь Lc0 на V100 запустили
  22. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    1.316
    Симпатии:
    566
    Репутация:
    15
    Оффлайн
    До человека нейронке по пониманию еще далеко. Гроссмейстер в понимании превосходит нейронку примерно в ту же 1000 раз, что нейронка превосходит переборные движки.
  23. Mustitz Заслуженный

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    30.09.2006
    Сообщения:
    3.544
    Симпатии:
    1.265
    Репутация:
    36
    Адрес:
    Киев
    Оффлайн
    Понимание в шахматах это прежде всего выбор хода, а не оценка позиции. Прилично играть можно и не оценивая позицию вообще :) Вообще для MCTS оценка позиции это отдельная задача, никак не связанная с силой игры. Так что для иллюстрации "непонимания" надо приводить позиции и ошибочный ход. А оценка вообще условность, не имеющая даже точного опеделения. Вот, например, начальная позиция. Какая у неё оценка и почему? Что эта оценка показывает?
    Undying нравится это.
  24. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    1.316
    Симпатии:
    566
    Репутация:
    15
    Оффлайн
    И не забывайте лилины оценки на 3 делить. Там сейчас просто формула пересчета вероятности победы, которую возвращает нейронка, в пешки, которые показываются на экране, неверная.
  25. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.490
    Симпатии:
    3.104
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Ну так кривая оценка рано или поздно приведёт к тому, что вместо выигранного ладейника с плюс два прога пойдёт в ничейный слоновник с плюс три. Конкретных примеров сейчас привести не могу, но в третьем дивизионе их было.
    Возражение насчёт эндшпильных таблиц не принимается. Если "понимания" нет при малом числе фигур, но есть при большом, то это какое то надувательство, а не "понимание".
  26. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    649
    Симпатии:
    120
    Репутация:
    3
    Оффлайн
    Думаю, как только Lc0 станет движком #1 в рейтинг-листах, все вопросы о "понимании" пропадут
  27. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.490
    Симпатии:
    3.104
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    А оценка начальной позиции - 0.00. Причём это даже не оценка, а точное теоретико-игровое значение :)
  28. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    1.316
    Симпатии:
    566
    Репутация:
    15
    Оффлайн
    А почему тогда белые побеждают чаще?
  29. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.490
    Симпатии:
    3.104
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Потому что в семействе идеальных партий у чёрных больше моментов, где надо отвечать единственными или почти единственными ходами.
  30. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.490
    Симпатии:
    3.104
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Сам с нетерпением жду этого момента. Дождусь ли...
  31. Mustitz Заслуженный

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    30.09.2006
    Сообщения:
    3.544
    Симпатии:
    1.265
    Репутация:
    36
    Адрес:
    Киев
    Оффлайн
    Это часто так в Alpha-Beta с минимаксом, но в MCTS это необязательно так. Начнём с того, что как таковой оценки в MCTS нет, есть только некоторое значение между 0 и 1 говорящее о том, какое среднее по палате количество очков было набрано в симулациях. И эта оценка смещённая, потому что в симуляции попадают не только наилучшие ходы, но также и плохие, но малоисследованые продолжения.

    Например, мы делаем ход 1. e2-e4. Допустим для этого хода было разыграно 100 симуляций. 20 симуляций пришлось на c7-c5 с результатом 10.5; 20 симуляций пришлось на e7-e5 с результатом 10.5, 15 симуляций приглось на e7-e6 с результатом 8.5, 15 симулаций на c7-c6 с результатом 9.0, и 30 симуляций на остальные ходы (d5, d6, Nf6, f5, h5, ...) где было набрано 21.5 очков.

    Тогда мы получаем оценку 10.5 + 10.5 + 8.5 + 9.0 + 21.5 = 60. Т. е. 60%, шансов на победу, или,скажем, +1 пешка. В то время как минимаксный двидок выдаст что-то вроде +0.05, потому как ходы f5, a5 вообще не повлияют на оценку.
    —- добавлено: 25 авг 2018 —-
    Получается, что тогда от движка мы вправе требовать только три вида оценок: 0, ½ и 1. В целом такую оценку достаточно просто взять у Leela (спускаемся по симуляциям в наибольшей статистикой и смотрим результат), вот только вряд ли такая оценка будет удовлетворять админов TCEC и просто пользователей.
  32. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.490
    Симпатии:
    3.104
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Но мы знаем, что в пределе минимакс сходится к идеальной оценке позиции и оптимальному PV. Значит, туда же должен сходиться и поиск по Монте-Карло. И ходы типа a5 должны в пределе прекратить попадать в симуляции.
  33. Polarity Новичок

    • Новичок
    Рег.:
    24.04.2018
    Сообщения:
    77
    Симпатии:
    17
    Репутация:
    0
    Оффлайн
    Нужно всегда помнить, что оценка позиции и выбор оптимального хода - связанные задачи. Если есть способ оценивать позиции, то можно просто перебрать все ходы и выбрать тот, который приводит к позиции с максимальной оценкой. Обратная задача (по распределению вероятностей на лучший ход научиться оценивать позицию) намного сложнее. Она допускает множество решений, но какую-то более-менее хорошую оценку попытаться восстановить всё равно можно.
    Если вы имеете виду применение аппарата теории игр, то это не так. А вернее, ещё человечеству неизвестно.
  34. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.490
    Симпатии:
    3.104
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Конечно, формально это не доказано. Но в том, что начальная позиция ничейна, сомнений примерно столько же, сколько было в утверждении теоремы Ферма до её доказательства Уайлсом.
  35. svoitsl Учаcтник

    • Участник
    Рег.:
    06.01.2018
    Сообщения:
    374
    Симпатии:
    91
    Репутация:
    7
    Оффлайн
    Скорее всего да, но вот когда,это пока не известно
    На примере A0 видно ,что рейтинг для сети размера 20х256 уже почти исчерпан и Lc0 вполне это подтверждает, даже если считать, что в тестовой сети немало ошибок и новая,которую начнут обучать в конце сентября, их (и других) будет лишена, все равно вряд ли её рейтинг заметно превысит рейтинг A0 (ну может на 50 Эло), а этого сильно мало,что бы достаточно уверенно обойти Стокфишь 10 на TCEC 14.
    Для перехода на большую сеть пока нет технических возможностей. И вряд ли они появятся в следующем году. А для рядовых, не обремененных большими деньгами, любителей шахмат классические движки ещё довольно долго будут опережать NN движки

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