Pull to refresh

Comments 42

С момента AlphaZero в компьютерных шахматах появилось много интересных вещей.

1. Во первых это Leela Chess. Это открытая реализация нейросетевого подхода AlphaZero, активно развивающаяся, с большим количеством вариантов сетей.

И если смотреть по результатам компьютерного чемпионата TCEC она действительно сумела обыграть StockFish, но в последние два раза StockFish взял убедительный реванш. Так что на данном этапе StockFish пока превосходит нейросетки по типу AlphaZero.

2. Но совсем недавно появилась новая архитектура нейронной сети, работающая только на CPU. Она называется NNUE. Она позволяет улучшить alpha-beta отсечение с использованием нейросетевой оценки. Она работает только на CPU, так как копировать данные между CPU и GPU слишком накладно. Судя по последним данным, такой гибридный подход радикально усилил силу игры, почти на 100 ELO NNUE evaluation, что для текущих компьютерных шахмат серьезный прорыв.

Вот такая гибридная арихектура на CPU пока самая сильная на данный момент времени.

Вот график прироста ELO с использованием NNUE

image
Ага. На NNUE я смотрел — ибо иногда поглядываю на исходники Stockfish. Вообще, конечно, классно, что в любимой игре (и движках :) ) появилось столько новых идей в последнее время. Меня однако волнует вопрос, как мы «белковые» можем извлечь из этого какую то полезную информацию для себя. Как нам самим научиться лучше играть?
У меня тут есть несколько соображений.

1. Я не вижу в нейросетях чего-либо революционного. Это обычный эволюционный процесс накопления знаний и повышения эффективности обработки информации. Появление письменности, книгопечатание, библиотеки книг, библиотечные каталоги, регулярная научная периодика, онлайн каталоги + поиск, нейросети, и т.п. Это просто звенья одной цепи. В нашей временной перспективе это кажется прорывом. Но если так подумать, то гораздо большим прорывом в свое время была концепция публикации научных знаний в журналах, доступных всем.

2. В очень многих ситуациях человек просто не может постичь всю глубину шахмат. Вот простейшие примеры из 7-фигурной базы. Не считая королей, всего 5 фигур. Но мат достигается только 545 единственными ходами!

3. А игра уже меняется. Если лет десять назад считалось, что необходимо получить преимущество в дебюте, то сейчас ведущие гроссмейстеры идут на просто игровые позиции. И очень много компьютерных приемов я уже замечаю, например задвижение крайних пешек.
Спасибо. Про эти примеры из 7-фигурок я не слышал (господи, какой кошмар!). Для меня в свое время сюрпизом стало даже то, что эндшпиль ферзь против ладьи совсем не так элементарно выигрывается, как это писалось в детских книжках :)

Ссылка на статью не открывается, это у меня что-то не так?..

На слова про семифигурную базу отвечает "Данная статья не существует или еще не написана".

То же самое. Это в мобильном браузере, попозже попробую с компа, возможно, это он ссылку портит.

С компа тоже не открывается

Странно. Но возможно этот ужас лучше просто не видеть… :)

"Статья не существует или не написана"

Странно. У многих не открывается. Посылал двум член-корреспондентам РАН. У них тоже не открылось. Так что вы в этой же когорте :)
Я досмотрел все 545 хода.
Просто было интерестно в какой момент произойдёт что-то интерестное.
Какая фугура потеряется первой и при каких обстоятельствах.

На 511 хочу чёрныне потеряли качество, потом пошло быстрее, на 529 слона, на 544 коня и 545 мат.

Вот ссылка на позицию.
tb7.chessok.com/probe/3/65
Интересно, как сейчас правило 50 ходов в шахматах действует? Помнится, там вводили какие то исключения, но жизнь показывает, что их куда больше…
Насколько я помню, впервые это правило отменили для мата двумя конями. Вообще считается, что мат двумя конями невозможен. Но (!) если добавить слабейшей стороне пешку, вроде как усиливая ее, мат становится возможен. Но далеко за пределами 50 ходов.

На этой позиции у сильнейшей стороны два коня. Результат ничья.

Но мы добавляем слабейшей стороне пешку. И получаем мат в 138 (!) ходов. Непостижимо для человека. Всего три фигуры. Но результат мат. При этом белые очень аккуратно обходят эту пешку. А черный король бродит по всей доске.
Как мы можем извлечь из этого набора чисел новое знание об игре?

Тоже подумал, гляди эти партии, об explainable AI (можно этот термин применить к тому, чего вы хотите). Было бы здорово, если бы ИИ умел сформулировать новые эвристики по типу существующих «ладья дружит со слоном, а ферзь с конем» и пр. Причем в паре партий видел, как AlphaZero шел на нарушение эвристик, известных «человечеству», хотя каких-то конкретных оснований для этого не просматривалось (ладно я их не видел — но и Stockfish, видимо, тоже :)).

Ну да. Хотелось бы чего то такого. В конечном итоге это все равно перебор, но хотелось бы извлечь какое то знание из того, что содержится в нейронной сетке, которая этот перебор направляет. А вы где партии смотрели? Я шарился по разрозненным ссылкам — а вот чтобы все в одном месте не нашел…
Хотя ничего особо нового тут не изложено, всё же приятно читать статью, когда автор не журналист, а действительно разбирается в теме.
Спасибо. Это дейcтвительно некий обзор с целью собрать в кучу свои мысли и как то подступиться к проблеме :)
Тоже рад, что написано шахматистом, но всё же небольшое уточнение:
Проблема однако в том, что дерево вариантов в шахматах растет достаточно быстро (хотя и значительное медленнее, чем в го)
дерево вариантов в го вообще не растёт. Зато оно огромно с самого начала…

Я тут может не совсем ясно выразился. Под ростом я имел в виду сколько позиций можно получить из данной за 1 (или n) ходов

Я кстати, последнее время даже про покерных ботов больше думаю, чем про шахматные :)
Как мы можем извлечь из этого набора чисел новое знание об игре?

Мне кажется это особо никак и не сделать — описания будут слишком развесистыми и охватывающими чуть ли не всю доску. А сократить нельзя, т.к. чем выше уровень игры, тем больше критичных нюансов. Такое любой человек физически не сможет запомнить. Тем более используется метод монте-карло, который привносит рандом, уникальный для каждого раза.

Да я понимаю, что это непросто. Что меня восхищает, так это то, как AlphaZero «смотрит» на позицию. Мы, люди, смотрим на материальное соотношение и позиционные факторы. Но как то отдельно. А она смотрит на все в целом. Особенно поразили тихие нефорсированные ходы при материальном недовесе вот здесь — www.youtube.com/watch?v=nPexHaFL1uo. Вот и хочется осознать, как она оценивает позицию…

Очень любопытно, что какие то приёмы AlphaZero уже применялись людми, и довольно успешно. Например, движение крайней пешки или классическая жертва пешки/качества за инициативу.

Да. Но как определить «инициативу»? Много раз видел это слово (например в книгах Каспарова). Но как это формализовать и обьяснить «машине»?
Интересен вопрос, а предельное умение игры может существовать? И каково оно?

Известно каково. База со всеми возможными шахматными партиями. Так просчитали шашки. Даже 100 клеточные. Но, надеюсь в шахматах до этого ещё далеко…

И не факт, что реально, по крайней мере для игры "Го" — точно нет из-за огромного количества вариантов.

Как мы можем извлечь из этого набора чисел новое знание об игре?

Мне, как не шахматисту, в принципе интересно, насколько для шахматиста-человека важны именно знания? А насколько важны приобретенные навыки?

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

Знания, это то, чем оперирует наша медленная, лобная часть мозга. Но как пользоваться знаниями в середине партии? Возможно, тут важна быстрая «интуитивная» часть нашего белкового процессора? Та, что отвечает за «озарения» и всё такое? Можно ли ее как-то программировать, кроме как наработкой навыков? То есть именно многократным проигрыванием партий, например, за Альфу?
То есть если раньше люди учили компьютеры, то теперь нам надо тренировать свои навыки проигрыванием лучших партий Альфы Зеро. Научится думать как машина. Но это не думание словами, а именно навыки на основе корреляций, или как там оно работает, в нашем мозгу. Надо перечитать Канемана «Думай медленно, решай быстро»…

PS: Для себя вновь открыл шахматы во время летней самоизоляции: играли с женой и ребенком. Играли как могли, по ходу вспоминая правила и путая названия фигур. Но что мне понравилось, так это прямо физиологическое ощущение того, что мозг работал) Усердно перебирал варианты, и для этого, по всей видимости, организму приходилось активно его кровоснабжать. Мне как ВСД-шнику это было приятно.
Вы меня тут на одну мысль натолкнули. Про знания и навыки и быстро- медленно. Я собственно задумывался именно над тем как знанме может быть передано. Когда оно формализовано в словах, принципах, уравнениях — оно передается быстро. Мы можем научить других вокруг себя. С навыками все обстоит сложнее. Так вот когда знание формализуется то прогресс всего сообщества игроков идет быстро. А появление гения ( у которого все эти навыки врожденные) -вроде Капабланки или Таля, к такому же быстрому прогрессу не приводит…
Возможно у компьютеров просто другой «механизм передачи знаний', чем у нас. И вопрос обучения одной нейронной сетки от другой куда лучше изучен, чем вопрос передачи знания от машины к человеку…
В шахматных движках и альфазиро не силен, но хочу оставить свои пять копеек. Интерпретация нейронной сети — это еще не решенная задача, поэтому предлагаю зайти с другой стороны.
В начале статьи автор писал, что шахматные движки пришли к тому, что делают ставку не сложную оценочную функцию, а на глубину просчета. Но с альфазиро все наоборот — глубина просчета поменьше, а вот оценочная функция — это сложная глубокая сеть.
Как же так получилось? А секрет, я думаю, в огромных мощностях гугла, и сотнях тысяч лет игры самой с собой. То есть, мы можем взять обычный шахматный движок, заложить в его оценочную функцию тысячи или десятки тысяч параметров, а далее по методу монте-карло или генетическим алгоритмам или еще как-то подбирать эти параметры так, чтобы прийти к оптимуму. Но нужны огромные вычислительные мощности, которые кроме как компании-гиганты никто не располагает, а им этим понятное дело заниматься не интересно. Далее по этим параметрам уже было бы сильно проще делать интерпретацию шахматной стратегии.
наше знание о шахматах похоже на разложение функции в степенной ряд (типа Тейлора-Маклорена) вблизи нуля. Где нулевой точкой является материальное равновесие. Применимость такого представления падает по мере удаления от материального равенства.

Может и не падать, если функция аналитическая.

А партии вы все же посмотрите.


Партии посмотрел, игра восторга вообще не вызвала. Альфа играл имхо просто правильно, чего оказалось достаточно, чтобы победить. Честно говоря, давно не слежу за шахматами, и быть может много чего упускаю, но мне уровень стокфиш показался просто низким. Даже возникло предположение, что шахматисты после прихода «рыбы» стали копировать манеру игры компьютера, пусть и неосознанно. А потом пришёл АльфаЗиро, который делает то же, что и человек, только точно и быстро. И это вдруг стало откровением.

Ну и в принципе не вижу перспектив у шахмат. Ещё лет 15 назад были дебютные базы на ходов 20 с достаточно точными оценками позиций, а что уж сейчас могут натворить нейросети при наличии терафлопсов и киловатт-часов. И нахождение каких-то чудных позиций, которые разыгрывают в течение 500 ходов, — это лишнее тому подтверждение. Когда какая-то поверхность настолько хорошо изучена, что на ней находятся какие-то микро-желобы многокилометровой длины.
Ещё лет 15 назад были дебютные базы на ходов 20 с достаточно точными оценками позиций, а что уж сейчас могут натворить нейросети при наличии терафлопсов и киловатт-часов.

Следующий этап — уместить все это в обычный десктопный компьютер, а потом и в телефон.

Sign up to leave a comment.