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

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

  1. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Да выше же из описания приведены цитаты что роллауты в АльфаГоЗеро есть, партии доигрываются до конца.
    Из какой цитаты следует что их нет? Похоже на заговор, несколько человек говорят что их нет, но цитату приводить отказываются.
     
  2. zeroalphazero
    Оффлайн

    zeroalphazero Учаcтник

    Репутация:
    4
    Шаблоны отключили, а какой(ие) метод(ы) использовали?
    Основанные на информации о конкретной игре? — информацию в студию, please!
     
  3. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Всё, нашел :)
    Our program, AlphaGo Zero, differs from AlphaGo Fan and AlphaGo Lee in several important aspects
    ...
    Finally, it uses a simpler tree search that relies upon
    this single neural network to evaluate positions and sample moves,
    without performing any Monte Carlo rollouts.
     
    Challenger Spy, Gridnev, Undying и ещё 1-му нравится это.
  4. Fruit
    Оффлайн

    Fruit Александр баннер

    Репутация:
    3
    А что после 49...Kf8 ничья?:) Позиция-то все равно проиграна.
     
    Комсюк нравится это.
  5. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    https://geektimes.ru/post/2946
    Вот, по-русски
    То есть её оценка настолько хороша, что ей нет надобности в роллаутах.
    Ну и соответственно получается что в шахматах на этапе обучения играла до конца (это явно написано), а вот докуда играла в игровом режиме, и какие критерии обрыва использовались если играла не до конца - непонятно.
     
  6. redhelicopter
    Оффлайн

    redhelicopter Старожил

    Репутация:
    42
    Ну так раскройте глаза и увидите. Запустите движок, подсуньте ему позицию, и смотрите за сколько секунд он досчитает до 37-й глубины и откажется от хода ладьей. У меня - около 20 секунд.

    Почему "Стокфиш" в партии не досчитал? Либо там было железо тормознее, чем у моего ноута - либо (что более вероятно), ему ограничили глубину счета.
     
  7. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Возможно действительно прибавляла по одному узлу.
     
  8. MS
    Оффлайн

    MS Михаил Семионенков

    Репутация:
    175
    Спасибо за углубление в тему. Здесь у меня не срослось.
    В моём понимании НС это ОФ. Если ход выбирается не случайно, а по весу (оценке?), то не является ли число ходов-кандидатов коэффициентом?
    Типа: выбрали все ходы-кандидаты, прогнали ОФ, выбрали лучший и тд до конца (или заданной глубины).
    Замедление при удвоении глубины тоже линейно (скорее, чуть меньше, поскольку обычно число ходов-кандидатов ближе к концу падает)
     
  9. Комсюк
    Оффлайн

    Комсюк народный модератор баннер

    Репутация:
    1.271
    Вот-вот :)
    По ссылкам ходить умеете?
    —- добавлено: 15 дек 2017 —-
    у него через 20 секунд показывает ничью...
    Зачем смотреть дальше?
     
  10. redhelicopter
    Оффлайн

    redhelicopter Старожил

    Репутация:
    42
    В целом это просто иллюстративный пример, показывающий, что Стокфиш был "кастрированный", как выразился СЮ. Кастрировали ограничением глубины счета - в этом теперь нет сомнений. Понятно, что в партии и до этого хода были неточности, вызванные этим ограничением.

    Вы там не написали ничего, что опровергало бы мною сказанное. Уперлись в мантру "Ход был возможен от Стока" - ну да, возможен если рубануть счет на малой для этой позиции глубине.
    Запускал без эндшпильных баз, без запомненной линии с Qf4 в хеше. То есть все "зацепки" за которые вы там попытались ухватиться, не прокатывают.

    Да что вы говорите. И до какой глубины надо смотреть, чтобы Стокфиш снова вернулся к Rf8?
     
  11. Комсюк
    Оффлайн

    Комсюк народный модератор баннер

    Репутация:
    1.271
    по ссылкам скрин с возможным ходом Лф8 и подтверждение от второго юзера
    Мало?
    Мне хватит
     
  12. Нестор
    Оффлайн

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

    Репутация:
    331
    Комсюк, рискну предположить, что ты с такой выдержкой тоже скоро гроссом станешь ... :)
     
    Любитель_ и Комсюк нравится это.
  13. Комсюк
    Оффлайн

    Комсюк народный модератор баннер

    Репутация:
    1.271
    он не вернётся, если Фф4 увидел
    А если не увидел, будет молотить, как показано на скрине
    —- добавлено: 15 дек 2017 —-
    я под колпаком у Мюллера Антуана, а баллы мешают свободе маневра
     
  14. просроченый_кмс
    Оффлайн

    просроченый_кмс Старожил

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

    Помню неск лет назад наверно на кубке мира, Шипов в анализе после сказал типа еслиб Свидлер (например) только начал считать ход то додумался бы, понял смысл, а ход с человеческой точки зрения вообще не смотрелся такие сразу отсекаются, и как эти проги умудряются не ошибаться отсекая нелогичные но сильные в дальнейших расчётах ходы.
     
    Последнее редактирование: 15 дек 2017
  15. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Нет, mcts делает не лучший ход.
    Стандартное описание mcts на многих сайтах только путает. Ибо рисуют уже готовое дерево, добавляют один лист, и из него играют партию до конца.
    А обычная схема другая. Ветвь строится из корневой позиции. Если оставить за скобками пробег по уже рассмотренному поддереву, то это выглядит так как будто добавляем один лист, но в реальности это не так. Программа делает при этом не лучшие ходы, а ходы которые минимизируют ошибку (но чем "лучше" ход, тем чаще он будет исполняться). Это значит что если нашли ход, который всегда выигрывает, то другие ходы рассматриваться не будут. Если в позиции все ходы всегда проигрывают, то через какое-то число пробегов будут рассмотрены все ходы.
    А если есть несколько хороших ходов, но какой-то из них показывает лучшую статистику - то он будет рассматриваться чаще остальных, но другие ходы не так часто, но тоже будут рассматриваться при повторных проходах через этот узел.
    В этом очень похоже на альфа-бету, тем что в выигранных позициях в идеале за выигрывающую сторону будет в каждом узле рассмотрен только один ход, а за проигрывающую сторону все ходы (правда количество пробегов через разные проигрывающие ходы будет разное)

    Ну и соответственно нет никаких ветвей и границ. В самом простом случае сильнейший ход - это который исполнялся из позиции чаще остальных, либо ход который показал лучшую статистику (средний результат)
     
    Последнее редактирование: 15 дек 2017
  16. Нестор
    Оффлайн

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

    Репутация:
    331
    Интересно, сами разработчики Альфы до конца понимают, как работает их нейросеть?
    По аналогии с человеком, который точно не знает, как работает его мозг ...
     
  17. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    Оценивать позицию можно по разному. Можно использовать только оценку нейросети (так играет АльфаГоЗеро),
    а можно суммируя оценку нейросети и процент выигрыша в роллаутах (так играл АльфаГоМастер, и он кстати обходит Зеро на одинаковой глубине нейросети). Для тренировки нейросети никаких заданных шаблонов не используется, поэтому её можно считать обучившейся без человеческих знаний. А для роллаутов шаблоны нужны, поэтому Зеро роллауты и не использует.
     
  18. просроченый_кмс
    Оффлайн

    просроченый_кмс Старожил

    Репутация:
    6
    «Как ограничительные Теории метаматематики, так и теория вычислений говорят, что как только возможность представлять собственную структуру достигает некоей критической точки, то пиши пропало - это гарантия того, что вы никогда не сможете представить себя полностью. Теорема Гёделя о неполноте, Теорема Чёрча о неразрешимости, Теорема остановки Тьюринга, Теорема Тарского о невыразимости истины - все они чем-то напоминают старинные сказки, предупреждающие читателя о том, что «поиск самопознания - это путешествие, которое […] обречено быть неполным, не может быть изображено ни на каких картах, никогда не остановится и не сможет быть описано». Дуглас Хофштадтер, Гёдель, Эшер, Бах: эта бесконечная гирлянда, Самара, «Барах-М», 2001 г., с. 655
     
    Нестор нравится это.
  19. Нестор
    Оффлайн

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

    Репутация:
    331
    просроченый_кмс, ну, спасибо, хоть вы меня утешили, а то все эти Альфы вгоняют меня в тоску.
     
    Последнее редактирование: 15 дек 2017
  20. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    https://senseis.xmp.net/?UCT
    Это основа для классических MCTS движков. Дальше добавляется RAVE, оценка и т.д.
    В каждом узле, из всех ходов выбирается ход с максимальным UCTValue
    UCTValue(parent, n) = winrate + sqrt((ln(parent.visits))/(5*n.nodevisits))
    Где n.nodevisits - это сколько раз исполнялся конкретный ход
    parent.visits - это который раз мы появились в этом узле
    winrate - это средний показанный результат для хода. 0- всегда проигрывал, 1 - всегда выигрывал.

    Если чисто UCT - то из узла который встретился впервые делается случайных ход, если RAVE Eval и т.д., даже ес узел новый, то у каждого хода все-равно есть вес, и делается ход с максимальным весом.
    Альфа устроена немного иначе, но сути и частоты исполнения ходов это не меняет.
    —- добавлено: 15 дек 2017 —-
    Только в коде написано, что если в позиции есть ходы, которые ни разу не выполнялись - то выбор хода в позиции будет из таких ходов.
    Это косяк, на самом деле это не так. Код верный только в части ходов которые выполнялись хотя-бы один раз.

    Вот мой старый пост для UCT+Eval
     
    Последнее редактирование: 15 дек 2017
    N1mTzo нравится это.
  21. redhelicopter
    Оффлайн

    redhelicopter Старожил

    Репутация:
    42
    Кстати, Komodo видит ошибочность Rf8 почти сразу - на 25 глубине.
    Здесь уже высказывалась точка зрения, что Альфазеро натаскивался именно на игру против Стокфиша - похоже, так оно и есть. Нейросеть не столько играет в шахматы, сколько хорошо знает скрытые слабости соперника.
     
  22. просроченый_кмс
    Оффлайн

    просроченый_кмс Старожил

    Репутация:
    6
    Насчёт нейросети в мозге, думаю это находится пока за гранью науки, т.к. там не просто сложение и умножение, в нейронах используются квантовые эффекты, и сигналы по синапсам передаются не в аналоговом а в виде кода, это всё намного усложняет наш мозг и понимание его.
     
    Нестор нравится это.
  23. Нестор
    Оффлайн

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

    Репутация:
    331
    redhelicopter, Вы специально так троллите, что ли?
    Уж на что я далёк от компьютерных шахмат и программирования, и то уже давно понял в чём Ваше заблуждение.
     
  24. longinean
    Оффлайн

    longinean Учаcтник

    Репутация:
    130
    А вы на восьмом стокфише считали, на официальном? У меня уже глубина 47, и он только Rf8 предлагает, и полное равенство. Мне, правда, на одном ядре ноута считать часа 2 до той же глубины, что у них была на 64 ядрах :)
    2017_12_14_23_46_01.jpg
     
    Нестор, Undying и Комсюк нравится это.
  25. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    В Альфе нейросеть используется для аппроксимации. Что они пытаются аппроксимировать - разработчики конечно-же понимают. Как нейросеть аппроксимирует тоже известно.
     
    Нестор нравится это.
  26. Jadn
    Оффлайн

    Jadn баннер

    Репутация:
    52
    Никаких доказательств того, что в мозге используются квантовые эффекты, нет. И что значит "сигналы по синапсам передаются не в аналоговом а в виде кода"? А в искусственных нейросетях не в виде кода, что ли?
    Понимание мозга затрудняет только то, что нейронов там слишком дофига.
     
  27. Нестор
    Оффлайн

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

    Репутация:
    331
    NS, спасибо, но я немного в шутку задавал свой вопрос, имея в виду скорее последствия алгоритма, нежели сам алгоритм ...
     
    Последнее редактирование: 15 дек 2017
  28. zeroalphazero
    Оффлайн

    zeroalphazero Учаcтник

    Репутация:
    4
    Возникают вопросы:
    на каком этапе производились коррекции ошибок — т.е. только ли на этапе обучения?
    использование статистики при выборе начальных ходов в разгромном матче — не есть ли подобие использования дебютной библиотеки?
     
  29. Нестор
    Оффлайн

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

    Репутация:
    331
    Больше чем в нейросети Альфы?
     
  30. redhelicopter
    Оффлайн

    redhelicopter Старожил

    Репутация:
    42
    Расскажите, в чем.

    Да.
     
  31. просроченый_кмс
    Оффлайн

    просроченый_кмс Старожил

    Репутация:
    6
    квантовые эффекты есть даже при фотосинтезе, а уж что бы зародилось сознание без них никак. имхо.

    Конечно, нейронов миллиарды, и связей у каждого десятки а то и сотни.
     
    Последнее редактирование: 15 дек 2017
  32. Нестор
    Оффлайн

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

    Репутация:
    331
    redhelicopter, для того чтобы Ваш комп вышел на глубину СтокФиша с 64-мя ядрами, который играл в матче против Альфы, Вам понадобится существенно больше времени чем 1 минута.
    Сколько точно, я не знаю, мне это неинтересно, уточните у специалистов ...
    Надеюсь, что больше не надо будет Вам это объяснять в 101-ый раз? ;)
     
  33. WinPooh
    Оффлайн

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

    Репутация:
    95
    Ну, или не натаскивали специально, а провели несколько матчей. Со Стокфишем получилось хорошо, с Комодо чуть похуже, с Гудини - так себе. Опубликовали в статье результаты со Стокфишем.
     
  34. Jadn
    Оффлайн

    Jadn баннер

    Репутация:
    52
    Я не знаю сколько в Альфе, но думаю на много порядков меньше, чем в мозгу (примерно 10^11). Иначе никакой Гугл бы не смог ее обучить.
    —- добавлено: 15 дек 2017 —-
    имхо это не доказательство.
     
    Нестор нравится это.
  35. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    Давайте не спорить больше о Rf8/Kf8.

    Верно, Stockfish с чистым хешем достаточно быстро понимает, что Rf8 - ошибка, но при игре у SF забит хеш и он действительно мог недосчитать. Если бы контроль был не минута/ход, а время на партию, SF разрешил бы fail-high здесь.
     
    Комсюк нравится это.