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

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

  1. NeoNeuro Учаcтник

    • Участник
    Рег.:
    17.02.2013
    Сообщения:
    541
    Симпатии:
    145
    Репутация:
    33
    Оффлайн
    Ваше описание намного лучше начальной статьи в pdf на английском.
    То есть AlphaZero для каждой позиции для каждого из 50 (в среднем) возможных ходов выдаёт свою оценку, насколько высока вероятность того, что этот ход - лучший. И далее берутся, к примеру первые из этих десяти ходов для дальнейшего расчёта. Это похоже на то, как действует и человек. AlphaZero. Это - метод поиска ходов-кандидатов, кстати, в книге Котова "Тайны мышления шахматиста" вообще не указано КАК их искать. т.е. ищем интуитивно - что человек, что ИНС.
    НО - всё же есть вопросы:
    1. Для учёта материального соотношения используется обычный алгоритм или нейросеть? Учёт материала очень важен для финальной оценки позиций.
    2. Не мешает ли ограничение выбора ходов у AlphaZero находить нестандартные комбинации, которые могут начинаться с "неочевидных" ходов? Если взять сильного шахматиста-человека, то он будет в блице делать относительно хорошие ходы, в "простых позициях", НО - никакая интуиция не гарантирует точного расчёта комбинаций.
    3. В статье была странность - указано, что альфа-бета алгоритм, применяемый во многих переборных задачах и применяемым шахматистами-людьми во время партии, в AlphaZero НЕ ИСПОЛЬЗУЕТСЯ, а вместо него предложен "Монте-Карло" - т.е. метод случайного выбора, который обычно используется для задач, не требующих пошагового расчёта. Странность заключается в том, что удобный и понятный алгоритм, используемый как человеком, так и компьютером, вдруг заменили на "метод тыка "= "Монте Карло"и заявили о лучших результатах.

    Вопрос можно свести к следующему: что делает нейронная сеть и что делают классические шахматные алгоритмы внутри AlphaZero?

    Это и смущает:)
    ИНС заточены под задачи распознавания, под интуицию. Отличить кошку от собаки - это очень сложная, но посильная задача для ИНС. Распознавание людей, распознавание эмоций, прогнозы: погоды, землетрясений, солнечной активности, кредитоспособности заёмщиков - это всё типичные задачи для ИНС, это задачи, где нужно обобщить опыт, т.е. создать и применить интуицию.
    Роботы мыслят интуитивно..
    НО у искусственного интеллекта проблемы с логикой, у нейронных сетей в принципе эти проблемы пока неразрешимы. Например, нейронку нельзя (пока) научить решать переборные задачи, такие как шахматы..
    Специалисты Google при этом пишут, что все переборные и логические вопросы они "зашили" напрямую, а вот над чем именно работает нейронная сеть, где именно область применения компьютерной интуиции - до конца непонятно.
  2. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Нет, совсем не так. Есть формула - PUCT, согласно которой считается вес каждого хода в узле, и начиная с корня делаются ходы с наибольшим PUCT.
    Значение PUCT - это функция от оценки, вероятности того что ход сильнейший, количества раз что мы были в этом узле, и количества раз что этот ход уже исполняли.
    Это модификация MCTS/UCT, в которой не играются роллауты, и в стандартную формулу еще включена вероятность того что ход сильнейший.
    Это совсем не похоже на альфа-бету, и в каждом узле рассматривается один ход, а не несколько.
    После расширения дерева - процедура опять повторяется с корня.
  3. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    ИНС в данном случае используется для аппроксимации. Есть функция от позиции - вероятность того что она выиграна, или иначе ОФ - оценочная функция, оценка позиции.
    Зная результаты партий в которых встретились позиции - можно аппроксимировать функцию оценки. Что в данном случае делают при помощи нейронной сети.
    Наигрываются партии программы с самой собой. В каждой партии есть результат. И есть позиции, которые встретились в партии.
    Вроде всё понятно - Нейронная сеть используется для аппроксимации ОФ. Они получили самую сильную ОФ при помощи нейронной сети, классические ОФ даже в сильнейших программах были слабее.
    Отличие Zero от предыдущих версий, в том что программа учится с нуля, сначала играет случайными ходами. И обучается используя только свои партии с самой собой, не используя чужих партий и позиций.

    Попутно они аппроксимировали при помощи НС еще одну функцию - вероятность того что ход является сильнейшим в позиции.

    Уже давно сильные программы используют НС для оценки позиции. Например в Нарды и ГО. В этом Гугл ничего нового не сделал. В том числе НС использовались и для ОФ в шахматах, и MCTS тоже пробовали в шахматах. Гугл первый сделал реально сильную шахматную программу на MCTS + НС, вдобавок они сделали универсальный механизм, при помощи которого имея большие вычислительные мощности можно быстро сделать сильную программу в разные игры. Что они продемонстрировали на трех играх - Сёги, Го и Шахматах.
    NeoNeuro и Undying нравится это.
  4. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    113
    Симпатии:
    14
    Репутация:
    1
    Оффлайн
    Про чтение мыслей забавно , то есть программа своим диалогом действует на подсознание и провоцирует нас на заведомо известный ответ , похожую тактику применяю при игре в шахматы с личесс , недавно удалось переиграть stockfish8 в этой программе чёрными фигурами , по игре читается вариант на который меня выводила программа , но он явно ничейный , пришлось поискать другое продолжение , и оно нашлось , в общем теперь у меня в активе есть победа чёрными над движком , но пока только в личесс , я понял одно - если удастся прочитать вариант игры предложенный традиционным движком , то вероятность победы над ним возрастает
  5. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.709
    Симпатии:
    1.954
    Репутация:
    83
    Адрес:
    Москва
    Оффлайн
    Кстати Грека со случайных ходов на свой обычный уровень 2500-2600 выходит примерно за 50-100 тыс.партий с самой собой (с очень коротким расчётом, всего по три полухода). Но у меня нет никакой нейросети, я обучаю классическую ОФ примерно из 200 весов.
    MS нравится это.
  6. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    113
    Симпатии:
    14
    Репутация:
    1
    Оффлайн
    Насколько я понимаю , все движки имеют свои онлайн сети и транслируют все игры через себя , таким образом используя наши нейросети для улучшения своего генотипа , поэтому я стараюсь играть с ними только оффлайн
  7. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.709
    Симпатии:
    1.954
    Репутация:
    83
    Адрес:
    Москва
    Оффлайн
    Какое счастье, что я давно уже перестал играть с движками в шахматы! Правда, вот в Го иногда играю... не отключаясь при этом от всемирной сети...
    roman57 нравится это.
  8. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Обучаешь мат. оптимизацией или аппроксимацией?
  9. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.709
    Симпатии:
    1.954
    Репутация:
    83
    Адрес:
    Москва
    Оффлайн
    Всё как в Texel's tuning method, только у него там покоординатный спуск описан, а я использую случайные блуждания и имитацию отжига. И беру по одной позиции из партии.
  10. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    716
    Симпатии:
    313
    Репутация:
    8
    Онлайн
    Нейросеть естественно. Если начать считать материал, то при оценке позиции получится уровень 3 разряда, как в Стокфише.

    В этом плане Альфа Зеро похож на то как играет в шахматы человек. Человек оценивает позицию интуитивно, а затем проверяет интуицию расчетом. Опять же на каждой итерации расчета используя для оценки позиции интуицию.

    В вопросе смешано две проблемы. Первая проблема - насколько часто сильнейший ход вообще выпадает из рассмотрения нейронной сети. Судя по результату против Стокфиша и тому что при увеличении времени обдумывания преимущество над Стокфишем растет, редко.

    Вторая проблема - точный расчет комбинаций. Этого нейронная сеть и не обязана гарантировать. Для этого есть внешний счетный модуль, который проверяет текущую оценку хода, запуская нейронную сеть на большей глубине. Судя по тому, что на сверхкоротких контролях Стокфиш получает преимущество над Альфа Зеро, на маленькой глубине нейронная сеть зевает частенько.

    Нейронная сеть это не серебряная пуля и не универсальный способ решения любых задач. Нейронка эффективна на определенном классе задач. Поэтому нейронные сети, как правило, нужно комбинировать с другими методами. Что и сделал DeepMind. И собственно как это делает и человек, совмещая в мышлении подсознательную интуицию и сознательный расчет.
    crem нравится это.
  11. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    То есть аппроксимируешь, уменьшая ошибку методами мат. оптимизации?
    Вроде считается что чистая оптимизация позволяет достичь большей силы. То есть рассматриваем силу как функцию от ОФ. Силу считаем по результату (в очках) тестовых матчей. Ну и соответственно тюнингуем ОФ так чтоб максимизировать силу. То есть пытаемся решить не косвенную задачу, а прямую - пытаемся не аппроксимировать ОФ, а пытаемся путем тюнинга ОФ максимизировать силу.
  12. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.709
    Симпатии:
    1.954
    Репутация:
    83
    Адрес:
    Москва
    Оффлайн
    Слишком уж дорогая оптимизируемая функция получается. С оценкой на миллионе партий на вычисление в одной точке уходит до десятка секунд, а тестовый матч сколько длиться будет, чтобы приличную точность обеспечить?

    Помнится, лет десять назад вы с Wildcat'ом пытались таким образом его Мурку оптимизировать, если я ничего не путаю. Чем тогда дело закончилось?
  13. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Выше уже ответили, напишу еще своими словами.
    1. Всю ОФ считает нейронная сеть, включая материал.
    2. MCTS совершенно другой переборный алгоритм, но он естественно тоже видит тактику.
    Альфа-бета тоже не гарантирует точного расчета комбинаций, из-за погрешностей оценки и из-за отсечений.
    В Alpha - нейронная сеть должна научиться учитывать в оценке возможность тактических ударов, и научиться высоко оценивать перспективные в тактическом отношении ходы (и давать низкую потенциальным зевкам). Вроде партии матча не показали ни малейшего преимущества Стокфиша в тактике и счете.
    3. MCTS/UCT (монте-карло) уже больше 10 лет успешно используется в ГО и других играх. Это тоже отличный переборный алгоритм, удобный и понятный, просто совершенно другой. Это не метод случайного выбора. В нем нет случайности. Название вводит в заблуждение.
    И переборные алгоритмы Alpha несравнимо проще чем в обычной шахматной программе на альфа-бете. В ней нет ни одной переборной эвристики. Только формула PUCT для вычисления веса ходов и выбора хода с большим весом. Что делает применение методологии АльфаЗеро универсальной для различных игр.
    --- добавлено: 27 дек 2017, опубликовано: 27 дек 2017 ---
    Таким образом изначально я посчитал ОФ в Скифи в 2007-ом году (метод случайных направлений), WildCat оптимизировал и Мурку и вроде Стокфиш с Белкой (уже точно не помню) - методом Нелдера-Мида.
    Ну и таким образом оптимизировалась Чайка и оптимизируется Стокфиш (методами высоких порядков, SPSA и т.д.)
    https://chessprogramming.wikispaces.com/Stockfish's+tuning+method
    https://chessprogramming.wikispaces.com/SPSA

    Не нужно миллиона партий для оценки в точке. Хорошие методы оптимизации устойчивы к шуму (погрешности в оценке).
    WinPooh нравится это.
  14. crem Новичок

    • Новичок
    Рег.:
    24.11.2016
    Сообщения:
    96
    Симпатии:
    107
    Репутация:
    11
    Оффлайн
    Среди 4672 ходов есть и очень редкие, а именно взятия пешкой с превращением не в ферзя (причём опять же взятия влево и вправо различаются, взятия с каждой вертикали различаются, и превращения в каждую фиругу тоже различаются, и нейросеть не знает что это всё ходы пешки).
    Интересно сколько раз вообще встретился, например, ход "взятие пешкой с g7 на h8, с превращением в коня", в тренировочных играх, и достаточно ли этого чтоб обучиться. Мне кажется, даже на таком огромном количестве партий, alphazero только смогло обучиться, что этот ход всегда плох.
  15. Jadn Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    10.05.2006
    Сообщения:
    2.979
    Симпатии:
    747
    Репутация:
    28
    Оффлайн
    Готов поспорить, что в обученной сетке AZ есть нейрон, который загорается, если на доске присутствует, например, белый ферзь. И он имеет очень приличный вес. Наверняка, и у тренированного человека такое есть. Так что материал всё равно считается.
  16. nn Учаcтник

    • Участник
    Рег.:
    25.03.2007
    Сообщения:
    667
    Симпатии:
    1.246
    Репутация:
    83
    Оффлайн
    На ферзя может и несколько нейронов возбуждаться. Да еще и адреналин выделяться.
    roman57 нравится это.
  17. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    113
    Симпатии:
    14
    Репутация:
    1
    Оффлайн
    Возможно частичка ваших способностей тоже есть в победе ИИ над человеческим разумом ^_-
  18. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    716
    Симпатии:
    313
    Репутация:
    8
    Онлайн
    Почему этот ход плох? Обычно он тоже выигрывающий (лишняя фигура все-таки появляется), просто более сложным способом чем, если поставить ферзя. Поэтому по идее такой ход нейронка должна оценивать довольно высоко и вряд ли он вывалится из списка ходов-кандидатов, которые рассматривает переборный модуль.
  19. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    113
    Симпатии:
    14
    Репутация:
    1
    Оффлайн
    Нейроны человека за 4 часа стих не всегда могут запомнить , а нейроны AZ разучивают шахматы - не иначе всему причиной допинг , куда смотрит WADA ?
  20. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.709
    Симпатии:
    1.954
    Репутация:
    83
    Адрес:
    Москва
    Оффлайн
    Как минимум одна моя партия могла попасть в первоначальную подборку АльфаГо. Для неё брали партии с сервера КГС игроков уровня выше какого-то дана. А я когда-то там играл с Динерштейном. Правда, на форе 9 камней, и дан был только у него. Так что полной уверенности нет :)
    roman57 нравится это.
  21. Michael-13 Господин

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

    • Начинающий
    Рег.:
    28.12.2017
    Сообщения:
    7
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Скажите, почему всюду пишут, что АЗ не проиграл ни одной партии за белых?
    267W 378D 5L (это результаты АЗ за белых) и 51W 580D 19L (это результаты СФ за белых).
  23. Harutyun Начинающий

    • Начинающий
    Рег.:
    06.12.2017
    Сообщения:
    2
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Получается вполне реально турнир между телефонами и людей. При этом создатели телефонов будут заинтересованы финансированием таких турниров.
    --- добавлено: 30 дек 2017, опубликовано: 30 дек 2017 ---
    Получилась создать сайт по адресу alphazero.ru. Посоветуйте какие разделы там открыть.
  24. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.709
    Симпатии:
    1.954
    Репутация:
    83
    Адрес:
    Москва
    Оффлайн
  25. просроченый_кмс Учаcтник

    • Участник
    Рег.:
    15.02.2010
    Сообщения:
    957
    Симпатии:
    67
    Репутация:
    0
    Оффлайн
    Хрен с этой го, когда шахматы нам опять покажут.
    Интересно допилят они прогу или совсем завершили, может хоть в качестве анализа дадут тпу дистанционно что бы можно было ходы вводить и получать анализ как на комп сайтах.
  26. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    Рег.:
    17.07.2011
    Сообщения:
    12.140
    Симпатии:
    12.013
    Репутация:
    780
    Оффлайн
    Так Винни писал, что они свернулись
  27. Mustitz Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    30.09.2006
    Сообщения:
    2.851
    Симпатии:
    311
    Репутация:
    21
    Адрес:
    Киев
    Оффлайн
    Тут хотя-бы показали все сыгранные партии...
    Undying нравится это.
  28. просроченый_кмс Учаcтник

    • Участник
    Рег.:
    15.02.2010
    Сообщения:
    957
    Симпатии:
    67
    Репутация:
    0
    Оффлайн
    жалко, шахматы более популярная игра, да и заработать они могли делая эти тпу и продавая прогу
    но думаю появятся продолжатели с умными мозгами)
  29. Mustitz Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    30.09.2006
    Сообщения:
    2.851
    Симпатии:
    311
    Репутация:
    21
    Адрес:
    Киев
    Оффлайн
    Заработать? Стоимость TPU сейчас в районе $100k, таких штук надо четыре. Думаю, если кто захочет приобрести такую штуку, и у него есть миллион долларов, и он не из РФ, то, я думаю, он может напрямую обращаться в Deep Mind.
  30. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн

    AlphaZero обучался исключительно посредством «самостоятельной игры» с использованием 5000 TPU первого поколения для создания игр и 64 ТПУ второго поколения для обучения нейронных сетей, все параллельно
    (с) Wiki
  31. Mustitz Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    30.09.2006
    Сообщения:
    2.851
    Симпатии:
    311
    Репутация:
    21
    Адрес:
    Киев
    Оффлайн
    Ну... для игры его обучать уже не надо. Надо просто загрузить уже обученную сеть. Вроде как играет она на четырёх TPU.
  32. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    А где взять эту обученную сеть? И даже если её отдадут, вряд ли она на 4 TPU в нормальных условиях будет сильнее сильнейших движков.
  33. Нестор консультант_ специалист по черной магии

    • Заслуженный
    • Участник
    Рег.:
    10.04.2006
    Сообщения:
    2.519
    Симпатии:
    2.733
    Репутация:
    252
    Адрес:
    Москва
    Оффлайн
    Сильнее сильнейших движков, которые сильнее сильнейших людей ... :facepalm2:
  34. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    113
    Симпатии:
    14
    Репутация:
    1
    Оффлайн
    А0 обыграл чемпиона 2016 , а чемпиона 2017 ещё нужно обыграть
  35. Нестор консультант_ специалист по черной магии

    • Заслуженный
    • Участник
    Рег.:
    10.04.2006
    Сообщения:
    2.519
    Симпатии:
    2.733
    Репутация:
    252
    Адрес:
    Москва
    Оффлайн
    Так о том и речь, что Дип Майнд это ненужно! Свернули они это направление.
    Неинтересны им дальнейшие спортивные шахматные достижения. А жаль ...

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