ценность без карты
У всякого разумного действия есть скрытая опора — ценность. Прежде чем выбрать ход, ты, не всегда сознавая, прикидываешь: куда он ведёт, что там дальше, чем это в итоге обернётся. Ричард Беллман в 1957-м придал этой прикидке точную форму[1] — в объекте про ценность состояния. Ценность состояния — это не то, что оно даёт сейчас, а лучшее, что из него достижимо потом: сегодняшняя награда плюс — с поправкой на будущее — ценность того, куда ты попадёшь. Уравнение красиво и точно. Но у него есть цена входа, о которой обычно молчат.
Чтобы им пользоваться, нужно знать мир. Знать заранее, куда какое действие тебя приведёт и с какой вероятностью, какая награда где лежит. Нужна карта — полная модель среды. А теперь честный вопрос: у кого она есть? Ни у ребёнка, ни у зверя, ни у алгоритма, впервые открывшего глаза в незнакомой игре, карты нет. Есть только возможность действовать и смотреть, что вышло. Вопрос, на который отвечает q-learning, ровно такой: можно ли научиться действовать оптимально, не имея карты вообще?
от ценности состояния к ценности хода
Первый шаг — сдвинуть точку зрения. Ценность состояния V(s) отвечает на вопрос «насколько хорошо здесь оказаться». Но чтобы по ней выбрать ход, всё равно нужна карта: надо знать, какое действие в какое состояние ведёт. Оценка есть, а что с ней делать — неясно без модели.
Уоткинс в 1989-м предложил хранить ценность иначе — не состояния, а пары «состояние плюс действие»[2]. Величину назвали Q(s,a): сколько ты в итоге получишь, если из состояния s сделаешь именно ход a, а дальше будешь играть наилучшим образом. Сдвиг кажется мелким, но он снимает зависимость от карты. Если ты знаешь Q для всех ходов из текущего состояния, выбор очевиден без всякой модели: бери ход с наибольшим Q. Действие выпадает прямо из ценности, не спрашивая, как устроен мир. Осталась одна задача — где взять сами Q, если мир неизвестен.
подтянуть оценку к самой себе
Здесь и прячется красивая идея, слегка идущая поперёк чутья, — ради неё стоит вся статья.
Ты не знаешь настоящих Q — так начни с любых, хоть с нулей. Они неверны, это неважно. Важно, что каждый прожитый шаг даёт возможность их чуть поправить. Сделал из s ход a, получил награду r, оказался в новом состоянии s′. И вот у тебя на руках более честная оценка того же самого Q(s,a): это r плюс — с дисконтом — лучшее из того, что теперь достижимо из s′. Разницу между старой оценкой и этой, новой, зовут временно́й разностью, TD-ошибкой[3]. На неё ты и сдвигаешь Q(s,a) — не целиком, маленьким шагом.
Вглядись, что здесь происходит. Ты улучшаешь оценку, подтягивая её к другой оценке — к своей же догадке о соседнем состоянии. Ты учишь ценность из ценности, поднимаешь себя за собственные шнурки. Звучит как жульничество: как из неверных чисел, подтянутых к неверным числам, может выйти истина? Но именно это Уоткинс и Дайан в 1992-м доказали строго[4]: если каждую пару «состояние — действие» пробовать снова и снова, без конца, оценки сходятся к настоящим. Мираж, подпёртый миражом, оседает в твёрдую землю.
оптимальность без модели
Отступи на шаг и посмотри, что получилось. Агент, у которого не было ни карты мира, ни учителя, ни формулы среды, — просто бродил, действовал, получал награды и всякий раз подправлял свои Q на TD-ошибку. И этого хватило, чтобы прийти к оптимальному поведению. Не приблизительно — доказано, с вероятностью единица.
В этом и разрыв с Беллманом, и уплата его цены входа. Беллман считал ценность, зная мир. Q-learning выучивает её, не зная мира, — из одного лишь опыта. Модель среды больше не нужна: её роль берёт на себя бесконечное повторение проб. Поэтому метод и называют свободным от модели: карту заменяет протоптанная тропа. Ты не выводишь, как устроен лабиринт, — ты просто ходишь по нему достаточно долго, и стены сами проступают в твоих оценках. Среда при этом — марковский процесс: будущее зависит только от настоящего, а не от всей истории.
тень будущего, ставшая числом
В формуле сидит один скромный на вид коэффициент — γ, дисконт. Он решает, сколько будущая награда весит по сравнению с сегодняшней. И это не техническая деталь, а старый знакомый, принявший численную форму.
При γ близком к нулю агент близорук: хватает то, что даёт награду сейчас, и слеп к последствиям. При γ близком к единице он ценит далёкое почти как близкое — терпелив, готов пожертвовать сиюминутным ради того, что будет много ходов спустя. Это буквально тень будущего из теории игр и решений на дистанции, переведённая в один множитель. Кооперация держится, когда завтра весит достаточно; агент ведёт себя дальновидно ровно тогда, когда γ достаточно велик. Одно и то же условие — «цени будущее» — здесь не метафора, а параметр, который можно повернуть.
чтобы узнать, надо рискнуть
Есть последняя тонкость, без которой всё рушится. Если всегда брать ход с наибольшим известным Q, ты застрянешь в первом же неплохом маршруте и никогда не узнаешь, нет ли за соседней дверью чего-то лучше. Оценки станут самосбывающимися: хвалишь то, что пробовал, не пробуешь то, что мог бы полюбить.
Поэтому агент обязан иногда действовать не лучшим известным образом, а наугад — просто чтобы попробовать неизведанное. Это называют дилеммой разведки и эксплуатации, и это та же опциональность: держать открытой возможность, что где-то есть путь получше, стоит некоторой платы сейчас. Чистая жадность к известному — проигрышная стратегия познания. Чтобы выучить ценность мира, надо согласиться время от времени тратить ходы на то, что ценным пока не выглядит.
кода
На этом стоит почти всё современное обучение с подкреплением — то, чем машина осваивает игру, не получив ни правил, ни примеров: даёшь ей действия, награду и время, и она сама выучивает, что чего стоит. Программы, обыгравшие человека в го и покер, — прямые потомки этой строчки с TD-ошибкой. Подробнее о том, как игры тренируют машины, — в одноимённом эссе.
Но за прикладным блеском — идея чистая и почти философская. Ценность, подтянутая к самой себе, сходится к правде. Действовать оптимально можно, не понимая мир, — достаточно долго в нём жить и честно поправлять свои оценки. И то, чему машина учится этим способом, — не что-то чуждое: это ровно то, чем живёт весь этот раздел. Ценить будущее. Держать опции открытыми. Решать на дистанции, а не на одном ходу. Просто теперь это делает алгоритм — без карты, без учителя, за одни лишь шнурки собственных догадок.
эссе: цепи Маркова · Марков и «Евгений Онегин» · игры тренируют машины · решения на дистанции · опциональность
объекты: ценность состояния · V(s)