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

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

  1. Alhimik88
    Оффлайн

    Alhimik88 Новичок

    Репутация:
    1
    Есть такой стример Edosani, на твиче можно найти, он запускает Lc0 30х на 2-х мощных видеокартах. Был свидетелем, как Leela упускала перевес в выигранных эндшпилях. Очень часто это ферзевые окончания и ладейные. Особенно часто попадается на вечный шах. Кстати, одну из упущенных побед на тему вечного шаха (Lc0 31873 - Stockfish 18120 TCEC bonus games 12:03:23 on 2018.12.08) обсуждали в этой ветке.
     
    sovaz1997 likes this.
  2. Комсюк
    Оффлайн

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

    Репутация:
    1.265
    Нет, Владимир.
    100 партий без дебюта они пиарили, поскольку без проигрышей
    Была ещё куча дебютных партий в том матче
     
  3. Jadn
    Оффлайн

    Jadn баннер

    Репутация:
    52
    А в чем высокий смысл выкладывать не все партии? Они место на сайте экономят?
     
  4. KEV81
    Оффлайн

    KEV81 Учаcтник

    Репутация:
    6
    Свидетели Лилы
     
    FlashNeo, WinPooh and Комсюк like this.
  5. crem
    Оффлайн

    crem Учаcтник

    Репутация:
    14
    1. Все игры были сыграны 18 января (видно, например, по датам игр в PGN). Вскоре после этого статья была отправлена в журнал Science с надеждой опубликовать его за несколько недель. Но рецензенты оказались придирчивыми, и просили добавить всякие уточнения. Процесс рецензирования занял почти целый год, поэтому к моменту выхода статьи версия Stockfish оказалась устаревшей.

    В качестве положительной стороны могу сказать, что эти уточнения оказались очень полезными например для Leela Chess Zero (вот мой пост в блоге Lc0: http://blog.lczero.org/2018/12/alphazero-paper-and-lc0-v0191.html, скорее всего этого всего мы без придирчивых рецензентов не узнали бы).



    2. DeepMind постарался учесть всю критику после первоначальной публикации, и насчёт настроек стокфиша на этот раз вопросов нет:
    - 44 потока на 44 ядрах двух процессоров 2.2GHz Intel Xeon Broadwell CPUs (по 22 на каждом).
    - Размер хэша 32GB.
    - Контроль 3 часа + 15 секунд на ход.
    - С 6-фигурными (вроде бы) эндшпильными таблицами.

    По поводу дебютов некоторые вопросы есть:
    - В большинстве тестов у стокфиша не было дебютной базы.
    - Был проведён дополнительный матч со Stockfish 8 с дебютными базами (не указано какими), и AlphaZero выиграла уверенно, но не настолько разгромно. (10% побед белыми, а не 29% как без книги; 19% побед и 9% поражений чёрными, интересно что без книги было всего 2% побед).

    - Был проведён дополнительный матч со Stockfish Dev от 13 января (практически stockfish 9), без дебютной книги, и AlphaZero выиграла так же разгромно как против Stockfish 8.



    3. AlphaZero запускалась на одном компьютере (не кластере компьютеоров) с 4 TPU.
    Это не суперкомпьютер, но всё-таки посильнее типичного домашнего компьютера.
    Примерно сопоставимый с компьютером с 4 современными GPU за $3000 каждый.

    Хочу заметить, что в Leela Chess Zero код похоже пооптимизированней, и она такой же производительности достигает на двух GPU RTX 2070 (за $600 каждая).



    4. AlphaZero наверняка сильнее Stockfish 10 без дебютной книги.
    Насчёт Stockfish 10 с дебютной книгой я уверен меньше, может быть по-всякому.

    Люди делают нехитрую арифметику, вычисляя из результатов матчей между AlphaZero и Stockfish 8 разницу в 60 Elo, и потом зная что разница между соседними версиями Stockfish 50 Elo вычисляют, что AlphaZero почти как StofkFish 9, и слабее, чем Stockfish 10.

    В таком подходе есть несколько проблем.
    Во-первых, разница в 50 Elo — это при прямой игре с предыдущими версиями, а это преувеличивает рейтинг. Дело в том, что изменения в Stockfish принимаются на основании игр с самим собой, и получается что лучше всего новая версия Stockfish умеет обыгрывать себя в прошлой версии. (Тот же эффект и у AlphaZero, и у Leela Chess Zero, Elo от игр с самим собой сильно завышены).

    Во-вторых, проигрыши у AlphaZero часто возникают не из-за того, что соперник его "переиграл". У AlphaZero изредка встречаются позиции-слепые пятна, в которых он играет откровенно слабо (как можно видеть на некоторых примерах, где AlphaZero проиграл). В этих позициях оно возможно могло бы проиграть и третьеразряднику.

    То, что прямая арифметика не работает, можно видеть, сравнив результаты AlphaZero vs SF8 и AlphaZero vs SF9, AlphaZero выиграла их одинаково разгромно.

    Ещё следует заметить, что, как сказал один из авторов AlphaZero на форуме talkchess, StockFish за этот год усилился, но и AlphaZero тоже на месте не стоял.



    5. По поводу того, почему не делают открытый контролируемый эксперимент.

    Во-первых, статья направлена на научное сообщество, а не на шахматистов. Научное сообщество в честности статьи не сомневается. Как и с другими научными публикациями, дан рецепт, и все желающие могут пользуясь рецептом результат повторить. Leela Chess Zero — это проект, который повторяет описанное в статье, и приходит к тем же выводам. Кроме того, просто читая описание алгоритма и нейронной сети, разбирающийся в машинном обучении человек видит, что написанное очень правдоподобно (последнее — это не доказательство, а просто причина, почему в рядах специалистов по ИИ скептицизма меньше).

    Во-вторых, они хотели написать в научный журнал. Научные журналы Science и Nature запрещают публикацию результатов исследования до выхода статьи. DeepMind очень хотел всё рассказать в январе, но не мог.

    В-третьих, прямая трансляция смысла не имеет. Тысячи партий играют одновременно, и DeepMind несомненно сделал очень много попыток, прежде чем у них получилось то, что получилось. Вот уверены они что в матче из 1000 партий по 6 часов они разгромят StockFish, что тут транслировать? Окно с 1000 партиями? В чём разница между прямым эфиром и не прямым эфиром?

    В-червёртых, пригласить журналистов и организовать мероприятие — это затратно, и выглядело бы несколько глупо. Для обывателя "появилась новая шахматная программа, которая лучше чем другая программа" — так себе событие, куда меньшее по сенсационности чем "программа обыграла человека в Го" (чего ожидали лет на 10 позже).



    6. Почему не выложили все партии.
    Согласно анонсу, все партии передали давнему другу Д.Хассабиса Matthew Sadler'у и он сейчас пишет книжку (выйдет в январе).
    Мои догадки:
    Скорее всего, партии придержали чтобы никто не смог написать подобную книгу раньше.
    Возможно, одновременно с публикацией книги выложат остальные партии, но вряд ли. Я уверен, что в самой книге этих партий будет много.



    7. Все игры сыграли в один день параллельно на большом числе компьютеров. Запустить что-нибудь на 5000 компьютерах на 6 часов — это немного по меркам гугла. Любой инженер может такое сделать (какая-нибудь идея для своего проекта приходит в голову и хочется проверить), и никто даже не заметит (потому что это обычное дело). Если такие процессы надо запускать часто, например каждый день, то всё немного сложнее: надо за несколько месяцев предупредить, чтобы операторы дата центров знали сколько и чего планировать.
    Выделенных на команду конкретных компьютеров в гугле нет. Есть дата центры, и когда кому-нибудь надо что-то запустить, они берут "в аренду" компьютеры из дата центра на время запуска задачи. Для DeepMind это те же компьютеры, что и для остального гугла.
     
    Alhimik88, N1mTzo, Launder and 12 others like this.
  6. FlashNeo
    Оффлайн

    FlashNeo Учаcтник

    Репутация:
    2
    Я очень утрирую, конечно)
    Я читал код Стока и даже несколько патчей попробовал сделать - но зеленых не было. Сам начальный код просто прекрасен, с ним приятно работать, на него очень удобно добавлять свое.
    Но вообще именно патчи Стока от пользователей - это классика костыльно-ориентированного программирования. Вместо нахождения каких-то новых, улучшенных общих закономерностей мы (утрируя) просто добавляем еще один if-else или try-catch, если вам угодно. Запертая ладья, особые разнослоновые эндшпили и т.п.
    Но это работает! И работает на 70 ЭЛО в год, когда казалось бы расти уже некуда.
     
    Launder likes this.
  7. pavelgttfj8
    Оффлайн

    pavelgttfj8 Учаcтник

    Репутация:
    3
    Что?! Я в шоке. Т.е. некий инженер, работающий в гугле, мог написать код (как lc0) и за один день получить максимально обученную сеть за бесплатно, без всяких этих распределенных вычислений?
     
  8. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    FlashNeo, кстати, с каждой новой версией размер кода сокращался (вроде, только в 9-ке больше стал). Конечно, код Stockfish не может быть идеалом. Но он приближен к этому. Постепенно общие закономерности находятся и происходят упрощения - именно за счёт них код не раздувается и Stockfish легео улучшать. Если бы код был идеальным, как его в таком случае улучшать?)

    Вообще, интересно, где находится теоретический предел развития движков.
     
  9. Polarity
    Оффлайн

    Polarity Новичок

    Репутация:
    0
    Помимо размера кода важна ещё его понятность. В этом плане код стокфиша мне кажется сильно страдает.
     
  10. WinPooh
    Оффлайн

    WinPooh В.М. Staff Member

    Репутация:
    95
    В плане универсальности и обобщенности традиционные движки все ещё существенно превосходят нейронно-монтекарловые. При всей своей костыльности и лоскутности, когда они получают нетрадиционного вида позиции (пример - турнир в CCC), они с ними как-то справляются. Вроде 8 коней против 8 слонов. У нейронок же начинаются отмазки - "это мы не проходили, это нам не задавали!" То есть они умеют играть только те позиции, которые вошли в тренировочный массив. Ну, и где тут раскрытие глубинных законов шахмат и высокий уровень обобщения? То же дебютное начетничество, только на стероидах.
     
    SKY likes this.
  11. WinPooh
    Оффлайн

    WinPooh В.М. Staff Member

    Репутация:
    95
    Код страдать не может! Страдание - атрибут одушевленного существа, а код есть объект неживой природы.
     
  12. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    Маразм современной науки поражает. Из-за какой-то бюрократической волокиты публикация результатов исследований откладывается на год! Прям торжество прогресса.

    Круто, конечно. Хорошо в этом плане в гугле.
     
  13. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    Третья сетка сырая и недообученная. У первой сетки изначально были такие же проблемы и в эндшпилях, и с вечными шахами. Потом ее как-то доработали и эти проблемы может и не решены полностью, но по крайней мере перестали бросаться в глаза.

    Кстати, та версия первой сетки, которая сейчас играет в официальных турнирах стала удивительно стабильно обыгрывать аутсайдеров. И в TCEC катком прошлась по третьему дивизиону - 19.5 из 24 против движков послабее. И сейчас в СССС в разношерстном турнире идет вровень со Стокфишем и Комодо. Раньше Лиле такое было не свойственно. Робингудовость Лилы, когда она отбирала очки у сильных и дарила слабым, похоже изжита. Особенно по игре черными это заметно.
     
  14. WinPooh
    Оффлайн

    WinPooh В.М. Staff Member

    Репутация:
    95
    Есть подозрение, что проблемы с эндшпилями и вечными шахами были решены за счёт основного модуля, который lc0.exe. То есть исправили немного поиск, добавили эндшпильные таблицы, и т.д.
    Мне вообще кажется, что с оценкой у Лилы уже все в порядке, и если сосредоточиться именно на улучшении поиска, то можно легко поднять еще 100-200 пунктов при той же самой сети.
     
  15. KEV81
    Оффлайн

    KEV81 Учаcтник

    Репутация:
    6
    Именно так наука и работает.
    Не нравится наука? Слишком сложна и непонятна? Попробуй религию!
    —- добавлено: 9 Dec 2018 —-
    Пока вечные шахи пропускает.
    —- добавлено: 9 Dec 2018 —-
    1) Сетка не занимается вечными шахами.
    2) Сетку нельзя доработать.
     
  16. Limavr
    Оффлайн

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

    Репутация:
    0
    Взгляните внимательно на таблицы (которые в моем сообщении)! По 50 партий белыми и по 50 партий черными. Вверху каждой таблицы (двух таблиц) указано ПО-РАЗНОМУ (как и положено правильно указывать в статистике шахматных соревнований):
    AlphaZero vs Stockfish (первая таблица из 50 партий - результаты АЗ белыми)
    Stockfish vs AlphaZero (вторая таблица из 50 партий - результаты СФ белыми)

    И вот, как это указали в документе, который пиарили (но указали, что якобы все результаты со стороны АЗ):
    [​IMG]
    Приглядитесь внимательно White и Black, кто там указан и какие результаты под Win и Loss
    И в самом документе (1712.01815), с которого делали выписку, не было указано, что результаты от лица АЗ:)
     
    Last edited: 9 Dec 2018
  17. Комсюк
    Оффлайн

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

    Репутация:
    1.265
    Limavr, в том матче без дебютов Сток не выигрывал - делайте выводы сами, с чьей стороны те таблицы
     
    Launder and sovaz1997 like this.
  18. Limavr
    Оффлайн

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

    Репутация:
    0
    Вы имеете ввиду 100 партий не_тематических, а не сам матч на 1300 партий? Ведь сам матч (1300 партий) АЗ имел проигрыши как за белых так и за черных. Простите, но где можно просмотреть все 100 партий (не тематических) с результатами подтверждающими?

    И если так, зачем тогда в графе "White" указывать АЗ (и в графе Win вписывать АЗ, а в графе "Loss" - СФ), а затем в графе "White" указывать СФ, но уже путая в графе "Loss" - показывать АЗ?
     
  19. wentille
    Оффлайн

    wentille Ветеран

    Репутация:
    125
  20. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    Limavr, "losing zero games to Stockfish". Найдете по поиску здесь: https://arxiv.org/pdf/1712.01815.pdf
    —- добавлено: 9 Dec 2018 —-
    Там нет тех старых 100 партий, там только 10 из них.
    Также, доступны 210 из нового матча.
     
  21. Limavr
    Оффлайн

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

    Репутация:
    0
  22. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    Limavr, там нет тех 100 партий
     
  23. Limavr
    Оффлайн

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

    Репутация:
    0
    Я об этом и пишу, что только со слов, но видимо это неправильная трактовка и/или неправильное понимание шахматных таблиц. Дело в том (я изучал дотошно документ, который вы предложили), я изучил и некоторые источники, которые указаны в документе (1712.01815). Этот документ - составной, его писали на основе разных(!) материалов. Писали (непосредственно заполняли) его люди, которые не имели отношения к шахматам, а были в группе (отделе) по играм Го и Сеги. Поэтому, был ошибочно (или специально, как это любят часто делать) трактован "огрызок" двух таблиц шахматных.
    Но это мои домыслы, всегда есть вероятность 1% на заблуждения даже у тех, кто раскопал истину:)
     
  24. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    Limavr, посмотрите в таком случае на результаты с Shogi и Go. Elmo лучше, чем AlphaZero? Все правильно там.
     
  25. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    Так работает не наука, а научная бюрократия. И эта бюрократическая волокита сильно замедляет научный прогресс.
     
    Launder likes this.
  26. Crest
    Оффлайн

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

    Репутация:
    629
    Да, да, несомненно!
    Это шикарная отмазка для сокрытия многих важнейших параметров и результатов эксперимента.
    А вдруг не получилось бы? Вдруг Альфа проиграл бы Стоку? Тогда можно было бы сделать вид, что ничего не было. :)
    Ведь в этом "научном" эксперименте, как я понял, важнее всего - результат на табло.
    Для рекламы и для привлечения спонсоров, к примеру.
     
  27. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    Странная постановка вопроса. Универсален перебор, полный перебор абсолютно универсален. Понимание же это выявление закономерностей. Но из закономерностей бывают исключения. Поэтому понимание не универсально по определению.
     
    Launder likes this.
  28. Limavr
    Оффлайн

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

    Репутация:
    0
    Руководитель отдела вписал таблицы Го и Сеги по-своему, а когда ему предоставили таблицы другого шахматного отдела, он их так же по-своему... трактовал. Не по правилам шахматным! Как вам такая версия?
    Кстати, а есть доказательство всех партий Го и Сеги? Но не суть, даже если там есть доказательства и все партии так и сыграны, как их описали:)

    Почему нужно заполнять таблицы по правилам, а трактовать не правильно? Когда шахматисты видят подобные таблицы, разве они оценивают их по-особому извращению, как изъявили пиарщики про АЗ? "Тут мы укажем каким цветом играл тот и другой, а вот тут рядом, мы поменяет хозяев и пусть у нас все эти таблицы разные от лица одного"
    ...так что ли выходит? Вот такое и мог допустить тот, кто не был в группе шахматной, но заполнял документацию, имея таблицы от шахматной группы. Ошибка или сознательный ход.

    ==
    Конечно это ничего не меняет. Я только хотел бы узнать точные данные.
    Уже не первый раз, переворачивают суть и фразы. Например, однажды увидел публикацию, что наши заняли первое место в соревнованиях (да не важно о чем речь), а оказалось что наши заняли первое место среди... не американцев (приезжих команд в США), в итоге только 7 место. Тут такой же пиар может быть, выходит: смотрим на таблицу (она правильная), но называем, что заполнена от лица АЗ, только часть таблицы заполнена правильно (таблицы составлены с нарушением). Но раз никто на это не обращает внимание (на ошибочность, неправильность), пусть так и будет - все верят - от лица АЗ:)
     
    Last edited: 9 Dec 2018
  29. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    Limavr, ну, вы у нас один, наверное, знаете, как правильно таблицы составлять))
     
  30. Мобуту
    Оффлайн

    Мобуту спаситель нации баннер

    Репутация:
    142
    А то Вы не знаете, WinPooh, как такие "научные" эксперименты ставятся. Руководство фирмы вызывает своего сотрудника, который разбирается в железе, в настройках движков с книжками, хорошо знаком с технологиями проведения соревнований движков на TCEC и CCRL, в том числе подкован во всяческой статистике. И говорят ему примерно такое:

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

    1. Победа нашего с перевесом в +50 пунктов (больше - не поверят, меньше - назовут случайностью)
    2. Не портить Стокфиш (он у всех стоит на компах, дотошные люди будут проверять)
    3. Разнообразие дебютов (можешь и сам их выбирать, но выглядеть должно как случайная книжка с TCEC)
    4. Разумная статистика (большинство партий ничейные, некоторые партии наш должен проиграть белыми и чёрными, посмотри, какие ещё статистические покзатели бывают для таких матчей)
    5. Устраивай матчи на равном железе, а то дотошные критики ещё по виду партий определят по виду партий, что это суперкомпьютер громит персоналку
    Это послужит интересам не только фирмы, но и всего человечества. Нейросети - наше будущее. Понял боевую задачу?

    - Но наша нейросетка слабее Стокфиша на 200 пунктов...

    - Ты получаешь100 килобаксов в год! К сентябрю с тебя база на 200 партий. И смотри, чтоб удовлетворила наших экспертов, они будут её внимательно изучать. Цели ясны? Задачи поставлены? За работу!
     
    Last edited: 9 Dec 2018
  31. KEV81
    Оффлайн

    KEV81 Учаcтник

    Репутация:
    6
    Опять теории заговора...

    Может Лилы тоже не существует?
     
    WinPooh and sovaz1997 like this.
  32. Мобуту
    Оффлайн

    Мобуту спаситель нации баннер

    Репутация:
    142
    Да ну, где тут заговор? Это трудовые будни.
    Пока что-то не вижу особых её успехов в борьбе со Стокфишем.
     
    Last edited: 9 Dec 2018
  33. KEV81
    Оффлайн

    KEV81 Учаcтник

    Репутация:
    6
    https://tcecbonus.club/
     
  34. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
  35. WinPooh
    Оффлайн

    WinPooh В.М. Staff Member

    Репутация:
    95
    2 победы, 6 поражений и много ничьих.
    Примерно как у Корчного с Карповым в Мерано.
     
    Challenger Spy and Edwards like this.