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

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

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

    • Ветеран
    Рег.:
    17.07.2011
    Сообщения:
    9.535
    Симпатии:
    8.625
    Репутация:
    463
    Нарушения:
    28
    Оффлайн
    книг не было :rtfm:

    у тебя 64 ядра?

    какое время анализа у тебя при поиске ошибок?
    DraggonZ нравится это.
  2. ZenDisciple Начинающий

    • Начинающий
    Рег.:
    07.12.2017
    Сообщения:
    3
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Как я понимаю, нейронная сеть работает примерно как мозг, но с вычислительными способностями компьютера. То есть, представить себе приличного гроссмейстера, который способен все варианты досчитать до конца, при этом видит все дебютные и эндшпильные тонкости и считает варианты только при необходимости, а не полным перебором.
  3. Rooost Новичок

    • Новичок
    Рег.:
    23.08.2017
    Сообщения:
    32
    Симпатии:
    34
    Репутация:
    4
    Адрес:
    г. Хабаровск
    Оффлайн
    Ну раз вы так считаете, то всё, расходимся. А глупое шахматное сообщество, включая chess.com, chess24 и ко, пусть дальше верят в эту революцию.

    Хочу добавить, что ДипМайнд занимается созданием ИИ, а не шахматного движка. Шахматы - это лишь ещё одна платформа, где можно проверить возможности инструмента. Фабриковать результаты для них просто бессмысленно, потому что победить Стокфиш - это не самоцель.
  4. Комсюк народный модератор

    • Ветеран
    Рег.:
    17.07.2011
    Сообщения:
    9.535
    Симпатии:
    8.625
    Репутация:
    463
    Нарушения:
    28
    Оффлайн
    после Слюсарчука все на измене
  5. ШахматыЭтоДиагноз Учаcтник

    • Участник
    Рег.:
    31.03.2017
    Сообщения:
    443
    Симпатии:
    214
    Репутация:
    15
    Оффлайн
    Дело в том, что Сток и без книги 8-м ходом первыми тремя линиями предлагает только теоретические продолжения. Ход Фе1 не рассматривает вообще.
    Конечно, нет. :)
    Не обратил внимания. Но счет был больше чем 20 полуходов.
  6. 4547 народный художник

    • Участник
    Рег.:
    15.11.2016
    Сообщения:
    606
    Симпатии:
    375
    Репутация:
    39
    Оффлайн
    В детстве я читал книжки по ИИ. Приводился интересный пример как похожий ИИ "убил" одну пошаговую космическую стратегию. Суть его победы была в том, что соперники-игроки действовали по человеческим шаблонам - создавали стандартные флотилии с флагманом и крейсерами. ИИ после обучения на тестовых сражениях создал флот из множества мелких кораблей. Это оказалось более эффективной стратегией в той игре. После его победы правила игры видоизменили и этот ИИ вновь нашел другую "пробоину" в игре.
    Отличие от обычных программ в том, что в стокфиш и другие программы уже заложены человеком оценки позиций. Если, например, найти "дыры" - варианты где оценочная функция движка дает сбой, он будет проигрывать раз за разом. Альфазеро по идее должен сам вырабатывать критерии и оценки позициий, которые могут отличаться от общепринятых... Это достаточно любопытно.
    просроченый_кмс нравится это.
  7. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    301
    Симпатии:
    114
    Репутация:
    16
    Оффлайн
    Существует дерево перебора на основе метода Монте-Карло. Но выбор перспективных ходов и оценка позиций на этом дереве доверена нейросети. Вот схема объясняющая как работает нейросеть (6 Мб). Она для игры Го, но в принципе особой разницы нет:
    https://applied-data.science/static/main/res/alpha_go_zero_cheat_sheet.png

    Грубо говоря, нейросеть это аппроксимация нелинейной функции, где на вход в качестве переменной мы подаём позицию которую надо оценить, в цифровом виде, а на выходе получаем оценку этой позиции и список ходов с оценкой перспективности каждого хода. Если проще, то нейросеть это огромный набор коэффициентов на которые мы перемножаем исходную позицию в несколько этапов, а как результат получаем указанные выше оценки.
    felagund08 и DraggonZ нравится это.
  8. ZenDisciple Начинающий

    • Начинающий
    Рег.:
    07.12.2017
    Сообщения:
    3
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Для качественного анализа в сложных позициях с несбалансированными и острыми позициями необходимо не менее 28-30 полуходов
  9. Комсюк народный модератор

    • Ветеран
    Рег.:
    17.07.2011
    Сообщения:
    9.535
    Симпатии:
    8.625
    Репутация:
    463
    Нарушения:
    28
    Оффлайн
    как ты думаешь, какую глубину наберёт Сток за минуту на 64-ёх ядрах?
    Как дети малые :)
    Чем вы проверяете?
    Это всё равно, что я ошибки буду искать у Карлсена без компа
    DraggonZ, Vladruss, sovaz1997 и ещё 1-му нравится это.
  10. ШахматыЭтоДиагноз Учаcтник

    • Участник
    Рег.:
    31.03.2017
    Сообщения:
    443
    Симпатии:
    214
    Репутация:
    15
    Оффлайн
    Ну, это все-таки не минута на личессе. :)
    Зададим вопрос по другому - кто-нибудь проверял качество игры Стокфиша в этом матче на похожем железе? Потому что у меня есть подозрения, что 8.Фе1 он не выберет ни на 64, ни на 640 ядрах.
  11. pavelgttfj8 Начинающий

    • Начинающий
    Рег.:
    07.12.2017
    Сообщения:
    6
    Симпатии:
    3
    Репутация:
    0
    Оффлайн
    Нет конечно. Статистика тут вообще не причём. Работает это так: Есть некая базовая нейросеть АльфаЗеро. Её можно натравить на го, шашки, шахматы, на что угодно. Далее она начинает "писать" программу под ту игру, которую ей дали, зная только правила. Без учителя, самостоятельно. Как она это делает, никто не знает. Точнее знает только приблизительно - методами машинного обучения. Код получившийся "программы" никто разобрать не может. Потому что зеро её написала. И вот уже этот продукт, эта "программа" и играет в шахматы. На обучение нужно минимум на 2-3 порядка больше мощности чем на машину, которая, собственно, будет играть.
    Никаких альфа-бета отсечений или метода монте-карло там нет, там совершенно другие принципы. Только слои нейронов, нейроны, связи между ними и их веса. Такая архитектура универсальна, она может повторить любой алгоритм, но создает именно тот, который наиболее эффективен для конкретной игры. Он очень много понимает, гораздо более интеллектуален чем примитивное альфа-бета отсечение.
    Конечно нет, эти тупые движки хоть вечность будут думать на самом мощном железе, всё равно не отыщут правильный ход. Вы это сами прекрасно знаете. Алгоритмы не те. Не могут мыслить абстракциями, например "закрытая позиция", "открытая позиция", "пешечная цепь", а нейросети прекрасно могут. Они закрытые пешечные цепи решат, сразу поняв что это ничья, и крепости разрушат и этюды решат.
    DraggonZ и Комсюк нравится это.
  12. Mustitz Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    30.09.2006
    Сообщения:
    2.587
    Симпатии:
    138
    Репутация:
    6
    Адрес:
    Киев
    Оффлайн
    Железо разное. Не сложно купить 10 компьютеров и объединить их в одну вычислительную сеть. Можно ли запустить Stockfish на всех сразу? Думаю, никто таким не занимался. Был кластер рыбки, но в этом направлении ничего не слышно. Или совсем просто купить несколько GPU, на каждой которой 2000 вычислителей. Никто же их не использует? Потому что обычные алгоритмы распараллеливания там не работают :)

    Для нейросетей используются специальные платы, например. И их невозможно использовать под обычные вычисления.
  13. Комсюк народный модератор

    • Ветеран
    Рег.:
    17.07.2011
    Сообщения:
    9.535
    Симпатии:
    8.625
    Репутация:
    463
    Нарушения:
    28
    Оффлайн
    для качественного - очень мало
    В адвансе новый фетиш - 50, но мы не про адванс
    Можно экстраполировать ситуацию... допустим СЮ, на своих 28-ми даст 5 минут на ход
    Вот если будут коренные различия, тогда можно о чём-то говорить
  14. ZenDisciple Начинающий

    • Начинающий
    Рег.:
    07.12.2017
    Сообщения:
    3
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Там они ему под хеш-таблицу дали только 1гиг, вот куда он будет складывать дерево вариантов с 64 процессоров чтобы их оценить?
  15. Комсюк народный модератор

    • Ветеран
    Рег.:
    17.07.2011
    Сообщения:
    9.535
    Симпатии:
    8.625
    Репутация:
    463
    Нарушения:
    28
    Оффлайн
    это не подозрение, а заблуждение :)
    Сток может выбрать всё что не ухудшает оценку, если нет того, что улучшает
    --- добавлено: 7 дек 2017 в 13:29 ---
    ну и я ставлю 1 гиг...
    И шо? Никогда глыбины 50 не видел, Вы думаете?
  16. Mustitz Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    30.09.2006
    Сообщения:
    2.587
    Симпатии:
    138
    Репутация:
    6
    Адрес:
    Киев
    Оффлайн
    pavelgttfj8, как я понимаю, правила игры таки надо запрограммировать самостоятельно. Также запрограммирован алгоритм игры: играем из текущего положения стотысяч партий до мата. Делаем ход, где процент побед выше. А вот нейросеть отвечает больше на вопрос, какие ходы включать.

    Кстати, такой алгоритм должен легко определять крепости :)
  17. pavelgttfj8 Начинающий

    • Начинающий
    Рег.:
    07.12.2017
    Сообщения:
    6
    Симпатии:
    3
    Репутация:
    0
    Оффлайн
    Логично, потому что если их не запрограммировать, игра будет не определена.
    "Запрограмированные" правила игры и говорят нейросети, в какую игру ей надо играть, в шахматы, шашки, шахматные поддавки и т.д.
  18. Camon14 магистр

    • Заслуженный
    • Ветеран
    Рег.:
    28.05.2012
    Сообщения:
    12.996
    Симпатии:
    5.368
    Репутация:
    345
    Оффлайн
    Вспоминается история с ДипБлю, там тоже была контора серьёзная, а комп разобрали на шуруБы. :D А вообще шахматисты параноики, столько недоверия, а я верю гуглу, понятно, что проект ещё сырой , но они его доработают. И будет 5000Эло. Как уже говорили, даже полный подсчёт шахмат не должен убить игру ( Это я о словах Демченко, который беспокоится), да шахматы уже сейчас расписаны до ничьей в основных вариантах! И ничего , играем . Просто вопрос читерства станет ещё острее, и романтики станет меньше , поэтому будет оток игроков большой. Кубик-Рубика вон до сих пор собирают, но уже на время, вот будушее классических шахмат это видимо блиц и быстрые.
  19. Yury_Solomatin Учаcтник

    • Участник
    Рег.:
    25.01.2017
    Сообщения:
    217
    Симпатии:
    91
    Репутация:
    5
    Оффлайн
    Репортаж chess.com

    AlphaZero, новый проект Google, громит Stockfish в матче из 100 партий

    Накамура назвал матч "нечестным", указав, что для оптимальной работы Stockfish этот движок должен использовать дебютную книгу. Он не думает, что с дебютной книгой Stockfish выиграл бы матч, но разрыв в счете был бы намного меньше. "Я уверен, что сам Господь бог не набрал бы против Stockfish 75 процентов очков белыми без какой-либо форы".

    Петер-Хайне Нильсен: "Мне всегда было любопытно, что было бы, если бы более разумный вид высадился на нашей планете и показал нам свое искусство шахматной игры. Кажется, теперь я знаю, каково это".
    Современный искусственный интеллект идет от чего-то вроде шахмат к проблемам, достойным нобелевских премий и даже большего. Думаю, нам повезло, что они решили потратить четыре часа на шахматы, но последствия этого открытия куда более значительны".
  20. Rooost Новичок

    • Новичок
    Рег.:
    23.08.2017
    Сообщения:
    32
    Симпатии:
    34
    Репутация:
    4
    Адрес:
    г. Хабаровск
    Оффлайн
  21. Camon14 магистр

    • Заслуженный
    • Ветеран
    Рег.:
    28.05.2012
    Сообщения:
    12.996
    Симпатии:
    5.368
    Репутация:
    345
    Оффлайн
    https://ru.m.wikipedia.org/wiki/Искусственная_нейронная_сеть Пробежался по этой статейке. Нейтронная сеть "обобщает" как человек. А это ведёт к логическим ошибкам. Если все женщины - люди, то это не значит, что все люди -женщины. А нейтронная сеть может прийти к такому выводу имхо. Так что в конкретике где-то будет ошибаться Альфагозеро.
  22. ШахматыЭтоДиагноз Учаcтник

    • Участник
    Рег.:
    31.03.2017
    Сообщения:
    443
    Симпатии:
    214
    Репутация:
    15
    Оффлайн
    При анализе на зевки Сток в партии нашел ошибки только за себя родимого (64-ядерного!), но при этом ни одной за черных. О чем тут еще говорить?
    А СЮ уже высказал свое недоумение игрой Стокфиша.
  23. Комсюк народный модератор

    • Ветеран
    Рег.:
    17.07.2011
    Сообщения:
    9.535
    Симпатии:
    8.625
    Репутация:
    463
    Нарушения:
    28
    Оффлайн
    а мы высказали недоумение мнением СЮ

  24. Carter Новичок

    • Новичок
    Рег.:
    07.05.2010
    Сообщения:
    60
    Симпатии:
    20
    Репутация:
    0
    Оффлайн
    Скепсис насчет того, захочет ли "Стокфиш" пойти 8. Qe1, напрасен.

    Произвел проверку на своем скромном ноуте, где стоит обычный "Стокфиш" без доработок. Результат: примерно через час появилось 8. Qe1 и попало в первую линию. На данный момент позиция стоит уже 1 час 18 минут, и 8. Qe1 - первая линия.
    Undying, DraggonZ, sovaz1997 и 3 другим нравится это.
  25. Camon14 магистр

    • Заслуженный
    • Ветеран
    Рег.:
    28.05.2012
    Сообщения:
    12.996
    Симпатии:
    5.368
    Репутация:
    345
    Оффлайн
    Комсюк, ты видел, Альфа пока отдаёт предпочтение с4 и Кф3 играет. Так что я обогнал своё время своими статьями :)
    mikola7 и Комсюк нравится это.
  26. ШахматыЭтоДиагноз Учаcтник

    • Участник
    Рег.:
    31.03.2017
    Сообщения:
    443
    Симпатии:
    214
    Репутация:
    15
    Оффлайн
    На глубине скольких полуходов он отдает предпочтение Фе1?
  27. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    301
    Симпатии:
    114
    Репутация:
    16
    Оффлайн
    Нейросеть это скорее интуиция, так называемая "игра рукой". Она конечно может ошибаться. Для проверки интуиции существует перебор вариантов. Те самые 80 тысяч позиций в секунду, которые упоминали ранее.
  28. Camon14 магистр

    • Заслуженный
    • Ветеран
    Рег.:
    28.05.2012
    Сообщения:
    12.996
    Симпатии:
    5.368
    Репутация:
    345
    Оффлайн
    Маленький перебор пока, я и то дальше считаю :D
    mikola7 нравится это.
  29. Комсюк народный модератор

    • Ветеран
    Рег.:
    17.07.2011
    Сообщения:
    9.535
    Симпатии:
    8.625
    Репутация:
    463
    Нарушения:
    28
    Оффлайн
    это она ещё моих адванс-партий не видела
    mikola7 и Camon14 нравится это.
  30. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    301
    Симпатии:
    114
    Репутация:
    16
    Оффлайн
    80 тысяч позиций в секунду? Уважаю :)
  31. Challenger Spy Модератор

    • Команда форума
    Рег.:
    29.01.2011
    Сообщения:
    3.048
    Симпатии:
    1.792
    Репутация:
    151
    Оффлайн
    Простите, дружище, я далек от темы. Но, как ни крути, выходит, что на равном железе Сток затащил бы без шансов? :)
  32. Комсюк народный модератор

    • Ветеран
    Рег.:
    17.07.2011
    Сообщения:
    9.535
    Симпатии:
    8.625
    Репутация:
    463
    Нарушения:
    28
    Оффлайн
    Вообще-то, если у этого монстра нет тайм-менеджмента, то пусть себе думает минуту на ход, а Стоку надо дать час на партию и короткую дебютную книжку (ходов 6-8) , а также шестифигурки (и то необязательно)
    Глядишь, и за ничью можно побороться даже на разном железе
    --- добавлено: 7 дек 2017 в 15:48 ---
    ну, если твои подсчёты про тысячекратное преимущество в железе верны, то это 10 удвоений (1028)
    а это 500 пунктиков :)
  33. Котэ Учаcтник

    • Участник
    Рег.:
    29.04.2010
    Сообщения:
    711
    Симпатии:
    78
    Репутация:
    2
    Оффлайн
    А почему во всех статьях указанно, что альфазеро "тренировалась" 4 часа?
    В статье разработчиков я увидел следующие цифры:

    Chess Shogi Go

    Mini-batches 700k 700k 700k

    Training Time 9h 12h 34h

    Training Games 44 million 24 million 21 million

    Thinking Time 800 sims 800 sims 800 sims

    40 ms 80 ms 200 ms

    Поправьте меня пожалуйста если я что-то путаю, так как не хотелось бы пребывать в заблуждении:)

    ______________________________________

    Кажется я сам понял в чем дело. Альфазеро играла сама с собой 9 часов. Но ее сила игры превысила силу игры стокфиша уже через 4.

    [​IMG]
    Но учитывая как медленно растет график последние часы , похоже, что на самом деле чтобы превзойти сток у альфы ушло приблизительно часов 5 с половиной, ведь последний сток на 40 пунктов сильнее участвовавшего в эксперименте.
    Также ввиду того, что в конце график выравнивается, по всей видимости эта нейросеть не заиграет сильнее если будет "тренироваться" не 9 часов, а месяц.
  34. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    301
    Симпатии:
    114
    Репутация:
    16
    Оффлайн
    Четыре часа чтобы превзойти Стока, девять часов на всю тренировку:
    "In chess, AlphaZero outperformed Stockfish after just 4 hours"
    Котэ нравится это.
  35. Carter Новичок

    • Новичок
    Рег.:
    07.05.2010
    Сообщения:
    60
    Симпатии:
    20
    Репутация:
    0
    Оффлайн
    Сейчас уже не скажу: надо заново ставить. (Я на работе: заглядываю в движок лишь бегло.) Зато могу добавить, что Qe1 долго провисел на первой строчке, а где-то через два часа за первую стали бороться Qe2 и c3, ходы более человеческие (но насколько помню, Стокфиш с них не начинал, а в начале рассматривал h3 или Nc4...). Но думаю, час за часом это может меняться: в такой спокойной позиции есть целый ряд равноценных ходов и разные планы.

    У Стокфиша долго была идея (к двум с половиной часам съехавшая на третью линию) сыграть Qe1 и затем Qc3 - имхо, чисто компьютерная затея.

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