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

Discussion in 'Машинное отделение' started by grizly, 6 Dec 2017.

  1. Alhimik88 Новичок

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

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.124
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Насколько я помню теорию эксперимента, погрешности складываются по квадратичному закону, т.е.
    Err = SQRT(Err1 ** 2 + Err2 ** 2 + ... + ErrN ** 2)
    Но, видимо, действительно, набежало здорово. До такой степени, что встаёт вопрос, а где там измеряемая величина, за этой стеной из погрешностей?
    Alhimik88 and Undying like this.
  3. sovaz1997 Учаcтник

    • Участник
    Member Since:
    30.08.2016
    Message Count:
    649
    Likes Received:
    120
    Репутация:
    3
    Оффлайн
    Рейтинг уточняется. Если приглядеться, то учитываются абсолютно все игры (45 миллионов их там сейчас). Соответственно, погрешности там, конечно, есть, но не очень большие.

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

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.124
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Зато с "практичным" подходом они уже почти полгода более сильную сеть, чем 10x, родить не могут.
  5. Alhimik88 Новичок

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

    • Участник
    Member Since:
    31.08.2016
    Message Count:
    1.316
    Likes Received:
    566
    Репутация:
    15
    Оффлайн
    А в чем тогда смысл играть с предыдущей версией? Играли бы лучше с эталонной версией, которая в официальных чемпионатах участвует, тогда бы рейтинг был наглядным и полезным инструментом.
    WinPooh likes this.
  7. Alhimik88 Новичок

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

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

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

    • Заслуженный
    • Участник
    • Старожил
    Member Since:
    30.09.2006
    Message Count:
    3.547
    Likes Received:
    1.275
    Репутация:
    37
    Location:
    Киев
    Оффлайн
    Ещё лучше со Stockfish и/или любым движком, который никак не зависит от обучения Lc0.
    —- добавлено: 18 Dec 2018 —-
    Дисперсия зависит от силы игры роллаута, делай роллаут при помощи Stockfish и дисперсия будет в разы меньше :)
    —- добавлено: 18 Dec 2018, опубликовано: 18 Dec 2018 —-
    Хороший ответ на вопрос, почему так считать рейтинг не надо :) Реатинг SF считается по играм с другими движками в том числе.
  11. redhelicopter Старожил

    • Участник
    • Старожил
    Member Since:
    11.11.2014
    Message Count:
    629
    Likes Received:
    2.239
    Репутация:
    41
    Оффлайн
    Так в итоге-то сетка с рейтингом овер-9000 играет лучше, чем с рейтингом 4000? Или не факт?
    WinPooh likes this.
  12. Undying Учаcтник

    • Участник
    Member Since:
    31.08.2016
    Message Count:
    1.316
    Likes Received:
    566
    Репутация:
    15
    Оффлайн
    Насколько понимаю игра с предыдущей версией не имеет никакого отношения к обучению. Лила обучается, играя сама с собой. А с предыдущей версией играет, чтобы видно было есть ли прогресс в силе игры. Но игра с эталонной версией для этого была бы намного показательнее.
  13. Alhimik88 Новичок

    • Новичок
    Member Since:
    10.06.2009
    Message Count:
    81
    Likes Received:
    35
    Репутация:
    1
    Оффлайн
    А как понять какая версия является эталонной?
  14. WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.124
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    В случае Го игра с прошлой версией нужна для квалификации новой версии, она должна набрать 55% очков, и после этого становится основной для наигрывания новых игр. Как в шахматной Лиле, не знаю.
  15. Rom Старожил

    • Участник
    • Старожил
    Member Since:
    12.02.2012
    Message Count:
    645
    Likes Received:
    276
    Репутация:
    28
    Оффлайн
    У Лилы, так же как и у шахматной Альфа Зеро, квалификация не используется. Сеть на клиентских машинах заменяется автоматически. Единственное, насколько я помню, раньше использовали условие, что если новая сеть сильно провалилась в тесте, ну скажем пунктов на 200, то она всё же не используется. Этакая защита от багов. Но как сейчас, не знаю.
    Undying and Alhimik88 like this.
  16. Crest Админ, МГ

    • Команда форума
    Member Since:
    05.02.2006
    Message Count:
    57.251
    Likes Received:
    21.159
    Репутация:
    629
    Location:
    Москва, Россия
    Оффлайн
    А у меня есть такое подозрение, что Альфа получила с раздачи недурную оценочную функцию - и в этом суть шулерства ДипМайнда.
    А потом уже стала совершентвоваться.
  17. Undying Учаcтник

    • Участник
    Member Since:
    31.08.2016
    Message Count:
    1.316
    Likes Received:
    566
    Репутация:
    15
    Оффлайн
    Которая проверена в официальных чемпионатах компьютерных движков.
  18. Launder Новичок

    • Новичок
    Member Since:
    25.11.2016
    Message Count:
    89
    Likes Received:
    22
    Репутация:
    1
    Оффлайн
    ещё есть мнение, что само правило, несколько устарело и нуждается в модернизацииVotTak
  19. Crest Админ, МГ

    • Команда форума
    Member Since:
    05.02.2006
    Message Count:
    57.251
    Likes Received:
    21.159
    Репутация:
    629
    Location:
    Москва, Россия
    Оффлайн
    Вы еще похамите мне, похамите...
    Тогда мы быстрее придём к общему знаменателю.
    Я уже много Ваших хамских постов проигнорировал, но сейчас пришёл к выводу, что это не вылечит.
    Что ж, придётся действовать иначе.
  20. Crest Админ, МГ

    • Команда форума
    Member Since:
    05.02.2006
    Message Count:
    57.251
    Likes Received:
    21.159
    Репутация:
    629
    Location:
    Москва, Россия
    Оффлайн
    Ок, договорились. Пока.
    Что касается "вида специалиста", то я ни разу и нигде не утверждал, что я спец в компьютерных шахматах.
    Я спец просто в шахматах. А о программах рассуждаю с позиции обычного пользователя.
    Имею на то полное право.
    А вы, настоящие спецы, имеете еще более полное право спорить, опровергать и просвещать шахматный народ. Милости просим!
    А вот хамить, уж извините, никак нельзя.
  21. Undying Учаcтник

    • Участник
    Member Since:
    31.08.2016
    Message Count:
    1.316
    Likes Received:
    566
    Репутация:
    15
    Оффлайн
    На мой взгляд такой кривой рейтинг это серьезная проблема. Разработчики Лилы ведь пробуют при обучении различные идеи и им надо видеть какой эффект эти идеи дают. А с настолько оторванным от реальности рейтингом ничего понять невозможно.
  22. tiger Новичок

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

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

    • Участник
    • Старожил
    Member Since:
    11.11.2014
    Message Count:
    629
    Likes Received:
    2.239
    Репутация:
    41
    Оффлайн
    Вопрос только где взять эти "недурные" оценочные функции? Движковые оценочные функции, мягко скажем, слабоваты, в этом легко убедиться играя с движком на минимальной глубине счета.
  25. WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.124
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Так проверено же экспериментально, что с нуля можно раскрутиться сильнее, чем с какой-то заданной принудительно функции. Двумя независимыми группами проверено, в шахматах и в Го - проекты Leela Zero. А практика у нас - критерий истины.
    Launder, Polarity, Undying and 2 others like this.
  26. WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.124
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Эло. Арпад Эло. "Фамилие такое".
    А ELO - это Electric Light Orchestra. Группа электронной музыки, неплохая весьма.

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

    • Заслуженный
    • Участник
    • Старожил
    Member Since:
    11.04.2006
    Message Count:
    2.955
    Likes Received:
    3.315
    Репутация:
    331
    Location:
    Москва
    Оффлайн
    @WinPooh, вот мне интересно, вы с СЮ уже много лет в хороших дружеских отношениях, насколько я знаю.
    Вы неплохой программист, в том числе и шахматного движка, Шипов неплохой шахматист.
    Вы или кто-нибудь ещё можете доходчиво "на пальцах" объяснить Шипову и другим любителям шахмат, как работает алгоритм движка на основе нейронной сети вроде Альфа Зеро или Лиллы?
    Или вам самим это до конца не ясно? ;)
    Edwards and sovaz1997 like this.
  28. crem Учаcтник

    • Участник
    Member Since:
    24.11.2016
    Message Count:
    140
    Likes Received:
    203
    Репутация:
    14
    Оффлайн
    Я готов объяснить, хоть вкратце, хоть подробно. Вопрос только, захочет ли Шипов слушать.
  29. redhelicopter Старожил

    • Участник
    • Старожил
    Member Since:
    11.11.2014
    Message Count:
    629
    Likes Received:
    2.239
    Репутация:
    41
    Оффлайн
    Вроде выше обещал захотеть.
    В любом случае, слушает не только он :)
    Launder and Edwards like this.
  30. Нестор консультант_ специалист по черной магии

    • Заслуженный
    • Участник
    • Старожил
    Member Since:
    11.04.2006
    Message Count:
    2.955
    Likes Received:
    3.315
    Репутация:
    331
    Location:
    Москва
    Оффлайн
    Объясните хотя бы вкратце, пожалуйста, если что-то будет не понятно, мы зададим дополнительные вопросы.:)
    А Шипов обязательно это прочтёт, я в этом уверен.
    Launder and Edwards like this.
  31. WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.124
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Чем играть в испорченный телефон, я ещё год назад решил отсылать всех интересующихся к двум очень толковым статьям на Хабре:

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

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

    • Команда форума
    Member Since:
    05.02.2006
    Message Count:
    57.251
    Likes Received:
    21.159
    Репутация:
    629
    Location:
    Москва, Россия
    Оффлайн
    Звучит парадоксально.
    Мол, достигнуть академика легче с нуля, чем с уровня 10-го класса. :)
    Двумя группами? Два - не статистика. В следующих 10-ти, при более грамотных начальных данных могут получиться иные результаты.
  33. Crest Админ, МГ

    • Команда форума
    Member Since:
    05.02.2006
    Message Count:
    57.251
    Likes Received:
    21.159
    Репутация:
    629
    Location:
    Москва, Россия
    Оффлайн
    И этот тезис тоже удивляет.
    Значит, работали тысячи программистов над оценочными функциями в течении сорока лет - а в итоге ничего толкового не смогли сделать? Не смогли на-астолько, что лучше начинать с нулевой оценочной функции, чем с какой-то иной базовой.
    Невероятно! Я-то думал, что эти программисты добились колоссального прогресса. По моим шахматным наблюдениям, современные движки, начиная с Рыбки, вполне адекватно оценивают подавляющее большинство позиций.
    Полагаю, что и в открытом коде есть немало оценочных функций, которые разработчики Альфы могли использовать в своей работе. Или напрямую, или с некоторыми отсечениями - чтобы взять только бесспорную базу, без творческих примочек.

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

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

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

    • Команда форума
    Member Since:
    05.02.2006
    Message Count:
    57.251
    Likes Received:
    21.159
    Репутация:
    629
    Location:
    Москва, Россия
    Оффлайн
    Да, да, и я о том же. Выясняется, что программисты, так долго работавшие над оценочными функциями движков, фактически ничего не сделали. Ничего такого, что реально ценно и полезно для развития нового движка. Верно?
    Ну, а про "забудьте, чему вас учили в школе" - это ведь просто бодрящая красивая фраза. Афоризмус.

Share This Page