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

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

  1. tiger Новичок

    • Новичок
    Рег.:
    11.02.2006
    Сообщения:
    79
    Симпатии:
    19
    Репутация:
    0
    Оффлайн
    В Америке просто чуть меньше бардака - скорее это третий разряд против пятого.
  2. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    114
    Симпатии:
    14
    Репутация:
    1
    Оффлайн
    Вне всяких сомнений ГОСДЕП - политические ЧИТЕРЫ ...
  3. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    164
    Симпатии:
    28
    Репутация:
    1
    Оффлайн
    Интересно, если DeepMind решит увеличить сеть в два раза (например) , то есть до 40х512, то как быстро она это сможет сделать и какого результата достичь?
    По моему мнению она это сможет сделать за 8 раз больше времени (тут возможно я не точен), то есть за не более чем 3-е суток, и даст это порядка 200-300 Эло.
    А ваше мнение?
  4. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    Рег.:
    17.07.2011
    Сообщения:
    13.050
    Симпатии:
    14.030
    Репутация:
    913
    Нарушения:
    26
    Оффлайн
    по времени не знаю, да в принципе точность и не важна, а откуда 200 Эло?
  5. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    164
    Симпатии:
    28
    Репутация:
    1
    Оффлайн
    ну хотя бы порядок, вряд ли они будут тренировать в течение 3-х мес подряд, а про 200 Эло высосано из пальца (хотя допускаю, что и взято с потолка)
    Комсюк нравится это.
  6. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    Рег.:
    17.07.2011
    Сообщения:
    13.050
    Симпатии:
    14.030
    Репутация:
    913
    Нарушения:
    26
    Оффлайн
    про сроки не спорю, про Эло ответом удовлетворён :)
  7. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    894
    Симпатии:
    399
    Репутация:
    10
    Оффлайн
    Результат не гарантирован. Сила игры может и снизиться. Очевидно, что есть некий пороговый размер, при превышении которого рост понимания не будет компенсировать падение количества перебираемых вариантов. Насколько нынешний размер нейронной сети отличается от оптимального это вопрос. Хотя по идее в DeepMind должны были слегка его исследовать. Вряд ли нынешний размер выбран от балды, но не исключено что размер подбирали для го, а не для шахмат.
  8. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    164
    Симпатии:
    28
    Репутация:
    1
    Оффлайн
    у них об этом можно не волноваться, если уж 4 TPU выделили на игру, то могут и 16 без особых для себя потерь.
    Ну а размер выбран из простого, меньше не показательно (у SF8 не выиграет), а больше нет смысла, и так очевидно что А0 сильнее всех... :)
  9. Mustitz Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    30.09.2006
    Сообщения:
    2.953
    Симпатии:
    379
    Репутация:
    22
    Адрес:
    Киев
    Оффлайн
    Вопрос больше в том, какая сеть будет играть сильнее при одинаковом количестве TPU?
  10. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    164
    Симпатии:
    28
    Репутация:
    1
    Оффлайн
    В этом вопрос больше у Лилы, а вот у A0 он меньше, если он вообще у них в этом есть.
  11. Polarity Новичок

    • Новичок
    Рег.:
    23.04.2018
    Сообщения:
    77
    Симпатии:
    17
    Репутация:
    0
    Оффлайн
    Lc0 де-факто вышла в суперфинал TCEC против последней версии Stockfish. Можно сказать топ2 в рейтинге движков официально уже сейчас.
    sovaz1997 нравится это.
  12. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    164
    Симпатии:
    28
    Репутация:
    1
    Оффлайн
    Так то оно так, официально, но все же знают, что с одной стороны партий не много и велик элемент случайности, а с другой все таки Lc0 по уровню игры гораздо ближе к Гудини и Комодо, чем к Стокфишу.
  13. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    612
    Симпатии:
    101
    Репутация:
    2
    Оффлайн
    Сейчас скорее к Stockfish, чем к H/K и это показывают различные тесты.
  14. Polarity Новичок

    • Новичок
    Рег.:
    23.04.2018
    Сообщения:
    77
    Симпатии:
    17
    Репутация:
    0
    Оффлайн
    Тем временем Lc0 громит Stockfish 8: https://tcec.chessdom.com/
    Вроде бы первые 5 партий Lc0 играла не в полную силу, из-за каких-то проблем с охлаждением, так что первый проигрыш наверное можно не засчитывать :)
    Также в discord написали, что практически во всех партиях, проигранных Lc0, был допущен зевок, который находили достаточно легко A/B движки. Так что будущее видимо всё-таки за гибридными движками. Гибрид из Lc0 и SF-dev может стать настоящим непобедимым монстром-мутантом.
  15. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    164
    Симпатии:
    28
    Репутация:
    1
    Оффлайн
    И в рамках NN не все сделано, вот что crem писал
    Так что для тест50 уже есть некоторые идеи и некоторый задел.
    Кроме того, наверняка часть параметров можно было бы и улучшить, пока они в основном взяты от A0
    Kirill_A, Sergey1983, sovaz1997 и 2 другим нравится это.
  16. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    894
    Симпатии:
    399
    Репутация:
    10
    Оффлайн
    Так и A/B движки зевают. Вот пример:



    На 11 ходу Стокфиш радостно забрал пешку и считал что у него все хорошо. Пока Лила не сделала три нуля, тут Стокфиш что-то начал подозревать. В миттельшпиле непонятно как женить АБ движок и нейронный. Есть свои сильные и слабые стороны, как определить кто прав? Вот в эндшпилях (особенно не многофигурных) может быть гибрид имеет смысл, потому что там АБ немного сильнее играют и намного адекватнее оценивают.
    MS нравится это.
  17. KEV81 Учаcтник

    • Участник
    Рег.:
    06.03.2017
    Сообщения:
    224
    Симпатии:
    41
    Репутация:
    6
    Оффлайн
    почему не Стокфиш 6?
    —- добавлено: 18 янв 2019 —-
    что за движки такие?
  18. Polarity Новичок

    • Новичок
    Рег.:
    23.04.2018
    Сообщения:
    77
    Симпатии:
    17
    Репутация:
    0
    Оффлайн
    У меня сложилось впечатление, что люди, которые вглядываются в графики оценок SF и Lc0 могут хорошо предсказывать исход матча.
    Самое простое решение, которое напрашивается, может быть например таким. SF хорошо видит тактику. Пусть Lc0 предлагает ходы, и если SF не видит тактических просчётов, то этот ход и выбирать. Есс-но можно накрутить более сложные эвристики.
  19. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    612
    Симпатии:
    101
    Репутация:
    2
    Оффлайн
    Потому, что это приближение к симуляции матча DeepMind. Против SF Dev будет Lc0 в финале играть.
  20. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.956
    Симпатии:
    2.144
    Репутация:
    85
    Адрес:
    Москва
    Оффлайн
    Не поможет в случаях, когда Лила хочет перейти в ничейный эндшпиль. Например, в разноцвете оценка запросто может быть +1.0, а на доске стоять битая ничья. Размен последней пары тяжёлых фигур Стокфиш тактическим просчётом считать не будет...
    sovaz1997 нравится это.
  21. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    894
    Симпатии:
    399
    Репутация:
    10
    Оффлайн
    Люди не только на оценку смотрят, но и на позицию. Например, если позиция открытая или немногофигурный эндшпиль, а Стокфиш рисует нули, будет ничья. Чтобы там Лила по этому поводу не думала. А если сложная стратегическая позиция, то наоборот нули Стокфиша мало что значат.
  22. Polarity Новичок

    • Новичок
    Рег.:
    23.04.2018
    Сообщения:
    77
    Симпатии:
    17
    Репутация:
    0
    Оффлайн
    Задача я как понимаю, проигрывать меньше. Если Стокфиш считает, что Лила проигрывает из-за какого-то хода, то можно просто запретить этот ход. А во всех остальных случаях безоговорочно доверять Лиле.
    Конечно это не идеальное правило, но кмк даст значительное усиление.
  23. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    612
    Симпатии:
    101
    Репутация:
    2
    Оффлайн
    Надо проверять тогда уж так: если оценка ab-движка >= +5, включать его, если <= -5 после хода Lc0, то отменять ход Lc0 и делать ход самостоятельно, если таковой есть. Но мне кажется, что уже скоро и это не поможет, т. к. Lc0 может стать сильнее и в тактике в том числе.
  24. KEV81 Учаcтник

    • Участник
    Рег.:
    06.03.2017
    Сообщения:
    224
    Симпатии:
    41
    Репутация:
    6
    Оффлайн
    надо просто подробнее исследовать ходы-кандидаты обоих подходов к поиску.
    sovaz1997 нравится это.
  25. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.956
    Симпатии:
    2.144
    Репутация:
    85
    Адрес:
    Москва
    Оффлайн
    Конечно, идейно правильным подходом будет воспитать ещё одну сеть, которая будет глядеть на позицию и говорить, кому её отдать: Стоку или lc0. Непонятно только, как размечать данные для её обучения.
    sovaz1997 нравится это.
  26. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    612
    Симпатии:
    101
    Репутация:
    2
    Оффлайн
    Думаю, когда сеть обгонит SF пунктов на 100, можно будет выявить ее слабые места (уверен, такие будут). Но таких мест может стать намного меньше, чем сейчас. Например, вряд ли реализацию преимущества с +10 Lc0 будет делать лучше, чем SF. И здесь уже в дело действительно вступает скорость перебора. Хоть и у Lc0 самое точное дерево поиска в мире, пускай и MCTS :)

    В чем проблема гибрида Stockfish и Lc0: если его использовать в финале TCEC против Stockfish, то это будет выглядеть не совсем честно)
    Да и я уверен, что SF сам станет "гибридом" не в плане совмещения с Lc0, а в плане собственных идей.
  27. KEV81 Учаcтник

    • Участник
    Рег.:
    06.03.2017
    Сообщения:
    224
    Симпатии:
    41
    Репутация:
    6
    Оффлайн
    Типа лобных долей в мозге которые контролируют действия лимбической системы?
  28. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    Рег.:
    17.07.2011
    Сообщения:
    13.050
    Симпатии:
    14.030
    Репутация:
    913
    Нарушения:
    26
    Оффлайн
    похоже на биржевую сводку от Любителя_ (найдите, не пожалеете)
  29. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.956
    Симпатии:
    2.144
    Репутация:
    85
    Адрес:
    Москва
    Оффлайн
    Тестирую сейчас на своём компьютере CPU-only версию Лилы с дистиллированной сеткой 11258-112x9se. Рейтинг получается в районе 2900, при калибровке Fruit 2.1 = 2700.
    Очень даже неплохо, летом прошлого года версии без GPU у меня играли не сильнее 2400-2500.
    MS, Sergey1983, sovaz1997 и ещё 1-му нравится это.
  30. KEV81 Учаcтник

    • Участник
    Рег.:
    06.03.2017
    Сообщения:
    224
    Симпатии:
    41
    Репутация:
    6
    Оффлайн
    Мне кажется рано для тестов, кривая еще не стала прямой.
  31. nn В предбаннике

    • Участник
    Рег.:
    25.03.2007
    Сообщения:
    781
    Симпатии:
    1.721
    Репутация:
    90
    Нарушения:
    15
    Оффлайн
    Kingcrusher, который прокомментировал многие партии Лилы, совместно с авторами книги об Alpha Zero разбирает одну из игр AZ.
    —- добавлено: 13 мар 2019 —-
    Кстати, несколько недель назад была новость, что DeepMind "решила" задачу сворачивания белков. Решила в смысле, что выступила в конкурсе по предсказанию получающейся структуры значительно лучше, чем научные коллективы ведущих университетов мира.
    nh2008 нравится это.
  32. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    Рег.:
    17.07.2011
    Сообщения:
    13.050
    Симпатии:
    14.030
    Репутация:
    913
    Нарушения:
    26
    Оффлайн
    http://kasparovchess.crestbook.com/threads/7122/page-10#post-879769
    nn и nh2008 нравится это.
  33. tiger Новичок

    • Новичок
    Рег.:
    11.02.2006
    Сообщения:
    79
    Симпатии:
    19
    Репутация:
    0
    Оффлайн
    Недавно обнаружил статью про DeepChess. Она в свое время затмилась очередным бульдозером от гугла (AlphaZero), а там интересная идея. Не переводить позицию в число вообще. Вместо этого тренировать сиамскую сеть на паре позиций, и в альфа бета поиске держать сами позиции для сравнения, а не числа. По-моему хорошая идея так как число не отражает сути все равно, и плюс к тому лишь путает шахматистов.
  34. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.956
    Симпатии:
    2.144
    Репутация:
    85
    Адрес:
    Москва
    Оффлайн
    Каждое отдельное слово, и даже большинство их сочетаний в вашем предложении мне вполне понятны. А вот общий смысл уловить никак не могу.
    Не поясните алгоритм подробнее, пожалуйста? Лучше всего на каком-нибудь простом примере..
  35. tiger Новичок

    • Новичок
    Рег.:
    11.02.2006
    Сообщения:
    79
    Симпатии:
    19
    Репутация:
    0
    Оффлайн
    Ок, вот мое (субъективное) понимание:

    Сама сеть такова. На вход подается упорядоченная пара позиций (p, q), где мы знаем, что "p" лучше "q" или "q" лучше "p". На выходе сети пара неотрицательных чисел в сумме, дающих 1. Сеть тренируется давать на выходе упорядоченную пару (1, 0), если "p" лучше "q" и (0, 1), если "q" лучше "p".

    Надо еще сказать, что значит "мы знаем какая позиция лучше". Они взяли пары позиций из компьютерной базы, так что в партии откуда взята лучшая из двух белые выиграли,
    a откуда худшая из двух - белые проиграли. Это конечно грубо, зато быстро можно наплодить много пар.

    Во время поиска там где раньше были числа альфа и бета теперь запоминается пара позиций "p1" (альфа) и "p2" (бета).
    В каждый момент когда классический алгоритм альфа бета сравнивает два числа теперь он подает в уже натренированную сеть саму пару позиций. Например, если текущая
    позиция "q" при сравнении с "p1", то есть пара (p1, q), дает на выходе сети пару (0.51, 0.49), то происходит отсечение снизу по той же логике, что и в классическом альфа бета. Аналогично, если (p2, q) дает (0.49, 0.51), то отсечение сверху. Сравнения листьев дерева идет по той же схеме: например, если есть три листа, сравниваем 1ый и 2ой, а третий с победителем этой пары.

    Главная разница - ни в какой момент не нужно знать числовую оценку одной позиции.

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