深度强化学习

AI / 人工智能: 目的角度阐释, 机器实现类似人的能力

ML / 机器学习: 手段角度理解, 专家系统等基于规则的手段不算ML, 但也可以实现AI

机器学习两个要素: model + training / 结构假设 + 训练手法

结构假设

训练手法

为什么要重视RL?

UL vs RL: RL更主动的定向的生成数据做UL, RL更目标导向, 而非结构导向

RL回顾

DRL / 深度强化学习

RL+DL如何勾搭上的? RL问题形式, DL具体干活 (做函数近似)

评价网络 / 回归问题: 评估当前局势, 预测当前胜率

策略网络:

DEMO: DNN拟合黑白棋容许落子位置

DQN

DRL推动者: DeepMind by Google

DQN: deep Q-network, Q-learning with deep convolutional ANN.

DRL开山

RL里面, Q函数即价值函数, Q学习即从拟合价值函数角度来做.

Atari上一系列电子游戏 (类比小霸王学习机). 直接用视觉信号作为输入, 从而省掉了需要针对各种具体游戏的特征构建. 联合最近几帧当作输入, 从而更好的模拟出状态/MC特性. 对比视觉的状态空间, 动作空间很小, 就手柄的几个方向和按钮.

算法的贡献:

也形成了一系列做RL算法评价的数据集. 游戏是天然的RL训练场, 模拟成本低, 环境可控, gymnasium项目.

打游戏时候在干什么?

策略游戏4X: expore, expand, exploit, exterminate (回顾EE)

棋类游戏

下棋: 确定性的, 有完备信息的, 两人参与的, 轮流行动的, 零和游戏

Minimax策略: 遍历所有的可能性及对应的对手选项, 找出最损人利己的步骤.

检索树 / 博弈树 / tree search: 边为每种选择, 根节点为当前状态, 节点为状态, 叶子节点(如有)为每种终局状态

实施的困难: 计算能力有限, 看不到每种可能的终局

抛开计算能力, 一切都能看清, 有最优选择. 奇异博士利用时间宝石看到未来所有的可能性, 于是穿越回来告诉当下的一步如何走.

剪枝以确保计算可行性

剪枝所衍生的问题:

问题的难点在于快速评估当下局势.

局势评估方法

  1. 基于规则. 如数子, 但规则永远是短视不足的, 对于象棋等, 数数车马炮, 局势基本能明了了, 但是对于围棋来说, 数子不代表优势, 空间依赖复杂性高
  2. 基于MC, 跑模拟, rollout. 随机乱下模拟结果, 从而以一定置信度判断当前局势

MCTS: 在检索树上不断模拟结果. 有限的计算资源如何分配以最大化信息, 探索新的选择, 还是再充分评估现有选项? EE问题

跑模拟时用什么策略也是个问题, 完全随机的策略收敛太慢, 一般用一个弱很多的策略, 视作模型集成, 所谓”三个臭皮匠赛一个诸葛亮”.

minimax的局限性: 假设对手是理性的, 同策略的. 实际经验中, 经常会有乱拳打死老师傅, 不按套路出牌, “新手光环”的情况. 如何利用Minimax的局限性, 如何胜过AI, 不走常规路, 跳出对手对自己的假设.

TODO 在何种问题假设下, minimax策略能够保证最优?

AlphaGo (AG)

围棋为什么难? 维度更大, 局势更难评估. 象棋等胜负更依赖单子能力, 相对容易.

独立训练三个深度模型:

实际胜率评估 = r * v(s) + (1-r) * G, 即模拟结果和价值模型结果的组合, r参数代表更信任价值模型还是模拟结果.

Quiz: 策略模型/价值模型是分别用于裁剪宽度还是高度?

用棋谱做监督学习冷启动, 然后self-play生成数据, 训练更新重策略模型和价值模型; 轻策略模型不重要, 只要比乱下模拟收敛快就好.

MCTS+CNN网络, 以及工程上的胜利

AlphaGo Zero (AGZ), 更清爽的AG版本

AGZ更为强大, 训练所需算力更少.

注意AG的重策略网络和价值网络是单独的两个模型训练, 但是实际评价策略又是基于MCTS的. AGZ消除了这种异构性, 同策略学习. 但是实际策略仍然是TS.

Thought: DNN能否更好模拟这类嵌套的问题形式?

AlphaZero (AZ): 不局限于围棋, 三种棋同时学, 为了验证方法不是特化围棋有效?

MuZero: 规则都不知道, 取得了比DQN更好的效果

AlphaFold, 应用于更实际的科研问题

适合解决的问题场景: 每种路线都是可以去验证的, 但是路线太多, 全部验证成本很高.

LM视作RL任务

LLM训练阶段

  1. (UL) 基座模型 / 预训练模型 / 无监督NTP训练的结果
  2. (SL) 对话模型 / SFT结果: 一般Instruct-前缀命名, 强化对话能力, 输出对齐人类偏好 (如符合事实, 有用, 无害, 更善于对话, 有礼貌, 等等)
  3. (RL) 推理模型: 进一步强化学习, 强化推理问题质量

NTP训练任务的不合理性: 预测下一个字, 实际上非常多的字都可以作为下一个字. 对于下棋的监督训练, 按照棋谱预测下一个落子. 用菜鸟的棋谱训练, 必定越练越差. NTP是一个收敛非常慢, 严重依赖训练数据质量的, 模仿学习过程.

对于推理任务, 怎么说不重要, 重要的是最终的答案对不对, 以及每一步推理环节是否自洽满足基本逻辑规则 (当然错误的推理过程, 错上加错, 得到正确的结果的可能性很小). 退一步, 即便没有得到最终正确答案, 推理过程也有过程分, 应该给予奖励. NTP形式不适合做推理类任务训练.

LM的RL表达形式:

RLHF / reinforcement learning with human feedback

模型输出多个结果, 人类标注结果偏好性, 用来训练一个结果评分器, 即奖励模型. 然后用奖励模型作为损失训练生成模型.

为什么先做评价模型再做生成模型的路子可以走得通? discriminator - generator gap / 做评论家很容易, 但是做创作者很难. 这只是个假设, 不一定成立.

注意, 这里奖励模型不同于评价模型. 奖励模型, 生成结束后才有; 评价模型, 生成过程中对于最终奖励的估测.

RLHF被认为不是RL的原因: 奖励模型是对其人类偏好, 是偏主观的, 且有被过拟合的风险; 不是传统RL的训练方式, 等等.

可验证问题 VS 不可验证问题

可验证问题:

不可验证问题:

主观问题的量化: 规则总结, 和参考答案的距离, 等等, 没有统一的评价标准, 也始终不能替代人类主观评价感受.

对于可验证问题, 不需要做奖励模型, 只要结果对, 过程怎样都可以. 甚至这个自创的路线, 通过语言表达出来之后, 对于人类也有很大的启发意义, 如AlphaGo的神之一手 (move 37).

奖励模型代替人类评估的利弊

好处: 尽可能少的人力参与, 才能做大.

坏处: RL非常善于作弊, 生成模型很容易”玩弄”奖励模型, 尤其学习模型参数量绝对碾压评价模型时, 在不断的学习中总能找到并利用评价模型的”漏洞”, 导致结果离人类的喜好越来越远.

因此不能使劲通过奖励模型来训练生成模型, 需适可而止, 否则会越训练越退化.

DRL的挑战

众所周知, RL训练算法收敛慢, 不稳定, 更别说用在大语言模型上. 主要针对RL训练算法的优化.

DPG: Deterministic Policy Gradient

PPO: Proximal Policy Optimization

GRPO: Group Relative Policy Optimization / 去掉了评价模型

HOME