Система DeepMind
учится играть в Breakout в ходе множества эпизодов. Каждый эпизод соответствует одному сеансу игры, а каждая итерация в рамках эпизода – одному действию системы. В частности, на каждой итерации система вводит свое состояние в DQN и выбирает действие на основании выходных значений DQN. Система не всегда выбирает действие с наибольшей расчетной ценностью: как я упоминала выше, обучение с подкреплением требует баланса исследования-использования[186]. Система выполняет выбранное действие (например, передвигает ракетку на некоторое расстояние влево) и, возможно, получает вознаграждение, если мяч попадает в один из кирпичей. Затем система совершает обучающий шаг, то есть обновляет веса в DQN по методу обратного распространения ошибки.Как происходит обновление весов? В этом заключается главное различие обучения с учителем и обучения с подкреплением. Как вы помните из предыдущих глав, метод обратного распространения ошибки подразумевает изменение весов нейронной сети с целью снижения погрешности
ее выходных сигналов. При обучении с учителем погрешность оценивается непосредственно. Помните описанную в главе 4 гипотетическую сверточную нейронную сеть, которая училась классифицировать фотографии, распознавая на них кошек и собак? Если на входной обучающей фотографии была собака, но выходная уверенность в категории “собака” составляла всего 20 %, то погрешность такого выходного сигнала равнялась 100 % – 20 % = 80 %. Иными словами, при идеальном раскладе выходная уверенность должна была быть на 80 % выше. Сеть могла рассчитать погрешность, потому что сверялась с меткой, присвоенной человеком.Но в обучении с подкреплением меток нет. Конкретному кадру игры не присвоена метка с действием, которое необходимо предпринять. Как же в таком случае оценить погрешность выходного сигнала?
Вот ответ. Как вы помните, если вы обучающийся агент, то ценность действия в текущем состоянии определяется на основании вашей оценки того, насколько велико вознаграждение, которое вы получите в конце эпизода, выбрав это действие (и продолжая выбирать высокоценные действия). Эта оценка должна становиться лучше по мере приближения к концу эпизода, когда вы сможете провести учет всех полученных вознаграждений! Главное понимать, что выходные сигналы сети на текущей
итерации точнее, чем на предыдущей итерации. В таком случае обучение заключается в том, чтобы корректировать веса сети (используя метод обратного распространения ошибки) с целью минимизации различия между выходными сигналами на текущей и предыдущей итерации. Один из разработчиков этого метода Ричард Саттон говорит, что здесь “догадка уточняется на основе догадки”[187]. Я внесу небольшую поправку: “догадка уточняется на основе лучшей догадки”.Иными словами, вместо того чтобы учиться приводить свои выходные сигналы в соответствие с присвоенными человеком метками, сеть учится делать их согласованными от одной итерации к другой, полагая, что более поздние итерации рассчитывают ценность лучше, чем более ранние. Такой подход к обучению называется методом временных различий.
Вкратце вот как глубокое Q-обучение работает для игры Breakout
(и всех остальных игр Atari). Система сообщает свое текущее состояние, которое становится входным сигналом глубокой Q-сети. Глубокая Q-сеть выдает значение ценности для каждого возможного действия. Система выбирает и выполняет действие, после чего оказывается в новом состоянии. Происходит обучение: система сообщает свое новое состояние сети, которая выдает новые значения ценности для каждого действия. Разница между новым набором ценностей и предыдущим набором ценностей считается “погрешностью” сети, и эта погрешность используется при коррекции весов в сети по методу обратного распространения ошибки. Эти шаги повторяются в ходе множества эпизодов (сеансов игры). На всякий случай уточню, что все элементы системы – глубокая Q-сеть, виртуальный “джойстик” и сама игра – представляют собой программы, работающие на компьютере.Таков, по сути, алгоритм, разработанный специалистами DeepMind
, хотя они прибегли к некоторым хитростям, чтобы усовершенствовать и ускорить его[188]. Сначала, пока система ничему не научилась, сеть выдает случайные выходные сигналы, и система совершает случайные игровые действия. Но постепенно, по мере того как сеть узнает веса, которые улучшают выходные сигналы, игровые навыки системы совершенствуются, часто весьма радикальным образом.Агент за 650 миллионов долларов