一种基于忆阻器的神经元电路的制作方法

文档序号:12597490阅读:632来源:国知局
一种基于忆阻器的神经元电路的制作方法与工艺

本发明属于模拟数字电路领域和新兴电路技术领域,更具体地,涉及一种基于忆阻器的神经元电路。



背景技术:

忆阻器最先由加州大学伯克利分校的蔡少棠(Leon.O.Chua)教授于1971年从理论上推导得到。2008年,惠普实验室第一次制造出了真正意义上的实物忆阻器。忆阻器是一个动态元件,对它施加外部电压时,忆阻值会随着施加电压的方向增大或减小。因此,用忆阻器的忆阻值来表示神经网络中突触连接的权重的强和弱是一个合适的选择。

人工神经网络(Artificial Neural Network,ANN),是20世纪80年代以来人工智能领域兴起的研究热点。它是根据生物神经网络(Biological Neural Network,BNN)的特点建立起的具有强大的运算能力,且能够借助于信息技术实现的运算模型。一个大型的人工神经网络能够解决模式识别,信号处理,联想记忆等方面的问题。

神经网络中的单个神经元分为两个部分:突触部分,和神经元激活函数部分。突触连接在神经元的输入端,一个神经元可以有多个突触连接作为输入。突触的作用通过突触权重表现出来,权重越大的突触对神经元的作用越强。当信号通过突触,信号与突触权重做乘积,得到的结果传输到神经元激活函数部分。神经元激活函数部分,首先是将各个突触的乘积信号进行求和,然后根据激活函数将得到的求和信号变换为需要的输出。大量的神经元通过突触连接在一起组成一个大型的神经网络,以此解决复杂的问题。例如,用现有的计算机难以解决的旅行商问题,使用Hopfield神经网络可以很快速的得到结果。因此,单个神经元电路的设计对于实现大规模的神经网络非常重要。

使用忆阻器作为突触,已经有几种不同的神经元电路实现方式。

Kurtis D.Cantley等,设计了一种Leaky Integrate-and-Fire神经元电路。此神经元电路需要7种不同的电源电压供电,而且供电电源电压的精确度要求很高。例如,其中需要一种电源电压为0.35V,这种电源电压在工程中实现比较困难,不利于电路实现。由于其设计的神经元电路,没有严格的数学关系的描述,神经元也没有激活函数,因此不能够应用到实际中组成大规模的神经网络解决现实问题。

韩国KIM教授团队设计了一种神经元电路。其突触电路由桥式连接的四个忆阻器组成,突触电路连接到后续的电路组成神经元电路,这种神经元电路只实现了输入信号的求和,没有为神经元设计激活函数电路。而且,这种神经元的信号输入端和突触权重的改变端是在同一个端口,因此,神经元对输入信号的响应和突触权重的改变(即改变桥式突触中的四个忆阻器的忆阻值)需要分为两步来完成,神经元的运行速度比较低。

S.G.Hu等,设计了一种神经元电路,并用它组成Hopfield神经网络。但是,在神经元电路运行时,突触权重(忆阻器的忆阻值)需要通过仪器进行离线调节(需要把忆阻器从电路中单独拿出来,改变完忆阻值之后再放置到电路中)用这种方法设计的神经元只能用于验证设计的效果,不能应用到实际的电路中。

在中国发明专利CN104335224A中公开了一种神经元电路,但是这种神经元电路模块较多,实施复杂,不便于组成大型网络。



技术实现要素:

针对现有技术的缺陷,本发明的目的在于提供一种基于忆阻器的神经元电路,旨在解决基于忆阻器的神经元,突触电路不能与现有的数字逻辑电平兼容,神经元电路中的忆阻值不能同步在线调节,没有以饱和线性函数为激活函数的电路,神经网络算法不便于加载到神经元电路中的问题。

本发明提供了一种基于忆阻器的神经元电路,包括:n个突触电路,神经元激活函数电路和突触权重控制电路,每个突触电路具有一个输入端、一个反馈端和一个输出端,突触电路的输入端用于接收输入电压,突触电路的反馈端连接至所述突触权重控制电路的输出端;所述神经元激活函数电路具有n个输入端和一个输出端,分别与所述突触电路的输出端一一对应连接,所述神经元激活函数电路的输出端作为神经元电路的输出端,所述突触权重控制电路的输入端连接至所述神经元激活函数电路的输出端;所述突触电路用于将输入信号和突触权重做乘积后输出,所述神经元激活函数电路用于将n个乘积信号相加后再根据激活函数的关系得到神经元输出;所述突触权重控制电路用于根据神经元的输出反馈产生控制信号,并调整所述突触权重。

更进一步地,n个突触电路的结构相同,每个所述突触电路包括:第一MOS管T1、第二MOS管T2、第三MOS管T3、第四MOS管T4、反相器M1、电阻R1、运算放大器A1和忆阻器Rm1;所述反相器M1的输入端用于接收控制信号VC1,所述第一MOS管T1的控制端连接至所述反相器M1的输出端,所述第一MOS管T1的一端用于接收输入电压,所述第一MOS管T1的另一端连接至所述忆阻器Rm1的正极;所述第二MOS管T2的一端连接至所述第一MOS管T1的一端,所述第二MOS管T2的另一端连接至所述忆阻器Rm1的负极,所述第二MOS管T2的控制端连接至所述反相器M1的输入端;所述第三MOS管T3的控制端连接至所述反相器M1的输入端,所述第三MOS管T3的一端连接至所述忆阻器Rm1的负极,所述第三MOS管T3的另一端连接至所述运算放大器A1的同相输入端;所述第四MOS管T4的一端连接至所述忆阻器Rm1的正极,所述第四MOS管T4的另一端连接至所述运算放大器A1的同相输入端,所述第四MOS管T4的控制端连接至所述反相器M1的输出端;所述电阻R1的一端连接至所述运算放大器A1的同相输入端,所述电阻R1的另一端接地;所述运算放大器A1的反相输入端连接至其输出端,所述运算放大器A1的输出端作为所述突触电路的输出端。

更进一步地,所述神经元激活函数电路包括:电阻R7、电阻R8、运算放大器A4和电压求和电路;所述电压求和电路具有n个输入端和一个输出端,所述电压求和电路的n个输入端分别作为所述神经元激活函数电路的n个输入端,所述电压求和电路的输出端连接至所述运算放大器A4的同相输入端,所述电阻R7和所述电阻R8依次串联连接在地与所述运算放大器A4的输出端之间,且所述电阻R7和所述电阻R8的串联连接端与所述运算放大器A4的反相输入端连接,所述运算放大器A4的输出端作为所述神经元激活函数电路的输出端。

更进一步地,所述电压求和电路包括:电阻R9和n个第一电阻;n个第一电阻的一端作为所述电压求和电路的n个输入端,n个第一电阻的另一端均连接并作为所述电压求和电路的输出端;所述电阻R9的一端连接至n个第一电阻的另一端,所述电阻R9的另一端接地。

更进一步地,所述突触权重控制电路包括:微控制器,所述微控制器的输入端作为所述突触权重控制电路的输入端,所述微控制器的输出端作为所述突触权重控制电路的输出端。

更进一步地,工作时,将n个输入信号的电压与对应的突触权重做乘积后求和,激活函数将求和得到的结果进行变换作为神经元的输出。神经元的输出反馈到突触权重控制电路,以此产生控制信号来改变突触权重。

更进一步地,在突触权重控制电路的微控制器中,通过加载神经网络算法来调整突触权重,实现相应的功能。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得在控制突触权重和组成大型神经网络时,具有良好的效果:

(1)突触电路中的忆阻值可以在线调节。

(2)该神经元电路在现有的数字逻辑电压下工作,只需要一般的数字电压如5V。

(3)神经元可以同时实现响应输入信号和突触权重调节。

(4)设计了饱和线性函数功能的神经元激活函数电路。

(5)可以在数字控制电路中加载神经网络算法(如Widrow-Hoff算法)来调整权值,同时该神经元便于组成大型神经网络。

附图说明

图1是本发明所设计的神经元电路的结构图。

图2是本发明所设计的神经元的具体实现电路图,图中的神经元带有三个输入突触。

图3是本发明所设计的神经元中突触电路的电路图。

图4是本发明所设计的神经元中激活函数电路的电路图。

图5是本发明所设计的神经元电路能够实现的数学功能图。

图6是本发明所设计的神经元中突触权重控制电路的结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明的目的在于提供一种基于忆阻器的神经元电路。可以直接用现有的数字电路产生控制信号来控制突触电路中忆阻器的忆阻值变化。突触电路中,忆阻器的忆阻值可以进行在线调节,即,在电路运行时对忆阻值进行调节。该神经元的输入信号端和突触权重调整控制端为不同的端口,因此,它可以同时实现响应输入信号和突触权重调整。利用运算放大器的输出电压受到电源电压限制这一特点,设计了神经元激活函数为饱和线性函数。由于这种设计可以将数字逻辑技术与忆阻器相结合,因此,可以在突触权重控制电路中加载神经网络算法来调整突触权重,实现相应的功能。

图1是本发明所设计的神经元电路的结构图。如图1所示,神经元电路由突触电路,神经元激活函数电路和突触权重控制电路三个部分组成。突触电路将输入信号和突触权重做乘积,输出到下一级。神经元激活函数电路将得到的乘积信号求和之后,再根据激活函数的关系得到神经元输出。突触权重控制电路根据神经元的输出反馈产生控制信号,调整突触权重。当信号VI1-VIn输入到n个突触电路,这n个突触电路的结构是相同的,VI1-VIn分别与n个突触权重做乘积后输出。这n个乘积信号在神经元激活函数电路中进行求和,得到的求和信号按照激活函数的函数关系映射为一定的电压输出。这个输出电压同时反馈到突触权重控制电路,在突触权重控制电路中,可以根据神经网络的突触权重更新算法(如Widrow-Hoff算法)得到权重需要改变的量,然后电路通过产生控制信号的时间来将突触权重改变到相应的值。

为了将神经元电路说明的更加清楚,这里以n=3为例,介绍了带有三个输入突触的神经元电路。具体的电路图如图2所示。下面将分模块介绍所发明的神经元电路。

因为三个突触电路的结构是相同的,这里只取第一个突触电路进行阐述,第一个突触电路的电路图如图3所示。VI1是输入信号,VI1连接第一MOS管T1和第二MOS管T2的源极。第一MOS管T1的漏极连接忆阻器Rm1的“+”端,第二MOS管T2的漏极连接忆阻器Rm1的“-”端。第三MOS管T3的漏极连接忆阻器Rm1的“-”端,第四MOS管T4的漏极连接忆阻器Rm1的“+”端,第三MOS管T3和第四MOS管T4的源极连接电阻R1的一端。电阻R1的这一端连接到运算放大器A1的同相端,电阻R1的另一端接地,A1的反相端连接A1的输出端。T1和T2是P型MOS管,T3和T4是N型MOS管。控制信号VC1连接反相器M1的输入端,第二MOS管T2的栅极和第三MOS管T3的栅极。反相器M1的输出端连接第一MOS管T1的栅极和第四MOS管T4的栅极。

VC1和M1共同控制T1,T2,T3,T4的导通与截止。T1,T2的栅极电平的逻辑状态相反,保证在VC1作用下,两个PMOS管中只有一个导通。同样的连接,保证VC1作用下,T3,T4中只有一个导通。当VI1为高电平时,如果控制信号VC1为高电平,则反相器M1输出低电平。在这种状态下。T1和T3导通,T2和T4截止。电流从T1,忆阻器,T3和R1流入接地端。在这种情况下,忆阻器的阻值增大。相反的,如果控制信号VC1为低电平,则反相器Mb1输出高电平,T1和T3截止,T2和T4导通,忆阻器的忆阻值处于减小状态。当VI1为低电平时,无论控制信号VC1为高电平或低电平,忆阻器中没有电流通过,忆阻器的阻值都不会发生变化。因此,对于突触电路,当有输入信号时,即输入信号为高电平时,只需要改变控制信号的电平,就可以实现突触权重的在线方式调节。

T1-T4,忆阻器Rm1和电阻R1组成一个分压器,当忆阻器的忆阻值增大时,R1上分得的电压减小。相反的,当忆阻器的忆阻值减小时,R1上分得的电压增大。R1上的分压为下式:

MOS管T1-T4都工作在导通或截止状态,因为导通状态的MOS管的等效电阻非常小,相对于忆阻器Rm1和电阻R1的阻值可以忽略这个等效电阻,因此,这里假设处于导通状态的晶体管的等效电阻为0。当忆阻器阻值不变,即,输入信号为零时,电阻R1上的分压为0V。

电阻R1上的分压连接到运算放大器A1的同相端,运算放大器A1连接成一个电压跟随器,将电阻R1上的分压复制到运算放大器的输出端。电压跟随器的作用是将分压器和后面的神经元电路隔离,避免了两者之间的相互干扰,也提高了突触电路的带负载能力。

神经元激活函数电路如图4所示。A,B,C分别代表三个突触电路的输出电压,A连接到第一电阻R4的一端,B连接到第二电阻R5的一端,C连接到第三电阻R6的一端。R4,R5,R6的另一端连接到第四电阻R9的一端,R9的这一端同时连接到运算放大器A4的同相端,R9的另一端接地。第五电阻R7的一端接地,另一端连接第六电阻R8的一端和运算放大器的反相端。R8的另一端连接到运算放大器的输出端。

电阻R4,R5,R6,R9组成一个电压求和电路,将A,B,C端的电压以一定的关系相加。这里假设R4,R5,R6,R9的电阻是相等的设为R,则电压的相加关系如下:

运算放大器A4,R7和R8组成一个电压放大电路,将电压VR9放大一定的倍数。这里设定R8的阻值是R7的两倍,因此,VR9被放大两倍。

运算放大器的输出电压受到电源电压的限制,当经过放大后的输出电压大于运算放大器的电源电压时,输出被限制在正的电源电压。同样地,当放大后的输出电压小于0V,会被限制在0V。由于求和所得到的电压被放大两倍,因此,求和后的电压在0V到电源电压的一半之间时,该电压会被线性放大。如果求和后的电压大于电源电压的一半,则输出会被限制在电源电压。当求和后的电压小于0V时,输出被限制在0V。由此可以得到此神经元的激活函数是饱和线性函数。饱和线性函数的数学表达式如下:

因此,对于这个带有三个突触的神经元电路,它的输入电压和输出电压之间的关系可以由如下公式表示:

运算放大器的电源电压为Vdd,这里将突触权重定义为:

这个带有三个突触的神经元电路实现的数学功能如图5所示。VI1,VI2,VI3是三个输入信号,分别与三个突触权重W1,W2,W3做乘积。然后,将得到的乘积进行求和,再按照线性饱和函数的约束得到神经元的输出电压Vout

神经元的突触权重控制电路如图6所示,神经元的输出信号反馈到神经元的突触权重控制电路的输入端,在微控制器的输入端对这个电压进行A/D转换送入加载了神经网络算法(如Widrow-Hoff算法)的微控制器内部。在微控制器中,将采集到的电压与设定的目标电压比较。然后,根据两者之间的误差,转化为控制信号VC1,VC2,VC3的电平持续时间,来控制相应的忆阻值的变化。

当输入信号作用到神经元时,神经元输出对应的电压值响应输入信号。同时,突触权重控制电路输出控制信号,控制对应突触权重的增加或减小。这样,所设计的神经元电路就实现了输入信号的响应和突触权重改变同时进行。本电路中的输入信号,控制信号都是数字逻辑信号,逻辑信号的高电平设定为Vdd,同样设定运算放大器的电源电压为Vdd,这样只使用一种电压就能完成神经元的功能。因为输入和控制信号都是逻辑信号,突触权重控制电路是由微控制器构成的,因此,所设计的神经元便于与现有的电路连接,且容易扩展成大型的神经网络。

本发明提供了一种基于忆阻器的神经元电路,所设计的神经元电路具有新型的突触电路,具有以饱和线性函数为功能的神经元激活函数电路,用数字芯片实现的突触权重控制电路。此神经元电路有很强的扩展性,便于组合实现大型的神经网络。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1