三个主要概念:
环境状态,行动和奖励
强化学习的目标一般是变化的,不明确的,甚至可能不存在绝对正确的标签。
策略网络与估值网络
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向着学习目标按一个较小的学习速率α来学习