【强化学习纲要】学习笔记系列
未来状态依赖于给定的历史状态
其中 γ \gamma γ即为折扣因子(Discout factor), 作用包括:
MRP的value function满足Bellman equation:
V ( s ) = R ( s ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s ) V ( s ′ ) V(s) = R(s) + \gamma \sum_{s' \in S}P(s'|s)V(s') V(s)=R(s)+γs′∈S∑P(s′∣s)V(s′)
其中右边两项分别是及时反馈和未来反馈,未来反馈是状态发生概率与对应状态的value的乘积之和
对于N个状态,可以写成局长表达式:
V = R + γ P V V=R+\gamma PV V=R+γPV
由此,当系统收敛时,即状态不再发生变化,可以得到MRP的解:
V = ( I − γ P ) − 1 R V=(I-\gamma P)^{-1}R V=(I−γP)−1R
方程求解是 O ( N 3 ) O(N^3) O(N3)复杂度,只适合于N较小的时候,即状态数少的问题
更常用的做法是迭代求解:
MDP = MRP + decision
在MRP基础上考虑policy
R ( s t = s , a t = a ) = E [ r t ∣ s t = s , a t = a ] R(s_t =s, a_t =a) = \mathbb{E}[r_t|s_t=s,a_t =a] R(st=s,at=a)=E[rt∣st=s,at=a]
Policy: 在特定state下所采取的action
π ( a ∣ s ) = P ( a t = a ∣ s t = s ) \pi(a|s) = P(a_t=a|s_t =s) π(a∣s)=P(at=a∣st=s)
Policy 是稳定的,时间独立,也就是不管时间变化,特定状态对应特定policy
Bellman Expectation Equation for value function
v π ( s ) = ∑ a ∈ A π ( a ∣ s ) ( R ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) v π ( s ′ ) ) v^\pi(s) = \sum_{a\in A}\pi(a|s)(R(s,a)+\gamma\sum_{s'\in S}P(s'|s,a)v^\pi(s')) vπ(s)=a∈A∑π(a∣s)(R(s,a)+γs′∈S∑P(s′∣s,a)vπ(s′))
其中, v π ( s ) v^\pi(s) vπ(s)用于评估在给定state-action的映射之后,当前state的value,
外层 ∑ \sum ∑是指所有action, R ( s , a ) R(s,a) R(s,a)是当前reward,内层 ∑ \sum ∑是指特定action导致的未来状态的概率和value的乘积,也就是未来reward
Bellman Expectation Equation for Q-function
q π ( s , a ) = R ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) ∑ a ′ ∈ A π ( a ′ ∣ s ′ ) q π ( s ′ , a ′ ) q^\pi(s,a)=R(s,a)+\gamma\sum_{s'\in S}P(s'|s,a)\sum_{a'\in A}\pi(a'|s')q^\pi(s',a') qπ(s,a)=R(s,a)+γs′∈S∑P(s′∣s,a)a′∈A∑π(a′∣s′)qπ(s′,a′)
其中, Q-function的 q π ( s , a ) q^\pi(s,a) qπ(s,a)用于评估给定state采取某个action的value, R ( s , a ) R(s,a) R(s,a)是指当前reward,外层 ∑ \sum ∑是每个action到新状态s’的转移概率与对应reward乘积之和,内层 ∑ \sum ∑是未来state-action概率和action对应value的乘积之和
预测是输出 v π v^\pi vπ
控制是输出最佳的value function v ∗ v^* v∗和最佳policy v ∗ v^* v∗
预测和控制都可以由动态规划求解
动态规划的特性:
q k + 1 ( s , a ) = R ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) v k ( s ′ ) q_{k+1}(s,a)=R(s,a)+\gamma\sum_{s' \in S}P(s'|s,a)v_k(s') qk+1(s,a)=R(s,a)+γs′∈S∑P(s′∣s,a)vk(s′)
v_{k+1}(s) = max_a q_{k+1}(s,a)
对于子问题,如果我们总能得到最佳state及value function,那么可以直接对value function进行迭代
v ( s ) = max a ∈ A ( R ( s , a ) + γ ∑ s ′ ∈ S P ( s ∣ s , a ) v ( s ′ ) ) v(s) = \max_{a\in A}\left(R(s,a)+\gamma\sum_{s'\in S}P(s|s,a)v(s')\right) v(s)=a∈Amax(R(s,a)+γs′∈S∑P(s∣s,a)v(s′))
当值迭代完成,则只需要选择最优策略即可
π ( s ) = arg max a R ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) v k + 1 ( s ′ ) \pi(s) = \arg\max_aR(s,a)+\gamma\sum_{s'\in S}P(s'|s,a)v_{k+1}(s') π(s)=argamaxR(s,a)+γs′∈S∑P(s′∣s,a)vk+1(s′)