精讲DQN-深度强化学习开山之作

目录

应用场景

网络搭建

损失函数

学习过程


应用场景

   Deep Q-Networks: Q-learning的Deep neural networks实现,通过深度学习的方法解决Q-learning的问题。
   了解强化学习的基本背景有利于理解DQN,但并不是必需的;
   以下是Q-learning相关的公式清单,也可以直接跳至最后一行:

公式主要来自吴恩达cs229及Mitchell ML


   在采用深度学习之前,Q-learning可以这样进行:

精讲DQN-深度强化学习开山之作_第1张图片 来自Mitchell的《Machine Learning》

这种Q-table的学习方法,可以证明,最终收敛至Q*(s,a),当S的维度很高时,会使学习变得困难。
DQN是一种Model-Free,针对Action是离散变量的Q-learning学习方法,通过深度神经网络近似Q*(s, a).

网络搭建

神经网络表示Q*(s,a),输入为State即环境状态,常见的图片、文本及特征变量都可以用,网络本身根据输入的不同而设计,
比如CNN、DNN等,输出的维度为actions的维度,表达Q*(s, •)的值,一般结构如下:

精讲DQN-深度强化学习开山之作_第2张图片

损失函数

DQN采用时序差分学习的方法,TD(0)或one-step Temporal Difference Learning;predict network和target network一般采用相同的网络,只是参数不同,target network的参数是本次梯度下降学习之前的网络参数,然后顺次更新
从机器学习的角度看,是个二次凸优化问题,类比于监督学习的Ground Truth,此处为Excepted Return,即:

整体示意图,如下 :

精讲DQN-深度强化学习开山之作_第3张图片

我们学习最终目标还是找到优的π*,如图对于target network的policy π(a|s)采取的是贪心(greedy)方法,选择当前s'下使Q最大的a。

学习过程

一般强化学习每一次机器学习的过程,与监督学习类似,只是参与训练的数据每次都是新鲜的,这样会导致数据利用率很低,同时总是学习相邻的部分数据,由于这些数据容易强相关,导致学不到全局最优。
DQN采用了经验回放的机制,维护一个队列,保留历史Experience(一条完整的用于学习的数据),然后采用ε-greedy机制,贪心和轻微随机采样结合的方法,从队列中提取mini-batch条Experience,供predict network梯度下降学习。
随机采样部分为了保证Agent的探索能力,如下示意图:

精讲DQN-深度强化学习开山之作_第4张图片

可见,predict network和target network采取的policy π,不仅参数不一致,策略也不同,Replay Pool中之前生成sample data的policy与当前predict network采取的policy也不一致,所以DQN是Off-Policy的。

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