深度Q网络(DQN)及其改进方法详解
1. 深度Q网络(DQN)基础
深度Q网络(DQN)是一种强大的强化学习算法,与SARSA有诸多相似之处,但也存在关键差异。DQN利用下一个状态的最大Q值来计算Q目标值,这使得它能够学习到最优Q函数,而不是对应于当前策略的Q函数,因此属于离策略算法。
1.1 经验回放机制
DQN的一个重要特性是经验回放,它允许智能体重用之前存储在经验回放内存中的经验。以下是经验回放采样的代码示例:
# slm_lab/agent/memory/replay.py
class Replay(Memory):
...
@lab_api
def sample(self):
self.batch_idxs = self.sample_idxs(self.batch_size)
batch = {}
for k in self.data_keys:
if k == 'next_states':
batch[k] = sample_next_states(self.head, self.max_size,
self.ns_idx_offset, self.batch_idxs, self.states,
self.ns_buffer)
else:
超级会员免费看
订阅专栏 解锁全文
19

被折叠的 条评论
为什么被折叠?



