Pull to refresh
20
0
Send message

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

Можно конечно прикинуть рейтинг "на пальцах", с соответствующей для такой операции точностью. Но давайте попробуем. АльфаЗеро набрала примерно 60 % очков против Stockfish 8. Это около 70 пунктов рейтинга. У восьмого Стокфиша рейтинг 3371, значит у Альфы будет около 3440. Но это плюс-минус лапоть, поскольку ещё очень много факторов нужно учесть.

Не программист, но статью просмотрел с интересом. Как я понимаю, программа сейчас находится в положении state of art по состоянию примерно на середину 1970-х. Значит можно начинать улучшать:)

Для сортировки тихих ходов стандартными методами являются "киллеры" и сортировка по истории.

Основным источником силы подобных программ является отсечение 99% заведомо не лучших ходов. Для этого существует множество эффективных методов. В первую очередь нужно пробовать "нулевой ход", "LMR", различные отсечения на предельных глубинах (например Futility, Razoring).

Но лучше, наверное, посмотреть как реализованы эти методы в коде Стокфиша. По сути, бОльшая часть силы этой программы проистекает из небольшого участка кода (шаги с 7 по 18):

https://github.com/official-stockfish/Stockfish/blob/master/src/search.cpp#L776-L1230

По автомату Кемпелена есть ещё книга - Tom Standage "The Turk" (2002).

Может быть вы слышали про Micro-Max? Он, правда, написан под несколько иную задачу — программа должна быть сильнее в пунктах рейтинга, чем число символов в этой программе.
Не вопрос.

1. Выше уже писали про ассемблерную версию Стокфиша размером 120 Кб. Если выкинуть из него код поддержки эндшпильных баз (все равно нет места под сами базы), поддержку UCI-протокола (всё равно не будет универсальной графической оболочки), bench (тестировать будем по-другому), а также возможно кое-что ещё, то размер наверняка можно будет сократить.

2. Стокфишу можно дать в тысячу раз меньше времени, чем топовым движкам середины нулевых, обыгрывавшим тогда супергроссмейстеров, и он не уступит. Так что с силой игры тоже всё будет в порядке.
P.S. Говоря о 100Kb, мы, скорее всего, не учитываем объём библиотек дебютов и эндшпилей.

В принципе они не так уж и важны. В сумме дают около 100 пунктов рейтинга. Что составляет примерно половину разницы в один спортивный разряд. Ощутимо, но не определяюще.
Для сравнения, результаты последней версии Стокфиша против Стокфиша 8, контроль примерно 5 минут на партию:
tests.stockfishchess.org
А вот и для шахмат свежие результаты подоспели — arxiv.org/pdf/1712.01815.pdf
Альфа Зеро против прошлогоднего Стокфиш 8 — 28 побед, 72 ничьи, 0 поражений. Играли по минутке на ход. Железо — 4 TPU против 64-х ядер (хэш 1 Гб).
Совсем не факт. По крайней мере не так-то просто этого добиться.
Хотя у новой технологии не просматривается каких-то принципиальных ограничений сверху, тем не менее современные шахматные программы очень высоко подняли планку уровня игры, которую не так-то просто преодолеть. В первую очередь, обратите внимание на то, что шахматные программы, пользуясь специальными правилами, в среднем рассматривают всего 1,5 вариантов на позицию, из 30-40 возможных. Можно ли превзойти такую высокую эффективность, используя policy? Не факт. Во вторых, value оценивает позицию в тысячи раз медленнее, чем линейная оценочная функция шахматных программ. Миллисекунды вместо долей микросекунд. И хотя value по-видимому будет оценивать качественнее, но зато и пропорционально медленнее. Так что, выигрыш у Стокфиша или Комодо, всё ещё большой вопрос. Хотя, конечно, очень интересно было бы понаблюдать за такими попытками.
Вышеупомянутые источники (в основном второй), это информация непосредственно от авторов АльфаГо. По второй ссылке — выступление Айя Хуанга на недавней конференции на Тайване. Снимки с его слайдов. Информация самая свежая, в то время как публикация в Nature реально написана в марте-апреле. В публикации Nature вы не найдёте информации о количестве блоков у Мастера и число TPU для формирования тренировочного набора позиций Зеро. В вашей цитате приведено число TPU для контрольных игр, а не для тренировки. Информация о количестве блоков в Зеро (20 или 40), тоже опущена. Так и получается, что 20-блочный Мастер сравнивается с 40-блочным Зеро, тогда как Мастера надо сравнивать с графиком на рисунке 3а публикации, а не на рисунке 6.

Выше уже указали как можно оценить число TPU для тренировки. Сам я тоже недавно писал, что статья в Nature содержит немало «замыленных» мест:
kasparovchess.crestbook.com
В этом свете интересно отметить, что у Master и Zero идентичный алгоритм тренировки, идентичная архитектура, а все отличия заключаются в фичах, подаваемых на вход, и том, что Zero не тренируется на играх людей. И выигрывает.

Присутствует ещё одно отличие. Точнее важный нюанс. У Мастера по-видимому было 20 блоков, а значит и сравнивать его нужно с 20-блочным Зеро. Источники:
bestchinanews.com
sports.sina.com.cn

Но тогда выходит, что Мастер сильнее Зеро при равной глубине сети. Отсюда, rollout'ы со встроенными фичами всё же видимо приносят пользу. В принципе их использование выглядит вполне логично — «интуиция» нейросети, это конечно хорошо, но конкретный перебор rollout'ов должен бы удачно её дополнять.

Ещё один важный момент. При тренировке, а если конкретно — самоигре, использовалось 2000 TPU (источник см. выше). То есть ресурс для тренировки требуется всё же очень и очень приличный. Но, конечно, если высококачественные партии уже есть (например человеческие), то для оптимизации параметров много ресурсов не надо.
Самое интересное, что когда Гугл опубликовал свою прошлую статью об АльфаГо, и другие ведущие программы тоже перешли на использование policy (но пока без value), то структура Го-программ стала несколько парадоксальной. За оценку позиции в них отвечал перебор (rollout'ы), в то время как ходы рекомендовала оценка (policy). Хотя, казалось бы, логичнее наоборот. Например, как в шахматных программах — отбор перспективных вариантов реализуется средствами поиска, то есть направленного перебора, а оценкой позиции занимается оценочная функция.
Вспомнил, что уже читал что-то подобное. Снял книгу с полки. Да!
Новиков. «Эволюция вселенной». 1990 г. Издательство «Наука». Издание третье, переработанное и дополненное. Страницы 56-65. Параграф 11. «Гравитирует ли вакуум?»
Ну, если сравнить авторов статей, то видно что это совсем другие люди. Совпадает только пара фамилий. Насчет вычислительных мощностей, не знаю, как они их перераспределяют, но проект АльфаГо закрыт ещё в мае. Допускаю, конечно, что может они и не особо торопятся или проект Старкрафт у них далеко не на первом плане. Возможно и какие-то трудности. Разбаловали нас гугловцы.
Го — лишь малая часть того, чем занимается Дипмайнд. Посмотрите на список публикаций:
deepmind.com/research/publications

Есть там статья и о начале разработки Старкрафт. Вот прямая ссылка на статью от 16 августа:
arxiv.org/pdf/1708.04782.pdf
Боты ещё и тем хороши, что они обычно не тратят времени на ход. Не нужно ждать, в то время как сам ты всегда можешь поразмыслить над интересной позицией.
Кстати, рейтинги наигрывались 5 секунд на ход, а матчи 2 часа на партию. Рейтинг у Зеро — 5185, у Мастера — 4858.
1. C AlphaGo Lee и Master она только играла. Тренировалась же она сама с собой. Процесс тренировки нейросети и её использование это разные вещи. Так что откатывать ничего было не нужно.
2. Если вы про AlphaGo Lee и Master, то они конечно были фиксированы, чтобы можно было измерить прогресс. Если про прошлые версии самой Зеро, то в процессе тренировок старая версия следовала за новой, так же, как у человека одна нога следует за другой, когда он поднимается по ступенькам.
Они там тренировали и менее глубокую сеть. Эта сеть тренировалась быстрее, но вышла на плато раньше и была несколько слабее. Поэтому, самый напрашивающийся способ — просто сделать сеть поглубже и тренировать подольше, или на больших мощностях.
1

Information

Rating
Does not participate
Registered
Activity