はじめに#
このエントリは機械学習の数理 Advent Calendar 2018の12日目の記事の転載です。
今回はよく知られている強化学習のアルゴリズム: Q-learningについて説明したいと考えています。追記程度でSoft Q-learningの基礎となっているSoft Bellman方程式が縮小写像になっていることを示します。
有限マルコフ決定過程#
以下の条件を満たす5つの組P=(S,A,R,p,π) を有限マルコフ決定過程と呼び,そのpを特に遷移確率関数もしくは単に遷移確率と呼ぶ.そしてπを方針分布または方針と呼ぶ.
- p(s0,a0,r0,⋯,sT,aT,rT)=p(s0)∏t=0Tπ(at∣st)p(st+1,rt∣st,at)
- 状態s,s′∈S, 行動a∈A, 報酬r∈R.
- 報酬関数r(s,a)=∑rrp(r∣s,a)
リターン(割引付き報酬の総和)をGt=∑t=0∞γtrtとする.このときrt=r(st,at),γ∈[0,1]とする.続いて価値関数の定義をしていく.
価値関数#
期待リターンとして状態価値関数を
Vπ(s)=Eπ,p[t=0∑Tγtrts0=s], と定義し,Q関数(行動価値関数)を
Qπ(s,a)=Eπ,p[r0+t=1∑Tγtrts0=s,a0=a],と定義する.最適状態価値関数と最適行動価値関数をそれぞれ
V∗(s)=πmaxVπ(s) Qπ∗(s,a)=r(s,a)+γEs′∼p[V∗(s)]とする.
Bellman方程式は縮小作用素#
最適行動価値関数Qπ∗(s,a)は関数q:S×A→Rについて
Tπ[q](s,a)=E_(r,s′)∼p[r+γE_a′∼π[q(s′,a′)]],として定義される縮小作用素Tπの不動点である.次のことからTπは連続であることがわかる.
∥Tπ[q1]−Tπ[q2]∥ =s,amax∣Tπ[q1]−Tπ[q2]∣=s,amax[E(r,s′)∼p[r+γEa′∼π[q1(s′,a′)]]]−[E(r,s′)∼p[r+γEa′∼π[q2(s′,a′)]]]=s,amax∣γEs′∼p,a′∼π[q1(s′,a′)−q2(s′,a′)]∣=≤s,amaxγEs′∼p,a′∼π[∣q1(s′,a′)−q2(s′,a′)∣]≤s′,a′maxγ∣q1(s′,a′)−q2(s′,a′)∣=γ∥q1−q2∥∞すなわち,
∥Tπ[q1]−Tπ[q2]∥∞≤γ∥q1−q2∥∞である.続いてQ-learningについての収束性について議論するにあたって先程のbellman方程式のπの期待値から新たな方針G[q](s)=argmaxaq(s,a)に置き換える.この新たな方針は貪欲方針(greedy policy)と呼ばれるものである.
Tπ[q](s,a)=E(r,s′)∼p[r+γa′maxq(s′,a′)],少し議論がずれるが,なぜQ-learningがoff-policyであるのかという質問に対してサンプルを集める方針πとそれを活用するgreedy policy G[q] が異なるからであると答えるのが適切かと思う.私自身,よくわからず悩んでいた点だったので補足させていただいた.
続いてBellman方程式の縮小写像としての性質を用いたQ-learningの定理について説明する.
Q-learning#
有限マルコフ決定過程が与えられたとき,Q-learningは次の更新則
Qt+1(st,at)=Qt(st,at)+αt(st,at)[rt+γa′maxQt(st+1,a′)−Qt(st,at)],(2) Qt+1(st,at)=Qt(st,at)+αt(st,at)[rt+γa′maxQt(st+1,a′)−Qt(st,at)],(2)とし,そして
t∑αt(st,at)=∞,t∑αt2(st,at)<∞ (3) t∑αt(st,at)=∞,t∑αt2(st,at)<∞ (3)である限り確率1で最適行動価値関数Qπ∗に収束する.0≤αt(s,a)<1であるためQ-learningは全ての状態-行動の組に無限に訪れる必要があることを留意していただきたい.
次の3つの仮定のもと確率過程Δt:Δt+1(x)=(1−αt(x))Δt(x)+αt(x)ot(x)は確率1でゼロに収束する.
- 0≤αt≤1,∑tαt(x)=∞,∑tαt2(x)<∞
- ∥E[ot(x)]∥∞≤γ∥Δt(x)∥_∞,γ∈[0,1]
- var[ot(x)]≤C(1+∥Δt∥_∞2),C>0
この補題を証明したかったのだが,参考した論文を理解できなかったのでこの補題の結果のみ使わせていただく(不甲斐ない)
[追記] 筆者の勉強不足で確かなことは言えないんですが、「リプシッツ条件」「線形増大度条件」がキーワードになっていると思います。勉強でき次第、また追記したいと思います
Q-learningの更新則(2)から
Qt+1(st,at)=(1−αt(st,at))Qt(st,at)+αt(st,at)[rt+γa′maxQt(st+1,a′)],と書き換え,両辺からQ∗(st,at)を減算する.
Δt+1(st,at)=(1−αt(st,at))Δt(st,at)+αt(st,at)[rt+γa′maxQt(st+1,a′)−Q∗(st,at)].このときΔt(st,at)=defQt(st,at)−Q∗(st,at).次に
ot(s,a)=r(s,a)+γa′maxQt(s,a′)−Q∗(s,a), とおいたとき関数ot(s,a)の期待値は
E[ot(s,a)] =E(r,s′)∼p[r+γmaxa′Qt(s,a′)−Q∗(s,a)]=Tπ[Qt](s,a)−Q∗(s,a),となる*.Bellman方程式の性質Q∗=T∗π[Q∗]と式(1)から,
∥E[ot(s,a)]∥∞ =T_π[Qt](s,a)−Tπ[Q∗](s,a)∞≤γ∥Qt−Q∗∥∞=γ∥Δt(st,at)∥∞.続いてot(x)が有界であることを示す.
var[ot(x)] =E(r,s′)∼p[(r+γa′maxQt(s,a′)−Q∗(s,a)−Tπ[Qt](s,a)+Q∗(s,a))2]=E(r,s′)∼p[(r+γa′maxQt(s,a′)−Tπ[Qt](s,a))2]=var[r+γa′maxQt(s,a′)].報酬rは有界なため,
var[ot(x)]≤C(1+∥Δt∥_∞2),C>0であることが確認できた.さきほどの補題によりΔt は確率1でゼロに収束する.すなわち,Qtは最適行動価値関数Q∗に確率1で収束する.
■Soft Bellman方程式は縮小作用素#
エントロピー正則化強化学習は筆者の中で話題になっています.この部分は追記程度に載せたいと思います.(追記なので口調を変えます)
一般的な強化学習ではリターンをGt=∑t=0∞γtrtとするのに対して、エントロピー正則化強化学習ではリターンをRt=∑t=0∞γtrt+τH(π(⋅∣st))とします.このときτは温度(係数)であり、H(π(⋅∣st))=−∑aπ(a∣st)logπ(a∣st)です。後者はエントロピーとも呼ばれています.
特にどこかで言及されていたわけではないんですが,筆者はこの式を見て「ギブスの自由エネルギー」に似ているなと考えています.熱力学に詳しい方,教えてください.
続いて価値関数とsoft bellman作用素の定義をします(なぜこうなるかは,需要があれば別の記事で書きます)
Qπsoft(s,a) Tπsoft[q](s,a)=Eπ,p[r0+t=1∑Tγt(rt+τH(π(⋅∣st)))s0=s,a0=a],=E(r,s′)∼p[r+γlogE_a′∼π[expq(s′,a′)]].このsoft bellman作用素が縮小写像であることを証明します.
任意のq1,q2に対してϵ=∣q1−q2∣_∞とする.expとlogの単調性から次の不等式がわかる.
logEa′∼π[expq1(s′,a′)] ≤logEa′∼π[exp(q2(s′,a′)+ϵ]=log(exp(ϵ)E_a′∼π[exp(q2(s′,a′)])=ϵ+logE_a′∼π[exp(q2(s′,a′)]T_πsoft[q1]−T_πsoft[q2] が(s,a)に依らずγϵで押さえることができるので,左辺のmaxを取って
∥Tπsoft[q1]−Tπsoft[q2]∥∞≤γ∥q1−q2∥∞となる.よって,Soft Bellman方程式は無限ノルムに対して縮小写像といえる.
■