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

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

  1. Alhimik88
    Оффлайн

    Alhimik88 Новичок

    Репутация:
    1
    Не удивляйтесь большим числам. Они представляют из себя реальное ELO + сумму ELO ошибок. В каждом матче проводится в среднем 500 игр, результат матча получается с погрешностью +-25 ELO. И какое-то количество погрешности идет в рейтинг Lc0. Если бы матчи проходили по 40к игр, то ELO Leela был близок к реальному, но такой подход непрактичен для обучения нейронки.
     
  2. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Насколько я помню теорию эксперимента, погрешности складываются по квадратичному закону, т.е.
    Err = SQRT(Err1 ** 2 + Err2 ** 2 + ... + ErrN ** 2)
    Но, видимо, действительно, набежало здорово. До такой степени, что встаёт вопрос, а где там измеряемая величина, за этой стеной из погрешностей?
     
    Alhimik88 и Undying нравится это.
  3. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    Рейтинг уточняется. Если приглядеться, то учитываются абсолютно все игры (45 миллионов их там сейчас). Соответственно, погрешности там, конечно, есть, но не очень большие.

    Попробуете так считать рейтинг SF (суммировать патчи), будет то же самое, если не хуже.
     
    Последнее редактирование: 18 дек 2018
  4. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Зато с "практичным" подходом они уже почти полгода более сильную сеть, чем 10x, родить не могут.
     
  5. Alhimik88
    Оффлайн

    Alhimik88 Новичок

    Репутация:
    1
    Насколько я понимаю, они учат нейронку по документам Deep Mind. Возможно те доки не полностью раскрывают весь алгоритм, но тот факт, что Leela уже уверенно входит в топ 4 движков говорит, что подход, скорее всего, близок к правильному.
    И еще один момент, 10х наиграла более 52M игр, а 30х сейчас на отметке 46M, и 30х сеть не так уж сильно уступает в силе 11248. Так что тут еще стоит подождать, прежде чем делать выводы
     
  6. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    А в чем тогда смысл играть с предыдущей версией? Играли бы лучше с эталонной версией, которая в официальных чемпионатах участвует, тогда бы рейтинг был наглядным и полезным инструментом.
     
    WinPooh нравится это.
  7. Alhimik88
    Оффлайн

    Alhimik88 Новичок

    Репутация:
    1
    А вы детально понимаете процесс обучения, чтобы делать выводы о его неэффективности? Я вот нет, и поэтому судить не берусь. К примеру, если нейронка обучается по принципу эксплоита предыдущей версии, и так до бесконечности, как сказал WinPooh выше, то текущий подход обучения Lc0 более чем логичен.
     
  8. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    По идее, от камня-ножниц-бумаги должна вылечивать тестовая игра с ДВУМЯ предыдущими версиями. А от ящерицы и Спока - с ЧЕТЫРЬМЯ. Или с одной случайно выбранной из нескольких последних.
     
  9. Polarity
    Оффлайн

    Polarity Новичок

    Репутация:
    0
    Роллауты - это случайное доигрывание партии до конца. Раньше использовали такой подход чтобы для конечных узлов в дереве получить какую-то оценку. У роллаутов обычно несмещённая оценка, но гигантская дисперсия. Сейчас роллауты ушли в прошлое, потому что их заменили одним выходом нейронки. Но появилось сильное смещение. Смещение - наверное одна из причин, почему лила иногда выдаёт слишком оптимистичные прогнозы.
     
    WinPooh нравится это.
  10. Mustitz
    Оффлайн

    Mustitz баннер

    Репутация:
    37
    Ещё лучше со Stockfish и/или любым движком, который никак не зависит от обучения Lc0.
    —- добавлено: 18 дек 2018 —-
    Дисперсия зависит от силы игры роллаута, делай роллаут при помощи Stockfish и дисперсия будет в разы меньше :)
    —- добавлено: 18 дек 2018, опубликовано: 18 дек 2018 —-
    Хороший ответ на вопрос, почему так считать рейтинг не надо :) Реатинг SF считается по играм с другими движками в том числе.
     
    Последнее редактирование: 18 дек 2018
  11. redhelicopter
    Оффлайн

    redhelicopter Старожил

    Репутация:
    42
    Так в итоге-то сетка с рейтингом овер-9000 играет лучше, чем с рейтингом 4000? Или не факт?
     
    WinPooh нравится это.
  12. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    Насколько понимаю игра с предыдущей версией не имеет никакого отношения к обучению. Лила обучается, играя сама с собой. А с предыдущей версией играет, чтобы видно было есть ли прогресс в силе игры. Но игра с эталонной версией для этого была бы намного показательнее.
     
  13. Alhimik88
    Оффлайн

    Alhimik88 Новичок

    Репутация:
    1
    А как понять какая версия является эталонной?
     
  14. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    В случае Го игра с прошлой версией нужна для квалификации новой версии, она должна набрать 55% очков, и после этого становится основной для наигрывания новых игр. Как в шахматной Лиле, не знаю.
     
  15. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    У Лилы, так же как и у шахматной Альфа Зеро, квалификация не используется. Сеть на клиентских машинах заменяется автоматически. Единственное, насколько я помню, раньше использовали условие, что если новая сеть сильно провалилась в тесте, ну скажем пунктов на 200, то она всё же не используется. Этакая защита от багов. Но как сейчас, не знаю.
     
    Undying и Alhimik88 нравится это.
  16. Crest
    Оффлайн

    Crest Админ, МГ Команда форума Команда форума

    Репутация:
    633
    А у меня есть такое подозрение, что Альфа получила с раздачи недурную оценочную функцию - и в этом суть шулерства ДипМайнда.
    А потом уже стала совершентвоваться.
     
  17. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    Которая проверена в официальных чемпионатах компьютерных движков.
     
  18. Launder
    Оффлайн

    Launder Новичок

    Репутация:
    1
    ещё есть мнение, что само правило, несколько устарело и нуждается в модернизацииVotTak
     
  19. Crest
    Оффлайн

    Crest Админ, МГ Команда форума Команда форума

    Репутация:
    633
    Вы еще похамите мне, похамите...
    Тогда мы быстрее придём к общему знаменателю.
    Я уже много Ваших хамских постов проигнорировал, но сейчас пришёл к выводу, что это не вылечит.
    Что ж, придётся действовать иначе.
     
  20. Crest
    Оффлайн

    Crest Админ, МГ Команда форума Команда форума

    Репутация:
    633
    Ок, договорились. Пока.
    Что касается "вида специалиста", то я ни разу и нигде не утверждал, что я спец в компьютерных шахматах.
    Я спец просто в шахматах. А о программах рассуждаю с позиции обычного пользователя.
    Имею на то полное право.
    А вы, настоящие спецы, имеете еще более полное право спорить, опровергать и просвещать шахматный народ. Милости просим!
    А вот хамить, уж извините, никак нельзя.
     
    Camon14, Launder, Undying и ещё 1-му нравится это.
  21. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    На мой взгляд такой кривой рейтинг это серьезная проблема. Разработчики Лилы ведь пробуют при обучении различные идеи и им надо видеть какой эффект эти идеи дают. А с настолько оторванным от реальности рейтингом ничего понять невозможно.
     
  22. tiger
    Оффлайн

    tiger Новичок

    Репутация:
    1
    Это может быть. Если у их функции N свободных параметров (весов), они могли взять N позиций с оценкой Стокфиша, и подогнать начальные значения весов чтобы оценки совпадали на этих N позициях.
    Все равно начальные веса надо как-то определить, так почему бы не определить их так?
     
  23. Alhimik88
    Оффлайн

    Alhimik88 Новичок

    Репутация:
    1
    Лично я не вижу проблемы с кривым рейтингом. Он в общем-то бесполезен, так как нет способа сделать его действительно точным. Реальная сила игры Leela проверяется в матчах против обычных движков на турнирах CCC, TCEC и путем тестирования пользователями. Таким образом можно получить куда более адекватный рейтинг, и к тому же проверить на серьезные проблемы в игре.
    Уж простите, не получилось придумать более точную формулировку. Поясняю, что имел ввиду. "Реальное ELO" - гипотетическое значение - величина рейтинга Leela, установленная после продолжительного матча с движком, рейтинг которого взят за эталон.
    По самому определению слова ELO это Вам в википедию.
    В теме я хотел показать, что текущий показатель рейтинга Leela некорректен ввиду огромного числа накопленных ошибок в более чем 2000 матчах по 500 игр. И получился он ввиду сложения ELO delta и реального/фактического/корректного ELO рейтинга Leela. По квадратичной формуле, или алгебраически, или еще как-то вычисляется ELO delta я не знаю.
     
  24. redhelicopter
    Оффлайн

    redhelicopter Старожил

    Репутация:
    42
    Вопрос только где взять эти "недурные" оценочные функции? Движковые оценочные функции, мягко скажем, слабоваты, в этом легко убедиться играя с движком на минимальной глубине счета.
     
  25. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Так проверено же экспериментально, что с нуля можно раскрутиться сильнее, чем с какой-то заданной принудительно функции. Двумя независимыми группами проверено, в шахматах и в Го - проекты Leela Zero. А практика у нас - критерий истины.
     
    Launder, Polarity, Undying и 2 другим нравится это.
  26. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Эло. Арпад Эло. "Фамилие такое".
    А ELO - это Electric Light Orchestra. Группа электронной музыки, неплохая весьма.

     
    Alhimik88 нравится это.
  27. Нестор
    Оффлайн

    Нестор консультант_ специалист по черной магии баннер

    Репутация:
    331
    @WinPooh, вот мне интересно, вы с СЮ уже много лет в хороших дружеских отношениях, насколько я знаю.
    Вы неплохой программист, в том числе и шахматного движка, Шипов неплохой шахматист.
    Вы или кто-нибудь ещё можете доходчиво "на пальцах" объяснить Шипову и другим любителям шахмат, как работает алгоритм движка на основе нейронной сети вроде Альфа Зеро или Лиллы?
    Или вам самим это до конца не ясно? ;)
     
    Edwards и sovaz1997 нравится это.
  28. crem
    Оффлайн

    crem Учаcтник

    Репутация:
    14
    Я готов объяснить, хоть вкратце, хоть подробно. Вопрос только, захочет ли Шипов слушать.
     
    Launder, Комсюк, Edwards и 2 другим нравится это.
  29. redhelicopter
    Оффлайн

    redhelicopter Старожил

    Репутация:
    42
    Вроде выше обещал захотеть.
    В любом случае, слушает не только он :)
     
    Launder и Edwards нравится это.
  30. Нестор
    Оффлайн

    Нестор консультант_ специалист по черной магии баннер

    Репутация:
    331
    Объясните хотя бы вкратце, пожалуйста, если что-то будет не понятно, мы зададим дополнительные вопросы.:)
    А Шипов обязательно это прочтёт, я в этом уверен.
     
    Launder и Edwards нравится это.
  31. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Чем играть в испорченный телефон, я ещё год назад решил отсылать всех интересующихся к двум очень толковым статьям на Хабре:

    AlphaGo на пальцах
    AlphaGo Zero совсем на пальцах

    Они про Го-версию, но, как все, надеюсь, понимают, отличия от шахмат здесь не принципиальны.
     
    Alhimik88 нравится это.
  32. Crest
    Оффлайн

    Crest Админ, МГ Команда форума Команда форума

    Репутация:
    633
    Звучит парадоксально.
    Мол, достигнуть академика легче с нуля, чем с уровня 10-го класса. :)
    Двумя группами? Два - не статистика. В следующих 10-ти, при более грамотных начальных данных могут получиться иные результаты.
     
  33. Crest
    Оффлайн

    Crest Админ, МГ Команда форума Команда форума

    Репутация:
    633
    И этот тезис тоже удивляет.
    Значит, работали тысячи программистов над оценочными функциями в течении сорока лет - а в итоге ничего толкового не смогли сделать? Не смогли на-астолько, что лучше начинать с нулевой оценочной функции, чем с какой-то иной базовой.
    Невероятно! Я-то думал, что эти программисты добились колоссального прогресса. По моим шахматным наблюдениям, современные движки, начиная с Рыбки, вполне адекватно оценивают подавляющее большинство позиций.
    Полагаю, что и в открытом коде есть немало оценочных функций, которые разработчики Альфы могли использовать в своей работе. Или напрямую, или с некоторыми отсечениями - чтобы взять только бесспорную базу, без творческих примочек.

    Так или иначе, с учетом возможности самосовершенствования, самообучения Альфы, она вполне может дальше развивать чужую оценочную функцию, в том числе и исправляя незметные миру недостатки.
     
  34. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Меня вполне убеждает счёт 100 : 0, с которым версия Alpha Go Zero (обучавшаяся с нуля) выиграла тестовый матч у Alpha Go Lee (победившей Ли Седоля).
    Да и в моих игрушечных опытах GreKo стабильно обучается со случайной оценки до уровня 2700 на собственных партиях с глубиной 3 полухода. А в ней даже нейросети нет :)
    Эксперименты, конечно, проводятся разные. В Го пробуют обучать на смешанных данных, например, 30% игр людей + 70% собственных игр программы. Получаются интересные гибриды. В шахматах в прошлом сезоне TCEC выступала программа DeusEx - это Лила, обученная на партиях гроссмейстеров-людей. Но и там, и там "нулевые" версии пока играют лучше.

    Кроме академика и десятиклассника, можно ещё вспомнить такую аналогию: иногда проще обучить чему-то совсем новичка, чем любителя, который поднахватался каких-то полузнаний и приобрёл трудно искоренимые вредные привычки. Как говорят почти в любом ВУЗе первокурсникам - "а теперь забудьте всё, чему вас учили в школе!"
     
    Последнее редактирование: 19 дек 2018
    Gridnev, sovaz1997 и Комсюк нравится это.
  35. Crest
    Оффлайн

    Crest Админ, МГ Команда форума Команда форума

    Репутация:
    633
    Да, да, и я о том же. Выясняется, что программисты, так долго работавшие над оценочными функциями движков, фактически ничего не сделали. Ничего такого, что реально ценно и полезно для развития нового движка. Верно?
    Ну, а про "забудьте, чему вас учили в школе" - это ведь просто бодрящая красивая фраза. Афоризмус.