视觉—动作端到端训练
2026/6/6 20:46:00 网站建设 项目流程

1. 先理解什么叫“端到端”

普通强化学习是:st​→at​ 也就是环境直接给状态,比如:st​=[x,v,θ,ω]

视觉端到端强化学习是:It​→at​ 这里:It​ 表示当前画面。at​ 表示智能体选择的动作。


2. DQN:离散动作入门首选

DQN 适合动作是离散的任务。

例如 CartPole 动作是:A={0,1} 也就是左、右两个动作。

Gymnasium 的 CartPole 目标就是通过给小车施加向左或向右的力,让杆子尽量保持直立。

DQN 学的是:Q(s,a) 视觉 DQN 中,输入不是状态 s,而是图像 I:

Q(I,a;θ)

看到图像 I 后,执行动作 a,未来大概能获得多少奖励。

DQN 的动作选择是:

哪个动作的 Q 值最大,就选哪个动作。

DQN 的核心更新目标:

损失函数:

这里:θ 表示当前网络参数。θ− 表示 Target Network 的参数。

Stable-Baselines3 的 DQN 文档也明确写到,DQN 使用 replay buffer、target network 等技巧来稳定神经网络训练,并且支持CnnPolicy处理图像输入。


3. Replay Buffer 是什么

Replay Buffer 可以理解成:

经验池。

智能体每走一步,都会得到一条经验:

这条经验包括:It​ 当前图像。at​ 当前动作。rt​ 当前奖励。It+1​ 下一帧图像。done 这一局是否结束。

Replay Buffer 会把很多经验存起来:

训练时不是只用最新的一条经验,而是从经验池里随机抽一批:batch∼D

打乱经验顺序,减少数据之间的相关性,让训练更稳定。


4. Target Network 是什么

DQN 有两个网络。

第一个是当前网络:Q(I,a;θ) 它负责预测当前 Q 值,也会被频繁更新。

第二个是目标网络:Q(I,a;θ−)

它负责计算目标值:

Target Network 不会每一步都更新,而是隔一段时间从当前网络复制参数:

让目标值不要变化太快,稳定训练。


5. 视觉 DQN 的完整流程

视觉 DQN 可以写成:

训练流程是:

1. 环境渲染当前图像 I_t 2. 图像 resize、normalize 3. CNN 提取特征 z_t 4. DQN 输出每个动作的 Q 值 5. 用 ε-greedy 选择动作 6. 执行动作,得到奖励 r_t 和下一帧 I_{t+1} 7. 把经验存入 Replay Buffer 8. 从 Replay Buffer 随机抽样训练 9. 用 Target Network 计算目标值 10. 更新当前 Q 网络

6. Actor-Critic

Actor-Critic 是另一类强化学习框架。

它有两个部分:Actor 负责选择动作。Critic 负责评价动作好不好。

Actor 学的是策略:πθ​(a∣s) 视觉任务里写成:πθ​(a∣I)

Critic 学的是价值:Vϕ​(s) 或者:Qϕ​(s,a) 视觉任务里可以写成:Vϕ​(I)

所以 Actor-Critic 的结构是:

然后分成两条路:

Actor 负责做动作,Critic 负责打分。


7. PPO

PPO 是 Actor-Critic 系列里最常用的算法之一。

PPO 的核心思想是:

每次更新策略时,不要让新策略和旧策略差太多。

先记住这个形式:

PPO 直接输出动作概率。

例如 CartPole:π(左∣It​)=0.4 π(右∣It​)=0.6 它会根据概率选择动作。


8. SAC

SAC 主要用于连续动作控制。

比如机器人关节控制,不是简单的左/右,而是输出连续力矩或角速度:

SAC 学的是随机策略:πθ​(a∣s) 视觉任务中:πθ​(a∣I)

SAC 的特点是:既追求高奖励,也鼓励策略保持一定随机性,也就是最大熵思想。

DQN 适合离散动作,PPO 比较通用,SAC 更适合连续动作机器人控制。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询