1. Q-learning
**Q-learning **是value-based
的方法。在value-based
的方法里面,我们 learn 的不是 policy,我们要 learn 的是一个critic
。 Critic
并不直接采取行为,它想要做的事情是评价现在的行为有多好或是有多不好。假设有一个actor π
,critic 就是来评价这个 actor 的 policy π
好还是不好,即 Policy Evaluation(策略评估)
。
举例来说,有一种 critic
叫做 state value function
。State value function
的意思就是说,假设actor
叫做 π
,拿 π
跟环境去做互动。假设 π
看到了某一个state s
,如果在玩 Atari 游戏的话,state s
是某一个画面,看到某一个画面的时候,接下来一直玩到游戏结束,累积的 reward 的期望值有多大。Vπ
是一个 function,这个 function input 一个state
,然后它会 output 一个 scalar
。这个 scalar 代表说,π
这个 actor
看到state s
的时候,接下来预期到游戏结束的时候,它可以得到多大的 value。
虽然表面上我们 learn 一个 Q-function,它只能拿来评估某一个 actor π
的好坏,但只要有了这个 Q-function,我们就可以做 reinforcement learning。有了这个 Q-function,我们就可以决定要采取哪一个 action
,我们就可以进行策略改进(Policy Improvement)
。
2.Target Network
3. QA
- 为什么在DQN中采用价值函数近似(Value Function Approximation)的表示方法?
首先DQN为基于深度学习的Q-learning算法,而在Q-learning中,我们使用表格来存储每一个state下action的reward,即我们前面所讲的状态-动作值函数 Q(s,a)Q(s,a) 。但是在我们的实际任务中,状态量通常数量巨大并且在连续的任务中,会遇到维度灾难的问题,所以使用真正的Value Function通常是不切实际的,所以使用了价值函数近似(Value Function Approximation)的表示方法。
- critic output通常与哪几个值直接相关?
critic output与state和actor有关。我们在讨论output时通常是对于一个actor下来衡量一个state的好坏,也就是state value本质上来说是依赖于actor。不同的actor在相同的state下也会有不同的output。
- state-action value function(Q-function)和 state value function的有什么区别和联系?
state value function 的 input 是一个 state,它是根据 state 去计算出,看到这个state 以后的 expected accumulated reward 是多少。
tate-action value function 的 input 是一个 state 跟 action 的 pair,即在某一个 state 采取某一个action,假设我们都使用 actor \piπ ,得到的 accumulated reward 的期望值有多大。