| 第96行: |
第96行: |
| | [[文件:Algorithmdqn.jpg|缩略图|算法流程,引自<ref name="dqn"></ref>|替代=|500x500像素]] | | [[文件:Algorithmdqn.jpg|缩略图|算法流程,引自<ref name="dqn"></ref>|替代=|500x500像素]] |
| | [[文件:Dqn算法流程.jpg|缩略图|算法流程示意图,引自<ref name="dqn"></ref>|替代=|500x500像素]]1. 初始化阶段 | | [[文件:Dqn算法流程.jpg|缩略图|算法流程示意图,引自<ref name="dqn"></ref>|替代=|500x500像素]]1. 初始化阶段 |
| − | *回放记忆库(Replay Memory):创建容量为N的经验存储库D,用于缓存历史转移数据。 | + | *回放记忆库(Replay Memory):创建容量为<math>N</math>的经验存储库<math>D</math>,用于缓存历史转移数据。 |
| | *动作-价值函数网络: | | *动作-价值函数网络: |
| − | **主网络Q:随机初始化网络参数θ,负责实时动作选择和价值估计。 | + | **主网络<math>Q</math>:随机初始化网络参数θ,负责实时动作选择和价值估计。 |
| | **目标网络<math>Q^{-}</math>:初始参数<math>θ^{-}</math>,用于稳定化计算目标Q值。 | | **目标网络<math>Q^{-}</math>:初始参数<math>θ^{-}</math>,用于稳定化计算目标Q值。 |
| − | **超参数设定:设置训练总回合数M、单回合最大步数T、目标网络同步频率C、折扣因子γ、探索率ϵ等。 | + | **超参数设定:设置训练总回合数M、单回合最大步数T、目标网络同步频率<math>C</math>、折扣因子<math>γ</math>、探索率<math>ϵ</math>等。 |
| | | | |
| | 2. 回合(Episode)循环 | | 2. 回合(Episode)循环 |
| − | 对每个回合episode=1,2,...,M执行: | + | 对每个回合episode=1,2,...,<math>M</math>执行: |
| | 状态预处理:初始化环境观测<math>x_{1}</math>,通过预处理函数<math>ϕ</math>生成初始状态表征<math>ϕ_{1}=ϕ(s_{1})</math>。 | | 状态预处理:初始化环境观测<math>x_{1}</math>,通过预处理函数<math>ϕ</math>生成初始状态表征<math>ϕ_{1}=ϕ(s_{1})</math>。 |
| | | | |
| 第114行: |
第114行: |
| | **执行动作a<sub>t</sub>,获取奖励r<sub>t</sub>和下一帧图像<math>x _{t+1}</math>。 | | **执行动作a<sub>t</sub>,获取奖励r<sub>t</sub>和下一帧图像<math>x _{t+1}</math>。 |
| | **预处理下一状态<math> ϕ_{t+1}=ϕ(s_{t+1})</math>。 | | **预处理下一状态<math> ϕ_{t+1}=ϕ(s_{t+1})</math>。 |
| − | *存储转移数据:将转移元组<math>(ϕ_{t},a_{t},r_{t},ϕ_{t+1})</math>存入回放记忆库D。 | + | *存储转移数据:将转移元组<math>(ϕ_{t},a_{t},r_{t},ϕ_{t+1})</math>存入回放记忆库<math>D</math>。 |
| | *经验回放与网络更新: | | *经验回放与网络更新: |
| | **随机采样:从D中均匀抽取小批量转移<math>(ϕ_{j},a_{j},r_{j},ϕ_{j+1})</math>。 | | **随机采样:从D中均匀抽取小批量转移<math>(ϕ_{j},a_{j},r_{j},ϕ_{j+1})</math>。 |
| − | **目标Q值计算: <math> y_{j} = r_{j} + γ /max_{a} Q^{-}(ϕ_{j+1}, a) </math> | + | **目标Q值计算: <math> y_{j} = r_{j} + γ /max _{a} Q^{-}(ϕ_{j+1}, a) </math> |
| − | **[https://baike.baidu.com/item/梯度下降?fromModule=lemma_search-box 梯度下降]: <math> ∇_{θ} 1/ {|B|} {/sum} (y_j-Q(ϕ_j,a_j;θ)^2 </math> ,B为batch数据 | + | **[https://baike.baidu.com/item/梯度下降?fromModule=lemma_search-box 梯度下降]: <math> ∇_{θ} 1/ {|B|} /sum (y_j-Q(ϕ_j,a_j;θ)^2 </math> ,B为batch数据 |
| | *目标网络同步:每隔C步将主网络参数θ复制至目标网络Q<sup>-</sup>,即θ<sup>-</sup>←θ。 | | *目标网络同步:每隔C步将主网络参数θ复制至目标网络Q<sup>-</sup>,即θ<sup>-</sup>←θ。 |
| | | | |