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

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

  1. Rooost
    Оффлайн

    Rooost Новичок

    Репутация:
    13
    Ну раз вы так считаете, то всё, расходимся. А глупое шахматное сообщество, включая chess.com, chess24 и ко, пусть дальше верят в эту революцию.

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

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

    Репутация:
    1.266
    после Слюсарчука все на измене
     
  3. ШахматыЭтоДиагноз
    Оффлайн

    ШахматыЭтоДиагноз Учаcтник

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

    4547 Учаcтник

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

    Rom Старожил

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

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

    ZenDisciple Начинающий

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

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

    Репутация:
    1.266
    как ты думаешь, какую глубину наберёт Сток за минуту на 64-ёх ядрах?
    Как дети малые :)
    Чем вы проверяете?
    Это всё равно, что я ошибки буду искать у Карлсена без компа
     
  8. ШахматыЭтоДиагноз
    Оффлайн

    ШахматыЭтоДиагноз Учаcтник

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

    pavelgttfj8 Учаcтник

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

    Mustitz баннер

    Репутация:
    37
    Железо разное. Не сложно купить 10 компьютеров и объединить их в одну вычислительную сеть. Можно ли запустить Stockfish на всех сразу? Думаю, никто таким не занимался. Был кластер рыбки, но в этом направлении ничего не слышно. Или совсем просто купить несколько GPU, на каждой которой 2000 вычислителей. Никто же их не использует? Потому что обычные алгоритмы распараллеливания там не работают :)

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

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

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

    ZenDisciple Начинающий

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

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

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

    Mustitz баннер

    Репутация:
    37
    pavelgttfj8, как я понимаю, правила игры таки надо запрограммировать самостоятельно. Также запрограммирован алгоритм игры: играем из текущего положения стотысяч партий до мата. Делаем ход, где процент побед выше. А вот нейросеть отвечает больше на вопрос, какие ходы включать.

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

    pavelgttfj8 Учаcтник

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

    Camon14 Хранитель традиций баннер

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

    Yury_Solomatin Учаcтник

    Репутация:
    24
    Репортаж chess.com

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

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

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

    Rooost Новичок

    Репутация:
    13
  19. Camon14
    Оффлайн

    Camon14 Хранитель традиций баннер

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

    ШахматыЭтоДиагноз Учаcтник

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

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

    Репутация:
    1.266
    а мы высказали недоумение мнением СЮ

     
  22. Carter
    Оффлайн

    Carter Новичок

    Репутация:
    0
    Скепсис насчет того, захочет ли "Стокфиш" пойти 8. Qe1, напрасен.

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

    Camon14 Хранитель традиций баннер

    Репутация:
    688
    Комсюк, ты видел, Альфа пока отдаёт предпочтение с4 и Кф3 играет. Так что я обогнал своё время своими статьями :)
     
    mikola7 and Комсюк like this.
  24. ШахматыЭтоДиагноз
    Оффлайн

    ШахматыЭтоДиагноз Учаcтник

    Репутация:
    208
    На глубине скольких полуходов он отдает предпочтение Фе1?
     
  25. Rom
    Оффлайн

    Rom Старожил

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

    Camon14 Хранитель традиций баннер

    Репутация:
    688
    Маленький перебор пока, я и то дальше считаю :D
     
    mikola7 likes this.
  27. Комсюк
    Оффлайн

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

    Репутация:
    1.266
    это она ещё моих адванс-партий не видела
     
    mikola7 and Camon14 like this.
  28. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    80 тысяч позиций в секунду? Уважаю :)
     
  29. Challenger Spy
    Оффлайн

    Challenger Spy Технический специалист Staff Member

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

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

    Репутация:
    1.266
    Вообще-то, если у этого монстра нет тайм-менеджмента, то пусть себе думает минуту на ход, а Стоку надо дать час на партию и короткую дебютную книжку (ходов 6-8) , а также шестифигурки (и то необязательно)
    Глядишь, и за ничью можно побороться даже на разном железе
    —- добавлено: 7 Dec 2017 —-
    ну, если твои подсчёты про тысячекратное преимущество в железе верны, то это 10 удвоений (1028)
    а это 500 пунктиков :)
     
    Last edited: 7 Dec 2017
  31. Котэ
    Оффлайн

    Котэ Восьмикратный чемпион подъезда

    Репутация:
    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 часов, а месяц.
     
    Last edited: 7 Dec 2017
  32. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    Четыре часа чтобы превзойти Стока, девять часов на всю тренировку:
    "In chess, AlphaZero outperformed Stockfish after just 4 hours"
     
    Last edited: 7 Dec 2017
    Котэ likes this.
  33. Carter
    Оффлайн

    Carter Новичок

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

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

    Neo94 Учаcтник

    Репутация:
    -10
    Алгоритм мощный, перспективный, и все же неравные условия - это неравные условия.
    Стокфиш вряд ли бы выиграл партию, но все же не проиграл бы половину черными с дебютной книгой и нормальным тайм-менеджментом.

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

    Jadn баннер

    Репутация:
    52
    Ага, именно поэтому Альфузеру запускали на 45 Терафлопах. По-моему, очевидно, что на равном железе Сток выиграл бы, иначе незачем было бы Гуглу обеспечивать такой гандикап. Но разница, вероятно, не очень велика, и это всё рано очень круто, учитывая, что это универсальный алгоритм, пригодный, по заявлениям, для любой игры, и обучавшийся шахматам совсем недолго.
     
    Challenger Spy likes this.