我知道 deepmind 在其 Atari 游戏 AI 中使用了深度 Q 学习 ( DQN )。它使用卷积神经网络Q(s,a)
(CNN)从像素而不是 Q 表进行近似。我想知道 DQN 如何将输入转换为动作。CNN 有多少输出?他们是如何训练神经网络进行预测的?
以下是我认为在 DQN 内部发生的步骤:
1)一张游戏图片(一个状态)作为输入值发送到CNN
2) CNN 将输出预测为动作(例如:左、右、射击等)
3)模拟器应用预测的动作并移动到新的游戏状态
4)重复步骤1
我上述逻辑的问题在于第 2 步。CNN 用于预测动作,但 CNN 何时进行预测训练?
如果您使用较少的数学进行解释,我会更喜欢。
编辑
我想添加更多关于同一主题的问题
1) 神经网络中的奖励是如何传递的?那就是神经网络如何知道它的输出动作是获得正奖励还是负奖励?
2) 神经网络有多少输出以及如何从这些输出中确定动作?