Что такое оператор Беллмана в обучении подкреплению?


10

В математике оператор слова может относиться к нескольким различным, но связанным понятиям. Оператор может быть определен как функция между двумя векторными пространствами, он может быть определен как функция, в которой домен и кодомен одинаковы, или его можно определить как функцию от функций (которые являются векторами) к другим функциям (для Например, дифференциальный оператор ), то есть функция высокого порядка (если вы знакомы с функциональным программированием).

Что такое оператор Беллмана в обучении с подкреплением (RL)? Зачем нам это вообще нужно? Как оператор Беллмана связан с уравнениями Беллмана в RL?


Несколько статей, связанных с этой темой, - это основанные на особенностях методы для крупномасштабного динамического программирования (Джон Н. Цициклис и Бенджамин Ван Рой, 1996), Анализ разностного обучения с приближением функции (Джон Н. Цициклис и Бенджамин Ван Рой, 1997) и итерация политики наименьших квадратов (Майкл Дж. Лагудакис и Рональд Парр, 2003).
nbro

Я нашел еще несколько связанных с этим работ: Обобщенные марковские процессы принятия решений: алгоритмы динамического программирования и обучения с подкреплением (Csaba Szepesvári и Michael L. Littman, 1997) иϵ-МДП: обучение в разных условиях (Иштван Сзита, Балинт Такач, Андрас Лоринч, 2002).
nbro

Ответы:


11

Обозначения, которые я буду использовать, взяты из двух разных лекций Дэвида Сильвера и также сопровождаются этими слайдами .

Ожидаемое уравнение Беллмана

(1)vπ(s)=aAπ(a|s)(Rsa+γsSPssavπ(s))

Если мы позволим

(2)Pssπ=aAπ(a|s)Pssa
а также
(3)Rsπ=aAπ(a|s)Rsa
тогда мы можем переписать (1) в виде

(4)vπ(s)=Rsπ+γsSPssπvπ(s)

Это можно записать в матричной форме

(5)[vπ(1)vπ(n)]=[R1πRnπ]+γ[P11πP1nπPn1πPnnπ][vπ(1)vπ(n)]

Or, more compactly,

(6)vπ=Rπ+γPπvπ

Notice that both sides of (6) are n-dimensional vectors. Here n=|S| is the size of the state space. We can then define an operator Tπ:RnRn as

(7)Tπ(v)=Rπ+γPπv

for any vRn. This is the expected Bellman operator.

Similarly, you can rewrite the Bellman optimality equation

(8)v(s)=maxaA(Rsa+γsSPssav(s))

as the Bellman optimality operator

(9)T(v)=maxaA(Ra+γPav)

The Bellman operators are "operators" in that they are mappings from one point to another within the vector space of state values, Rn.

Rewriting the Bellman equations as operators is useful for proving that certain dynamic programming algorithms (e.g. policy iteration, value iteration) converge to a unique fixed point. This usefulness comes in the form of a body of existing work in operator theory, which allows us to make use of special properties of the Bellman operators.

Specifically, the fact that the Bellman operators are contractions gives the useful results that, for any policy π and any initial vector v,

(10)limk(Tπ)kv=vπ

(11)limk(T)kv=v

where vπ is the value of policy π and v is the value of an optimal policy π. The proof is due to the contraction mapping theorem.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.