博主的github链接,欢迎大家来访问~:https://github.com/Sh-Zh-7
强化学习经典算法实现地址:https://github.com/Sh-Zh-7/reinforce-learning-impl
上一篇博文的末尾,我们介绍了传统QLearning的劣势——那就是需要维护一个Q表,而对于很多状态,连续动作的情况,我们Q表的大小将会爆炸性地增长。我们微小的内存必然存不下这么大的Q表。所以我们要转换我们的思路。
其实,Q表在之前的QLearning中,只是扮演了一个函数的角色——这句话怎么理解?给定动作和状态,他会给你返回一个价值。
所以我们为什么不直接建立一个函数呢? 这样我们既可以完成Q表的任务,而且也不用爆内存。可选的函数有:线性函数,决策树,最近邻,傅里叶变换,神经网络等。神经网络作为一个universal approximator,自然成了我们的首选,使用神经网络作为函数的Qlearning,就叫Deep Q-Learning(DQN)。
既然我们要使用神经网络,那你总要指定输入和输出吧。这里我们的输入和输出总共有两种:
知道输入输出以后我们还得知道我们的优化目标。其实我们的优化目标和我们的QLearning一样:
我们有:
在线客服
客服咨询
官方微信
返回顶部