Программирование Го

Тема в разделе "Машинное отделение", создана пользователем WildCat, 11 май 2006.

  1. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.490
    Симпатии:
    3.108
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
  2. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.490
    Симпатии:
    3.108
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн


    Морозевич в 33:30
    Я задаю вопрос в 1:06:40
  3. Rom Старожил

    • Участник
    • Старожил
    Рег.:
    12.02.2012
    Сообщения:
    644
    Симпатии:
    275
    Репутация:
    27
    Оффлайн
    Почитал последнюю публикацию DeepMind в Nature. Статья хорошая, интересно было узнать о развитии проекта АльфаГо. Но осталось ощущение какой-то недосказанности. Не обо всём авторы говорят явно. О чем-то прямо умалчивают, чтобы создать определенное впечатление у читателей. Хотелось бы остановиться на тех моментах, которые удалось заметить мне и другим людям, и которые при поверхностном прочтении статьи могут привести к неверным выводам.

    1. Хидеки Като верно заметил, что в статье DeepMind нигде не упомянуто сколько residual-блоков было в январской версии Мастера. А значит неясно, за счет чего 40-блочная версия Зеро обыграла Мастера - тренировки/игры без использования человеческих знаний или просто за счет добавления дополнительных блоков. Следовательно выводы о том, что просто выбросив человеческие знания мы можем получить лучший результат могут оказаться ложными.

    2. В статье много раз упоминается на каком скромном оборудовании играл Зеро против версии Ли и Мастера (4 TPU), один раз говорится о участии 60 GPU для оптимизации параметров нейросети. Но нигде прямо не сказано, какие ресурсы были подтянуты для тренировочных партий программы с самой собой. Зато постоянно встречаются эпитеты в стиле "тренируется удивительно быстро", "в 36 часов мы обошли версию Ли" итд. А потом, когда автор программы Leela производит пробный прогон обучения с подобной моделью нейросети на собственном компьютере, с отличной видеокартой (1 GPU), то оказывается, что потребуется 1700 лет, чтобы произвести такое обучение. Камнем преткновения становится самоигра. То есть сведения о ресурсах для самого вычислительно ёмкого процесса в статье как-то замалчиваются. Их приходится вычислить гипотетически из других приведенных данных.

    3. Присутствуют постоянные сравнения в духе "самостоятельное обучение (RL) по всем статьям обходит обучение по человеческим партиям (SL)". Но стоит посмотреть на график 3а, на странице 7, как становится заметно, что не всё так просто. Во-первых, SL обучается быстрее. Логично, ведь не нужно наигрывать партии - они уже есть в наборе KGS. Во-вторых, по силе игры SL довольно близко подбирается к версии Ли, не смотря на то, что та после использования SL ещё долго тренировалась на RL. И наконец, итоговое превосходство RL не показательно, поскольку с определенного момента у неё есть возможность тренироваться на собственных "сильных" партиях, а у SL такой возможности нет - она вынуждена выжимать последние соки из преимущественного любительского набора KGS.

    4. График 4а, на странице 9, бодро рапортует как удивительно растет сила игры при переходе от классических сверточных (conv) сетей к остаточным (res). Но как-то ушло в тень то обстоятельство, что остаточная сеть Зеро банально более ёмкая с точки зрения возможностей для наращивания знаний. У остаточной сети 40 сверточных слоёв, разделённых на 20 блоков, в то время как у классической сети таких слоёв всего 12. То есть, надо учитывать не только только то, что авторы перешли на новые (но уже полтора года как известные) технологии, но и банально нарастили число слоёв.

    5. В тексте авторы постоянно жонглируют двумя версиями Зеро, 20 и 40-блочной, что может привести к неверным выводам. Поэтому приходится всё время быть настороже, чтобы данные приведенные для одной версии Зеро не использовать далее в тексте в отношении другой.

    Вот такие моменты, на которые следует обратить внимание при чтении статьи в Nature. Но не думаю, что все скользкие места ими исчерпываются. Поэтому, хочется пожелать внимательнее вчитываться в текст, а не доверять общим впечатлениям.
    Mustitz нравится это.
  4. Strat7 Учаcтник

    • Участник
    Рег.:
    06.05.2017
    Сообщения:
    806
    Симпатии:
    372
    Репутация:
    11
    Оффлайн
    Без разницы особо, сколько там слоев и на чем проводилось обучение так как конкретную технологию не дадут, а если разрабатывать свое, то гарантия выполнения задачи - есть. А вычислительная мощность уже второстепенное дело - просто деньги (или время, чтобы подешевело и потом опять деньги). А любая проблема, которая решается деньгами это не проблема, это расходы :). То есть некоторые неясности в статье непринципиальны. Главное - выяснено, компы, могут обучиться за очень короткое время и достичь высочайшего уровня игры. Мне наиболее интересен такой вопрос.
    Сколько камней форы надо текущим мастерам, чтобы не проиграть АльфаГо зеро? И второй - исходя из текущих данных по компьютерному ГО, можно еще улучшить игру, это бесспорно, тогда вопрос - так на сколько камней форы может играть идеальный игрок?
  5. Rom Старожил

    • Участник
    • Старожил
    Рег.:
    12.02.2012
    Сообщения:
    644
    Симпатии:
    275
    Репутация:
    27
    Оффлайн
    Strat7, я согласен, что обе статьи очень интересны, а результаты впечатляющие. Первая из статей, так вообще крайне вдохновляющая. А вторая хорошо дополняет первую. Но лично мне технические подробности тоже очень интересны. Что касается максимальной форы, то не всё там так просто.
  6. Strat7 Учаcтник

    • Участник
    Рег.:
    06.05.2017
    Сообщения:
    806
    Симпатии:
    372
    Репутация:
    11
    Оффлайн
    Почему? Я вообще в Го не понимаю, но если по шахматам судить, то компьютер без ферзя например, и ни один гроссмейстер такому не проиграет 100%. То есть грубый предел - ферзь (9 пешек), когда какой бы ни был комп, но он не будет сильнее человека. Значит фору можно определить примерно. Не думаю, что в го нельзя так же определить верхний (грубый предел). 4-5-6-7-8-9 камней - сколько хватит для гарантированного "непроигрыша" человеком?
  7. Benas Учаcтник

    • Участник
    Рег.:
    09.05.2017
    Сообщения:
    147
    Симпатии:
    27
    Репутация:
    1
    Оффлайн
    Естественно можно, только человек человеку рознь, а вот если говорить о профессионалах и при том передовых, то 3-4 камней наверника хватит для положительного результата вообще, а на двух победы тоже будут.
    В го немножко даже просче чем в шахматах, так как там есть некий почти практический максимальный выигрыш это 361 очко ( теоретически возможно и больше, но это уже детали ). Плюс есть такое - партия в среднем продолжаеться 240 ходов , что оставляет при правильной постановке игры махимальную разницу в примерно 120 очков. ну и форовый камень это примерно 10 очков.

    Так вот средний игрок где то около 1 дана - будет в состояний продерживаться те 240 ходов без тотального уничтожения - словом будет проигрывать с разницой до 120 очков. Профессионал сильнее такого на 9 камней = 90 очков ну и остаеться 30 очков или 3 камня.
    Думаю такая логика должна быть ясна и человеку без знаний в го....
  8. Strat7 Учаcтник

    • Участник
    Рег.:
    06.05.2017
    Сообщения:
    806
    Симпатии:
    372
    Репутация:
    11
    Оффлайн
    Из всего понял только то, что от 2 до 4 камней хватит. А не понял остальное, так как в объяснении фигурируют:

    Непонятны соотношения между - ходами, очками, разницей.
  9. Rom Старожил

    • Участник
    • Старожил
    Рег.:
    12.02.2012
    Сообщения:
    644
    Симпатии:
    275
    Репутация:
    27
    Оффлайн
    "Непроигрыш" в Го, грубо говоря, эквивалентен "выигрышу".

    Программы в Го по-видимому не слишком хорошо играют на форе. Алгоритм Монте-Карло в проигранных (или выигранных) позициях вместо того чтобы изыскивать шансы, часто начинает нести ересь. Здесь особенно памятен момент, когда Ли Седоль недоуменно смотрел на доску после странного хода компьютера в прошлогоднем матче. Или кадр из трансляции одной из майских игр, который так и просится на мем "До слёз".

    Кроме того, нейросети тренированные для равной и для форовой игры могут показать совершенно разные результаты. Но и после всего этого мы не будем уверены, что Бог Го не превзойдёт идеальную нейросеть, если начнет играть намеренно неидеально, изыскивая практические шансы против человека.

    Но, конечно для определения нижнего предела форы программы вполне годятся.
  10. Benas Учаcтник

    • Участник
    Рег.:
    09.05.2017
    Сообщения:
    147
    Симпатии:
    27
    Репутация:
    1
    Оффлайн
    Что понятно то и есть главное :)
    доска состоит из 361 пункта , теперь представь что делаеться по почти 180 ходов и последним ходом одна сторона бьет все камни противника после чего вся територия принадлежит одному - вот тогда он будет впереди примерно на 350-360 очьков
    Ну так есть , что тут поделаешь... в го партий играеться до того момента когда ценность хода - положительное или нулевое, после этого любой ход идет в минус ( своего рода цугцванг ) .
    В го разрешаеться не делать хода если нет жедания. Ну и вот когда оба противники не ходят - партия завершаеться. И это происходить примерно в 240 ходу (120 из каждой стороны )
    На доске 361 пункт - 240 ходов =120 пустых полей . если все они принадлежит одному то мах разница 120 очков.

    Ну это незнаю считали математический или нет , но по опыту примерно так и получаеться - ценность хода в начале партий 10 очков.

    То есть если игрок может довести партию до конца не дав убить свои камни ( несколько в счет не берем ) то он поставит на доску примерно 120 камней за партию , также и противник следовательно остаеться 120 что можеть быть територией одного и мах выигрыш 120 очков

    Похоже что ты даже не видел саму игру ... ну посмотри какой то ролик где обьясняет как играеться и как ведеться подсчет територий...
  11. Strat7 Учаcтник

    • Участник
    Рег.:
    06.05.2017
    Сообщения:
    806
    Симпатии:
    372
    Репутация:
    11
    Оффлайн
    И видел и читал. Сейчас еще раз перечитал правила. Так и непонятно, почему 1 камень форы это 10 очков, когда 1 камень это 1 очко.
  12. Rom Старожил

    • Участник
    • Старожил
    Рег.:
    12.02.2012
    Сообщения:
    644
    Симпатии:
    275
    Репутация:
    27
    Оффлайн
    Небольшое преимущество в начале партии приводит к большому преимуществу в конце. Так же как если гроссмейстер в начале партии имеет например две лишние пешки, то к концу партии он скорее всего поставит мат.
    sovaz1997 и WinPooh нравится это.
  13. Benas Учаcтник

    • Участник
    Рег.:
    09.05.2017
    Сообщения:
    147
    Симпатии:
    27
    Репутация:
    1
    Оффлайн
    Это цена хода приблизительная. Также как слон это 3 очка пешка 1 ладья 5 и тд.
  14. Mustitz Заслуженный

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    30.09.2006
    Сообщения:
    3.545
    Симпатии:
    1.265
    Репутация:
    36
    Адрес:
    Киев
    Оффлайн
    Один камень может быть использован для получения территории. Например, на доске 5x5 если пойти в центр, то противник не может выжить. Так что по сравнению с пасом этот ход дает 50 очков территории разницы.

    Стоимость хода точно считаеться уже в йосе (конце игры). Там, грубо говоря, мгра сводиться к тому, чтобы оценить каждый ход и сделать самый ценный.

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