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

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

  1. MS Михаил Семионенков

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    6.542
    Симпатии:
    3.361
    Репутация:
    175
    Оффлайн
    :)
  2. nn Старожил

    • Участник
    • Старожил
    Рег.:
    25.03.2007
    Сообщения:
    1.456
    Симпатии:
    3.108
    Репутация:
    124
    Оффлайн
    После сотни тысяч партий leela-chess-zero стара играть на 1000 эло сильнее. Из некоторых партий отсекает все лишнее, и они действительно заслуживали бы помещения в книгах. Но эти бесценные крупицы знаний были открыты человеком ранее
    http://162.217.248.187/game/53341
    Наверно, еще несколько тысяч эло и доберется до уровня человека-начинающего. В Го, кажется, что-то около 5 тысяч эло между случайной игрой и начинающим.
  3. Rom Старожил

    • Участник
    • Старожил
    Рег.:
    12.02.2012
    Сообщения:
    644
    Симпатии:
    275
    Репутация:
    27
    Оффлайн
    Меньше. По крайней мере в отношении Лила Зеро.

    Прежде всего, реальное эло и эло самоигры соотносятся примерно как 1:3. Кроме того, могу подтвердить как новичок в игре 19х19, что непросто выиграть уже у сетки 860k (1732 эло самоигры от рандома) на переборе 1600 playouts/ход.

    Если верить этому ресурсу, то 860k соответствует примерно 28 кю традиционной шкалы. Для сравнения, 11 кю - это норма 3-го спортивного разряда ЕВСК и РФГ, 7 кю - 2-го разряда, конечно при всей условности сопоставления разных систем.
  4. SDChess Учаcтник

    • Участник
    Рег.:
    01.05.2006
    Сообщения:
    268
    Симпатии:
    61
    Репутация:
    6
    Оффлайн
    Хорошие новости от Геннадия Обухова! На этот раз Геннадий, давний партнер нашего сайта, хороший шахматный журналист, вдумчивый аналитик взялся за труд прокомментировать понятным даже для любителя языком партии недавно завершившегося матча Stockfish и AlphaZero. Напомню, что матч, о котором идет речь, прошел с контроле 1 мин/ход 4TPU ALphaZero против 64core Stockfish. AlphaZero выиграла W-D-L 28-72-0 (О железе, которое использовала программа AlphaZero мало что известно).
    Комментарии Геннадия Обухова, написаны живых ярким и образным языком, должны быть интересны даже тем, кто знаком с опубликованными партиями знаменитого матча, кроме того, Геннадий предлагает вашему вниманию мнения сильнейших шахматистов мира по этой теме... Посмотреть его материалы, которые он назвал "ШАХМАТНЫЙ ТЕРМИНАТОР: настоящее безумие" можно здесь.
    http://www.sdchess.ru/news.htm
    Launder, crem и sovaz1997 нравится это.
  5. crem Учаcтник

    • Участник
    Рег.:
    24.11.2016
    Сообщения:
    140
    Симпатии:
    203
    Репутация:
    14
    Оффлайн
    Кстати, если кому-то не жалко использовать вычислительные мощности своего компа для обучения lczero, можно запустить программу-клиента lczero чтобы она считала.
    Современный комп может просчитать где-то 3500-4000 партий за сутки, а комп, который был современным 5 лет назад — 1500-2000 партий.
    Сейчас там всего 10-15 постоянных пользователей, и в сумме они просчитывают всего около 20000 партий в день. Поэтому любая помощь ощутима.
  6. Rom Старожил

    • Участник
    • Старожил
    Рег.:
    12.02.2012
    Сообщения:
    644
    Симпатии:
    275
    Репутация:
    27
    Оффлайн
    Какая-то глючная у них программа. Bench для GPU и CPU категорически не совпадает. По крайней мере на моём компе. Нейросетку, тренированную на партиях людей, и которая в их тестах обыгрывает GnuChess (2800 эло), в состоянии обыграть даже я.

    P.S. Какого качества будет "помощь" при таких глюках, даже представить сложно.
  7. crem Учаcтник

    • Участник
    Рег.:
    24.11.2016
    Сообщения:
    140
    Симпатии:
    203
    Репутация:
    14
    Оффлайн
    Не понимаю что значит "Bench для GPU и CPU категорически не совпадает."
    Во-первых, там далеко не 2800 ELO, вообще не знаю откуда вы это взяли. Gnuchess запускался в режиме 30 ходов в минуту. Цели обыграть gnuchess не было, просто тестировали, что сеть способна учиться.
    Во-вторых, конечно в программе вероятно наличие ошибок, ведь проект совсем новый (хотя в последние пару дней всё спокойно). Исправление и обнаружение этих ошибок — это тоже часть процесса разработки/обучения, и для этого тоже нужны вычислительные мощности, и добавление вычислительных мощностей пододвигает дату, когда lczero заиграет хорошо.
  8. Rom Старожил

    • Участник
    • Старожил
    Рег.:
    12.02.2012
    Сообщения:
    644
    Симпатии:
    275
    Репутация:
    27
    Оффлайн
    При запуске bench-теста в консоли lczero, на одной и той же нейросети, с одинаковыми параметрами, на одном потоке (thread), без рандомизации, оценки позиции для GPU и CPU должны совпадать. Но у меня они кардинально отличаются. От "равно" до "выиграно". Причём если параметр -t прямо прописан в файле .bat, то bench-тест вылетает с ошибкой.

    Взял отсюда и начиная отсюда. Если сеть выигрывает у как минимум 2800 CCRL со счётом 8,5 - 1,5, то её уровень всяко должен быть очень приличный.

    Да, я знаю, и в целом вполне согласен. Только у меня есть некоторый отрицательный опыт в этом отношении. Четыре месяца назад, когда проект Лила Го Зеро ещё только начинался, я наиграл одну партию на пробу. Потратил на неё 8 часов. Дожидаясь её окончания, я полагал, что по крайней мере помогаю проекту. Но оказалось, что даже немного вредил :) . Впоследствии выяснилось, что на некоторых компьютерах OpenCL высчитывается некорректно, и до тех пор пока не была введена самопроверка, такие машины по сути добавляли в тренировочный набор партии с рандомными ходами.

    Может быть конечно я перестраховываюсь, но если версия для CPU (от 8 марта) сначала не хочет запускаться на CPU (её удалось принудить к этому только запуская с параметром --gpu 1), а потом на приличной нейросети с параметром -p 100 вчистую проигрывает даже 8-му (из 20-ти) уровню игры Стока, то вполне возможно, что с ней что-то не так.

    P.S. Ещё одна возможная проблема - версия для CPU, с параметром -t 2, загружает 4-ядерный процессор на 100%, а с параметром -t 1 примерно на 90%.
  9. nn Старожил

    • Участник
    • Старожил
    Рег.:
    25.03.2007
    Сообщения:
    1.456
    Симпатии:
    3.108
    Репутация:
    124
    Оффлайн
    На уровне 2700 в своих эло от нуля на глаз заметен, кажется, стал прогресс: LCZero научилась ставить мат в 1 ход. Мини-шедевр:
    http://162.217.248.187/game/331103
  10. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.490
    Симпатии:
    3.104
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Тем временем гошная Лила Зеро выиграла на равных у корейской профессионалки в отставке:
    https://online-go.com/game/12063810
  11. Zayats Без определенного статуса

    • Ветеран
    • Старожил
    Рег.:
    09.01.2007
    Сообщения:
    2.440
    Симпатии:
    1.646
    Репутация:
    154
    Оффлайн
    А почему черные в конце не пошли 259.s18 (вместо t14), защищая шесть полей в правом верхнем углу? Уже не имело значения?
  12. WinPooh В.М.

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

    • Участник
    • Старожил
    Рег.:
    12.02.2012
    Сообщения:
    644
    Симпатии:
    275
    Репутация:
    27
    Оффлайн
    Погонял немного Лилу в Чессмастере:
    Leela Chess w13.png

    В турнире игроков с рейтингом от 600 до 1000 неплохо смотрелась:
    w13 p200 R600-1000.PNG
    Контроль 200 позиций на ход, нейросеть номер 13.
  14. Zayats Без определенного статуса

    • Ветеран
    • Старожил
    Рег.:
    09.01.2007
    Сообщения:
    2.440
    Симпатии:
    1.646
    Репутация:
    154
    Оффлайн
    to WinPooh: На 1:10 видно, что кореянка удивилась - считала позицию безнадежной, а после "зевка" не вполне ясной. Но для движка, похоже, уже давно было понятно, что баланс везде положительный. Напоминает, как в шахматах какая-то программа заставила забрать ладью, дабы быстрее перейти к таблицам.

    Каждый волен выбирать свою шкалу, я, напр., предложил систему данов, определив ноль на границе любитель/профессионал и пронормировав обычные рейтинги из расчета 2 дан = 3000 (уровень современной элиты в отдельных партиях). Судя по росту процента ничьих, лет через 20 машины достигнут 9 дана и станут непобедимы.

    По здравому размышлению, однако, все эти оценки (Эло, используемая Leel'ой и пр.) надо признать попросту неудачными. Для игры, имеющей предел, гораздо нагляднее регрессивная шкала - чем меньше ошибок, тем меньше рейтинг. В идеале, к которому и стремимся - ноль, ничейная смерть.
  15. WinPooh В.М.

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

    [​IMG]
  16. crem Учаcтник

    • Участник
    Рег.:
    24.11.2016
    Сообщения:
    140
    Симпатии:
    203
    Репутация:
    14
    Оффлайн
    В тренировочных партиях LCZero часто делает случайные ходы вместо того, который считает лучшим, поэтому там часты грубые зевки.

    Партии между двумя поколениями сети, где этот механизм отключен, более похожи на шахматы: http://lczero.org/match/13
  17. crem Учаcтник

    • Участник
    Рег.:
    24.11.2016
    Сообщения:
    140
    Симпатии:
    203
    Репутация:
    14
    Оффлайн
    Можно поиграть с lczero по адресу http://play.lczero.org/
    Но он думает только пару милисекунд на ход, и играет на уровне ~1200 эло.
    Если дать секуду или три на ход, текущий уровень около 1500.
    —- добавлено: 23 мар 2018, опубликовано: 23 мар 2018 —-
    Если кто хочет поиграть с LCZero на своём компьютере, надо:

    1. Отсюда https://github.com/glinscott/leela-chess/releases скачать последний lczero.exe
    2. Из Leela Go (https://github.com/gcp/leela-zero/releases/download/v0.12/leela-zero-0.12-win64.zip) взять все .dll и скопировать туда где лежит lczero.exe
    3. Установить Microsoft Visualstudio redistributable, но большая вероятность что он уже установлен (https://go.microsoft.com/fwlink/?LinkId=746572)
    4. Скачать последнюю сеть отсюда: http://lczero.org/networks и распаковать
    5. Скачать какой-нибудь gui для шахмат (cutechess или arena, например)
    6. Добавить lczero.exe в качестве движка с параметром "-w путь/к/файлу/сети".

    И играть. :)
    Мне, будучи плохим игроком, играть с этим движком гораздо интереснее чем с обычными "плохими" движками, стиль игры очень напоминает человеческий.

    Если хотите помочь тренировке нейронной сети, пункты 1, 2 и 3 те же что выше, а дальше:

    4. Отсюда: https://github.com/glinscott/leela-chess/releases скачать последний client.exe и положить туда же, где и все файлы.
    5. Запустить client.exe

    Он автоматом выкачает последнюю сеть и начнёт тренировать.
    Michael-13 и Undying нравится это.
  18. crem Учаcтник

    • Участник
    Рег.:
    24.11.2016
    Сообщения:
    140
    Симпатии:
    203
    Репутация:
    14
    Оффлайн
    На http://play.lczero.org/ появился "медленный режим" (включается кнопкой "Enable Slow Mode").
    В этом режиме LcZero будет думать две секунды, но человеку можно делать ходы не чаще, чем раз в 30 секунд.
  19. svoitsl Учаcтник

    • Участник
    Рег.:
    06.01.2018
    Сообщения:
    374
    Симпатии:
    91
    Репутация:
    7
    Оффлайн
    я то вот захотел,а LCZero что то не очень.... вообще никакого желания, жаль.....
    думаю, что обучать его рано....
  20. nn Старожил

    • Участник
    • Старожил
    Рег.:
    25.03.2007
    Сообщения:
    1.456
    Симпатии:
    3.108
    Репутация:
    124
    Оффлайн
    Сыграл несколько быстрых on-line, подставляла что-нибудь в конце-концов или мат зевала. Сыграл медленную черными, там 20 секунд задержка, правда, для меня подумать дольше тоже, но как-то вообще никакого сопротивления. Странно.

    —- добавлено: 24 мар 2018 —-
    Тогда, сколько там - 1000 эло назад, это было почти незаметно. Сейчас действительно в матчах подставляет значительно реже, чем в тренировочных партиях. Вообщем, есть прогресс
  21. Rom Старожил

    • Участник
    • Старожил
    Рег.:
    12.02.2012
    Сообщения:
    644
    Симпатии:
    275
    Репутация:
    27
    Оффлайн
    Ещё один турнир в Chessmaster. На этот раз среди персонажей с рейтингом 1200-1600.

    Себ - Лила.jpg

    Относительно неплохой результат для Лилы. 9-е место из 12-ти. Особенно, если учитывать, что программа работала на одном ядре CPU, со скоростью всего 50 позиций в секунду. Играла нейросеть № 26.

    w26 R1200-1600.JPG

    Почти в каждой партии повторялся один и тот же сценарий. В дебюте соперники сдавали Лиле фигуру-другую. В концовке Лила эпически сливала подавляющий перевес. Вот один из типичных примеров:

  22. Michael-13 Господин

    • Участник
    • Старожил
    Рег.:
    18.11.2011
    Сообщения:
    3.068
    Симпатии:
    1.098
    Репутация:
    29
    Оффлайн
    Leela уверенно обыграла меня.
    Я - Leela. Time left before playing: 0s


    Впрочем, в следующей партии удалось взять матч-реванш:
    Я - Leela. Я опять белыми.

  23. crem Учаcтник

    • Участник
    Рег.:
    24.11.2016
    Сообщения:
    140
    Симпатии:
    203
    Репутация:
    14
    Оффлайн
    Оказывается, там был баг (lczero думало несколько милисекунд даже в slow mode). Теперь говорят что исправили.
  24. Michael-13 Господин

    • Участник
    • Старожил
    Рег.:
    18.11.2011
    Сообщения:
    3.068
    Симпатии:
    1.098
    Репутация:
    29
    Оффлайн
    Я - Leela ID 45
    Пока что программа не может реализовать лишнюю легкую фигуру.;) Ничья.

  25. Launder Новичок

    • Новичок
    Рег.:
    25.11.2016
    Сообщения:
    89
    Симпатии:
    22
    Репутация:
    1
    Оффлайн
    Ох хорошо бы всё это во вьюйер забабахать. Ибо без оного смотреть такое количество вариантов будет весьма муторно... Конечно, порезать по дереву полезно, фигурки по перемещать... Но, посколку, посмотрев его обзор, видно, что вариантов там много, вьюер, очень бы помог... Можно наверное, во вьюйере посмотреть, а где-то фигурки подвигать...
  26. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    116
    Симпатии:
    16
    Репутация:
    1
    Оффлайн
    Давно это было , классе в шестом , приболел и пропустил тему и конечно у доски промолчал , но обещал всё исправить к следующему уроку. Лезть в учебник было влом - попросил отца объяснить решение, на уроке все слушали меня открыв рот , потом учитель спросила - откуда это , ответил - отец объяснил , она говорит - такое решение вы будете проходить в десятом классе , а сейчас садись пять. Всё к тому ,что у AZ были сутки на создание собственной базы а у движка баз не было и Sf8 был образца 16-го года , в общем пока AZ может быть интересен как игрушка для программистов а не для шахматистов
  27. svoitsl Учаcтник

    • Участник
    Рег.:
    06.01.2018
    Сообщения:
    374
    Симпатии:
    91
    Репутация:
    7
    Оффлайн
    странно , что многие опрошенные шахматисты несколько иного мнения, а некоторые даже $100000 готовы выложить прямо сейчас (на момент интервью).
    И также многих удивляет стиль игры, некоторые даже утверждают что даже если бы SF дали гораздо больше времени он бы не заиграл так же как и AZ.
    То что AZ может и слабее за менее 1 суток обучения чем SF и по заявлению гугла не имеет значительных перспектив, вовсе не умаляет его достоинств.
    Launder нравится это.
  28. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    116
    Симпатии:
    16
    Репутация:
    1
    Оффлайн
    Кто то готов на дорогой лимузин а кто то на дорогую шахматную программу , а я о доступности , давать оценку неизвестному - это фантазии , когда будет AZ реализованный на ПК тогда и можно сравнивать , а пока это стимул для программистов
  29. Mustitz Заслуженный

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    30.09.2006
    Сообщения:
    3.544
    Симпатии:
    1.265
    Репутация:
    36
    Адрес:
    Киев
    Оффлайн
    Думаю, что готовы выложить не свои кровные, а спонсорские. Ну и эти слова надо рассматривать больше как пиар.
  30. Комсюк народный модератор

    • Заблокирован
    Рег.:
    17.07.2011
    Сообщения:
    19.148
    Симпатии:
    23.331
    Репутация:
    1.258
    Нарушения:
    31
    Оффлайн
    как пиар спонсоров...
  31. svoitsl Учаcтник

    • Участник
    Рег.:
    06.01.2018
    Сообщения:
    374
    Симпатии:
    91
    Репутация:
    7
    Оффлайн
    Похожий чем то на AZ движок LCZERO кажется хочет к концу апреля достичь человеческого уровня игры (~2800 ЭЛО), точнее на это надеются его разработчики (если все пойдет хорошо), но я в этом сомневаюсь,

    [​IMG]

    на есть и оптимисты

    [​IMG]

    Только вчера вышла более- менее (причем скорее менее) рабочая версия, которая хоть как то умеет двигать фигуры
  32. Rom Старожил

    • Участник
    • Старожил
    Рег.:
    12.02.2012
    Сообщения:
    644
    Симпатии:
    275
    Репутация:
    27
    Оффлайн
    • Небольшой блиц-тест Лилы с последними нейросетями. Независимым экспертом выступил Стокфиш 9, на 7-м уровне силы.

      Контроль 10 сек/партию +0,2 сек/ход. 3 партии одновременно. 1 ядро каждому сопернику. Скорость Лилы примерно 125 поз/сек. На один матч уходило около 80-ти минут:

      Leela Chess 63 vs Stockfish 9 L7: 51 - 307 - 42 [0.180] Elo difference: -263.42 +/- 40.53
      Leela Chess 56 vs Stockfish 9 L7: 37 - 317 - 46 [0.150] Elo difference: -301.33 +/- 42.41
    • Leela Chess 56 также сыграла в турнире Чессмастера, где набрала 3 очка из 5, и заняла 6 место из 12. Это её первый турнир "Экспертов". Соперниками были персонажи с рейтингами от 1600 до 2200. Лила играла на 2-х ядрах CPU, примерная скорость 300 поз/сек.
    Турниры Чессмастер.PNG

  33. svoitsl Учаcтник

    • Участник
    Рег.:
    06.01.2018
    Сообщения:
    374
    Симпатии:
    91
    Репутация:
    7
    Оффлайн
    То есть, насколько я понимаю, рост 40 ЭЛО за чуть более чем сутки?
    Конечно прирост будет скорее всего снижаться, но все равно за месяц вполне может быть 500 ЭЛО прироста, а сама прога будет играть в силу 2300 ЭЛО!!!
    А ещё через месяц 2500-2600 ! :)
  34. admd Заблокирован

    • Новичок
    • Заблокирован
    Рег.:
    14.06.2017
    Сообщения:
    71
    Симпатии:
    30
    Репутация:
    5
    Нарушения:
    30
    Оффлайн
    Leela катает на уровне разрядника.
    admd 1-0 Leela ID 55

  35. Rom Старожил

    • Участник
    • Старожил
    Рег.:
    12.02.2012
    Сообщения:
    644
    Симпатии:
    275
    Репутация:
    27
    Оффлайн
    Погрешность, как видите, высоковата, а наигрывать больше партий накладно по времени. Но если смотреть по другим тестам, то примерно так и есть. Конечно, как только сеть начнет "насыщаться знаниями", то скорость улучшений будет снижаться. Потом некоторое время потребуется, чтобы переключиться на сеть большей размерности. Кроме того, на крупной сети тренировочные партии будут наигрываться медленнее, из-за увеличения количества расчетов для оценки каждой позиции.

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