ОБОБЩЕНИЕ В ОБУЧЕНИИ С ПОДКРЕПЛЕНИЕМ

До сих пор в этой главе предполагалось, что функции полезности и Q-функции, определяемые агентами с помощью обучения, представлены в табличной форме с одним выходным значением для каждого входного кортежа. Такой подход полностью себя оправдывает в небольших пространствах состояний, но время достижения сходимости и (в случае ADP) затраты времени на каждую итерацию быстро возрастают по мере увеличения размеров пространства. При использовании тщательно управляемых, приближенных методов ADP иногда удается справиться с задачами по обработке 10 000 или большего количества состояний. Этого достаточно для двухмерных вариантов среды, подобных лабиринтам, но более реальные миры далеко выходят за эти пределы. Шахматы и нарды представляют собой крошечные подмножества реального мира, но даже их пространства состояний содержат примерно от 1050 до 10120 состояний. Даже само предположение о том, что нужно было бы посетить все эти состояния, для того чтобы узнать с помощью обучения, как играть в такую игру, является абсурдным!
Один из способов справиться с этими задачами состоит в использовании средств функциональной аппроксимации; такая рекомендация просто означает, что для функции следует применять представления любого рода, отличные от таблиц. Такое представление рассматривается как аппроксимированное, поскольку может оказаться, что истинная функция полезности или Q-функция не может быть точно представлена в выбранной форме. Например, в главе 6 была описана функция оценки для шахмат, представленная в виде взвешенной линейной функции от множества характеристик (или базисных функций) flf..., fn:
uQ(s)=Q1f1(s) + e2f2(s) + ... + enfn(s)
Алгоритм обучения с подкреплением позволяет определить с помощью обучения
такие значения параметров 0=01,..., 0П, что функция оценки UQ аппроксимирует истинную функцию полезности. Вместо использования, скажем, 10120 значений в таблице, такой аппроксиматор функции характеризуется, допустим, п=20 параметрами, а это просто колоссальное сжатие. В частности, хотя никто не знает истинную функцию полезности для шахмат, никто и не считает, что ее можно точно представить с помощью 20 чисел. Но если эта аппроксимация является достаточно качественной, агент все равно приобретает возможность достичь поразительных успехов в шахматах4.
Функциональная аппроксимация может дать возможность представить функции полезности для очень больших пространств состояний, но ее основное преимущество состоит не в этом. Сжатие, достигнутое с помощью аппроксиматора функции, позволяет обучающемуся агенту делать обобщения, распространяющиеся с тех состояний, которые он уже посетил, на состояния, которые он еще не посетил. Это означает, что наиболее важным аспектом функциональной аппроксимации является не то, что она требует меньше пространства, а то, что она обеспечивает индуктивное обобщение по входным состояниям. Чтобы дать читателю представление о возможностях этого подхода, укажем, что путем исследования только одного состояния из каждой группы по 1044 возможных состояний в игре в нарды можно определить с помощью обучения функцию полезности, позволяющую программе играть не хуже любого игрока-человека [1499].
Оборотной стороной этого подхода, безусловно, является то, что с ним связана такая проблема: невозможность найти в выбранном пространстве гипотез какую-либо функцию, аппроксимирующую истинную функцию полезности достаточно хорошо. Как и во всем научном направлении индуктивного обучения, необходимо найти компромисс между размером пространства гипотез и потребностью во времени для определения с помощью обучения требуемой функции. С увеличением пространства гипотез растет вероятность того, что может быть найдена хорошая аппроксимация, но это означает, что сходимость также, скорее всего, будет достигаться более медленно.
Начнем с простейшего случая, в котором предусматривается непосредственная оценка полезности (см. раздел 21.2). При использовании функциональной аппроксимации определение такой оценки представляет собой пример контролируемого обучения. Например, предположим, что полезности для мира 4x3 представлены с использованием простой линейной функции. Характеристиками квадратов являются их координаты х и у, поэтому получим следующее соотношение:
Таким образом, если (60, 0 Э2) = (0 . 5 , 0 . 2 , 0 .1), то L7e (1,1) =0 . 8. По результатам некоторой совокупности попыток будет получено множество выборочных значений uQ (х, у), после чего можно найти соответствие, наилучшее с точки зрения минимизации квадратичных ошибок, с помощью стандартной линейной регрессии (см. главу 20).
Применительно к обучению с подкреплением больше смысла имеет использование алгоритма оперативного обучения, который обновляет параметры после каждой попытки. Предположим, что осуществляется некоторая попытка, и суммарное вознаграждение, полученное начиная с квадрата (1,1), составляет 0.4. Такой результат наводит на мысль, что значение и& (1,1), составляющее в настоящее время 0.8, слишком велико и должно быть уменьшено. Как следует откорректировать параметры, чтобы добиться такого уменьшения? Как и в случае с обучением нейронной сети, запишем функцию ошибки и вычислим ее градиент по отношению к параметрам. Если щ (s) — наблюдаемое суммарное вознаграждение, полученное от состояния s и дальше, вплоть до j-й попытки, то ошибка определяется как (половина) квадратов разностей прогнозируемой общей суммы и фактической общей суммы: Ej (s) = (L70 (s) -Uj (s) )2/2. Скорость изменения ошибки по отношению к каждому параметру 0i равна dE/dQL, поэтому, чтобы изменить значение параметра в направлении уменьшения ошибки, необходимо вычислить следующее выражение:
dE-i{s) - dUQ{s)
Gi <- Gi - a = Gi + a(Uj(s)-ue(s)) dQ (21.10)
Это выражение называется правилом Видроу—Хоффа, или дельта-правилом
для оперативного вычисления по методу наименьших квадратов. Применительно к линейному аппроксиматору функции UQ{s) в уравнении 21.9 получаем три простых правила обновления: е0 <- е0 + а(щ(Б) - ue(s))
0i <- 9i + a(Uj(s) - uQ(s) )X Э2 <- 92 + а(щ (s) - uQ(s) )y
Эти правила можно применить к примеру, в котором L/e(l,l) равно 0.8, а и:- (1,1) равно 0 . 4. Все значения Э0, Э2 и Э2 уменьшаются на коэффициент 0 . 4а, который уменьшает ошибку, относящуюся к квадрату (1,1). Обратите внимание на то, что изменение значений 0i приводит также к изменению значений L7e для всех прочих состояний! Именно это подразумевалось в приведенном выше утверждении, что функциональная аппроксимация позволяет агенту, проводящему обучение с подкреплением, обобщать свой опыт.
Мы рассчитываем на то, что агент будет проводить обучение быстрее, если он использует какой-то аппроксиматор функции, при условии, что пространство гипотез не слишком велико, но включает некоторые функции, характеризующиеся достаточно приемлемым соответствием истинной функции полезности. В упр. 21.7 предлагается оценить производительность метода непосредственной оценки полезности, как с функциональной аппроксимацией, так и без нее. В мире 4x3 действительно достигается заметное, однако не столь существенное увеличение производительности, прежде всего потому, что это пространство состояний очень мало. Достигнутое увеличение производительности становится намного более значительным в мире 10x10 с вознаграждением +1 в квадрате (10,10). Этот мир хорошо приспособлен для линейной функции полезности, поскольку истинная функция полезности является гладкой и почти линейной (см. упр. 21.10). А если вознаграждение +1 будет помещено в квадрат (5,5), то истинная функция полезности будет больше напоминать по своей форме пирамиду, и попытка применения аппроксиматора функции, приведенного в уравнении 21.9, окончится крахом. Но не все потеряно! Напомним, что для линейной функциональной аппроксимации важно, чтобы функция линейно зависела от параметров. А сами характеристики могут представлять собой произвольные нелинейные функции от переменных состояния. Поэтому можно включить такой терм, как 03= (х-хд) 2+ (у-уд)2, измеряющий расстояние до цели.
Эти идеи можно применить столь же успешно к агентам, осуществляющим обучение по методу временной разности. Для этого достаточно откорректировать параметры, чтобы попытаться уменьшить временную разность между последовательными состояниями. Новые версии уравнений для метода TD и метода Q-обучения (21.3 и 21.8) приведены ниже. Уравнение для полезностей является следующим:
9i <- 9i + a[R(s) + yuQ{s') - uQ(s)] dUS) (21.11)
А для Q-значений используется следующее уравнение:
Можно показать, что эти правила обновления сходятся к ближайшей возможной5 аппроксимации истинной функции, если аппроксиматор функции линейно зависит функции, задаваемые с помощью нейронных сетей) больше ничего нельзя гарантировать. Параметры могут увеличиваться до бесконечности и в некоторых очень простых случаях, даже несмотря на то, что в пространстве гипотез существуют приемлемые решения. Разработаны более сложные алгоритмы, позволяющие избежать этих проблем, но в настоящее время вся область обучения с подкреплением на основе общих аппроксиматоров функций продолжает оставаться тонким искусством.
Функциональная аппроксимация может также оказаться очень полезной при определении с помощью обучения модели среды. Напомним, что задача определения с помощью обучения модели для наблюдаемой среды представляет собой задачу контролируемого обучения, поскольку каждый следующий результат восприятия предоставляет информацию о результирующем состоянии. При этом может использоваться любой из методов контролируемого обучения, описанный в главе 18, с соответствующими поправками с учетом того факта, что необходимо определить с помощью прогноза полное описание состояния, а не просто булеву классификацию или единственное реальное значение. Например, если состояние определяется с помощью п булевых переменных, то необходимо найти с помощью обучения п булевых функций для прогнозирования всех переменных. А в случае частично наблюдаемой среды задача обучения становится гораздо более сложной. Если известно, каковы скрытые переменные и какими причинными отношениями они связаны друг с другом и с наблюдаемыми переменными, то можно зафиксировать структуру динамической байесовской сети и воспользоваться алгоритмом ЕМ для определения с помощью обучения ее параметров, как было описано в главе 20. А задачи выявления скрытых переменных и определения структуры модели с помощью обучения все еще остаются открытыми.
Теперь обратимся к примерам крупномасштабных приложений обучения с подкреплением. На основании этих примеров будет показано, что в случае использования функции полезности (следовательно, некоторой модели) модель обычно считается заданной. Например, при определении с помощью обучения функции оценки для нард обычно предполагается, что допустимые ходы и их результаты известны заранее.







Материалы

Яндекс.Метрика