一种基于忆阻交叉阵列的q学习系统的制作方法

文档序号:6739326阅读:220来源:国知局
专利名称:一种基于忆阻交叉阵列的q学习系统的制作方法
技术领域
本发明涉及一种存储矩阵和智能学习算法。
背景技术
强化学习是一种高级的智能学习算法,近年来被广泛的应用于智能机器人领域,成为研究的热点。1954年,Minsky提出了 SNARCs的强化学习计算模型。接着,Sutton在其博士论文中提出了 AHC算法和TD学习算法。后来,Watkins等人在TD学习算法的基础上,提出了目前强化学习算法中的经典算法-Q学习算法,Q学习算法是强化学习发展过程中的一个重要里程碑。Q学习算法提出后,很多研究者将Q学习算法应用于移动机器人的导航,机器人足球系统和智能I/O的调度。但是强化学习也有其自身的局限性,当问题较为复杂时,它需要大量的状态-动作存储空间。1971年,Chua根据电路的完备性理论,提出了第四 种电路兀件-忆阻器(L. 0. Chua. Memristor-the missing circuit element. IEEE Trans.Circuit Theory. 1971,18(5) :507-519.)。2008年,HP实验室成功制造了第一个物理实现的忆阻器,此后忆阻器引起了广泛的关注。忆阻器具有纳米尺寸、非线性特性,其阻值随着输入激励的变化而变化,并且这种变化是非易失性的,因此忆阻器非常适合用来设计大规模存储器。忆阻器交叉阵列是忆阻器存储器中的一种,它的结构简单,设计方便。胡小方等人利用忆阻器交叉阵列实现了图像的存储(胡小方,段书凯,王丽丹,等.忆阻器交叉阵列及在图像处理中的应用.中国科学F辑信息科学.2011,41 (4) :500-512.)。由于忆阻器具有纳米尺寸,因此忆阻器交叉阵列能够做成大规模存储器,可以解决强化学习在解决复杂问题时,需要大量的状态-动作存储空间的问题,因此,利用忆阻交叉阵列来实现Q学习是一种好的选择。HP忆阻器的物理模型如图I所示,忆阻器由掺杂区和非掺杂区两部分组成。其中w和D分别表示忆阻器中掺杂区域的宽度和忆阻器的总宽度。其数学模型如下M{t) = Ron ~~~ + R()ff(I--~)其中,Roff和Rw分别表示w等于0和D时,忆阻器的阻值。
r n dw{t) UrR0N .,、~=i(t)
dt D这里,ii v表示平均离子的移动,单位为Cm2S4V'Tw = -^[(i (w0))2 ~(R(w)f]
^ A^OFF其中,
^ (r6Df% =,,P,、
2/^(0-1)这里,Tw是输入忆阻器两端的脉冲电压的脉冲宽度,Va是脉冲的幅度,R(W0)表示忆阻器的初始阻值,R(W)表示忆阻器可以达到的阻值,@ =IVf/Rw。
当R(Wtl)小于等于R(W)时,可以得到R(W) =, Rm < R(w) < Roff因此,当Tw —定时,随着Va的变化,忆阻器的阻值会发生变化,并且这种变化是非易失性的。忆阻器存储电路如图2和图3所示。写入数据的电路如图2所示,读出数据的电路如图3所示。当写入数据时,给忆阻器加上一个正的电压脉冲,R(W)会减小,因此忆阻器会记忆所加电压脉冲。当读出数据时,忆阻器的阻值不同,得到的Vrat也不同,Vwt与忆阻器的阻值之间形成了一个对应关系,因此能够正确反映忆阻器的阻值大小,也即忆阻器存储值的大小。忆阻器的阻值会随着输入激励的变化而变化,而且这种变化是非易失性;因此,忆阻器具有非常好的存储特性。并且,忆阻器具有纳米尺寸,非常适合用在大规模存储器中。而忆阻交叉阵列就是一个忆阻器作存储器的例子。忆阻交叉阵列的结构如图4所示,每一个圆形区域代表的电路如图5所示。在图5中,读\写开关是写入数据和读出数据的控制开关。当给某一个忆阻器写入数据时,开关接左边的点,此时,对应的行线输入写数据电压Vin;当读出某一个忆阻器的数据时,开关接右边的点,此时,对应的行线输入读数据电压Vin,对应的列线输出电压V。#

发明内容
本发明的目的是提供一种实现Q学习算法的基于忆阻交叉阵列的Q学习系统。为了实现上述目的,采用以下技术方案一种基于忆阻交叉阵列的Q学习系统,包括忆阻交叉阵列,其特征在于所述系统还包括读写选择开关控制忆阻交叉阵列的读写操作;状态选择开关状态检测模块检测当前环境状态st,通过状态选择开关,选择相应的行线;列选择开关当需要对Q值,也即对忆阻交叉阵列的某一个忆阻值进行更新时,列选择开关选择动作at所对应的列线。延迟单元将选择的列线的电压延迟一个时间步长;状态检测模块检测当前的环境状态,并且保存上一个环境状态。当需要根据状态选择动作时,状态检测模块检测当前环境状态,并将此状态提供给状态选择开关和状态控 制开关。当执行动作以后,状态选择开关检测此时的环境状态,并且保存上一个环境状态,并将此时的环境状态提供给状态选择开关和状态控制开关。当对Q值进行更新的时候,状态检测模块输出前一个时刻的环境状态,并提供给状态选择开关,选择相应的行线。本发明将新的电路元件-忆阻器成功应用到了强化学习中,解决了强化学习需要大量的存储空间问题,为以后强化学习的研究提供了一种新的思路。


图I为HP忆阻器的物理模型结构图;图2为忆阻器写数据时的电路图3为忆阻器读数据时的电路图;图4为忆阻交叉阵列的结构示意图;图5为忆阻交叉阵列中单个忆阻电路图;图6为本发明的结构示意图;图7为本发明实施例中机器人和障碍物的结构示意图; 图8为本实施例的仿真结果。
具体实施例下面结合附图和具体实施例对本发明做进一步描述。Q学习算法是强化学习算法中的一个经典算法,Q学习中最简单的一种形式为单步Q学习,其Q值的更新公式为Q(st, at) = Q (st, at) + a (rt+1+ y maxQ (st+1, a) -Q (st, at))其中,a为学习率,y为折扣率。rt+1表示在状态St执行动作at所获得环境的奖励。Q(st, at)表示动作状态对值函数,即在状态st,执行动作at,所得到的值的大小。强化学习的局限在于需要大量的存储空间,而新的电路元件-忆阻器,具有纳米尺寸和存储特性,基于忆阻器的交叉阵列具有大量的存储空间和并行处理能力,非常适合用来解决这个问题。在Q学习算法中,每执行一个动作,会得到环境的奖励值,并选择当前状态-动作对中的最大Q值和获得的奖励去更新前一个状态和选择的动作对的Q值。而用忆阻交叉阵列去实现Q学习时,每一个忆阻器的输出电压代表所对应的状态-动作对的Q值。根据忆阻器的存储原理,可以知道掉电之后阻值不会改变,因此只需在忆阻器两端加上写电压Vi= a (r+ y maxV (st+1, a) -V (st, at))就可以去对st和at所对应的忆阻器的阻值进行更新,从而改变该忆阻器的输出电压 V(st,at),也即 Q(st,at)值。忆阻交叉阵列实现Q学习的过程如图6所示。忆阻交叉阵列中,每一条行线对应一个状态S,每一条列些对应一个动作a,其具体实现过程如下所示(I)读写选择开关选择读有效,机器人中的状态检测模块检测当前环境状态St,通过状态选择开关,选择相应的行线;(2)列选择开关选择所有列,通过状态控制开关将列线连接到随机选择模块,随机选择模块根据每个列线电压的大小随机的选择,电压越大的列线被选择的几率越大,最后随机选择出一个列线,根据选择的列线,得到执行的动作at,机器人执行动作at。也可以在设定的某些状态时,通过状态控制开关将列线连接到比较器模块,选择出电压最大的列线,再通过连接选择开关将该列线连接到延迟单元。通过状态选择开关、随机选择模块、比较器、连接选择模块就可以实现强化学习中的e -greedy策略。(3)将选择的列线连接到延迟单元,延迟单元对列线的电压延迟一个时间步长;(4)状态检测模块检测当前环境状态,机器人进入状态st+1,此时状态控制开关将列线连接到比较器,通过比较器,选择电压最大的列线,通过连接选择模块将该列线连接到Q值更新模块,Q值更新模块将该电压与延迟单元的输出电压以及获得环境的奖励按照式
(7)进行计算,得到写电压
(5)读写选择开关选择写有效,将写电压Vi加在忆阻器的两端,时间为Tw。(6)重复上面的过程,直到达到设定的次数。机器人避障实验是要让机器人在有障碍的环境中实现无碰撞的行走。本实验采用基于忆阻交叉阵列的Q学习来实现机器人的学习,并最终实现无障碍的行走,本实验使用mobotsim 软件。在图7中,圆形区域表示机器人,机器人上有三个传感器,数字0-2分别对应3个传感器,每一个传感器能够检测的最大距离是I. 5米,黑色区域表示障碍物。在本实验中,把每一个传感器检测到的与障碍物的距离划分为3段,如下所示
权利要求
1. 一种基于忆阻交叉阵列的Q学习系统,包括忆阻交叉阵列,其特征在于所述系统还包括 读写选择开关控制忆阻交叉阵列的读写操作; 状态选择开关状态检测模块检测当前环境状态&,通过状态选择开关,选择相应的行线. 列选择开关当需要对Q值,也即对忆阻交叉阵列的某一个忆阻值进行更新时,列选择开关选择动作at所对应的列线; 延迟单元将选择的列线的电压延迟一个时间步长; 状态检测模块检测当前的环境状态,保存上一个环境状态,当需要根据状态选择动作时,状态检测模块检测当前环境状态,并将此状态提供给状态选择开关和状态控制开关,执行动作以后,状态选择开关检测此时的环境状态,保存上一个环境状态,并将此时的环境状态提供给状态选择开关和状态控制开关;当对Q值进行更新的时候,状态检测模块输出前一个时刻的环境状态,并提供给状态选择开关,选择相应的行线。
全文摘要
本发明公开了一种基于忆阻交叉阵列的Q学习系统,包括忆阻交叉阵列,其特征在于所述系统还包括读写选择开关控制忆阻交叉阵列的读写操作,状态选择开关状态检测模块检测当前环境状态st,通过状态选择开关,选择相应的行线;列选择开关当需要对Q值,也即对忆阻交叉阵列的某一个忆阻值进行更新时,列选择开关选择动作at所对应的列线。延迟单元将选择的列线的电压延迟一个时间步长;状态检测模块检测当前的环境状态,保存上一个环境状态,。本发明将新的电路元件—忆阻器成功应用到了强化学习中,解决了强化学习需要大量的存储空间问题,为以后强化学习的研究提供了一种新的思路。
文档编号G11C16/34GK102723112SQ20121018857
公开日2012年10月10日 申请日期2012年6月8日 优先权日2012年6月8日
发明者何朋飞, 段书凯, 王丽丹, 钟宇平 申请人:西南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1