Изменить стиль страницы

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

Таким образом, Рескорла и Вагнер сделали так, что обновление ассоциативной силы между одной подсказкой и вознаграждением зависело не только от текущей ассоциативной силы этой подсказки, но и от суммы ассоциативных сил всех присутствующих подсказок. Если одна из этих ассоциаций имеет высокую силу (например, если присутствует зуммер), то присутствие награды не изменит ни одну из них (ассоциация со светом не будет усвоена). Такое суммирование по нескольким сигналам также должно происходить внутри животного, что еще больше отражает отказ от бихевиоризма и переход к разуму.

Но переломный момент в обучении с подкреплением наступил в середине 1980-х годов благодаря работе канадского компьютерщика с хвостиком по имени Ричарди его советника по докторской диссертации Эндрю Барто. Саттон получил образование в области психологии и информатики, а Барто проводил много времени за чтением литературы по психологии. Это оказалось мощной комбинацией, так как их совместная работа использовала достижения обеих областей и приносила пользу.

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

Рескорла и Вагнер никак не могли допустить такого подкрепления ассоциаций - по сути, не было способа, чтобы подсказка, связанная с вознаграждением в одних обстоятельствах, играла роль вознаграждения в других. Но Саттону это удалось. В алгоритме Саттона, известном как "обучение временной разницей", убеждения обновляются в ответ на любое нарушение ожиданий. Например, когда вы идете по офисному коридору к своему столу, ожидания относительно вознаграждения могут быть довольно низкими. Но когда вы слышите, как ваши коллеги в конференц-зале начинают первый куплет песни "С днем рождения", это означает, что произошло нарушение. Убеждения должны быть обновлены; теперь вы находитесь в состоянии, когда вознаграждение уже на горизонте. Именно здесь происходит обучение временным различиям. Вы можете выбрать войти в конференц-зал, допеть песню, понюхать свечи и съесть торт. При выполнении этих действий не произойдет никаких дальнейших нарушений, а значит, не произойдет и дальнейшего обучения. Таким образом, не само получение вознаграждения вызывает какие-либо изменения. Единственное обучение произошло в коридоре, за много шагов до награды.

Чему именно здесь учат? Какая ментальная концепция была обновлена в коридоре? Это не ассоциация подсказки с вознаграждением - по крайней мере, не напрямую. Скорее, это сигнал, указывающий вам путь к вознаграждению, если вы сделаете правильные шаги в этом направлении.

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

Подумайте о поездке в парк аттракционов. Здесь ценность вашего местоположения измеряется тем, как далеко вы находитесь от этого полезного места. Выходя из дома, вы рассчитываете добраться туда за 40 минут. Вы едете прямо пять минут и выезжаете на шоссе. Теперь вы рассчитываете добраться до места через 35 минут. Через 15 минут езды по шоссе вы сворачиваете с него. Теперь ваше расчетное время прибытия составляет 20 минут. Но, выехав на съезд и свернув на боковую улицу, вы попадаете в пробку. Сидя в своем еле двигающемся автомобиле, вы понимаете, что будете в парке только через 30 минут. Теперь ваше ожидаемое время прибытия увеличилось на 10 минут - значительная ошибка.

Что следует извлечь из этой ошибки? Если бы у вас было точное представление о мире, то в момент съезда с дороги вы бы ожидали еще 30 минут езды. Таким образом, обучение по временной разнице говорит, что вы должны обновить значение состояния, связанного с этим выездом. То есть вы используете информацию, полученную в одном состоянии (пробка на обочине), чтобы обновить свои убеждения о ценности предыдущего состояния (выезд). И это может означать, что в следующий раз, когда вы поедете в этот парк развлечений, вы избежите этого выезда и выберете другой. Но для того, чтобы извлечь уроки из этой ошибки, не обязательно приезжать в парк развлечений на 10 минут позже; достаточно было ожидать, что это произойдет при виде пробки.

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

Являясь продолжением работы Беллмана по динамическому программированию, обучение на основе временных разностей имело потенциал для решения реальных проблем. Простое правило обучения "момент за моментом" делало его привлекательным с точки зрения вычислительной техники: оно не требовало такого объема памяти, как программы, которым нужно было хранить весь набор действий, предшествовавших получению вознаграждения, прежде чем учиться на его основе. Кроме того, оно работало. Одним из самых ярких проявлений его возможностей стала TD-Gammon - компьютерная программа, обученная с помощью обучения временным различиям играть в настольную игру нарды. Настольные игры являются особенно полезными тестами для обучения с подкреплением, поскольку вознаграждение часто приходит только в самом конце игры, в виде выигрыша или проигрыша. Использование такого грубого и отдаленного сигнала для управления стратегией на самом первом ходу - сложная задача, но временное разностное обучение может ее решить. Созданная в 1992 году Джеральдом Тесауро, ученым из IBM, система TD-Gammon сыграла сотни тысяч партий против самой себя и в итоге достигла уровня игрока среднего уровня, ни разу не получив инструкций от человека. Поскольку он учился в изоляции, он также разрабатывал стратегии, не опробованные людьми (которые, как правило, под влиянием игрового процесса друг друга придерживаются определенного набора ходов). В итоге необычные ходы TD-Gammon повлияли на теорию и понимание самой игры в нарды.

В 2013 году в прессе появилось еще одно применение метода обучения временным различиям, на этот раз в видеоиграх. Ученые из компании DeepMind, занимающейся исследованиями в области искусственного интеллекта, создали компьютерную программу, которая научила себя играть в несколько игр из аркадной системы Atari 1970-х годов. Этот искусственный геймер получил полный опыт игры в Atari. Единственными входными данными для алгоритма были пиксели на экране - ему не было дано никаких специальных знаний о том, что некоторые из этих пикселей могут представлять собой космические корабли, биты для пинг-понга или подводные лодки. Действия, которые он мог выполнять, включали в себя стандартные кнопки: вверх, вниз, влево, вправо, A, B; а наградой для модели служила оценка, которую давала игра, в которую она играла. Поскольку в этом случае перед алгоритмом ставилась более сложная задача, чем в нардах, где, по крайней мере, понятия фигур и расположения заложены в исходные данные модели, исследователи объединили обучение временной разности с глубокими нейронными сетями (метод, с которым мы уже сталкивались в главе 3). Одна из версий этой глубокой нейронной сети насчитывала около 20 000 искусственных нейронов и после нескольких недель обучения достигла производительности на уровне человека в 29 из 49 протестированных игр. Поскольку этот алгоритм Atari также обучался асоциально, в итоге у него появились некоторые интересные причуды, в том числе он обнаружил хитроумный трюк для прохода сквозь стену в игре Breakout, где нужно разрушать кирпичи.