强化学习概述

前面其他的基本都是和监督学习相关

用于收集标记困难的情况(游戏?)

本质也是找一个 Function

https://s2.loli.net/2025/03/03/zBVbaSwXNPhctvs.png

元素:

  • Actor
  • Environment

不断循环进行输入输出(考虑程序的 Actor 模型);有一个结束条件,比如游戏结束
多个 episode

对应关系:

  • function: Actor(Policy Network),如果是分类输出会再 sample 一次(加入随机性)
  • loss:是一次循环的 Total Reward,参考之前看过训练赛车跑圈的内容;不断循环迭代变强
  • optimization:

https://s2.loli.net/2025/03/03/7JzvykOXZWIhoLl.png

问题:

  • a 是随机的(testing 也是随机的)
  • Env 和 Reward 是黑盒子(类似 GAN 的 Discriminator,但是不是一个神经网络)

Policy Gradient

Actor 如何训练
https://s2.loli.net/2025/03/03/Pr94Ai7GtwpjuT3.png
根据需要让 Actor 采取或不采取的到某些 Label 就用一般的分类方式即可
分类数据是 {s,a,A}:内容是在各种状态下 想要 Actor 采取和不采取的行为
其中 {s,a} 是训练过程中收集到的 trajectory

进一步 A 可以是程度的衡量而不是只是两个选择,如何去设计定于 A(重点)

Reward Delay:

  • 长程奖励的考虑,不考虑就是完全贪婪方式($A_t=r_t$)
    • Cumulated Reward:每次都考虑最后,有点像是操作系统置换算法的 最优算法 $A_t=G_t=\sum\limits_{n=t}^N{r_n}$ ;问题:时间特别长就不合理,就是杞人忧天了
    • 加入 Discount Factor:求和时加入到因子随往后幂次增长($G_t^{’}=\sum\limits_{i=t}^N{\gamma^{t-i}r_i}$); 越往后越小(像是泰勒级数展开)
    • 加入标准化:需要相对化 Reward,所有 G 减去一个 Baseline $G_t^{’}-b$

最终算法:
https://s2.loli.net/2025/03/03/S3tGiQUoXCj8zfs.png

  • RL 中,数据在训练中收集,梯度每次只变动了一次
  • 每次自己都发生了变化,变强了,所以要重新收集数据

交互和训练对象是同一个叫做 On-policy;同理就有 Off-policy 的方法(提高效率),具体算法是 PPO(Proximal Policy Optimization),需要知道和其他 Actor 的差异才能通过自己算对方(哲学来说就是,别人能用的方法,自己要用的话需要评估和别人的差异):通过小失败进行修正

Exploration

  • 如果 Actor 没有随机,就不会有创造性,不能收集到本身机率低的行为

Actor-Critic

Critic

  • 评估 Actor 的好坏,
  • Value Function:$V^{\theta}(s)$ ,评估参数在给定环境给出的一次观测的好坏,通过 $G^{’}$,这个函数需要预测这个值

下面有两种方式评估,也就是算出上面的 baseline
Monte_Carlo

  • 根据过去的记录,预测 G 应该是多少

Temporal-difference

  • 不需要完成整场游戏
  • 利用 Value Function 的递推关系,两次差一个 $r_t$

最终是 $A_t,=,G_t^{’}-V^\theta(s_t)$

其中因为 actor 的输出是一个分布,所以 value function 是取期望值,是一个平均

Advantage Actor-Critic

  • 对 $G_t^{’}$ 取平均,即做完 $a_t$ 操作的 actor 输出
  • 取做个输出减做完之前的输出,就能看到这个行动的结果期望是怎样的
  • $r_t+V^\theta(s_{t+1})-V^\theta(s_t)$

Reward Shaping

额外的 Reward (望梅止渴,小目标,引导性奖励 ),具体的思路参考 VizDoom 的强化学习例子(需要领域知识的)

Sparse Reward:奖励非常稀疏,基本都是 0

如果没有正向输入,就没法利用到 Reward 去强化学习

Curiosity

  • 如果发现新的东西就加分(马里奥例子)
  • 但是要避免噪音(也是新的东西)

No Reward:Learning From Demonstration

Reward 不一定很好定义,因为要知道如何定义加分在除去游戏环境中;因为在现实中可能会有损失,不能试错

Imitation Learning

  • 去除 Reward
  • 找 expert 示范(demonstration),人类引导机器
    • Behavior Cloning:小几率情况学习不到,并且有些行为是特质

Inverse Reinforcement Learning (IRL)

https://s2.loli.net/2025/03/03/m2cP4NlQF5ibqJH.png

反推 Reward Function;可能对机器更有效果,参考 GAN 的潜藏空间(这里是以专家作为 dataset,也就是高标准,机器自己产生的作为低标准)

https://s2.loli.net/2025/03/03/pm3qJOLeY1uw8NX.png