Skip to content

Commit 3467564

Browse files
authored
在线与离线强化学习
1 parent ee7f72e commit 3467564

File tree

1 file changed

+147
-6
lines changed

1 file changed

+147
-6
lines changed

_posts/2020-05-14-RL.md

Lines changed: 147 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
layout: post
3-
title: "强化学习-Reinforcement Learning"
3+
title: "强化学习 Reinforcement Learning"
44
date: 2020-05-14 17:34:00
55
categories: 深度学习
66
tags: 深度学习 强化学习 增强学习 动态规划 贝尔曼方程 量化交易 游戏 蒙特卡洛 模仿学习 李宏毅 图灵 俄罗斯方块 机器人
@@ -259,9 +259,10 @@ PPO算法是无模型的强化学习算法,属于策略优化类算法,并
259259
- “模型”是对环境进行建模,具体而言,是否已知其知和,即和的取值。
260260
- ![img](https://pic4.zhimg.com/80/v2-49a1deda45e7d8587dbdbaa3177c4cb3_1440w.webp)
261261

262-
### 环境是否已知:Model-based vs Model-free
263262

264263

264+
### 环境是否已知:Model-based vs Model-free
265+
265266
强化学习中“`模型`”指与智能体交互的环境模型,即对环境的状态转移概率和奖励函数进行建模。
266267

267268
根据是否具有环境模型,强化学习算法分为两种:`基于模型的强化学习`(model-based reinforcement learning)和`无模型的强化学习`(model-free reinforcement learning)。
@@ -308,6 +309,53 @@ Model-free 算法根据**表示方式**分类。
308309
- On-policy
309310
- Off-policy
310311

312+
### 训练方法
313+
314+
【2025-8-15】[在线与离线强化学习-策略方法与训练流程全解析](https://zhuanlan.zhihu.com/p/1939623909524758606)
315+
316+
RL有两种训练策略可选,`在线强化学习`(Online RL)和`离线强化学习`(Offline RL),并结合`同策略`(On-policy)与`异策略`(Off-policy)训练方法来实现策略优化
317+
318+
|RL分类|在线|离线|分析|
319+
|---|---|---|---|
320+
|同策略|同策略在线|||
321+
|异策略|异策略在线|异策略离线||
322+
323+
组合后,有3种训练模式
324+
325+
<img width="1037" height="775" alt="image" src="https://github.com/user-attachments/assets/d37a1638-7930-4704-aa1f-d64325c34416" />
326+
327+
策略选择建议
328+
- 数据充足且可实时交互:优先选择同策略方法(PPO等),稳定性高。
329+
- 交互成本高但仍可实时采样:选择异策略方法(SAC、TD3等),提高数据利用率。
330+
- 无法实时采集数据:选择离线RL方法(CQL、BCQ等),利用已有历史数据。
331+
332+
#### 同策略在线强化学习
333+
334+
图中左侧流程表示同策略训练:
335+
- 行为策略与目标策略相同(蓝色块)。
336+
- 数据实时从环境采集,用于立即更新策略。
337+
- 数据不重复使用,训练过程中不断产生新数据。
338+
339+
这种方法适合于数据获取容易且环境可以频繁交互的任务,例如游戏AI。
340+
341+
#### 异策略在线强化学习
342+
343+
图中中间部分表示异策略在线强化学习:
344+
- 行为策略(灰色块)与目标策略(蓝色块)可以不同。
345+
- 数据先存入 Replay Buffer,然后多次采样训练目标策略。
346+
- 行为策略可以定期与目标策略同步(虚线箭头)。
347+
348+
这种方法比同策略方法数据利用率高,常用于连续控制任务、自动驾驶模拟等。
349+
350+
#### 异策略离线强化学习
351+
352+
图中右侧流程表示离线RL:
353+
- 训练前已从环境收集完所有数据(Replay Buffer)。
354+
- 训练阶段完全离线,只用已有数据更新策略。
355+
- 训练完成后直接部署到环境中执行。
356+
357+
这种方法在实际工程中很重要,特别是医疗、工业、金融等不能频繁试错的领域。
358+
311359

312360
### 学习方式:on-policy vs off-policy
313361

@@ -316,7 +364,7 @@ Sutton 经典书籍(Reinforcement Learning: An Introduction) 定义:
316364
- 正在通过**训练优化**的 policy 定义为**training policy**
317365
- 如果这两个policy 一样,该算法就被称之为`On-policy`, 否则该学习算法是一个`Off-policy` 算法。
318366

319-
强化学习的常用算法可以总结为
367+
强化学习常用算法总结
320368
- ![img](https://pic4.zhimg.com/80/v2-fd9c6780ca1b41ffe5498a4e14d0feeb_1440w.webp)
321369

322370
按照学习方式划分:`在线策略`(On-Policy) vs `离线策略`(Off-Policy)
@@ -349,14 +397,64 @@ on-policy 和 off-policy 核心区别: 数据**采样**策略(Policy)与**
349397
- off-policy:数据来源灵活,可以重复使用过去的经验,样本效率更高,但需要处理分布偏移带来的额外复杂性。
350398

351399

352-
### 数据: Online RL VS Offline RL
400+
#### 同策略
401+
402+
同策略(On-policy)
403+
404+
同策略方法中,行为策略与目标策略相同,采集数据的策略与用于更新的策略一致
405+
406+
典型算法:
407+
- REINFORCE、A2C、PPO
408+
409+
训练流程:
410+
- 使用当前策略πn与环境交互,采集数据 (s_i, a_i, r_i, s'_i)
411+
- 使用采集到的数据更新策略参数的
412+
- 更新后的策略再次与环境交互,采集新数据
413+
- 循环往复
414+
415+
优点:
416+
- 采样分布与训练策略一致,减少了分布偏移问题。
417+
- 理论分析更简单,收敛性更容易保证。
418+
419+
缺点:
420+
- 采集数据成本高,旧数据几乎不能重复利用。
421+
- 探索效率低,因为每次更新都需要新的交互数据。
422+
423+
424+
#### 异策略
353425

426+
异策略(Off-policy)
354427

355-
RL中, online和offline有什么区别?
428+
异策略方法中,行为策略 拍πx与目标策略πn可以不同。常见做法是使用一个(或多个)行为策略采集数据,并将数据存入经验回放缓冲区,然后从缓冲区中采样数据用于训练目标策略。
429+
430+
典型算法:
431+
- Q-learning、DQN、DDPG、SAC、TD3。
432+
433+
训练流程:
434+
- 使用行为策略πx与环境交互,生成数据
435+
- 将数据存入 Replay Buffer
436+
- 从 Replay Buffer 中采样数据,训练目标策略πn
437+
- 行为策略可以是目标策略的旧版本,也可以是固定的探索策略
438+
439+
优点:
440+
- 数据可多次利用,大大提高采样效率。
441+
- 可使用历史数据(甚至是别的策略生成的数据)。
442+
- 更容易实现并行训练。
443+
444+
缺点:
445+
- 存在分布偏移风险,需要重要性采样或其他修正方法。
446+
- 理论分析复杂,稳定性稍弱于同策略方法。
447+
448+
449+
### Online RL VS Offline RL
450+
451+
在线 online 和 offline 有什么区别?
356452

357453
`在线强化学习`(Online Reinforcement Learning)和`离线强化学习`(Offline Reinforcement Learning)是强化学习领域的两种不同学习范式
358454

359-
主要区别: 如何使用经验数据(即智能体与环境交互产生的状态、动作、奖励序列)来训练模型。
455+
主要区别: <span style='color:red'>如何使用经验数据</span>(即智能体与环境交互产生的状态、动作、奖励序列)来训练模型。
456+
457+
#### 总结
360458

361459
|对比维度|**在线**强化学习|**离线**强化学习|
362460
| ---- | ---- | ---- |
@@ -367,6 +465,49 @@ RL中, online和offline有什么区别?
367465
|**策略优化自由度**|可根据即时反馈灵活调整策略,在策略空间探索更灵活|受限于已收集数据的策略空间,难以评估未覆盖动作,优化策略较保守|
368466

369467

468+
#### 在线强化学习
469+
470+
在线强化学习核心思想:边交互、边学习
471+
472+
训练过程中,智能体不断从环境中获取新数据(状态、动作、奖励、下一状态),并利用这些数据**即时**更新策略。
473+
474+
由于策略的更新会影响下一轮采样分布,数据是**实时**生成并适配当前策略的
475+
476+
特点:
477+
- 数据是边生成边使用的,即实时性强
478+
- 训练过程与数据采集紧密耦合
479+
- 策略更新会立即影响之后的交互数据分布
480+
481+
优点:
482+
- 数据分布与当前策略高度一致,训练稳定性好(尤其在同策略方法中)
483+
- 能适应动态变化的环境
484+
485+
缺点:
486+
- 数据采集成本高,需要实时与环境交互(在现实系统中可能昂贵或危险)
487+
- 需要高效的采集策略,避免探索不足
488+
489+
#### 离线强化学习
490+
491+
离线强化学习核心思想:用**已有**数据集直接训练策略,不需要训练过程中与环境交互。
492+
493+
数据通常来自**历史记录****模拟器**运行结果或其他策略生成的轨迹
494+
495+
特点:
496+
- 数据在训练前已经完全收集完毕。
497+
- 训练过程完全离线进行,不与环境交互。
498+
499+
优点:
500+
- 不需要实时交互,成本低
501+
- 可用已有大规模历史数据(如推荐系统、机器人日志数据)
502+
- 安全性高,适合真实世界中无法频繁试错的任务(如自动驾驶)
503+
504+
缺点:
505+
- 数据分布固定,缺乏探索能力
506+
- 容易出现分布偏移,即训练数据的状态-动作分布与策略部署时的不一致
507+
- 对数据质量依赖极高
508+
509+
510+
370511
#### Online RL VS Online Policy
371512

372513
on/off-policy 和 online/offline 区别

0 commit comments

Comments
 (0)