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

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

  1. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    С первым согласен. И из человеческого опыта известно, что в тяжелых позициях важен счет, а понимание мало полезно. И проблема не только в неточностях при защите, а еще и в том, что в худших позициях нейронка не по делу агрессивна. Это хорошо было видно в турнире по позиции из последней партии матча Карлсен - Каруана. Там кучу партий Лила проиграла белыми, когда соперник ничего не хотел, но Лила вместо того, чтобы просто стоять, сама вскрывала игру и быстро загибалась.

    А вот насчет второго так сразу не могу вспомнить партии, которые Лила бы не выиграла из-за недосчета до таблиц. Раньше Лила просто часто тупила в эндшпилях. Не видела простейшие блокады и т.п. Мне кажется это из-за того, что она при обучении не доигрывает партии до мата. Но в последних версиях вроде бы это пофиксили. Давно не замечал подобного. В эндшпилях большая проблема в том, что Лила их систематически переоценивает. И соответственно идет в ничейный эндшпиль вместо того, чтобы продолжать катать в миттельшпиле.
     
  2. Alhimik88
    Оффлайн

    Alhimik88 Новичок

    Репутация:
    1
    Да также косячит в эндшпилях. Это особенно заметно на оценках, когда Leela 30x пишет +6,5 в позиции, где Stockfish показывает нули. Не похоже, что доступ к таблицам себя оправдывает. Все упирается в низкую скорость перебора вариантов, и, соответственно, низкую эффективность работы с таблицами. Может недавнее решение с улучшением масштабируемости вкупе с увеличение мощностей и контроля времени поможет. Но пока в эндшпилях Leela далеко позади топовых AB движков.
     
  3. WinPooh
    Оффлайн

    WinPooh В.М. Staff Member

    Репутация:
    95
    Это личная терминология автора поста, которую он считает удобной. Некоторое время назад я пытался переубедить его в пользу более общепринятой систематизации, но не преуспел :)
     
    Launder likes this.
  4. Launder
    Оффлайн

    Launder Новичок

    Репутация:
    1
    У меня, конечно, опыта мало, но лично мне кажется, что в том и прелесть шахмат, что понимание, и счёт, идут рука об руку... Ведь когда считаешь, что важно?:confused: Любая идея, любой микротемп, влияет на позицию в целом и нужно быстро ПОНЯТЬ, увидеть, при каких условиях, что-то может сработать. Ну, конечно, тут интуиция в помощь, но как говориться, "на глазок" можно здорово попасть:gigi:

    По-поводу эндшпилей, вопрос, у меня было впечатление, что, как раз АльфаЗироу, очень хорошо понимает, во-первых какие эндшпили ей полезны, а во-вторых очень точно умеет их реализовывать... Или мне только кажется?
    Может кто-нибудь в курсе, был ли подробный и досканальный разбор партий, первого матча, по которому действительно можно понять сильные и слабые стороны Альфы?...
     
    Last edited: 8 Dec 2018
    hornet likes this.
  5. Launder
    Оффлайн

    Launder Новичок

    Репутация:
    1
    Ну это, уж извините, из серии, раз мы что-то определить не можем, значит этого нет. Конечно, для человека понимание - фундаментальная вещь, без которой мы вообще не сможем играть.

    Это не особенность, это, как раз и есть "понимание". Почему Вы не ходите в стартовой позиции h2-h4? Потому, что видите, не считая, что этот ход создаёт совсем не то "поле возможностей", которое Вам нужно.
    По сути, машина понимания не имеет, но имеет костыли, разной степени эффективности, способные это понимание заменить...
     
  6. Crest
    Оффлайн

    Crest Админ, МГ Staff Member Команда форума

    Репутация:
    629
    Начинаю обсуждать новый матч в соц. сетях. Вот c такого поста:

    Салют, народы!
    Бог шахмат снова выглянул к нам с Небес.
    На этот раз Стокфиш был бит еще более эффектно, чем раньше. И партий в открытом доступе оказалось гораздо больше, чем ранее. В том числе и проигранные Богом...
    Я потихоньку смотрю партии, составляю впечатления.
    Но ряд вопросов напрашивается сходу.
    Почему АльфаЗеро опять играл со стареньким Стокфиш-8, несмотря на то, что даже самые отсталые любители шахмат используют на своих компах Стокфиш-9, а на самом деле появилась и более продвинутая программа Стокфиш-10?
    Почему устроители матча не взяли для верности старенькую Рыбку или Фриц-2? [​IMG]:)
    Почему эти матчи проводятся в закрытом режиме, без прямой трансляции? Ведь именно прямые трансляции стали нормой для всех турниров и матчей, в том числе и в компьютерном мире. Чего боялись устроители?
    Какое железо было у Стокфиша? Какие были его настройки? Какая дебютная база?
    Мы все (и даже скептик я) готовы поверить в то, что Альфазеро значительно превосходит обычные шахматные движки. Осталось всего ничего - сделать всё правильно и честно.
    Без маленьких футбольных хитростей и рекламных трюков.
     
    Last edited: 10 Dec 2018
  7. Polarity
    Оффлайн

    Polarity Новичок

    Репутация:
    0
    Ещё 15 секунд добавления на ход. Ещё нужно статью написать + пройти ревью этой статьи.
     
  8. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    Я думаю, у Google есть 1000 лишних ПК и 4000 лишних TPU для проведения этого матча за 6 часов
     
  9. WinPooh
    Оффлайн

    WinPooh В.М. Staff Member

    Репутация:
    95
    На этот вопрос уже ответил Мэтью Лаи, один из разработчиков. Вкратце - ввиду отсутствия машины времени на январь 2018 года, когда игрались эти партии, пришлось взять самую новую версию Стокфиша на тот момент.
     
  10. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    Да, но все доступные 210 партий - это против Stockfish 8, не против dev-версии
     
  11. WinPooh
    Оффлайн

    WinPooh В.М. Staff Member

    Репутация:
    95
    Потому что цель Гугла - не участие в спортивном соревновании, а научный эксперимент. Для которого, кстати, важно постоянство условий - поэтому раз уже начали матч с 8-й версией, то с ней и все дальнейшие измерения проделывали.
    Возможно, партии против 10-го Стокфиша играются в лабораториях ДипМайнда сейчас. Когда их (через год) опубликуют, возмущённая общественность будет вопрошать на форумах: а почему не с текущей, 12-й или 15-й версией?
     
    Undying, Edwards and Polarity like this.
  12. WinPooh
    Оффлайн

    WinPooh В.М. Staff Member

    Репутация:
    95
    Про дебютную базу в статье точно написано. Например, в одной из серий пользовались табиями из турнира TCEC. В другой - дебютной базой Brainfish.
    Аппаратная конфигурация описана вот в этой статье, стр.20: https://deepmind.com/documents/260/alphazero_preprint.pdf
     
  13. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    WinPooh likes this.
  14. wentille
    Оффлайн

    wentille Ветеран

    Репутация:
    125
    Вот это мне непонятно. В прошлый раз из ста партий Альфа выиграл 28, сейчас из 1000 он должен был выиграть 280 (чтобы не уронить реноме), а он выиграл 155 и шесть проиграл.
    Мне кажется, результаты снижаются.
     
  15. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    Погрешность измерений, разные настройки
     
  16. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    Кстати, здесь еще ведь слабая сетка играет (ей примерно 100 пунктов не хватает до 11248)

    Lc0 обыгрывает последнюю версию Stockfish: https://lichess.org/BDvenOqf
     
  17. WinPooh
    Оффлайн

    WinPooh В.М. Staff Member

    Репутация:
    95
    Общий счёт как-то совсем не в её пользу...
     
  18. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    Ну так и сетка на 100 пунктов слабее, чем 11248)
    У меня пока ощущение, что на этой сети Лила даже выше своих возможностей играет (может, сказывается новая версия движка v0.19.2)
     
  19. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    Stockfish опять вляпался, похоже


    В итоге позиционно выиграл, но попался на вечный шах
     
  20. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    Что там под контролем, повезло просто))
    Stockfish 4 пешки Лиле рисовал - это просто проиграно было
     
  21. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    Проиграл он в миттельшпиле. Во всяком случае, Leela этот перевес видела задолго до того, как SF что-то понимать начал.

    Позиция на 72-м ходу выиграна за белых, Stockfish сам у себя ее выиграет.
    https://lichess.org/KLbZ7F6R
     
    pavelgttfj8 likes this.
  22. FlashNeo
    Оффлайн

    FlashNeo Учаcтник

    Репутация:
    2
    Наоборот
     
  23. Launder
    Оффлайн

    Launder Новичок

    Репутация:
    1
    Ну вот что значит признаки? Не нужно признаков. Вот как раз признаки могут быть верными, а могут быть нет. А понимание либо есть, либо нет. Элементарный вопрос, как и на многие самоочевидные вопросы ответить достаточно сложно (кстати, вот интересно, почему).
    Приведу пример. Для самых начальных этапов изучения шахмат, иногда даются задания вида, из разряда, определите где поставлен мат? Вот как они определяют? Смотрят доску, отыскивают короля, ищут для него угрозу, и смотрят, есть ли возможность от ней уйти/закрыться/ликвидировать объект угрозы. Но откуда они взяли ИМЕННО эти признаки? Ведь, если докапаться, возможно, найти другие. А можно и не найти. Но нас это не колышет. Почему? Да потому, что мы ПОНИМАЕМ, что такое мат и это понимание даёт нам возможность отыскать признаки указывающие на данное явление.
    То есть ПРИЗНАКИ РОЖДАЮТСЯ ИЗ ПОНИМАНИЯ, а не наоборот. И вот, чем сложнее ситуация/позиция, тем сложнее сказать, какие это признаки могут быть. Более того, понимание тоже бывает не полным, это взгляд, точка зрения, где какие-то контуры мы видим и понимаем (что они означают) ясно, а что-то видим не чётко и у нас есть только представление, что это может быть (и на что может повлиять).
    Я хочу сказать, что то, что мы можем дать машине, исходит из нашего собственного понимания, а вот откуда берётся понимание, и вообще, что оно означает - вопрос не то что не простой, в привычных нам способах описывать, те или иные явления, возможно у нас средств выразить, откуда мы это берём, практически нет. Всё вроде бы и просто и более-менее ясно, и, в тоже время, очень уж многогранно: мы просто смотрим на позицию, изучаем её, и получаем о ней некое представление. На основании чего мы перемещаемся от одного нюанса позиции, к другому - на основании той логики, которую нам удалось выявить в позиции. А как мы делаем предположения о закономерностях? на основании приблизительного рассчёта. На основании него мы может определить стоит ли нам капать в ту или иную сторону, или итак ясно, или ясно, что ничего не ясно, но пока мы это отложим. все эти решения именно что идут из понимания, представления о происходящем... смотрим - представляем - изучаем, смотрим что получилось, подводим наши представления(понимание) до некоей законченности и формируем новые вопросы... как-то так
    Вопрос сложен именно тем, что с одной стороны, вроде многое в нём достаточно очевидно, но какой-то ясной методологии, описывающей происходящии в нас процессы, позволяющие адекватно воспринимать происходящее на доске, у нас нет, и только смутно ощущается, в некоторых ситуациях, в ней потребность. Пока же, когда мы видим какой-то яркий и необычный вариант, мы говорим - вот додумался же! Какой красивый и интересный план, какие интересные перспективы, наши ассоциации рулят! :sman:То есть, получается углядеть нечто, позволяет нам, буквально всё! Само изучение, даёт маяки для дальнейшего движения... Но вот каким образом даёт - самым разнообразным. На основании чего мы что-то берём, а что-то откладываем - на основании уже имеющихся представлений. Вот как раз h2-h4, первый ход, почему отбрасывается? заведомо не видим в нём смысла. а в чём видим? в захвате центра, например. каким способом? наиболее эффективным и для нас удобным, одновременно.
    то есть мы обращаемся к нашему опыту и накладываем на текущую позицию, и смотрим, что из этого получается. но опыт наш, это не записанные где-то там в дата-центре закономерности, мы, скорее, из текущей ситуации, имеет под рукой некий багаж, который позволяет быстро оценить происходящее. То есть, мы смотрим такой-то ход, и у нас сразу множество представлений, о возможных вариантах развития борьбы... И ведь эти представления - работа нашей живой мысли, происходящей здесь и сейчас, когда мы что-то полагаем значимым и перспективным, а что-то - нет, интересное - изучаем, иное - отбрасываем... (до поры до времени)
    И как, при этом, используется весь наш предыдущий опыт, как он влияет на обновления спектра "интересного" в позиции - большой вопрос, ответ на который, как мне кажется, на данный момент, имеет только самые общие представления и очертания...
     
  24. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    Stockfish 3-ю подряд позиционно проигрывает. Нет, он не проиграл, но стоит в плохой позиции белыми. Может, ему опять повезет, конечно, но отрицать хорошую игру Lc0/AZ в миттельшпиле нельзя.
     
  25. Launder
    Оффлайн

    Launder Новичок

    Репутация:
    1
    Нет у них есть признаки, которые ЗАМЕНЯЮТ ИМ ПОНИМАНИЕ.
     
  26. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    У Гугла может и есть. А вот у шахматного подразделения DeepMind вряд ли.
     
  27. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    Так другой терминологии просто нет. Вы предлагали вместо этого использовать термины Альфа-Бета движок и MCTS движок. Но это не о том вообще. Уже появился Komodo MCTS использующий MCTS, но не использующий нейронку. А при желании можно и нейронку совместить с Альфа-Бета. Способ оценки позиции и выбора ходов-кандидатов (алгоритмический или нейронный) и способ построения дерева перебора (Альфа-Бета или MCTS) это ортогональные вещи.
    —- добавлено: 9 Dec 2018, опубликовано: 8 Dec 2018 —-
    Оптимистичная оценка объективно ничейных эндшпилей для Лилы обычное дело. Но чтобы Лила не выиграла объективно выигранный эндшпиль или проиграла объективно ничейный эндшпиль я давно не видел. Поэтому утверждение о том, что Лила далеко позади топовых AB движков в эндшпилях неверно. Оценивать она может неправильно, но ходы делает сильнейшие.
     
  28. FlashNeo
    Оффлайн

    FlashNeo Учаcтник

    Репутация:
    2
    Да пусть попросят китайского друга с 384 потоками - нас всех и такой Сток устроит.
    На обучении Лейлы основной донатер по сыгранным партиям, Стоку провел огромное число тестов - и зажмет для такого матча?

    Но это просто нежелание проводить честное, независимое состязание.
     
  29. Limavr
    Оффлайн

    Limavr Зарегистрирован

    Репутация:
    0
    В прошлый раз из отобранных для пиара 100 партий, АЗ выиграл 25 (белыми) и проиграл 3 (черными). А всего из 1300 он выиграл 267б+19ч и проиграл 51ч+5б. Вот таблицы:


    [​IMG]
    [​IMG]
     
  30. wentille
    Оффлайн

    wentille Ветеран

    Репутация:
    125
    В прошлый раз для пиара отобрали 10 партий. Обо всем остальном рассказывали: всего было сыграно 100 партий и т.д.
    То, что сейчас они вспомнили еще про 1200 означает, что завтра они еще про 10 000 тысяч партий могут вспомнить.
     
  31. Комсюк
    Оффлайн

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

    Репутация:
    1.265
    не проиграла, а выиграла 3 чёрными, там все таблицы со стороны А0
     
    Launder likes this.
  32. WinPooh
    Оффлайн

    WinPooh В.М. Staff Member

    Репутация:
    95
    Так на тот момент (декабрь 2017) и было сыграно 100 партий. Следующие 1200 датированы серединой января 2018, написано же английским по белому.
     
  33. FlashNeo
    Оффлайн

    FlashNeo Учаcтник

    Репутация:
    2
    Вообще надо сказать, что Стокфиш - это вершина костыльно-ориентированного программирования. В него добавили уже многие и многие десятки эвристик для открывшихся слабых мест, и это делает его сильнее. Только Комодо научился запирать ладьи - и хопа, держите лавину патчей с исправлением. Многие не прошли, но парочка дала прирост в ЭЛО, там +1 ЭЛО, там +2 - и так по зернышку растем. И более того, я уверен, что после изучения партий с А0 найдутся еще патчи, которые усилят Стокфиш и устранят те или иные пробелы. А А0 в начальном виде - это идеология чистого кода что ли.

    Но в реальной жизни побеждают костыли, а не чистый код. Так что за Стокфиш!
     
  34. WinPooh
    Оффлайн

    WinPooh В.М. Staff Member

    Репутация:
    95
    [​IMG]
     
    KEV81 likes this.
  35. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    FlashNeo, в Stockfish активно используется методика упрощения кода. Код Stockfish, кстати, очень чистый и хорошо документированный. Если бы там были "костыли", Stockfish уже давно бы перешёл в стадию стагнации.