强化学习

三个主要概念:

环境状态,行动和奖励

强化学习的目标一般是变化的,不明确的,甚至可能不存在绝对正确的标签。

策略网络与估值网络

Policy-based 方法直接预测在某个环境下应该采取的Action,而Value based方法则预测某个环境状态下所有Action的期望价值(Q值)

策略网络预测出当前局势下应该采取的Action,给出的是执行某个Action的概率。

而估值网络预测的是当前局势下每个Action的期望价值。

Model-based 和 Model-free

基于模型的:根据环境状态和采取的行动预测接下来的环境状态,并利用这个信息训练强化学习模型。

不基于模型的:不需要对环境状态进行预测 也不考虑行动将如何影响环境。

Tensorflow 策略网络

1
r = r1+γr2+γ^2r3...

模型通过学习Action在Environment中获得的反馈,使用梯度更新模型参数。

代码参照:

见github

Tensorflow 估值网络

Q-learning 指从当前这一步到所有后续步骤,总共可以期望获取的最大价值。(Action->Q)

在每一个state下选择Q值最高的Action,Qlearning不依赖于环境模型,在有限马尔科夫决策过程中,证明最终可以找到最优策略。

Q-learning

Q-learning 指从当前这一步到所有后续步骤,总共可以期望获取的最大价值。(Action->Q)

在每一个state下选择Q值最高的Action,Qlearning不依赖于环境模型,在有限马尔科夫决策过程中,证明最终可以找到最优策略。

目标是求解函数$Q(s_{t},a_{t})$ ,以(状态,行为,奖励,下一个状态)构成的元组为样本来进行训练,其中$(s_{t},a_{t},r_{t+1},s_{t+1})$

学习目标是 $r_{t+1}+\gamma * max_{a}Q(s_{t+1},a)$ 是当前Action获得的reward加上下一步可以获得的最大期望价值。参数$\gamma$ 表示一个衰减系数,决定了未来奖励在学习中的重要性

整个Q-learning:

$$
Q_{new}(s_{t},a_{t}) =(1-a)Q_{old}(s_{t},a_{t})+a(r_{t+1}+\gamma max_{a}Q(s_{t+1},a))
$$

就是把旧的Q-learning向着学习目标按一个较小的学习速率α来学习