---
# System prepended metadata

title: 讨论 2023-03-22 强化学习（一）

---

讨论 2023-03-22 强化学习（一）
=
###### tags: `tutorials` `Fudan` `2023`
# 强化学习（一）

大模型时代，强化学习的重要性会越来越高，因为以往最常用的监督学习肯定是无法满足新需求的，比如我希望大模型说话客气一点，说话更有逻辑一点，或者希望大模型始终带入某种角色进行对话。这些需求仅通过监督学习都是很难实现的，原因很简单，我们的要求越来越模糊，正确答案的可能性也越来越多。比如我们要求说话有礼貌，有礼貌的说法太多了，人都不能列举出所有有礼貌的说法，所以监督学习（其本质是拟合已有数据）的方法总归是有局限性的。

## 强化学习是什么？
![](https://i.imgur.com/mJexyXB.png =500x)

强化学习的核心是在与环境交互中学习，一个机器人可以采取各种各样的动作（Action），而每种动作造成一定的后果，这种后果导致了下一步机器人自身的状态（State），以及我们完成目标任务的情况（Reward）。强化学习的目标就是让机器找到收益最高的行动轨迹，因为机器人在测试时是不知道每个动作的后果的，需要自己评估。

### 训练环境

![](https://i.imgur.com/hIM6OXZ.png =500x)

与监督学习不同，在强化学习中，我们并没有标准答案，不知道何时采取何种动作才能获得最大收益，而最大收益是多少，我们也不知道。所以这就导致强化学习的训练过程天然需要解决一对有些矛盾的问题，**最佳答案是什么？**，**模型拟合了最佳答案吗？**。从这个两个问题可以看出，强化学习离不开两个概念，**搜索**和**优化**，前者探索更好的答案，而后者让模型掌握更好的答案。

### 测试环境

![](https://i.imgur.com/TihXjw7.png =500x)

监督学习通常假设i.i.d（独立同分布），但强化学习一般并不强调这一点，因为强化学习的目的就是“举一反三”，如果一个动作轨迹在训练环境中出现过，而reward也保持不变，那么我们只需一个记忆力超强的模型就可以了，查询表格，选取收益最高的方案。但强化学习的目标就是让模型在没见过的状态做出最优决策，没见过的状态很可能不是独立同分布的。我们在公路A上练习，直路多，弯道少。在公路B测试，直路少，弯道多，显然不是独立同分布，但我们还是希望模型能表现良好。

在测试环境中，环境不再给我们任何reward的反馈，但我们仍旧可以知道状态的改变，也就是我们只知道动作的一部分后果，而模型的作用就是估计动作产生的后果，补足决策所需要的信息。


### 决策与反馈的不一致
不对称性可以归结为两点：
- 反馈和动作不是一一对应的
- 反馈和动作的关系是不确定的

监督学习中，一般模型每次决策都是有反馈的，也就是每一个prediction都有对应的ground-truth label。但在强化学习中，我们经常碰到一个问题就是二者严重不匹配，假如10次动作只有一个综合反馈，我们如何修改这10步动作呢？

在强化学习中，我们并不知道反馈和动作之间的联系，比如10次操作，只有要一次采取了某个特定操作，就可以获得正面反馈，又比如10次操作全部符合要求才能得到正面反馈，又或者每次操作必须和上一次不同才能获得正面反馈。反馈的游戏规则千变万化，无法确定到底要怎么修改动作才能获得更好的反馈。

### 期望收益 
既然反馈与动作的关系多种多样，而反馈又是我们最终完成任务的指标，模型需要达到什么样的反馈为好呢？强化学习一般认为期望收益越高越好，也就是从当前状态出发，未来可以获得总收益的期望越高越好。当然关于如何求总收益，也是有不同说法的，简单就是累加求和，但也有根据权重求和的做法。

### 探索主义与保守主义
强化学习一个很有趣的设定就是我们在训练时也不知最佳方案，所以强化学习的训练过程不完全是一个优化问题，它还包含了探索了最佳方案的过程。当然，角度不止一种，我们也可以把强化学习描述成一个有随机因素的优化问题。探索虽然重要，但我们还需要让模型尽可能掌握已知的最优方案。探索到新方案，就以为模型需要重新掌握新知识，所以二者互相牵制，我们不能只关心探索而没教会模型，也不能只拿一个很差的较优解去教模型。

这其实和现实中的师生关系很类似，老师要考虑如何教会学生，同时自己还要不停更新知识。二者缺一不可。

主流方法有两种方式来平衡探索与保守。
#### On-policy
让模型决定是否探索，模型在训练时选取每一个动作的概率就是把不同动作的估计收益归一化而得。所以已知的最佳方案会有最大概率被选择，但其他动作也有一定概率被选择，从而进行探索。这很像是启发式搜索，我们很大概率会从次优方案开始探索，不同动作之间有优先级之分。

#### Off-policy
强制探索，比如95%的概率按照模型估计的最佳路线前进，但有5%概率强制随机选一个动作执行。这种方法可以强制引入探索过程，并且是与模型无关的，也就有可能跳出较优解陷阱。


## 时间与因果
强化学习中的时间差分假设探讨了一个很哲学的问题，那就是一连串的动作是如何导致结果的？我们可能会回答是因果关系，但强化学习提出了一种近似方法，时间关系可不可以刻画这种关联，即时间上越近的动作对结果的影响更大。比如我被批评了，第一反应往往是我刚才做错了什么？而不是我昨天做错了什么，换言之，我认为我刚刚做的事情更可能导致“被批评”这个结果。

因果关系在绝大多数情况是难以明晰的，所以时间差分变成了强化学习中最常用的近似方法，几乎所有强化学习方法都会考虑一连串动作与最终结果的时间顺序关系来指定不同动作之间的权重。

时间差分涉及到了很多有趣的哲学问题，比如
- 为什么时间可以刻画因果，时间是不是因果前进的方向？
- 对短期收益的偏好引起的权重倒挂，即为了短期利益放弃长期利益