| 第98行: |
第98行: |
| | *回放记忆库(Replay Memory):创建容量为<math>N</math>的经验存储库<math>D</math>,用于缓存历史转移数据。 | | *回放记忆库(Replay Memory):创建容量为<math>N</math>的经验存储库<math>D</math>,用于缓存历史转移数据。 |
| | *动作-价值函数网络: | | *动作-价值函数网络: |
| − | **主网络<math>Q</math>:随机初始化网络参数θ,负责实时动作选择和价值估计。 | + | **主网络<math>Q</math>:随机初始化网络参数<math>θ</math>,负责实时动作选择和价值估计。 |
| | **目标网络<math>Q^{-}</math>:初始参数<math>θ^{-}</math>,用于稳定化计算目标Q值。 | | **目标网络<math>Q^{-}</math>:初始参数<math>θ^{-}</math>,用于稳定化计算目标Q值。 |
| | **超参数设定:设置训练总回合数M、单回合最大步数T、目标网络同步频率<math>C</math>、折扣因子<math>γ</math>、探索率<math>ϵ</math>等。 | | **超参数设定:设置训练总回合数M、单回合最大步数T、目标网络同步频率<math>C</math>、折扣因子<math>γ</math>、探索率<math>ϵ</math>等。 |
| 第116行: |
第116行: |
| | *存储转移数据:将转移元组<math>(ϕ_{t},a_{t},r_{t},ϕ_{t+1})</math>存入回放记忆库<math>D</math>。 | | *存储转移数据:将转移元组<math>(ϕ_{t},a_{t},r_{t},ϕ_{t+1})</math>存入回放记忆库<math>D</math>。 |
| | *经验回放与网络更新: | | *经验回放与网络更新: |
| − | **随机采样:从D中均匀抽取小批量转移<math>(ϕ_{j},a_{j},r_{j},ϕ_{j+1})</math>。 | + | **随机采样:从<math>D</math>中均匀抽取小批量转移<math>(ϕ_{j},a_{j},r_{j},ϕ_{j+1})</math>。 |
| − | **目标Q值计算: <math> y_{j} = r_{j} + γ /max _{a} Q^{-}(ϕ_{j+1}, a) </math> | + | **目标<math>Q</math>值计算: <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>←θ。 | + | *目标网络同步:每隔<math>C</math>步将主网络参数<math>θ</math>复制至目标网络Q<sup>-</sup>,即θ<sup>-</sup>←θ。 |
| | + | <math>/max</math> |
| | | | |
| | ==Q-Learning 基础== | | ==Q-Learning 基础== |