Один из наиболее популярных вопросов, задаваемых на этом сайте, касается перспективы чисто самообучающегося шахматного ИИ.
Сегодня ChessBase отвлекается от освещения турнира кандидатов в ФИДЕ, чтобы сообщить, что новый ИИ впервые побеждает ведущего мастера совершенно другой игры в го, которая в течение многих лет сопротивлялась ИИ в шахматном стиле. Первоначальное прочтение отчета предполагает, что новый ГИ-ИИ не похож на шахматные ИИ, но больше похож на ИИ общего игрового процесса (GGP). Статья ChessBase, однако, не использует термин GGP, но, похоже, говорит, что искусственный интеллект может выиграть в простых видеоиграх.
Есть ли какая-то причина, по которой такой выигрышный ход AI не мог с небольшими корректировками выиграть и в шахматы? Если да, то обещает ли такой ИИ достичь чистого самообучения, о котором ранее уже обсуждалось несколько превосходных ответов на предыдущий вопрос, что в то время еще не было возможно? Почему или почему нет?
Я подозреваю, что по-настоящему полного, полностью информированного ответа на мой вопрос пока не имеется, поэтому будет признателен даже частичный ответ, основанный на соответствующих знаниях.
Для дополнительной справки см. Также этот связанный вопрос и ответы.
ОБНОВИТЬ
Когда вышеупомянутый вопрос был впервые опубликован пять дней назад, и когда были даны некоторые из прекрасных ответов ниже, только что появились первые новости о победе Го ИИ. С тех пор появилась дополнительная информация и комментарии.
Особенно интересным с тех пор была читаемая пятисторонняя дискуссия за круглым столом, в которой Джонатан Шеффер замечает:
Обучение на человеческих играх помогает ускорить процесс обучения. AlphaGo может научиться самостоятельно становиться сильным игроком, не используя человеческие игры. Процесс обучения займет больше времени.
По словам ведущего круглого стола, Шеффер - «профессор компьютерных наук в университете Альберты и человек, который решал шашки»; так что, по-видимому, он может быть компетентным комментировать.
Для получения дополнительной информации, вот отчет о другом открытом обсуждении, многие из участников которого кажутся лучше информированными, чем обычно. Обсуждение проходило во время матча.
Дальнейшее обновление, полтора года спустя: комментатор @MarkS. пишет:
Это просто комментарий, потому что речь идет о Го, а не о Шахматах, но AlphaGo Zero добился «чистого самообучения» только благодаря тому, что ему сообщили, кто выиграл (а не окончательный счет), и он сильнее и намного эффективнее, чем ИИ, победивший Ли Седола. , Для получения дополнительной информации см. Deepmind.com/blog/alphago-zero-learning-scratch
Ответы:
Так так так! DeepMind опубликовали статью, в которой, по их словам, они запрограммировали и обучили компьютер нейронной сети, чтобы победить Stockfish.
По 1 минуте размышлений на ход их компьютер AlphaZero побил Stockfish на +25, = 25, -0 с белым и + 3, = 47,0- как черный.
Они «обучили» 3 отдельных компьютера играть в шахматы, сёги и го и убедительно победить своих силиконовых соперников.
Вот как статья описывает обучение и оценку -
Их компьютер использовал новую форму чипа, названную «TPU» ( Tensor Processing Unit ), разработанную Google для задач машинного обучения.
Они также утверждают, что их алгоритм поиска по дереву Монте-Карло лучше и более «похож на человека», чем традиционные алгоритмы поиска альфа-бета -
Вот некоторые из игр -
Игра
Белый: AlphaZero Черный: вяленая рыба
источник
Хорошо, я должен признать, что был неправ. Хотя я бы сказал, что это было связано со знанием мнения эксперта, а не с общей тупостью: привести цитату из статьи : «Однако шахматные программы, использующие традиционную MCTS, были намного слабее, чем программы поиска альфа-бета (4, 24); - бета-программы, основанные на нейронных сетях, ранее не могли конкурировать с более быстрыми, сделанными вручную функциями оценки ».
Очевидно, шахматы стратегически достаточно глубоки, чтобы вы могли выработать стратегию для кого-то, кто сможет рассчитать вас. Для меня это большой сюрприз, потому что развитие шахматных движков шло в противоположном направлении. (Очевидно, все еще есть небольшая оговорка относительно того, действительно ли AlphaZero сильнее Stockfish: Stockfish разыгрывается всего с 1 ГБ для хэш-таблиц, а 64 ядра могут не совпадать с четырьмя TPU)
Это также действительно очень захватывающая вещь, потому что AlphaZero, скорее всего, имеет сильные отличия от традиционных двигателей.
Это также означает, что я многократно обновляю свое убеждение в важности AlphaGo как технологического прорыва. По сути, разбить сёги, го и шахматы с одной единственной установкой - это совершенно потрясающе, не говоря уже о десятках других игр, в которые AlphaZero может сыграть на сверхчеловеческом уровне.
Есть хорошее объяснение того, почему MCTS на самом деле является хорошей идеей даже для шахмат по сравнению с альфа-бета-поиском (из статьи): «AlphaZero оценивает позиции, используя приближение нелинейных функций на основе глубокой нейронной сети, а не линейной Функция аппроксимации, используемая в типичных шахматных программах. Это обеспечивает гораздо более мощное представление, но может также привести к ложным ошибкам аппроксимации. MCTS усредняет по этим ошибкам аппроксимации, которые, следовательно, имеют тенденцию подавляться при оценке большого поддерева. В отличие от альфа-бета-поиска вычисляет явный мини-максимум, который распространяет самые большие ошибки аппроксимации в корень поддерева ". (акцент мной)
Вот мой старый ответ, все еще содержащий некоторые действительные пункты, несмотря на то, что вывод заменяется реальностью.
Прежде всего, Alphago не является общей игровой системой. Это программа, предназначенная исключительно для игры в го и ничего больше. Однако он построен из определенных строительных блоков, которые имеют гораздо более широкое применение, таких как сверточные нейронные сети , которые использовались в распознавании изображений и которые имеют непосредственное применение в медицинской диагностике, и обучение с подкреплением, которое использовалось для освоения игр Atari, упомянутых в статья.
Кроме того, современные движки «учатся» за счет самостоятельной игры : «За одну ночь шесть компьютеров Lefler играют в более чем 14 000 игр каждый в течение восьмичасового периода.« Шесть машин на 14 000 игр - это много игр », - говорит он. с каждой сыгранной игрой база данных становится все глубже и богаче. Существует даже спортивный интерес к тому, чтобы смотреть, как компьютеры играют друг против друга. Результатом занятых жужжанием машин Лефлера является постоянно растущее мастерство Комодо ».
Чтобы прийти к основной части вашего вопроса:
Существует важное различие между шахматами и го, по крайней мере, с точки зрения программиста. Шахматы - скорее тактическая игра, а го - скорее стратегическая игра. Это означает, что в шахматном расчете глубина превосходит позиционную оценку. По сути, это ключевой момент, который отличает «старые» движки, такие как Fritz, Shredder, Junior, и новое поколение, такое как Fruit, Rybka, Houdini, Stockfish, Komodo. Потому что в конце каждой строки вам нужно оценить позицию и вы хотите рассчитать количество линий, а качество оценки не так важно, как глубина поиска, шахматные движки имеют функции быстрой и точной оценки.
С другой стороны, тактическая сложность слишком велика даже для компьютеров. Следовательно, оценка позиций и точных ходов является ключевой. Новое в игре Alphago - это способность оценивать, основанная на сверточных нейронных сетях .
Наконец, я хочу сказать, что функции оценки шахмат скудны и быстры, а у нейронных сетей миллионы, а иногда и миллиарды параметров. Поскольку «обучение» в этом контексте означает настройку параметров, возможен гораздо больший прогресс в программах самообучения.
Итак, да, вы могли бы использовать такую установку, как Alphago, для создания шахматного движка, но это было бы не особенно хорошо. Запуск функции оценки занял бы так много времени, что вам пришлось бы использовать огромный кластер gpus для достижения необходимой глубины поиска (именно это делает Alphago). Вы можете создать очень хорошую функцию оценки , но компромисс скорости не стоит.
источник
Есть проект под названием spawkfish, который пытается сделать именно это. Это движок на основе нейронной сети, цель которого «изучить, как последние достижения в компьютерной игре могут быть применены в мире компьютерных шахмат».
Это молодой проект, и двигатель все еще довольно слабый. Играть в нее интересно, потому что ее позиционная игра лучше, чем ее тактика.
источник
Короткий ответ - нет!"
Шахматы и Го радикально отличаются своей относительной простотой и относительной сложностью, которая зависит от их геометрии и от того, как вы выигрываете. Они объединяются, чтобы сделать программу, которая хороша в одном, бесполезна в другом.
В шахматах вы выигрываете матом противника, очки не учитываются. Конечно, разумный противник часто подает в отставку, прежде чем вы поставите мат, но принцип тот же. В го вы выигрываете, имея больше очков в конце игры. Если у меня есть король и королева, а у вас есть король, ладья и пешка, но вы построили крепость, то не имеет значения, что у меня есть 9 очков за королеву, а у вас есть только 6 очков за вашу ладью и пешку. Игра ничья.
Это существенно меняет сложность шахмат и го. В го вы можете просто сохранить счет, и вы будете знать, кто выигрывает. В шахматах единственный способ узнать, кто выигрывает, - это чистый расчет. В этом смысле шахматы намного сложнее, чем ход.
В то же время, из-за геометрии двух игр, в ходах на порядок больше возможностей, чем в шахматах. В этом смысле пойти гораздо сложнее, чем шахматы.
Шахматная программа работает путем расчета грубой силы всех возможных ходов на определенную глубину, которая определяет ее силу. Программа го не может работать так и играть что-то более продвинутое, чем начальный уровень го.
Основная цель го состоит в том, чтобы контролировать больше территории, чем ваш противник. В конце игры не имеет значения, если разница составляет 1 камень или 100 камней, оба выигрывают. Каждый раз, когда вы кладете камень, вы делаете две вещи. Вы увеличиваете свою территорию, потенциальную или фактическую, и уменьшаете территорию своего противника.
Иногда, когда это фактическое увеличение или уменьшение территории, легко рассчитать стоимость перемещения, но когда оно является потенциальным, его очень сложно оценить. Как слабый игрок, я понимаю «фактический» гораздо лучше, чем «потенциальный», и более сильный игрок превзойдет меня, построив гораздо большую потенциальную территорию в центре, в то время как я создаю меньшую фактическую территорию по краям и в углах. Более сильный игрок обретет способность судить по интуиции и ощущать себя от игры во многие игры и понимания того, как построить «потенциальную» территорию.
Ранее я говорил, что каждый раз, когда я кладу камень, он увеличивает мою территорию (фактическую или потенциальную) и уменьшает оппонента (фактически, если это глупый ход, он будет делать наоборот!). В любой данной позиции не все ходы одинаковы. Камень, помещенный в одну позицию, может стоить намного больше или намного меньше, чем камень, помещенный в другую.
Как правило, в игре будут небольшие «бои», когда игроки размещают свои камни рядом друг с другом, размечая свою территорию и ограничивая территорию своего противника. Между тем, есть возможность начать разбивать территорию в другой части доски или перейти в бой где-то еще, где у обоих игроков уже есть камни.
В этих ситуациях очень важно знать, когда остановить один бой, потому что потенциальные выгоды уменьшились, и либо переключиться на другой бой, либо, возможно, выйти на девственную территорию. Иногда это зависит от жесткого расчета, но часто он гораздо более туманный и не подлежит расчету. Как слабый игрок, именно здесь сильный плательщик будет сокрушать меня каждый раз.
В этих ситуациях компьютер использует вероятностные методы для получения ожидаемой оценки за конкретный ход. Иногда фактическое значение оказывается немного меньше, иногда немного больше, но в долгосрочной перспективе оно будет более или менее равномерным. Он будет продолжать выбирать ход с наивысшим ожидаемым значением, ожидая, что в течение долгого времени игры небольшие ошибки отменятся, и его стратегия победит.
Это не та стратегия, которая звучит знакомо шахматистам и не подходит для шахмат. Это то, что звучит знакомо любому, кто следит за тем, что происходит на фондовых рынках. Это звучит очень похоже на то, что называется «высокочастотной торговлей», когда компьютеры будут делать тысячи маленьких ставок или просто предлагали делать ставки каждую секунду, чтобы «никель за копейки» продать рынок и, возможно, даже незначительно переместить его в свою пользу в течение периодов в миллисекунды.
На финансовых рынках уже доминируют такие алгоритмические торги, что говорит о том, что программы такого рода уже одержали победу в гораздо более прибыльной сфере, чем настольная игра.
источник
(Любой, кто хочет глубокого технического обсуждения AlphaGo, может посмотреть мой пост )
Краткий ответ : нет
Длинный ответ :
Во-первых, нам нужно понять, почему Google не внедрил альфа-бета в AlphaGo. У Stockfish и Komodo (и всех шахматных движков) есть альфа-бета, почему бы не AlphaGo?
Причина : не существует простого и дешевого способа, который мог бы точно оценить положение Go в статическом режиме.
В шахматах мы всегда можем сосчитать материалы, очень эффективный способ статической оценки позиции. Хотя и не идеально, но очень быстро и очень хороший прокси для шахмат.
Поиск в пространстве состояний с помощью Монте-Карло является худшим методом, чем альфа-бета. Google мог бы внедрить альфа-бета, если бы мог, но не смог. Таким образом, они были вынуждены использовать что-то намного медленнее.
Шахматный двигатель не будет играть лучше с Монте-Карло.
источник
Я не согласен с другими ответами. Я ученый-компьютерщик, который профессионально работает в области искусственного интеллекта, а также является кандидатом в мастера по шахматам и 3 дан в иго.
Я думаю, что в настоящее время неясно, могут ли методы Deep Mind быть применены к шахматам, но я думаю, что это возможно.
В настоящее время ведущие шахматные программы все больше полагаются на эвристику, и попытка использовать архитектуру AlphaGo для шахмат в некотором роде приведет к тому же образу мышления.
Одна из ключевых архитектурных особенностей AlphaGo, которую необходимо изменить, - это метод определения ключевых квадратов (или тепловых карт), который характерен для игр, подобных иго, и не применим напрямую к шахматам. Некоторый аналог этого метода должен быть разработан, чтобы сделать архитектуру AlphaGo актуальной для шахмат. Например, мы могли бы иметь понятие «ключевые фигуры», а не ключевые квадраты.
Я думаю, что аргумент о том, что архитектура AlphaGo не имеет отношения к шахматам, потому что шахматы более тактичны, не очень хорошая претензия, потому что в конечном итоге оба имеют поисковые деревья, которые достаточно похожи по форме, что AlphaGo определенно можно адаптировать к шахматам.
источник
Ответ - да! Google только что доказал это вчера, когда AlphaZero победил лучшую шахматную программу, используя только знания о правилах и самообучение, не используя человеческие знания шахмат. Принятый ответ неверен. Ссылка на статью здесь: ссылка
источник
Чтобы увидеть AlphaZero в действии, следуйте http://lczero.org/ или играйте на http://play.lczero.org/
источник