基于价值的强化学习,说白了,就是智能体采取了一个动作,这个动作的好坏用一个评价标准来评价它—Q动作值函数。
在后续的动作中,可以通过Q的计算了解到采取什么动作最好,从而达到指导智能体行动的目的。
强化学习中使用 折扣回报来定义采取动作后得到的回报。
1. 折扣回报
定义: U t = R t + γ R t + 1 + γ 2 R t + 2 + γ 3 R t + 3 + … U_t = R_t + \gamma R_{t+1} + \gamma ^2 R_{t+2} + \gamma ^3 R_{t+3} + … Ut=Rt+γRt+1+γ2Rt+2+γ3Rt+3+…
该回报表示在t时刻得到的即时奖励和 t+1, t+2 …后得到的折扣奖励。
该折扣回报就是用来评价采取一个行动是好坏的标准,回报越高,说明采取的行动越好。
特性: U t U_t Ut回报是不确定的,因为它取决于状态
和动作
- P [ A = a ∣ S = s ] = π ( a ∣ s ) P [ A = a | S = s ] = \pi (a | s) P[A=a∣S=s]=π(a∣s)策略函数
- P [ S ′ = s ′ ∣ S = s , A = a ] = p ( s ′ ∣ s , a ) P[S' = s' | S = s, A = a] = p(s' | s, a) P[S′=s′∣S=s,A=a]=p(s′∣s,a) 状态转移概率
上述的策略和状态转移都是概率性的,所以折扣回报也是概率性的
2. action-value function 动作-值函数 Q ( s , a ) Q(s, a) Q(s,a)
可以反映在状态s下做动作a的好坏,其实也就是 U t U_t Ut的期望:
- 动作值函数
Q π ( s t , a t ) = E ( U t ∣ S t = s t , A t = a t ) Q_\pi(s_t, a_t) = E(U_t | S_t = s_t, A_t = a_t) Qπ(st,at)=E(Ut∣St=st,At=at)
在状态s下,采取动作a的期望回报
- 最优动作值函数 Q ∗ Q^* Q∗
Q ∗ ( s t , a t ) = max π Q π ( s t , a t ) Q^*(s_t, a_t) = \max_\pi Q_\pi (s_t, a_t) Q∗(st,at)=maxπQπ(st,at)
状态s下,最优动作a时的期望回报
3. DQN (Deep Q-Network)
其实就是用一个
神经网络
近似Q函数
-
求解 Q ∗ Q^* Q