RL强化学习总结(四)——DQN算法

DQN算法引言

DQN算法,英文全称为Deep Q Network,简称DQN
RL强化学习总结(四)——DQN算法_第1张图片
我们以小鸟飞行的这个小游戏为例,这个游戏中的state是什么呢?
我们定义每四帧画面为一个state,也就是说:四张图片为一个state。每个图片的大小假设为84*84,只要一个图片中的一个像素值发生改变,state就会发生改变。
每个像素值的范围为[0,255],所以每个像素值会有256种可能。那么这个小游戏中的一个state有256^(84 * 84 *4)种可能。这样state的情况就太多了!!!
面临的问题是:
我们Q-Learning算法最终想要构造一个state数量行的矩阵(或者叫Q表),像这个小游戏要是构造Q表的话,Q表的行数就是256^(84 * 84 *4),那么计算机中没有这么大的存储空间,怎么办???
解决方法:
我们可以结合神经网络来解决这个问题,我们将state和action作为神经网络的输入,最终通过神经网络输出对应的Q值即可!
RL强化学习总结(四)——DQN算法_第2张图片
核心:将构造庞大规模的Q表(Q矩阵)转化为构造神经网络

Exploration and Exploitation

Exploration and Exploitation翻译过来是探索与利用。在强化学习中,探索与利用是一个非常重要的问题。
RL强化学习总结(四)——DQN算法_第3张图片
如上图所示,我们从状态2出来,根据Q表,第一次选择的是状态3,到达状态3之后,我们选择的下一个状态是状态1,最终选择的是状态5.
但是我们发现在状态3的时候,我们既可以选择状态1也可以选择状态4。我们没有尝试走状态4这条路径!!!
其实我们尝试一下,走状态4,最终也可以到达状态5。效果是一样的
2->3->1->5
2->3->4->5
我们其实每次采取的都是局部最优的“贪心策略”,保证了每步Q值最大。
在强化学习中叫做Exploitation。
但是很多时候吧,局部最优不代表全局最优!!!
我们引入了Exploration,通过探索新的状态,从而达到全局最优!!!
RL强化学习总结(四)——DQN算法_第4张图片
探索与利用同等重要!!!
解释一下ε-greedy exploration,假设ε=10%,那么我们当面对问题的时候,90%是采取当前的最优选择(也就是Q值最大的那个),10%的概率去随机选取一个可走的状态,从而保证探索与利用并重!!!!

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