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

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

  1. Rooost Новичок

    • Новичок
    Member Since:
    23.08.2017
    Message Count:
    85
    Likes Received:
    132
    Репутация:
    13
    Location:
    г. Хабаровск
    Оффлайн
    Ну раз вы так считаете, то всё, расходимся. А глупое шахматное сообщество, включая chess.com, chess24 и ко, пусть дальше верят в эту революцию.

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

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.231
    Likes Received:
    23.509
    Репутация:
    1.266
    Оффлайн
    после Слюсарчука все на измене
  3. ШахматыЭтоДиагноз Учаcтник

    • Участник
    Member Since:
    31.03.2017
    Message Count:
    3.542
    Likes Received:
    4.620
    Репутация:
    208
    Оффлайн
    Дело в том, что Сток и без книги 8-м ходом первыми тремя линиями предлагает только теоретические продолжения. Ход Фе1 не рассматривает вообще.
    Конечно, нет. :)
    Не обратил внимания. Но счет был больше чем 20 полуходов.
  4. 4547 Учаcтник

    • Участник
    Member Since:
    15.11.2016
    Message Count:
    1.804
    Likes Received:
    1.808
    Репутация:
    138
    Оффлайн
    В детстве я читал книжки по ИИ. Приводился интересный пример как похожий ИИ "убил" одну пошаговую космическую стратегию. Суть его победы была в том, что соперники-игроки действовали по человеческим шаблонам - создавали стандартные флотилии с флагманом и крейсерами. ИИ после обучения на тестовых сражениях создал флот из множества мелких кораблей. Это оказалось более эффективной стратегией в той игре. После его победы правила игры видоизменили и этот ИИ вновь нашел другую "пробоину" в игре.
    Отличие от обычных программ в том, что в стокфиш и другие программы уже заложены человеком оценки позиций. Если, например, найти "дыры" - варианты где оценочная функция движка дает сбой, он будет проигрывать раз за разом. Альфазеро по идее должен сам вырабатывать критерии и оценки позициий, которые могут отличаться от общепринятых... Это достаточно любопытно.
  5. Rom Старожил

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

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

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

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.231
    Likes Received:
    23.509
    Репутация:
    1.266
    Оффлайн
    как ты думаешь, какую глубину наберёт Сток за минуту на 64-ёх ядрах?
    Как дети малые :)
    Чем вы проверяете?
    Это всё равно, что я ошибки буду искать у Карлсена без компа
  8. ШахматыЭтоДиагноз Учаcтник

    • Участник
    Member Since:
    31.03.2017
    Message Count:
    3.542
    Likes Received:
    4.620
    Репутация:
    208
    Оффлайн
    Ну, это все-таки не минута на личессе. :)
    Зададим вопрос по другому - кто-нибудь проверял качество игры Стокфиша в этом матче на похожем железе? Потому что у меня есть подозрения, что 8.Фе1 он не выберет ни на 64, ни на 640 ядрах.
  9. pavelgttfj8 Учаcтник

    • Участник
    Member Since:
    07.12.2017
    Message Count:
    290
    Likes Received:
    90
    Репутация:
    3
    Оффлайн
    Нет конечно. Статистика тут вообще не причём. Работает это так: Есть некая базовая нейросеть АльфаЗеро. Её можно натравить на го, шашки, шахматы, на что угодно. Далее она начинает "писать" программу под ту игру, которую ей дали, зная только правила. Без учителя, самостоятельно. Как она это делает, никто не знает. Точнее знает только приблизительно - методами машинного обучения. Код получившийся "программы" никто разобрать не может. Потому что зеро её написала. И вот уже этот продукт, эта "программа" и играет в шахматы. На обучение нужно минимум на 2-3 порядка больше мощности чем на машину, которая, собственно, будет играть.
    Никаких альфа-бета отсечений или метода монте-карло там нет, там совершенно другие принципы. Только слои нейронов, нейроны, связи между ними и их веса. Такая архитектура универсальна, она может повторить любой алгоритм, но создает именно тот, который наиболее эффективен для конкретной игры. Он очень много понимает, гораздо более интеллектуален чем примитивное альфа-бета отсечение.
    Конечно нет, эти тупые движки хоть вечность будут думать на самом мощном железе, всё равно не отыщут правильный ход. Вы это сами прекрасно знаете. Алгоритмы не те. Не могут мыслить абстракциями, например "закрытая позиция", "открытая позиция", "пешечная цепь", а нейросети прекрасно могут. Они закрытые пешечные цепи решат, сразу поняв что это ничья, и крепости разрушат и этюды решат.
    tesla, DraggonZ and Комсюк like this.
  10. Mustitz Заслуженный

    • Заслуженный
    • Участник
    • Старожил
    Member Since:
    30.09.2006
    Message Count:
    3.547
    Likes Received:
    1.275
    Репутация:
    37
    Location:
    Киев
    Оффлайн
    Железо разное. Не сложно купить 10 компьютеров и объединить их в одну вычислительную сеть. Можно ли запустить Stockfish на всех сразу? Думаю, никто таким не занимался. Был кластер рыбки, но в этом направлении ничего не слышно. Или совсем просто купить несколько GPU, на каждой которой 2000 вычислителей. Никто же их не использует? Потому что обычные алгоритмы распараллеливания там не работают :)

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

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.231
    Likes Received:
    23.509
    Репутация:
    1.266
    Оффлайн
    для качественного - очень мало
    В адвансе новый фетиш - 50, но мы не про адванс
    Можно экстраполировать ситуацию... допустим СЮ, на своих 28-ми даст 5 минут на ход
    Вот если будут коренные различия, тогда можно о чём-то говорить
  12. ZenDisciple Начинающий

    • Начинающий
    Member Since:
    07.12.2017
    Message Count:
    7
    Likes Received:
    0
    Репутация:
    0
    Оффлайн
    Там они ему под хеш-таблицу дали только 1гиг, вот куда он будет складывать дерево вариантов с 64 процессоров чтобы их оценить?
  13. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.231
    Likes Received:
    23.509
    Репутация:
    1.266
    Оффлайн
    это не подозрение, а заблуждение :)
    Сток может выбрать всё что не ухудшает оценку, если нет того, что улучшает
    —- добавлено: 7 Dec 2017 —-
    ну и я ставлю 1 гиг...
    И шо? Никогда глыбины 50 не видел, Вы думаете?
  14. Mustitz Заслуженный

    • Заслуженный
    • Участник
    • Старожил
    Member Since:
    30.09.2006
    Message Count:
    3.547
    Likes Received:
    1.275
    Репутация:
    37
    Location:
    Киев
    Оффлайн
    pavelgttfj8, как я понимаю, правила игры таки надо запрограммировать самостоятельно. Также запрограммирован алгоритм игры: играем из текущего положения стотысяч партий до мата. Делаем ход, где процент побед выше. А вот нейросеть отвечает больше на вопрос, какие ходы включать.

    Кстати, такой алгоритм должен легко определять крепости :)
  15. pavelgttfj8 Учаcтник

    • Участник
    Member Since:
    07.12.2017
    Message Count:
    290
    Likes Received:
    90
    Репутация:
    3
    Оффлайн
    Логично, потому что если их не запрограммировать, игра будет не определена.
    "Запрограмированные" правила игры и говорят нейросети, в какую игру ей надо играть, в шахматы, шашки, шахматные поддавки и т.д.
  16. Camon14 Хранитель традиций

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    28.05.2012
    Message Count:
    18.570
    Likes Received:
    10.943
    Репутация:
    688
    Нарушения:
    20
    Оффлайн
    Вспоминается история с ДипБлю, там тоже была контора серьёзная, а комп разобрали на шуруБы. :D А вообще шахматисты параноики, столько недоверия, а я верю гуглу, понятно, что проект ещё сырой , но они его доработают. И будет 5000Эло. Как уже говорили, даже полный подсчёт шахмат не должен убить игру ( Это я о словах Демченко, который беспокоится), да шахматы уже сейчас расписаны до ничьей в основных вариантах! И ничего , играем . Просто вопрос читерства станет ещё острее, и романтики станет меньше , поэтому будет оток игроков большой. Кубик-Рубика вон до сих пор собирают, но уже на время, вот будушее классических шахмат это видимо блиц и быстрые.
  17. Yury_Solomatin Учаcтник

    • Участник
    Member Since:
    25.01.2017
    Message Count:
    865
    Likes Received:
    503
    Репутация:
    24
    Оффлайн
    Репортаж chess.com

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

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

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

    • Новичок
    Member Since:
    23.08.2017
    Message Count:
    85
    Likes Received:
    132
    Репутация:
    13
    Location:
    г. Хабаровск
    Оффлайн
  19. Camon14 Хранитель традиций

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

    • Участник
    Member Since:
    31.03.2017
    Message Count:
    3.542
    Likes Received:
    4.620
    Репутация:
    208
    Оффлайн
    При анализе на зевки Сток в партии нашел ошибки только за себя родимого (64-ядерного!), но при этом ни одной за черных. О чем тут еще говорить?
    А СЮ уже высказал свое недоумение игрой Стокфиша.
  21. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.231
    Likes Received:
    23.509
    Репутация:
    1.266
    Оффлайн
    а мы высказали недоумение мнением СЮ

  22. Carter Новичок

    • Новичок
    Member Since:
    07.05.2010
    Message Count:
    99
    Likes Received:
    99
    Репутация:
    0
    Оффлайн
    Скепсис насчет того, захочет ли "Стокфиш" пойти 8. Qe1, напрасен.

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

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    28.05.2012
    Message Count:
    18.570
    Likes Received:
    10.943
    Репутация:
    688
    Нарушения:
    20
    Оффлайн
    Комсюк, ты видел, Альфа пока отдаёт предпочтение с4 и Кф3 играет. Так что я обогнал своё время своими статьями :)
    mikola7 and Комсюк like this.
  24. ШахматыЭтоДиагноз Учаcтник

    • Участник
    Member Since:
    31.03.2017
    Message Count:
    3.542
    Likes Received:
    4.620
    Репутация:
    208
    Оффлайн
    На глубине скольких полуходов он отдает предпочтение Фе1?
  25. Rom Старожил

    • Участник
    • Старожил
    Member Since:
    12.02.2012
    Message Count:
    645
    Likes Received:
    276
    Репутация:
    28
    Оффлайн
    Нейросеть это скорее интуиция, так называемая "игра рукой". Она конечно может ошибаться. Для проверки интуиции существует перебор вариантов. Те самые 80 тысяч позиций в секунду, которые упоминали ранее.
  26. Camon14 Хранитель традиций

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    28.05.2012
    Message Count:
    18.570
    Likes Received:
    10.943
    Репутация:
    688
    Нарушения:
    20
    Оффлайн
    Маленький перебор пока, я и то дальше считаю :D
    mikola7 likes this.
  27. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.231
    Likes Received:
    23.509
    Репутация:
    1.266
    Оффлайн
    это она ещё моих адванс-партий не видела
    mikola7 and Camon14 like this.
  28. Rom Старожил

    • Участник
    • Старожил
    Member Since:
    12.02.2012
    Message Count:
    645
    Likes Received:
    276
    Репутация:
    28
    Оффлайн
    80 тысяч позиций в секунду? Уважаю :)
  29. Challenger Spy Технический специалист

    • Команда форума
    Member Since:
    29.01.2011
    Message Count:
    5.292
    Likes Received:
    2.845
    Репутация:
    226
    Оффлайн
    Простите, дружище, я далек от темы. Но, как ни крути, выходит, что на равном железе Сток затащил бы без шансов? :)
  30. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.231
    Likes Received:
    23.509
    Репутация:
    1.266
    Оффлайн
    Вообще-то, если у этого монстра нет тайм-менеджмента, то пусть себе думает минуту на ход, а Стоку надо дать час на партию и короткую дебютную книжку (ходов 6-8) , а также шестифигурки (и то необязательно)
    Глядишь, и за ничью можно побороться даже на разном железе
    —- добавлено: 7 Dec 2017 —-
    ну, если твои подсчёты про тысячекратное преимущество в железе верны, то это 10 удвоений (1028)
    а это 500 пунктиков :)
  31. Котэ Восьмикратный чемпион подъезда

    • Участник
    • Старожил
    Member Since:
    30.04.2010
    Message Count:
    987
    Likes Received:
    393
    Репутация:
    12
    Оффлайн
    А почему во всех статьях указанно, что альфазеро "тренировалась" 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 часов, а месяц.
  32. Rom Старожил

    • Участник
    • Старожил
    Member Since:
    12.02.2012
    Message Count:
    645
    Likes Received:
    276
    Репутация:
    28
    Оффлайн
    Четыре часа чтобы превзойти Стока, девять часов на всю тренировку:
    "In chess, AlphaZero outperformed Stockfish after just 4 hours"
    Котэ likes this.
  33. Carter Новичок

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

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

    • Участник
    Member Since:
    15.11.2014
    Message Count:
    434
    Likes Received:
    144
    Репутация:
    -10
    Оффлайн
    Алгоритм мощный, перспективный, и все же неравные условия - это неравные условия.
    Стокфиш вряд ли бы выиграл партию, но все же не проиграл бы половину черными с дебютной книгой и нормальным тайм-менеджментом.

    Впрочем, думаю, что вскоре такой матч будет, и Стокфиш таки проиграет (но черными вряд выиграет больше одной партии из 50). После этого многое будет ясно, и все скептики признают...
  35. Jadn Заслуженный

    • Заслуженный
    • Участник
    • Старожил
    Member Since:
    10.05.2006
    Message Count:
    3.626
    Likes Received:
    2.535
    Репутация:
    52
    Оффлайн
    Ага, именно поэтому Альфузеру запускали на 45 Терафлопах. По-моему, очевидно, что на равном железе Сток выиграл бы, иначе незачем было бы Гуглу обеспечивать такой гандикап. Но разница, вероятно, не очень велика, и это всё рано очень круто, учитывая, что это универсальный алгоритм, пригодный, по заявлениям, для любой игры, и обучавшийся шахматам совсем недолго.
    Challenger Spy likes this.

Share This Page