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

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

  1. Alhimik88 Новичок

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

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

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    631
    Симпатии:
    107
    Репутация:
    2
    Оффлайн
    Рейтинг уточняется. Если приглядеться, то учитываются абсолютно все игры (45 миллионов их там сейчас). Соответственно, погрешности там, конечно, есть, но не очень большие.

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

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.994
    Симпатии:
    2.214
    Репутация:
    86
    Адрес:
    Москва
    Оффлайн
    Зато с "практичным" подходом они уже почти полгода более сильную сеть, чем 10x, родить не могут.
  5. Alhimik88 Новичок

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

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

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

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

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

    • Заслуженный
    • Участник
    Рег.:
    30.09.2006
    Сообщения:
    2.981
    Симпатии:
    417
    Репутация:
    22
    Адрес:
    Киев
    Оффлайн
    Ещё лучше со Stockfish и/или любым движком, который никак не зависит от обучения Lc0.
    —- добавлено: 18 дек 2018 —-
    Дисперсия зависит от силы игры роллаута, делай роллаут при помощи Stockfish и дисперсия будет в разы меньше :)
    —- добавлено: 18 дек 2018, опубликовано: 18 дек 2018 —-
    Хороший ответ на вопрос, почему так считать рейтинг не надо :) Реатинг SF считается по играм с другими движками в том числе.
  11. redhelicopter Учаcтник

    • Участник
    Рег.:
    10.11.2014
    Сообщения:
    154
    Симпатии:
    326
    Репутация:
    9
    Оффлайн
    Так в итоге-то сетка с рейтингом овер-9000 играет лучше, чем с рейтингом 4000? Или не факт?
    WinPooh нравится это.
  12. Undying Учаcтник

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

    • Новичок
    Рег.:
    10.06.2009
    Сообщения:
    64
    Симпатии:
    24
    Репутация:
    1
    Оффлайн
    А как понять какая версия является эталонной?
  14. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.994
    Симпатии:
    2.214
    Репутация:
    86
    Адрес:
    Москва
    Оффлайн
    В случае Го игра с прошлой версией нужна для квалификации новой версии, она должна набрать 55% очков, и после этого становится основной для наигрывания новых игр. Как в шахматной Лиле, не знаю.
  15. Rom Учаcтник

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

    • Команда форума
    Рег.:
    04.02.2006
    Сообщения:
    50.540
    Симпатии:
    11.298
    Репутация:
    458
    Адрес:
    Москва, Россия
    Оффлайн
    А у меня есть такое подозрение, что Альфа получила с раздачи недурную оценочную функцию - и в этом суть шулерства ДипМайнда.
    А потом уже стала совершентвоваться.
  17. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    931
    Симпатии:
    420
    Репутация:
    10
    Оффлайн
    Которая проверена в официальных чемпионатах компьютерных движков.
  18. Launder Новичок

    • Новичок
    Рег.:
    25.11.2016
    Сообщения:
    87
    Симпатии:
    22
    Репутация:
    1
    Оффлайн
    ещё есть мнение, что само правило, несколько устарело и нуждается в модернизацииVotTak
  19. Crest Админ, МГ

    • Команда форума
    Рег.:
    04.02.2006
    Сообщения:
    50.540
    Симпатии:
    11.298
    Репутация:
    458
    Адрес:
    Москва, Россия
    Оффлайн
    Вы еще похамите мне, похамите...
    Тогда мы быстрее придём к общему знаменателю.
    Я уже много Ваших хамских постов проигнорировал, но сейчас пришёл к выводу, что это не вылечит.
    Что ж, придётся действовать иначе.
  20. Crest Админ, МГ

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

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

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

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

    • Участник
    Рег.:
    10.11.2014
    Сообщения:
    154
    Симпатии:
    326
    Репутация:
    9
    Оффлайн
    Вопрос только где взять эти "недурные" оценочные функции? Движковые оценочные функции, мягко скажем, слабоваты, в этом легко убедиться играя с движком на минимальной глубине счета.
  25. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.994
    Симпатии:
    2.214
    Репутация:
    86
    Адрес:
    Москва
    Оффлайн
    Так проверено же экспериментально, что с нуля можно раскрутиться сильнее, чем с какой-то заданной принудительно функции. Двумя независимыми группами проверено, в шахматах и в Го - проекты Leela Zero. А практика у нас - критерий истины.
    Launder, Polarity, Undying и 2 другим нравится это.
  26. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.994
    Симпатии:
    2.214
    Репутация:
    86
    Адрес:
    Москва
    Оффлайн
    Эло. Арпад Эло. "Фамилие такое".
    А ELO - это Electric Light Orchestra. Группа электронной музыки, неплохая весьма.

    Alhimik88 нравится это.
  27. Нестор консультант_ специалист по черной магии

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

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

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

    • Заслуженный
    • Участник
    Рег.:
    10.04.2006
    Сообщения:
    2.589
    Симпатии:
    2.938
    Репутация:
    306
    Адрес:
    Москва
    Оффлайн
    Объясните хотя бы вкратце, пожалуйста, если что-то будет не понятно, мы зададим дополнительные вопросы.:)
    А Шипов обязательно это прочтёт, я в этом уверен.
    Launder и Edwards нравится это.
  31. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.994
    Симпатии:
    2.214
    Репутация:
    86
    Адрес:
    Москва
    Оффлайн
    Чем играть в испорченный телефон, я ещё год назад решил отсылать всех интересующихся к двум очень толковым статьям на Хабре:

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

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

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

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

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

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

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

    • Команда форума
    Рег.:
    04.02.2006
    Сообщения:
    50.540
    Симпатии:
    11.298
    Репутация:
    458
    Адрес:
    Москва, Россия
    Оффлайн
    Да, да, и я о том же. Выясняется, что программисты, так долго работавшие над оценочными функциями движков, фактически ничего не сделали. Ничего такого, что реально ценно и полезно для развития нового движка. Верно?
    Ну, а про "забудьте, чему вас учили в школе" - это ведь просто бодрящая красивая фраза. Афоризмус.

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