Эпоха 4 · Архитектуры и масштаб · 2016

29 AlphaGo

Mastering the Game of Go with Deep Neural Networks and Tree Search · Silver, Huang и др. · DeepMind · Nature
🟧 оригинал выборочно~1.5 чоригинал ↗
Суть за 20 секунд. Первая программа, обыгравшая профи в го на полной доске: policy-сеть (какие ходы вероятны) + value-сеть (оценка позиции) направляют Monte Carlo Tree Search. Сети превращают неподъёмный перебор в управляемый. Веха AI и сила связки «обучение + поиск».

Контекст

Го — «grand challenge» ИИ: ~10170 позиций, перебор невозможен, а позицию трудно оценить эвристикой (в отличие от шахмат). DeepMind берёт его связкой глубоких сетей и поиска.

Идея и механизм

Три компонента. policy-сеть предлагает вероятные ходы (обучена сначала на партиях людей, затем улучшена self-play через RL). value-сеть оценивает позицию (вероятность выигрыша) без полного доигрывания. Monte Carlo Tree Search — направленный перебор, где policy сужает ШИРИНУ (какие ходы смотреть), а value — ГЛУБИНУ (обрезает доигрывание). Сети превращают неподъёмный перебор в управляемый.

поиск + RL Как сети направляют дерево поиска (PUCT)

MCTS строит дерево; у каждого ребра (s,a) хранятся: число посещений N, средняя ценность Q и приор P от policy-сети. Спуск по дереву выбирает ход, максимизирующий «эксплуатацию + исследование»:

a* = argmaxa [ Q(s,a) + c · P(s,a) · √Σb N(s,b)1 + N(s,a) ]

Первое слагаемое — тянуться к ходам с высокой ценностью; второе — поощрять редко посещённые ходы, которым policy-сеть дала высокий приор P. В листе вместо случайного доигрывания до конца позицию оценивает value-сеть, и оценка распространяется вверх, обновляя Q, N. Так policy урезает ширину, value — глубину, и из 10170 остаётся обозримое дерево.

Python Шаг выбора в MCTS (PUCT)
import math

def select(node, c=1.5):
    total = sum(ch.N for ch in node.children)
    def score(ch):
        Q = ch.W / ch.N if ch.N else 0.0
        U = c * ch.P * math.sqrt(total) / (1 + ch.N)  # приор policy + исследование
        return Q + U
    return max(node.children, key=score)              # спуск по дереву
s P высок → шире value-сеть оценивает лист policy → ширинаvalue → глубина
Policy-сеть подсказывает, какие ветви раскрывать (ширина), value-сеть оценивает листья без доигрывания (глубина). Поиск становится обозримым.
Аналогия. Опытный шахматист не считает все варианты — интуиция сразу отсекает бессмысленные ходы (это policy-сеть) и «на глаз» оценивает позицию, не доигрывая партию до мата (это value-сеть). MCTS — это дисциплина, которая систематически углубляет именно те линии, что подсказала интуиция, и проверяет их оценкой. AlphaGo — интуиция + расчёт, как у мастера, только обучаемые.

Почему это важно

Веха AI: обыграл профи Фань Хуэя 5:0 (тайно, 2015), затем Ли Седоля 4:1 (2016, 200M+ зрителей); «Ход 37» — творческий ход вне человеческих шаблонов. Преемник AlphaGo Zero (2017) учился вообще без партий людей, чистым self-play. Показала силу связки «обучение + поиск», которая возвращается в reasoning-моделях (поиск/RL по верифицируемым наградам).

Связи

← опирается на18. DQN (Atari)

DQN доказал, что deep RL работает на восприятии и контроле. AlphaGo берёт ту же связку «глубокие сети + RL» и добавляет явный поиск (MCTS) — следующая ступень программы DeepMind после Atari.

→ перекликается с53. DeepSeek V3 / R1

Идея «обучение + поиск/проверка» возвращается в reasoning-LLM: R1 учит модель рассуждать через RL на верифицируемых наградах. Дух тот же — улучшать политику через взаимодействие и проверку, — хотя «поиск» теперь развернулся в цепочку рассуждений, а не в дерево ходов.

↔ контраст33. PPO

AlphaGo сочетает RL с явным поиском по дереву; PPO — «чистый» policy-gradient без поиска, оптимизирующий политику напрямую. Две школы RL: с моделью/поиском и без; обе важны, и LLM-выравнивание пошло по второй (PPO в RLHF).

Вопросы пытливого ума

Почему в го перебор не работает, а в шахматах (Deep Blue) — работал?

В шахматах фактор ветвления ~35 и есть хорошая ручная оценка позиции (материал, структура) — это позволяло Deep Blue перебирать глубоко с alpha-beta. В го ветвление ~250, глубина ~150 (отсюда 10170), и позицию людям-экспертам трудно формализовать. Поэтому го требовало обучаемой оценки (value-сеть) и обучаемого отбора ходов (policy) — то, чего у Deep Blue не было.

«Ход 37» — это настоящая креативность или просто хороший поиск?

Зависит от определения, но эффект реален: ход, которому сама система присвоила ~1/10000 вероятности для человека, оказался сильным. Он возник из value/policy, обученных self-play за пределами человеческих партий — то есть AlphaGo исследовала области, которые люди отсекали как «неправильные». Это убедительный пример сверхчеловеческой новизны, рождённой из обучения + поиска, а не из имитации.

AlphaGo Zero выбросил человеческие партии — почему это считают важнее оригинала?

Потому что чистый self-play с нуля превзошёл версию, обученную на людях — значит человеческие данные были костылём, а не необходимостью. Это дало общий шаблон «self-play RL + поиск», который затем обобщили на шахматы и сёги (AlphaZero) и на обучение модели среды (MuZero). Меньше человеческих знаний, больше общности — фирменная траектория DeepMind.

Что читать в оригинале

Читать ключевое — связку policy/value + MCTS и роль self-play. Детали MCTS-математики можно взять на уровне идеи (мат-блок); важнее понять, как обучение и поиск усиливают друг друга.