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

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

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

    • Заслуженный
    • Участник
    Рег.:
    30.09.2006
    Сообщения:
    2.851
    Симпатии:
    311
    Репутация:
    21
    Адрес:
    Киев
    Оффлайн
    Если это важно, можно доигрывать партию по таблицам и использовать её для обучения.
  2. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    714
    Симпатии:
    313
    Репутация:
    8
    Оффлайн
    Проблема, что Лила позицию, в которой блокада уже стоит на доске, оценивает как совершенно выигранную. При такой оценке сколько не считай варианты все равно сыграешь плохо.
  3. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.706
    Симпатии:
    1.951
    Репутация:
    83
    Адрес:
    Москва
    Оффлайн
    Обобщим: Лила неверно оценивает позиции, где защита достигается единственными или близкими к единственным ходами. В партиях с самой собой она отклоняется от правильной линии защиты, выигрывает за атакующую сторону, и на основании статистики получает неверную оценку. Этот эффект может проявляться как на этапе обучения (тогда смещённая оценка запоминается в весах сети), так и при собственно игре.
  4. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    714
    Симпатии:
    313
    Репутация:
    8
    Оффлайн
    Не в этом дело. Судя по партиям с Стокфишем и Этзереалем Лила считает позицию абсолютно выигранной, видя, что фигуры противника скованы, а у нее есть свободная фигура. Не понимая, что этот свободный слон не может ни на что напасть.

    ps
    Интересно было бы сравнить, что Деус думает об этих позициях.
  5. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    419
    Симпатии:
    57
    Репутация:
    3
    Оффлайн
    Deus X очень слаб по сравнению с Lc0 на данный момент. Кстати, Lc0 2-й раз обыграла Komodo в CCCC.
  6. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    714
    Симпатии:
    313
    Репутация:
    8
    Оффлайн
    Понятно, что Деус намного слабее Лилы. Но есть подозрение, что проблемы с пониманием эндшпильных блокад у Деуса нет. Во всяком случае сам он в одной из партий выстроил блокаду против трех связанных пешек и слона очень уверенно.
  7. TopicStarter Overlay

    grizly Новичок

    • Новичок
    Рег.:
    10.05.2015
    Сообщения:
    39
    Симпатии:
    148
    Репутация:
    10
    Оффлайн
    Они с таблицами там тоже весьма оригинально учат, что у встретившихся позиций приписанный результат может быть иной, чем в таблице. Совсем не очевидно, что такое обучение уменьшит ошибки.
    Может в эндшпиле стоит отключать или уменьшать температуру при обучении, чтобы позиции более правильно классифицировались.
  8. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    714
    Симпатии:
    313
    Репутация:
    8
    Оффлайн
    Теперь интрига удержит ли Лила третье место. За 5 туров до конца на полочка Комодо опережает.
  9. Michael-13 Господин

    • Участник
    Рег.:
    18.11.2011
    Сообщения:
    2.567
    Симпатии:
    771
    Репутация:
    18
    Оффлайн
  10. pavelgttfj8 Новичок

    • Новичок
    Рег.:
    07.12.2017
    Сообщения:
    91
    Симпатии:
    29
    Репутация:
    2
    Оффлайн
    Мне интересно, почему нельзя сделать альфа-бета нейронку? Оценочную функцию заменить пустой нейросетью маленького размера, что бы она работала так же быстро как и обычная оценочная функция. Из-за маленького размера обучение должно пройти быстро. А всё остальное оставить от стокфиша.
    Там конечно будет не одна нейросеть а разные в зависимости от типа позиции, но все же. Тут есть какие-либо нюансы?
  11. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    499
    Симпатии:
    182
    Репутация:
    21
    Онлайн
    Я уже приводил ссылку на подобный проект. Основные проблемы мне видятся в следующем:
    - Даже нейросеть маленького размера не будет работать так же быстро, как обычная оценочная функция. Нейросеть вычислительно избыточна по сравнению со стандартной линейной оценочной функцией, поэтому вычислять она будет ориентировочно в 100 раз медленнее. Оценочная функция Стокфиша выполняет тысячи математических операций для оценки одной позиции, тогда как нейросеть - миллионы.
    - Эффективность работы видеокарт на мелких нейросетках значительно сокращается, вследствие проблем распараллеливания и/или недогруза.
    - Нейросеть состоит не только из оценки позиции (value), но и предлагаемых ходов (policy). Оценочная функция Стокфиша выполняет только первое. Простая замена приведет к отказу от policy, что ещё сильнее уменьшит эффективность нейросети.
    pavelgttfj8 и Undying нравится это.
  12. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.706
    Симпатии:
    1.951
    Репутация:
    83
    Адрес:
    Москва
    Оффлайн
    В Жирафе что-то подобное было. Поиск там не чистая альфа-бета, но и не UCT.
  13. Mustitz Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    30.09.2006
    Сообщения:
    2.851
    Симпатии:
    311
    Репутация:
    21
    Адрес:
    Киев
    Оффлайн
    Оценочная функция, ИМХО, это плохая идея. Прежде всего, это больше человеческое вопсриятие, которое не имеет под собой большого физического смысла. К тому же оценка достаточно произвольна — умножение оценки на множитель никак не влияет на alpha-beta. Добавление константы тоже, если не учитыватьтроекратное. Возьмём каку-нить позицию, например
    Screenshot from 2018-09-28 12-51-30.png
    Как узнать, какая у этой позиции оценка? Заметим, что для обучения нам надо составить целую базу позиций с оценками. Откуда их брать? Можно запустить Stockfish, то тогда оценка будет основываться частично на позиции, а частично на дереве перебора вариантов, которое недоступно нейросети. Это лишний шум (ошибка). Опять же оценка позиции это больше средство управления перебором. Оценка, которая выдаёт программа, часто не совпадает с тем, что используется внутри (идёт её приведение к человеческому виду). Например, если лишняя пешка может меньше ценится в окончании, но для удобвства для человека оценка в позициях с малых числом фигур может домножаться на некоторое число, чтобы в условном ладейнике с лишней пешкой оценка была около +1.00.

    Если брать идеи улучшения, то (1) надо давать отчёт в том, что это будет влиять на скорость, поэтому мы вряд ли сможем обработать все узлы, а только выборочные; (2) наша задача ничего не испортить, а внести дополнительное понимание.

    Например, как вариант можно науськать нейросеть распознавать крепости (например, выдавать вероятность ничейного результата при доигрывании). Просто берём выборку позиций из матчей движков и используем для обучения. Далее, в момент перебора мы параллельно запускаем некоторые позиции на этой данной нейросети и обновляем ноды. Например, если принципиальный вариант по alpha-beta это 32 полухода, то мы можем запустить вспомогательную оценку для 5 позиций из данного варианта (корневая, после 8-го, 16-го, 24-го и 32-го полухода). Для узлов посередине оценку можно интерполировать. Таким образом alpha-beta движку будут выдаваться некоторые подсказки для более тонкой подстройки. Другими подсказками могут использование тех или иных отсекающих эвристик (достаточно проверить движок на большой базе и посмотреть, когда это работает а когда нет) и т. п.
  14. Kesandr Учаcтник

    • Участник
    Рег.:
    02.09.2008
    Сообщения:
    399
    Симпатии:
    12
    Репутация:
    11
    Оффлайн
    Начался чемпионат чесскома матч за 3 место из 30 партий между комодо и лс 0 Счет после 5 партий +3-0=2 в пользу лс 0. В миттельшпиле Лс 0 давит комода.
    chess.com/computer-chess-championship
  15. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    714
    Симпатии:
    313
    Репутация:
    8
    Оффлайн
    Выиграла Лила матч у Комодо 16 : 14 (5 : 3 по победам). Можно поздравить разработчиков с большим достижением. Лила с первой попытки вошла в число топовых движков.

    А матч в частности показал, что некоторые структуры Лила понимает намного лучше Комодо. В атаке Торре Лила побеждала и белыми и черными (3.5 : 0.5), в других дебютах такого преимущества не было.
  16. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.706
    Симпатии:
    1.951
    Репутация:
    83
    Адрес:
    Москва
    Оффлайн
    Пишут, что, возможно, третью партию будут переигрывать, там что-то не так с дебютом. Лила её выиграла чёрными, так что теоретически Комодо может сравнять счёт в матче. Но, конечно, это уже успех в любом случае.
    Ждём кубка TCEC, а потом и 14-го сезона.
  17. Sergey1983 Учаcтник

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

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    124
    Симпатии:
    18
    Репутация:
    1
    Оффлайн
    По крайней мере, если придерживаться планов снизить LR после 30 млн игр (а сейчас всего 26.5) то снизят его только примерно через 3-4 дня (если сохранится 1 млн игр в сутки).
    Ещё неделя уйдёт на достаточно быстрый рост....
    Так что видимое усиление никак нельзя ожидать раньше 2-й декады октября.
  19. Sergey1983 Учаcтник

    • Участник
    Рег.:
    03.04.2018
    Сообщения:
    126
    Симпатии:
    14
    Репутация:
    1
    Оффлайн
    А где можно посмотреть сколько игр наиграно, а то на главной пишется 94 миллиона.
  20. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    499
    Симпатии:
    182
    Репутация:
    21
    Онлайн
    Нажмите "Full Elo Graph" и сравните с числом при последнем сбросе сети.
  21. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    124
    Симпатии:
    18
    Репутация:
    1
    Оффлайн
    Оказывается есть план начать тест 40, как только тест 20 завершиться, будут использованы уроки / оптимизации, полученные из теста 30, Есть надежды, что он должен быть очень сильным.
    (ну а каким будет - посмотрим).
    План, насчет снижения LR, был скорректирован, и как не странно в сторону увеличения игр, сейчас планируется не 30, а целых 33 млн игр!!!, что может задержать снижение LR (если не будет двойного роста числа игр в сутки) ещё на 3 дня :-(
  22. Sergey1983 Учаcтник

    • Участник
    Рег.:
    03.04.2018
    Сообщения:
    126
    Симпатии:
    14
    Репутация:
    1
    Оффлайн
    Когда они уже стабильную сеть запустят?
    WinPooh нравится это.
  23. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    124
    Симпатии:
    18
    Репутация:
    1
    Оффлайн
    Думаю что не скоро, если проводить обучение на больших ресурсоемких сетях, то оптимального результата можно ждать долго, но время используется для совершенствования ПО, что тоже не плохо....
  24. tiger Новичок

    • Новичок
    Рег.:
    11.02.2006
    Сообщения:
    60
    Симпатии:
    17
    Репутация:
    0
    Оффлайн
    Преимущество не конкретно в нейронной сети, а в том что этот подход использует статистику. В классических программах (типа Стокфиша) не учитывается статистика, и оценка позиции определяется фактически одной веткой огромного дерева. В этом большой минус так как нет стабильности. Кстати, почти всегда если начать делать ходы по главному варианту (который дает оценку в корне дерева), то главный вариант меняется довольно быстро.
  25. Sergey1983 Учаcтник

    • Участник
    Рег.:
    03.04.2018
    Сообщения:
    126
    Симпатии:
    14
    Репутация:
    1
    Оффлайн
    Просто люди могут разбежаться не дождавшись результата, я имею ввиду тренирующих сети.
  26. Boroda Новичок

    • Новичок
    Рег.:
    12.01.2018
    Сообщения:
    54
    Симпатии:
    7
    Репутация:
    0
    Оффлайн
    При всех недостатках Лилы, выиграть у Стокфиша, дав в фору пешку это фантастика! Интересно сколько вообще движков на это способны, если им дать например тысячу игр?
  27. TopicStarter Overlay

    grizly Новичок

    • Новичок
    Рег.:
    10.05.2015
    Сообщения:
    39
    Симпатии:
    148
    Репутация:
    10
    Оффлайн
  28. Michael-13 Господин

    • Участник
    Рег.:
    18.11.2011
    Сообщения:
    2.567
    Симпатии:
    771
    Репутация:
    18
    Оффлайн
    Нейронная сеть Алиса от Яндекса
    [​IMG]
  29. SKY Новичок

    • Новичок
    Рег.:
    05.11.2018
    Сообщения:
    15
    Симпатии:
    1
    Репутация:
    0
    Онлайн
    Приветствую всех участников форума!
    Хотел написать Сергею Шипову,но он перестал разбирать партии.
    Решил предложить к рассмотрению интересную партию: https://yadi.sk/d/yEFqpYUy0MxyeA
    Впечатлившись игрой альфазиро стало интересно как будет играть стокфиш на хорошем времени,для этого запустил на одной оболочке последний 9-й стокфиш на 6 потоках,это в районе 7000 Ку/сек с 1 минутой на ход белым,что примерно 3550 ЭЛО.Это примерно та сила с которой играл стокфиш против альфазеро.
    Идея в том чтобы противопоставить очень сильной игре,еще намного более сильную игру,поэтому на второй оболочке запустил тот же стокфиш черными с в 10 раз большим временем на ход,но такой разницы оказалось мало,были ничьи.Дал черным в 100 раз больше времени,первая партия и сразу снова ничья,тогда решил не мелочится и дал черным на ход 3 часа 20 минут,что в 200 раз больше чем у белых!Это 3650 ЭЛО.Глубины анализа в начальных позициях доходили до 51 полухода против 31 полухода белых.
    И тут я угадал,черные играют просто умопомрачительно сильно!Весь лагерь белых был стеснен на малой части доски и ничего белые не могли противопоставить игре черных.
    Черные последовательно,с первых ходов улучшали свои оценки играя стратегически не обращая внимание на материал(как альфазиро)легко отдали две пешки,но так эффективно расположились,что всего к 30-у ходу имели оценку своей игры + 3,89,что однозначно показывало что у белых нет ни единого шанса даже на ничью.
    И на 62-м ходу черные объявили мат белым имея преимущество в слона и ладью!
    Эта партия в общем показала,что с нормальным временем стокфиш мог бы выигрывать у альфазиро.
    Впечатление от этой партии такие же как и от игры альфазиро,очень сильная партия.
    Может будет интересно ее проанализировать.
    Мало кто разыгрывает настолько сильные партии со временем на ход более 3 часов.
    Какие будут ваши впечатления.
  30. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.706
    Симпатии:
    1.951
    Репутация:
    83
    Адрес:
    Москва
    Оффлайн
    Думаю, у заочников-адвансеров качество игры не хуже должно быть.Они и больше суток анализа могут на ход тратить.
    Насчёт глубины - помнится, во время матча Карлсен - Карякин в онлайне был какой-то норвежский суперкомпьютер со Стокфишем, там глубина в миттельшпиле и до 60 ходов доходила.
  31. SKY Новичок

    • Новичок
    Рег.:
    05.11.2018
    Сообщения:
    15
    Симпатии:
    1
    Репутация:
    0
    Онлайн
    Да,но они ведь некоторые ходы только анализируют.

    Скоро 10-й стокфиш должен появится,запущу еще подобную партию с разницей в 200 раз по времени,с 13,5 часов за черных и 4 минуты за белых.ЭЛО черных будет в районе 3850,с учетом возросшей силы стокфиш десятого.
  32. Launder Новичок

    • Новичок
    Рег.:
    25.11.2016
    Сообщения:
    83
    Симпатии:
    22
    Репутация:
    1
    Оффлайн
    Однозначно нужно нейросеть натравить на таблицы, по-идее, если сделать это умно, она найдёт очень много интересных закономерностей, которые будут общими для шахмат. Другое дело, что различать это общее/частное, достаточно сложно, и однозначного вывода из простой позиции, как нужно играть в сложной, просто нет. Поэтому нужно как-то так натравливать, чтоб она свои обобщающие предположения, потом, вероятно, проверяла в позициях с добавлением материала. А какого материала и сколько и кто это будет определять - большой вопрос. Но наверняка, сеть сначала должна пройти базовое обучение, типа игр сама с собой, как в гугл, а потом уже натравливать на таблицы и проверять свои же вывоводы для ЭТИХ позиций. Ну а потом полученные выводы должны проверяться на свою универсальность.
  33. KEV81 Учаcтник

    • Участник
    Рег.:
    06.03.2017
    Сообщения:
    612
    Симпатии:
    172
    Репутация:
    3
    Оффлайн
    эндшпили слишком конкретные для нейросети, слишком...
  34. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    714
    Симпатии:
    313
    Репутация:
    8
    Оффлайн
    Особых проблем нет. Последняя версия Лилы нормально эндшпили играет. А ведь еще можно для эндшпилей отдельную нейросеть натренировать.
  35. KEV81 Учаcтник

    • Участник
    Рег.:
    06.03.2017
    Сообщения:
    612
    Симпатии:
    172
    Репутация:
    3
    Оффлайн
    Полу-ходов)) Ну и сам понимаешь, отсечения всякие...

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