- 文献综述(或调研报告):
经过大量地资料查询和文献阅读,决定采用DQN算法设计决策系统:
Q-learning是一种典型的与模型无关的强化学习算法,由Watkins[1]在1989年提出。该算法首先建立一张Q值表,然后通过机器人与环境交互,得到奖赏函数值,通过不断迭代修改Q值表,使选择正奖赏的动作的概率不断增加,随着不断与环境交互,更改动作策略集,使机器人的动作最终趋于最优动作集。Q-learning采用状态-动作对Q(s,a)迭代方式来获得最优策略。算法在每一次迭代时需要考察每一个状态-动作对Q(s,a)的值。
Q-learning算法的基本形式为Q(st,at)=Q(st,at) alpha;[rt gamma;maxaQ(st 1,a)-Q(st,at)] (1)
式中,st为t时刻的状态,在状态st下执行动作at,状态改变为st 1,同时得到奖励值rt;rt是对状态st 1的评估,表示机器人由当前状态执行动作到下一个状态所获得的奖励值;动作aisin;A,A为动作空间;状态st,st 1isin;S,S为状态空间;alpha;为学习率,alpha;越大Q值收敛越快,但越容易产生振荡;maxaQ(st 1,a)表示从动作集A中选择一个动作A使得Q(st 1,a)的取值最大;gamma;为折扣因子,表示未来奖励对当前动作的影响程度[2]。
式(1)可变形成Q(st,at)=(1-alpha;)Q(st,at) alpha;[rt gamma;maxaQ(st 1,a)] (2)
Q-learning借助式(2)更新,最终整个Q值表会达到一个极限△Q=rt gamma;maxaQ(st 1,a)-Q(st,at),当Q值不断迭代更新,n→infin;时,Q(st,at)将以概率1收敛于最优值,即Q(st,at)=rt gamma;maxaQ(st 1,a) (3)
由式(3)可知,Q-learning算法前一个状态的收敛依赖于后一个状态,与初值无关,并且无需知道模型就可以保证收敛。但是该算法存在这样一个瓶颈,用表格来存储每一个状态state,和在这个state每个行为action所拥有的Q值。而机器人的决策问题实在太复杂,如果全用表格来存储它们,内存是一个不可忽视的问题,而且每次在这么大的表格中搜索对应的状态也是一件很耗时的事。
DQN是Q-learning的变体算法[3],它融合了神经网络[4]和Q-Learning,以卷积神经网络为载体,用参数为w的f网络近似代替值函数,公式为f(s,a,w)=Q*(s,a) (4)
f(s,a,w)可以是任何类型的函数,通过函数近似替代,无论状态空间有多大,都可以用神经网络的输出表示Q值,这就是用神经网络近似替代Q值的基本思路,如图1所示。
F(s,a1,w)
课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。