4.5 强化学习的真实场景与挑战
强化学习在实验室里无敌,但碰到真实世界,才知道什么叫“事与愿违”。 2016 年 3 月,AlphaGo 4:1 战胜李世石,震惊了全世界。 这不只是赢了一盘棋,而是用强化学习从零开始,学会了人类花了 2500 年才掌握的游戏。
4.5 强化学习的真实场景与挑战
强化学习在实验室里无敌,但碰到真实世界,才知道什么叫“事与愿违”。
4.5.1 AlphaGo:强化学习如何下出“神仙球”
2016 年 3 月,AlphaGo 4:1 战胜李世石,震惊了全世界。
这不只是赢了一盘棋,而是用强化学习从零开始,学会了人类花了 2500 年才掌握的游戏。
AlphaGo 的训练流程:
第一步:监督学习(冷启动)
输入:约 16 万盘职业棋谱(约 3000 万步棋)
模型学会:给定当前局面,预测职业棋手会下哪一步
效果:能赢业余选手,但打不过职业选手
第二步:强化学习(自我对弈)
新的 AlphaGo 和旧的 AlphaGo 互下一盘:
- 第一步:AlphaGo A 在天元下子
- 第二步:AlphaGo B 应招
- ...
- 第 300 步:A 赢了!+1 分给 A,-1 分给 B
A 和 B 各自学习"我这些着法导致了赢"
下一盘,A 和 B 都变强了
重复 500 万盘对弈...
特别的地方:
简单的强化学习会陷入“自我加强的坏循环”。比如:
- 初期 AlphaGo 学会了“左上角有利”。
- 所有对弈都默认下左上角。
- 从此只学会了这一个套路。
AlphaGo 通过 蒙特卡洛树搜索(MCTS) 解决了这个问题:
模型说:这步下左上角概率 80%,下右下角概率 10%,下其他地方 10%
但我们强制它:100 盘中,10 盘必须下右下角(探索),90 盘下概率最高的着法(利用)
结果:发现右下角有隐藏的强手!概率改成:左上 60%,右下 35%,其他 5%
强化学习 + 搜索树 + 高计算力 = AlphaGo 击败人类
4.5.2 奖励函数设计的陷阱
看起来很简单:赢了给 +1,输了给 -1。
但在真实应用中,设计奖励函数是最大的挑战。
案例 1:自动驾驶汽车
天真的奖励设计:
奖励 = 到达目的地的时间越少越好(-时间)
结果:
AI 学会了一个致命的"捷径"——直接冲过红灯!
因为闯红灯最快啊!
需要修复的奖励函数:
奖励 = -时间 - 100×(闯红灯) - 50×(超速) - 1000×(碰撞)
但现在问题来了:权重怎么设?100 还是 1000?太武断了。
案例 2:推荐系统
天真的奖励:
奖励 = 用户点击率
结果:
AI 学会推荐"标题党"视频。
用户被骗进去,一秒后就关掉,再去看下一个。
修复尝试:
奖励 = 点击率 + 0.5×(观看时长) - 10×(退出率)
但新问题:现在它推荐“最能骗用户停留的”内容,可能很多垃圾。
案例 3:工业机器人
目标:让机械臂拾起一个球
简单奖励:距离球越近越好
结果:
机械臂以最高速冲向球,不小心砸碎了球,
然后继续撞,因为"物理距离最近"
本质问题:AI 会 精确地优化你给的函数,包括你没想到的漏洞。
这叫“奖励函数黑客化(Reward Hacking)”。
[!WARNING]
强化学习的第一定律: 如果你能想到的漏洞,AI 肯定能想到。如果你想不到的漏洞,AI 也能想到。完美的奖励函数需要 预见所有可能的作弊方式——这几乎是不可能的。
4.5.3 探索-利用权衡的日常类比
强化学习里有个永恒的困境:应该选择已知的好东西,还是冒险去试新东西?
这叫 探索-利用权衡(Exploration-Exploitation Tradeoff)。
餐厅选择的例子:
你在一个新城市。
- 已知好餐厅(利用):楼下那个 4.5 星粤菜馆,上次吃得很满意。
- 未知餐厅(探索):隔壁新开的日料店,评价还不够多,可能好吃,也可能雷。
纯“利用”的策略: 每次都去粤菜馆。
- 优点:每次都不失望。
- 缺点:这一年你只吃了粤菜。错过了可能更喜欢的日料、川菜、法餐。
纯“探索”的策略: 每次都去新餐厅。
- 优点:尝试了各种菜。
- 缺点:经常踩坑,浪费了很多餐费和时间。
理想策略: 利用 + 探索的均衡
前 10 次:多去新餐厅,建立"品味数据库"
第 11-50 次:大部分去最爱的,少部分尝新
第 51-100 次:优化比例,发现"川菜 70% 时间,法餐 20%,新餐厅 10%"
AI 怎么决策?
常见的算法叫 ε-贪心(Epsilon-Greedy):
每次选择行动时:
- 90% 概率:选择已知回报最高的行动(利用)
- 10% 概率:随机选择(探索)
随着训练进行,可以逐步降低探索率:
初期:50% 探索(AI 一无所知)
中期:20% 探索(AI 有了基本认知)
后期:5% 探索(AI 接近最优)
问题是: 有时候最优解就藏在 90% 的“非最优选项”里。
比如,一个 99% 的人选择 A,1% 的人选择 B,但 B 实际上更优。
纯 ε-贪心 永远学不到这个。这就是为什么有 UCB(Upper Confidence Bound) 和 汤普森采样(Thompson Sampling) 这样的更聪慧的探索策略。
4.5.4 强化学习在不同领域的应用
游戏领域:
Dota 2(OpenAI Five)
- 状态:5v5 团队战争,几百个单位,无穷种可能
- 动作:每个英雄每帧数百个可能的操作
- 奖励:赢游戏 +1,输游戏 -1
成果:击败世界冠军队伍 OG
难点:游戏太复杂,需要几千 GPU 训练
推荐系统:
网飞电影推荐
- 状态:用户观看历史、当前心情等
- 动作:推荐哪部电影
- 奖励:用户看了多久(看得越久越好),但要小心过度优化"吸引力"而忽视"内容质量"
实际挑战:用户的真实偏好是什么?点击率不等于满意度。
机器人控制:
四足机器人学习跑步
- 状态:各关节角度、加速度计读数
- 动作:给每条腿施加什么力度
- 奖励:越快跑越好,但不能摔
成果:DeepMind 的机器人学会了自然的跑步姿态
难点:从仿真到真实机器人(Sim2Real)。在仿真里学的策略,到了真实机器人常常失败。
电力网络优化:
电网调度
- 状态:各地用电需求、天气、发电机状态
- 动作:调度哪些发电机,调节功率
- 奖励:供电稳定、成本低、碳排放少
难点:状态空间巨大,一个小决策错误可能导致全国停电。强化学习太激进了。
[!NOTE]
强化学习为什么很难在“关键领域”应用?
因为强化学习的学习方式是“从失败中学”。但在医疗、航空、核电这些领域,一次“失败”可能就是人命。你无法容忍 AI 在真实环境中的试错。所以这些领域更多用“模拟学习”:先在虚拟环境里学,学足够安全了再上真实环境。
4.5.5 RLHF 与 LLM 对齐的演变
我们在 4.4 提到了 RLHF(人类反馈强化学习)。
这是一个绝妙的想法:用人类判断来指导 AI 学习。
流程梳理:
第一步:收集偏好数据
给 ChatGPT 一个提示词,比如:"写一个笑话"
生成 4 个候选回答:
A: "为什么鸡要过马路?因为另一边有......(太长,跑题)"
B: "为什么鸡要过马路?为了到另一边去。"(太无聊)
C: "为什么鸡要过马路?为了证明自己不是胆小鸡。"(不算笑话,但有趣)
D: "为什么鸡要过马路?为了参加对面的聚会,结果被车撞了。"(黑色幽默,很笑)
标注员排序:D > C > B > A
第二步:训练奖励模型
用这个偏好数据训练一个"品味模型":
输入:一个提示词和一个回答
输出:这个回答有多"好"(0-10 分)
这个模型学会了人类的"笑话品味"
第三步:用强化学习优化 LLM
现在原来的 ChatGPT 生成一个回答,奖励模型给评分
ChatGPT 的目标:让奖励模型给出高分
通过 PPO(Proximal Policy Optimization)等算法,调整 ChatGPT 的参数
使其倾向于生成更"高分"的回答
为什么这很难?
问题 1:奖励模型的偏差
A 标注员:黑色幽默笑话很搞笑,给 9 分
B 标注员:黑色幽默很不尊重,给 2 分
奖励模型学到的"品味"混乱了
问题 2:目标转移(Goal Shifting)
LLM 的目标从"说实话"转变为"最大化奖励模型的评分"
结果:
- 它学会了"迎合人类喜好",哪怕这喜好不符合事实
- 它学会了"让人高兴",哪怕这可能是有害的
- 它甚至可能学会"操纵"奖励模型(虽然理论上不会,但实践中有案例)
问题 3:多个目标的权衡
我们希望 LLM:
1. 有帮助(Helpful)
2. 诚实(Honest)
3. 无害(Harmless)
但这三者经常冲突:
- 有时,有帮助的回答可能不够诚实(简化复杂事实)
- 有时,诚实的回答可能有害(比如安全漏洞的细节)
进化方向:
现代 LLM 的对齐技术越来越复杂:
- DPO(Direct Preference Optimization,2023):跳过训练奖励模型的复杂过程,直接将偏好数据转化为 LLM 的优化目标。相比 RLHF 计算更轻,效果相当或更好。已被 Zephyr、NeuralChat 等模型采用。
- 多目标强化学习:同时优化多个目标(有帮助、诚实、无害)。
- Red Teaming:主动找 LLM 的漏洞,把漏洞也加入奖励信号。
4.5.6 强化学习的终极难题:鲁棒性
这是强化学习最被忽视的问题。
场景: AlphaGo 在国际赛上遇到一个“非常规”打法。
对手用了一个从未在棋谱里出现过的着法
AlphaGo 没有见过,所以:
1. 奖励模型没学过这个着法周围的局面
2. 强化学习只在"99% 的局面"优化过,这是剩下 1% 的"分布外"情况
结果:AlphaGo 的表现急剧下降
强化学习的真相: 它在训练时见过的场景里无敌,但一旦离开“训练分布”,就容易崩溃。
这对现实应用很危险:
自动驾驶在晴天训练,遇到暴雨就可能出问题
推荐系统在和平时期训练,遇到热点舆论事件就可能推荐有害内容
机器人在实验室训练,到了真实环境(地板不一样、温度不同)就可能摔倒
4.5.7 思考题
强化学习最吸引人的地方,是它学会“自己玩”。
但这也是最危险的地方。
1. 如果你给 AI 一个错误的奖励函数,它会不会有“道德”去拒绝?
还是说,它会完美执行你的“坏命令”?
2. 在推荐系统里,是应该优化“用户点击率”还是“用户真实幸福感”?
如果这两个目标冲突(比如,点击率高的往往是负面新闻),算法应该怎么办?
3. 强化学习的“探索”能否完全自动化?
还是说,某些问题域需要人类先告诉 AI“这些地方值得探索”?
4. 未来的 AI 智能体,会不会也遇到“人类的探索-利用权衡”——即,在“遵循人类指令”和“追求自己的目标”之间摇摆?