Deep Q-Learning深度增强学习算法

DQN算法

由于某些环境中状态过多,通过传统Q-learning的方法,维护一张规模巨大的Q表显然是不现实的。DQN利用神经网络代替了Q表,只需要通过对实际训练的采样数据进行训练,就可以近似模拟Q表的数值

  • 初始化记忆库D
  • 初始化Q估计神经网络 => Q_eval
  • 初始化Q现实神经网络 => Q_real
  • For episode = 1 in M
    • 初始化序列s_t = {x1, x2, … ,xn}
      For step = 1 in T
      • 根据贪心算法选择action => a_t
      • agent执行a_t,得到环境的reward => r_t和下一步的states => s_t_next
      • D中存储与更新样本:{s_t, a_t, r_t, s_t_next}
      • D中随机选择一批样本:{s_j, a_j, r_j, s_j_next}
      • Q_real中,根据Q-learning算法计算状态s_j_next的真实Q值 => Q_real(s_j)
      • Q_eval中,计算状态s_j的Q值 => Q_eval(s_j),与Q_real(s_j) 做差,利用梯度下降算法,优化参数
      • 每隔C步更新神经网络,即将Q_eval的参数赋值给Q_real

以下为英文DQN算法

Deep Q-Learning深度增强学习算法_第1张图片

你可能感兴趣的:(深度学习)