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

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

  1. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    550
    Симпатии:
    203
    Репутация:
    21
    Оффлайн
    Да, коми везде лучше ставить 7,5. Получается что де юре 4 камня, это по факту 3 камня. Я пишу де юре, потому что так везде пишут.
  2. Boroda Новичок

    • Новичок
    Рег.:
    12.01.2018
    Сообщения:
    62
    Симпатии:
    8
    Репутация:
    0
    Оффлайн
    Провел матч из 10 игр Рыбка 4 против Лилы, время 40мин +5 сек на ход. Итог +6 -1 =3 в пользу Рыбы. Если честно, я ожидал худшего результата. Думаю Карлсен такое вряд ли сможет повторить! Стоит еще отметить, что на моем компе нет видюхи!
    Лила почему то всё время торопилась, сколько не смотрел игры, у неё почему то всегда оставалось в запасе 10-15 мин.
    Пломбир нравится это.
  3. Пломбир Новичок

    • Новичок
    Рег.:
    09.04.2018
    Сообщения:
    35
    Симпатии:
    25
    Репутация:
    0
    Оффлайн
    Я сколько не делал матчи, то вывод такой: чем больше контроль времени, тем сильнее играет против обычных переборных движков. AlphaZero играла с перебором 80к узлов в секунду = 4,8 миллиона в минуту. Сейчас на домашнем компе это сделать не реально, даже если у тебя ферма из видюх.
    А игру в блиц даже не хочется смотреть - очень слабо играет. До третьего стокфиша еще очень и очень далеко.

    Я сейчас запускал старую легкую сеть №205 против сегодняшней "выскочки" №253.
    Результат: +7-3=0 в пользу более старой лёгкой сети. Контроль 10 сек/ход. А у 253-ей сети, на минуточку, +283 пункта по графику. Что это? ))) То есть скорость перебора пока решает.
    Сейчас увеличил время на ход пропорционально nps у сетей.. И да, результат получается другой: новая сеть выигрывает. Но блин...
    Поставлю пожалуй минуту на ход у обеих. Посмотрим..
    Boroda нравится это.
  4. Пломбир Новичок

    • Новичок
    Рег.:
    09.04.2018
    Сообщения:
    35
    Симпатии:
    25
    Репутация:
    0
    Оффлайн
    Прогресс лилы:
    - желтый - игра сама с собой (по правой шкале)
    - синий - игра против разных стокфишей 48 + 0,2
    - сиреневый - игра против разных движков 60 + 1 + дебютная книга до 10 ходов
    Сверху - это уровни стокфиша 9 по этим разным версиям
    При игре "сама с собой" небольшой рост есть, но фактически пока стоим на месте.
    Прогресс лилы.png
    Michael-13, Sergey1983 и svoitsl нравится это.
  5. crem Учаcтник

    • Участник
    Рег.:
    24.11.2016
    Сообщения:
    126
    Симпатии:
    156
    Репутация:
    13
    Оффлайн
    Со стокфишами сейчас проблема в том, что в отличие от предыдущих уровней, между уровнем 19 и (максимальным) 20 слишком большая разница.
    И уровень 19 Lc0 обыгрывает достаточно уверенно (если хотя бы секунд 10-20 на ход контроль времени), а уровню 20 без шансов проигрывает.
    Пломбир нравится это.
  6. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    168
    Симпатии:
    29
    Репутация:
    1
    Оффлайн
    И эта большая разница не позволяет отследить динамику Лилы?
    В этом проблема?
  7. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    168
    Симпатии:
    29
    Репутация:
    1
    Оффлайн
    Наверное имеется в виду настройка Стокфиша Skill Level

    Вложения:

    • st.png
      st.png
      Размер файла:
      12 КБ
      Просмотров:
      673
  8. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    168
    Симпатии:
    29
    Репутация:
    1
    Оффлайн
    Так ведь её тестируют сравнивая её силу игры с силой игры других движков с известным Эло, при большой разнице точность падает. Но я тоже что то не встречал оценку силы игры Стокфиша при разных Skill Level.
  9. Пломбир Новичок

    • Новичок
    Рег.:
    09.04.2018
    Сообщения:
    35
    Симпатии:
    25
    Репутация:
    0
    Оффлайн
    Итак, вчера запустил №205 против №253. Разница между ними по графику 283 пункта в пользу новой сети.
    Игры на CPU
    При 10 сек/ход: +7-3=0 в пользу старой сети.
    При 1 мин/ход: +1-0=9 в пользу старой сети.

    Версия движка 0,8. Базы не применял. Кэш 1 Gb.
    В большинстве позиций при 1 мин/ход "тяжелая" новая сеть рассматривала от 9 до 14 к узлов. При этом "легкая" старая версия от 17 до 400 к узлов (вероятно из кэша брала).
    На GPU может результат другой будет, но проверить не могу.

    Если поставить игру на рассмотрение равного количества узлов, то результат в пользу новой сети. Но время же бесплатно никто не даст :)
    Undying нравится это.
  10. Michael-13 Господин

    • Участник
    Рег.:
    18.11.2011
    Сообщения:
    2.969
    Симпатии:
    1.042
    Репутация:
    29
    Оффлайн
  11. crem Учаcтник

    • Участник
    Рег.:
    24.11.2016
    Сообщения:
    126
    Симпатии:
    156
    Репутация:
    13
    Оффлайн
    В v0.10 пофикшен серьёзный баг, который был в коде давно, но скорее всего был усилен изменениями в v0.8.
    Он генерировал плохие тренировочные данные, и объясняет многочисленные зевки и остановку роста рейтинга. Все переходите на v0.10. :)
    Пломбир и Rom нравится это.
  12. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    168
    Симпатии:
    29
    Репутация:
    1
    Оффлайн
    Спасибо. Вот только не понятно как cuda версией пользоваться для обучения, она все же по шустрее будет.
    (или её пока лучше не пользоваться?)
  13. crem Учаcтник

    • Участник
    Рег.:
    24.11.2016
    Сообщения:
    126
    Симпатии:
    156
    Репутация:
    13
    Оффлайн
    Она умеет генерировать игры, но client.exe пока не умеет их отсылать. Поэтому для обучения пока не получится пользоваться.
    Но потом скорее всего только эту версию и оставят (когда она научится и через openCL работать).
  14. Sergey1983 Учаcтник

    • Участник
    Рег.:
    03.04.2018
    Сообщения:
    126
    Симпатии:
    14
    Репутация:
    1
    Оффлайн
    Crem, я правильно понял что уберут версию для CPU? Может не стоит, не у всех ведь видеокарта поддерживает openCL или Cuda.
  15. crem Учаcтник

    • Участник
    Рег.:
    24.11.2016
    Сообщения:
    126
    Симпатии:
    156
    Репутация:
    13
    Оффлайн
    Версию для CPU не уберут. Уже есть версия lc0-cpu (через tensorflow), только я её ещё не собрал под windows, так чтобы при этом она не хотела cudnn.dll (которые на самом деле не нужны). Компилировать tensorflow то ещё занятие.

    А вот с openCL другое дело, её в lc0 не будет пока кто-нибудь не напишет этот бэкенд, либо перенесёт с lczero.
  16. Boroda Новичок

    • Новичок
    Рег.:
    12.01.2018
    Сообщения:
    62
    Симпатии:
    8
    Репутация:
    0
    Оффлайн
    Всё, Лила выбралась из ямы! Теперь будем надеятся на стабильный рост!
  17. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    168
    Симпатии:
    29
    Репутация:
    1
    Оффлайн
    увы, пока только в попугайских Эло, в реальных надо для этого ещё почти 90 Эло набрать, разве что к концу недели....
  18. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    168
    Симпатии:
    29
    Репутация:
    1
    Оффлайн
    А вот если обсудить такой вопрос....
    Может из за того, что много игр будет забраковано, не стоит ли вернуться к сети меньшей размерности (ну хоть к прежней 10х128)? Для неё скорость наигрывания почти в 2 раза выше, а перспективы роста пока есть (по крайней мере ещё 5-6 млн игр), может быть даже до 3100-3200 Эло. Ведь Лила из за ошибок существенно не дотягивала до роста A0.
    А уже через месяц перейти сразу на сеть большего размера (может даже 20х256, как А0), или того же самого (15х192)?
  19. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    550
    Симпатии:
    203
    Репутация:
    21
    Оффлайн
    Мне кажется скорость наигрывания партий сейчас вполне достаточная. Как я понимаю, Error323 сейчас пишет постоянный патч,
    2018-05-15 Update: We have a good theory (oversampling), and we have a temporary workaround in place (value_loss_weight changed to 0.25). Error is working on a permanent fix, see his plan.
    а пока он его напишет и проверит, набор партий будет уже в целом сформирован. В любом случае это вопрос нескольких дней.
  20. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.994
    Симпатии:
    2.214
    Репутация:
    86
    Адрес:
    Москва
    Оффлайн
    Как там прогресс, сколько до Стокфиша осталось?
  21. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    168
    Симпатии:
    29
    Репутация:
    1
    Оффлайн
  22. Sergey1983 Учаcтник

    • Участник
    Рег.:
    03.04.2018
    Сообщения:
    126
    Симпатии:
    14
    Репутация:
    1
    Оффлайн
  23. nn Учаcтник

    • Участник
    Рег.:
    25.03.2007
    Сообщения:
    777
    Симпатии:
    2.198
    Репутация:
    93
    Нарушения:
    20
    Оффлайн
    Reevaluation of artificial intelligence engine alpha zero, a self-learning algorithm, reveals lack of proof of best engine, and an advancement of artificial intelligence via multiple roots

    WinPooh нравится это.
  24. Boroda Новичок

    • Новичок
    Рег.:
    12.01.2018
    Сообщения:
    62
    Симпатии:
    8
    Репутация:
    0
    Оффлайн
    Мне вот интересно, почему такой перекос в игре у лилы?
    Дебют играет на уровне гросса, миттельшпиль играет уже невнятно, а эндшпиль просто провально! Нейросеть, что, реже играет эндшпили чем дебюты?
    И почему так странно распределяет время? Сколько не смотрел партии, всегда остаётся еще много время, а партия уже почти проиграна, казалось время есть, "сиди и думай" на здоровье, ан нет.
  25. hornet Учаcтник

    • Участник
    Рег.:
    05.11.2016
    Сообщения:
    209
    Симпатии:
    58
    Репутация:
    0
    Оффлайн
    Такое ощущение, что лила наигрывает 32 фигурную таблицу партий...:D
  26. crem Учаcтник

    • Участник
    Рег.:
    24.11.2016
    Сообщения:
    126
    Симпатии:
    156
    Репутация:
    13
    Оффлайн
    Это известная "статья" от "The University of Truth and Common Sense". :) Кроме этой статьи, это название вообще нигде не фигурирует, но похоже это какая-то фрическая организация вроде РАЕН.
  27. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    168
    Симпатии:
    29
    Репутация:
    1
    Оффлайн
    Так уж получается, что одновременно обучаются две, а то и три сети, а игры, которые обучают предыдущие сети текущую обучают тоже или оказываются бесполезными?
    И ещё, где можно что либо почитать про cudnn версии?
    А то вроде как я заметил новая версия так же не читает gz архив как и старая?

    И ещё такой вопрос
    Есть такая mkl_bmi2_popcnt версия
    Но как выяснилось последняя не может работать на SSE4.2, хотя по названию должна была бы....
  28. nn Учаcтник

    • Участник
    Рег.:
    25.03.2007
    Сообщения:
    777
    Симпатии:
    2.198
    Репутация:
    93
    Нарушения:
    20
    Оффлайн
    На название университета не обратил внимание. Также как и на несоответствие названия журнала теме. Убедился лишь, что статья не автосгенерирована несмотря на какой-то странный английский в тексте; стандартная критика в основном. А где она "известна"?
  29. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    550
    Симпатии:
    203
    Репутация:
    21
    Оффлайн
    Чем больше я размышляю об этой идее, тем более глубокой она мне кажется. Обобщающий объект (нейросеть) лучше всего должен тренироваться от обобщающего алгоритма (MCTS). То есть для обучения общим соображениям, интуиции, аппроксимации - назовите как хотите, которые обеспечивает нейросеть, лучшие тренировочные примеры должен генерировать именно обобщающий алгоритм. Например, проистекающий из метода Монте-Карло.

    MCTS в процессе перебора вариантов усредняет оценку, то есть обобщает решение для определенного класса позиций, что в нашем случае и требуется для обучения нейросети. У обычных движков, оценка позиции которых часто формируется серией единственных ходов, нет возможностей для генерации подходящих тренировочных примеров. Там рулит конкретика. Да, в конце концов конкретика понадобится, но только после обучения, в процессе игры. Но тогда нам и следует её обеспечить какими-либо дополнительными алгоритмами, но главное - вне процесса тренировки.

    Интересно, не являлся ли именно батчинг одной из важных составляющих быстрого роста силы Альфа Зеро с увеличением контроля? Накапливание позиций при наборе пакета приводит к эффекту эквивалентному уменьшению качества перебора при распараллеливании. Но "virtual loss" по-видимому должны заметно сглаживаться как при улучшении железа, так и при увеличении контроля. Для лучшего железа менее критично, сколько позиций оно оценивает параллельно. При большем контроле выше шансы найти позицию в кеше процессора и соответственно меньше шансов что она окажется не нужной. Кроме того, при увеличении дерева перебора будет сглаживаться эффект дискретности, который происходит от вливания в поиск целого пакета позиций, большинство из которых может быть уже и не нужны в этом поиске.
    WinPooh нравится это.
  30. Boroda Новичок

    • Новичок
    Рег.:
    12.01.2018
    Сообщения:
    62
    Симпатии:
    8
    Репутация:
    0
    Оффлайн
    А какую ориентировочную планку прогнозируют для Лилы разработчики? Превзойти Стокфишь, превзойти Альфу, превзойти 4000 Эло? Или пока ни каких прогнозов вообще нету?
  31. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    168
    Симпатии:
    29
    Репутация:
    1
    Оффлайн
    Помниться как то были надежды превзойти уровень человека, кажется на сети 10х128 (если я не ошибаюсь), худо-бедно но эта задача вполне выполняется и возможно скоро будет достигнута (правда на сети 15х192), вторая задача была превзойти Стокфишь, тут пока перспективы остаются неопределенными, но осторожный оптимизм все же есть.
    Ну а там видно будет.
    Boroda нравится это.
  32. Boroda Новичок

    • Новичок
    Рег.:
    12.01.2018
    Сообщения:
    62
    Симпатии:
    8
    Репутация:
    0
    Оффлайн
    Поставил матч из 10 игр, Рыбка4 против №306. 3мин+5 мин на ход. Счет пока +2-1=1 в пользу Рыбы. Партия которую выиграла лила просто класс! Уже после 9хода Лила показывала +1.09 и просто растерзав королевский фланг, к сороковому ходу разгромила Рыбу! И при этом имея колоссальный запас по времени!
  33. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    168
    Симпатии:
    29
    Репутация:
    1
    Оффлайн
    а на каком оборудовании и какая Лила играет?

    У меня матч на 30 партий (5'+20") закончился, Лила cudnn (id306) на GF730 играла против Рыбки 2.3.2а х64 4CPU
    (i5-4670, 3.4ГГц) с книжкой на 8 ходов
    Результат 20,5:9,5 в пользу Рыбки (+14-3=13)
    отсюда получаем рейтинг Лилы он всего на 131 ниже чем у Рыбки
    3019-131=2888 Эло
    Довольно не плохой результат
  34. Boroda Новичок

    • Новичок
    Рег.:
    12.01.2018
    Сообщения:
    62
    Симпатии:
    8
    Репутация:
    0
    Оффлайн
    Я там же написал что тоже №306.
    Оборудование Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz with 15,9 GB Memory
    Но рыба у меня без книги играет!
  35. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    168
    Симпатии:
    29
    Репутация:
    1
    Оффлайн
    а сама Лила - обычная CPU?

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