强化学习

  • 任务与奖赏

在状态之间通过不同的操作使目标保持好的状态则能得到奖赏,否则惩罚(奖赏值为负)

机器通过在环境中不断尝试以获得策略,而好的策略会得到较大的奖赏值

与监督学习的区别是在这里样本没有标记,机器没有被直接告诉什么情况下该做什么

  • K-摇臂赌博机

赌徒在投入一个硬币后选择按下其中一个摇臂,每个摇臂有一定概率吐出硬币。赌徒的目标是通过一定策略最大化自己的奖赏

仅探索

将所有的尝试机会平均分配给每个摇臂,最后以平均吐币概率作为奖赏期望的估计。

仅利用

仅按目前最优的摇臂,如有多个相同那就随机选择。

\\epsilon-贪心

设初始概率 Q_0(k)=0,每次尝试后更新奖赏为 Q_n(k) = \\frac{1}{n}((n-1) * Q_{n-1}(k) + v_n)

当不确定性大的时候需要较大的 \\epsilon

Softmax

基于当前已知的平均奖赏来对探索和利用进行折中

P(k) = \\frac{e^{\frac{Q(k)}{r}}}{\\sum_{i=1}^k e^{\\frac{Q(i)}{r}}}

其中 Q(i)是平均奖赏,r称为温度,小则平均奖赏高的摇臂被选取概率高

  • 有模型学习

即机器已对环境进行建模,执行动作造成的状态转移概率和奖赏都是已知的

策略评估

状态-动作值函数:表示指定状态上以及指定状态-动作上的累计奖赏

Q^\\pi_T(x,a)=\\sum_{x’ \\in X} P^a_{x \\to x’}(\\frac{1}{T} R^a_{x\\to x’} + \\frac{T-1}{T}V^\\pi_{T-1}(x’))

Q^\\pi_\\gamma(x,a)=\\sum_{x’ \\in X}P^a_{x \\to x’}(R^a_{x\\to x’}+\\gamma V^\\pi_{\\gamma}(x’))

Q_\\pi(x,a)表示从状态x出发,执行动作a后再使用策略\pi带来的累计奖赏

策略改进

理想的策略应能最大化累计奖赏

\\pi^*=argmax_\\pi \\sum_{x \\in X}V^\\pi (x)

可将前面的Bellman等式的求和改为取最优,得到最优Bellman等式,有唯一最优解

策略迭代与值迭代

从一个初始(随机)策略触发,先评估再改进策略,不断迭代进行策略评估和改进,直到收敛

免模型学习

  • 蒙特卡洛强化学习

多次采样,求取平均累计奖赏来作为期望累计奖赏的近似

  • 时序差分学习

与蒙特卡洛学习的区别是在时序差分学习中,更新的过程是增量进行的,越靠后的累计奖赏越重要

  • 值函数近似

值函数能表示为一个数组,输入i对应数组i元素的值,且更改一个状态上的值不影响其他状态的值

  • 模仿学习

从领域知识中学习

- 直接模仿学习
直接从人类庄家的状态-动作对作为初始策略,再基于环境反馈进行改进
- 逆强化学习
从人类专家提供的范例数据中反推出奖赏函数进行学习