一种神经元编码电路的制作方法

文档序号:16694537发布日期:2019-01-22 19:22阅读:183来源:国知局
一种神经元编码电路的制作方法

本发明属于集成电路技术领域,具体涉及一种神经元编码电路。



背景技术:

神经网络是一种模仿生物神经网络的结构和功能的数学模型或计算模型,主要根据大量的人工神经元联结进行计算。通常,人工神经网络能在外界信息的基础上改变内部结构,是一种自适应系统。

传统的神经网络是一种运算模型,由大量的节点相互联接构成。每个节点代表一种特定的输出函数,称为激励函数;每两个节点间的连接都代表一个对于通过该连接信号的加权值,称为权重,相当于人工神经网络的记忆。网络的输出则是根据网络的连接方式、权重值和激励函数的不同而不同。而网络自身是对自然界某种算法或函数的逼近,或者是对一种逻辑策略的表达。

而在脉冲神经网络中,神经元传递的是脉冲,每个神经元有一个膜电位,当神经元接收输入脉冲时,膜电位会发生变化。而当神经元的膜电位达到一个阈值时,便会发送脉冲,传递至下一个神经元。脉冲神经网络传递的一个个脉冲形成了一个脉冲序列,而单个脉冲之间的时间间隔是不确定的,脉冲序列中包含了时间信息,这是传统的神经网络不能表达的。此外,脉冲神经网络中的每个神经元只有在接收到脉冲信号时,才会进行计算,与传统神经网络的繁琐计算量相比,功耗更低,计算速度更快。

然而,目前脉冲神经网络暂时没有找到一个较好的训练算法,特别是需要训练深层网络时。而传统人工神经网络借助统计与优化等数学工具得到了充分发展,训练得到的效果比脉冲神经网络更好。因此,通常需要将训练好的人工神经网络映射为脉冲神经网络,以避免直接训练脉冲神经网络。但是,目前在将人工神经网络映射为脉冲神经网络时,通常采用模数转换器进行采样、数字处理器进行编码,将人工神经网络的模拟输入信号转换为脉冲以实现对脉冲神经网络的识别;该电路结构复杂,功耗大。



技术实现要素:

本发明的目的在于,针对背景技术中提到的脉冲神经网络训练困难的问题,提出了一种神经元编码电路,该电路通过将传统神经网络中一个神经元的值编码形成脉冲神经网络可识别的脉冲信号,电路结构简单,功耗低。

为实现上述目的,本发明采用的技术方案如下:

一种神经元编码电路,其特征在于,包括信号采集模块、脉冲编码模块、膜电位检测模块和脉冲发放模块,所述脉冲编码模块包括频率编码器、脉宽调节器和灵敏度调节单元;

所述信号采集模块的输入端与传统神经网络输出端相连,输出端耦接至频率编码器;频率编码器的灵敏度控制端与灵敏度调节单元相连,输出端与脉宽调节器相连;所述脉冲发放模块耦接至脉冲编码模块的输出端,控制端与膜电位检测模块相连;脉冲发放模块的输出端与脉冲神经网络相连;

传统神经网络输出的模拟电压信号,经信号采集模块滤波处理后,输出稳定的控制电压信号vin;灵敏度控制信号k经灵敏度调节单元后,输出电流信号;控制电压信号vin和经灵敏度调节单元输出的电流信号输入至频率编码器,经频率编码器量化编码处理后,输出频率与控制电压信号vin呈现sigmoid函数关系的模拟信号f(k,vin),其中k是灵敏度控制信号(该模拟信号为带频率信息的正弦信号);脉宽调节器接收频率编码器输出的模拟信号f(k,vin)和脉宽控制信号vref,输出频率与模拟信号f(k,vin)相同、脉冲宽度与脉宽控制信号vref正相关的脉冲信号;所述膜电位检测模块实时检测膜电位的值(脉冲编码模块输出的脉冲信号对电容充电),当膜电位大于或等于阈值电压时,将发放信号ready使能;所述脉冲发放模块接收脉宽调节器输出的脉冲信号,并在发放信号ready使能时,将该脉冲信号传递给脉冲神经网络。

进一步地,所述灵敏度控制信号k是一个模拟电压信号,电压值范围为0v~vcc,其中vcc是电源电压值。

进一步地,所述灵敏度调节单元输出的电流信号的电流值与灵敏度控制信号k正相关。

进一步地,频率编码器接收的控制电压信号vin的电压值范围是0~vcc;频率编码器输出的模拟信号f(k,vin)的最大频率与灵敏度调节单元输出的电流信号的电流值正相关。

进一步地,所述脉宽控制信号vref是一个模拟电压信号,电压值范围为0v~vcc,其中vcc是电源电压值。

进一步地,所述脉冲编码模块中,可以根据应用场景,选择不同的灵敏度控制信号k,输出最大频率不同的脉冲信号。

进一步地,所述脉冲编码模块中,可以根据应用场景,选择不同的脉宽控制信号vref,输出脉宽不同的脉冲信号。

进一步地,所述膜电位检测模块可以根据应用场景,设定不同的阈值电压。

进一步地,所述信号采集模块接收传统神经网络输出的模拟电压信号,并提取出该模拟电压信号的直流分量、滤除该模拟电压信号的高频分量,输出稳定的控制电压信号vin。

进一步地,所述灵敏度调节单元用于控制频率编码器输出的模拟信号f(k,vin)的最大频率和最小频率。

进一步地,所述脉宽调节器用于将频率编码器输出的模拟信号f(k,vin)变成脉冲信号并通过改变脉宽控制信号vref的大小来改变脉冲信号的占空比。

进一步地,所述灵敏度调节单元具有一个电压输入端和一个电流调节信号输出端,将接收到的电压信号转换成可以控制编码模块灵敏度的电流调节信号。

进一步地,所述频率编码器具有一个电压控制信号输入端口、一个电流调节信号输入端口以及一个模拟信号输出端口。电压控制信号输入端口和电流调节信号输入端口分别接收信号采集模块输出的电压信号和灵敏度调节单元输出的电流调节信号并对接收到的信号进行编码,通过模拟信号输出端口输出编码之后的模拟信号f(k,vin)。

进一步地,所述脉宽调节器具有一个模拟信号输入端口、一个脉宽控制端口以及一个脉冲信号输出端口,模拟信号输入端口可以接收频率编码器输出的模拟信号f(k,vin),并根据脉宽控制信号vref的大小输出相应脉宽的脉冲信号。

进一步地,所述脉冲发放模块包括发放信号接收端口和开关电路。所述发放信号接收端口用于接收脉宽调节器输出的脉冲发放信号,模拟真实神经元受到刺激时的响应;所述开关电路,用于根据发放信号的状态控制接收到的脉冲信号是否向后传递。

进一步地,所述开关电路在发放信号无效时开关关闭,接收到的脉冲信号不向后传递。

进一步地,所述开关电路在发放信号ready使能时开关打开,接收到的脉冲信号向后传递给脉冲神经网络。

本发明的有益效果为:

本发明提出了一种神经元编码电路,该电路通过将传统神经网络中一个神经元的值编码形成脉冲神经网络可识别的脉冲信号,相比于传统采用数字处理的方法,具有电路结构简单、频率覆盖范围广、功耗低等优点。

附图说明

图1为本发明提供的一种神经元编码电路的电路结构图;

图2a为本发明实施例提供的一种神经元编码电路的电路结构图;

图2b为图2a编码电路中低通滤波器的具体结构示意图;

图2c为图2a编码电路中环形振荡器的示意图;

图2d为实现图2c中基本单元的一种电路结构示意图;

图2e为实现图2d中快慢通路的一种电路结构示意图;

图2f为实现图2d中增益控制的一种电路结构示意图;

图2g为实现图2a编码电路中脉宽调节的一种电路结构示意图;

图2h为图2a编码电路中脉冲发放模块的结构示意图;

图3为本发明实施例提供的一种神经元编码电路中,脉冲信号的输出频率与控制电压信号vin以及灵敏度控制信号k的调谐曲线。

具体实施方式

为了使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施方式做进一步详细的说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

如图1所示,为本发明提供的一种神经元编码电路的电路结构图;包括信号采集模块、脉冲编码模块、膜电位检测模块和脉冲发放模块。

信号采集模块与传统神经网络的输出端相连,用于采集传统神经网络输出的模拟电压信号,并对传统神经网络输出的电压进行滤波处理,输出稳定的控制电压信号vin。

脉冲编码模块耦接到信号采集模块的输出端,接收控制电压信号vin,然后对控制电压信号vin进行量化编码,输出频率与控制电压信号vin呈现sigmoid函数关系的脉冲信号。

膜电位检测模块实时检测膜电位的值,当膜电位大于或等于阈值电压时,将发放信号ready使能。

脉冲发放模块耦接到脉冲编码模块的输出端,接收脉冲编码模块输出的脉冲信号,并在发放信号ready使能时,将脉冲信号传递给脉冲神经网络。

所述脉冲编码模块包括灵敏度调节单元,频率编码器和脉宽调节器。

灵敏度调节单元接收灵敏度控制信号k,输出电流信号;频率编码器接收控制电压信号vin和灵敏度调节单元输出的电流信号,输出频率与控制电压信号vin呈现sigmoid函数关系的模拟信号f(k,vin),其中k是灵敏度控制信号;脉宽调节器接收频率编码器输出的模拟信号f(k,vin)和脉宽控制信号vref,输出频率与模拟信号f(k,vin)相同、脉冲宽度与脉宽控制信号vref正相关的脉冲信号。

本发明实施例提供了一种神经元编码电路,包括信号采集模块、脉冲编码模块、膜电位检测模块以及脉冲发放模块;

所述信号采集模块,具有一个电压输入端和一个电压输出端,能够用于接收输入电压,并对输入电压进行平滑处理,提取出稳定的直流分量;

所述脉冲编码模块,耦接到所述信号采集模块的输出端,能够实现脉冲输出,并用于对输入电压进行编码处理,实现输出频率与输入电压的函数拟合;

所述脉冲发放模块,耦接到所述脉冲编码模块的输出端,用于对输入的脉冲信号进行控制,模拟真实神经元的脉冲发放机制。

本实施例中,所述信号采集模块的电压输入端耦接到传统神经网络的输出端,用于采集传统神经网络输出的模拟电压信号。

本实施例中,所述信号采集模块能够允许输入的电压信号有一定的波动。

本实施例中,所述信号采集模块接收传统神经网络输出的模拟电压信号,并提取出该模拟电压信号的直流分量、滤除该模拟电压信号的高频分量,输出稳定的控制电压信号vin。

本实施例中,所述脉冲编码模块包括灵敏度调节单元、频率编码器和脉宽调节器;

所述灵敏度调节单元用于控制频率编码器输出的模拟信号f(k,vin)的最大频率和最小频率。

所述频率编码器,用于对信号采集模块输出的电压信号进行频率编码,使输出信号f(k,vin)的频率与控制电压信号vin呈现出sigmoid函数关系。

本实施例中,所述脉宽调节器用于将频率编码器输出的模拟信号f(k,vin)变成脉冲信号并通过改变脉宽控制信号vref的大小来改变脉冲信号的占空比。

本实施例中,所述灵敏度调节单元具有一个电压输入端和一个电流调节信号输出端,将接收到的电压信号转换成可以控制编码模块灵敏度的电流调节信号。

本实施例中,所述频率编码器具有一个电压控制信号输入端口、一个电流调节信号输入端口以及一个模拟信号输出端口。电压控制信号输入端口和电流调节信号输入端口分别接收信号采集模块输出的电压信号和灵敏度调节单元输出的电流调节信号并对接收到的信号进行编码,通过模拟信号输出端口输出编码之后的模拟信号f(k,vin)。

本实施例中,所述脉宽调节器具有一个模拟信号输入端口、一个脉宽控制端口以及一个脉冲信号输出端口,模拟信号输入端口可以接收频率编码器输出的模拟信号f(k,vin),并根据脉宽控制信号vref的大小输出相应脉宽的脉冲信号。

本实施例中,所述脉冲发放模块包括发放信号接收端口和开关电路。所述发放信号接收端口用于接收脉宽调节器输出的脉冲发放信号,模拟真实神经元受到刺激时的响应;所述开关电路,用于根据发放信号的状态控制接收到的脉冲信号是否向后传递。

本实施例中,所述开关电路在发放信号无效时开关关闭,接收到的脉冲信号不向后传递。

本实施例中,所述开关电路在发放信号ready使能时开关打开,接收到的脉冲信号向后传递给脉冲神经网络。

图2a为本发明实施例提供的一种神经元编码电路的电路结构图;该电路的每个模块可以根据实际需要采用不同的电路结构。其中,信号采集模块、脉冲编码模块和脉冲发放模块分别采用低通滤波器、环形压控振荡器以及传输门来实现。具体的,传统神经网络输出的模拟电压信号1,经过低通滤波器滤除电压信号1中的高频分量,输出一个稳定的控制电压信号vin到2;从6输入一个灵敏度控制信号k,通过差分对管实现电流相加减,在7产生一个电流信号;控制电压信号vin2和经差分对管输出的电流信号7输入至环形振荡器,环形振荡器的电流受2、7两处信号的控制,在3输出一个频率受控于控制电压信号vin和k的信号f(k,vin);电压比较器比较3和8电压值的大小,输出脉宽与8电压相关的脉冲信号到4;传输门根据9的状态开启或关闭实现4到5的通断控制,即信息是否向后传递。

图2b为图2a编码电路中低通滤波器的具体结构示意图,本实施例信号采集模块采用如图2b所示的三阶无源低通滤波器;三阶无源低通滤波器结构简单,且可以较好的滤除输入信号中的高频抖动。1接收传统神经网络输出的模拟电压信号,在2处输出一个稳定的控制电压信号vin,其传输函数为:

式中,s为拉普拉斯变换的复频率,根据理论分析以及实际工程经验可知,c1远大于c2、c3,r1大于r3,基于式(1)可以简化为:

式(2)中,

可以通过调节r1、r3、c1、c2、c3的值使整个系统的传输函数变得合理,输出比较稳定的控制电压信号vin。

图2c为图2a编码电路中环形振荡器的示意图;其中2、3、6分别为低通滤波器输出的控制电压信号vin、振荡器输出信号f(k,vin)和灵敏度控制信号k。图2c中基本单元包括用于灵敏度调节的差分对管和用于构成振荡器的差分放大器。放大器工作在不同频率时有不同的相位移动,如果放大器本身的输出在高频时相位移动太大而使整个负反馈变成了正的,那么振荡就会发生。根据“巴克豪森准则”:

|h(jω0)|≥1(3)

∠h(jω0)=180°(4)

式中,jω0为复频率。那么在角频率ω0处,闭环增益趋近无穷大。在此条件下,电路将其自身在ω0处的噪声分量无限放大。由于一个极点最多贡献90°的相移(在频率无穷大处),如果要满足巴克豪森准则,至少需要三个反相放大器依次串联成环,这就构成了最基本的环形振荡器。本实施例所采用的就是三级反相放大器构成的环形振荡器,但是要电路起振还必须同时满足环路增益大于1。三级反向放大器的开环传输函数:

式中,a0表示每个放大器的低频增益,ωp表示每个放大器的输出极点。只有在频率相关的相移等于180°时电路才振荡,也就是每级60°。发生振荡的频率可以由下式给出:

式中,ωosc表示发生在振荡的角频率,每级的最小电压增益必须使环路增益在频率ωosc处等于1:

由式(7)和(8)得到

a0=2(9)

也就是说,三级环形振荡器要求每级电路的低频增益为2,其振荡频率为随着振幅的增加,电路逐步工作到达信号状态。假设每级的延时为td,则产生的振荡周期为6td。振荡频率由原来的移到了1/6td,以此类推,n级振荡器的频率fosc=(2ntd)-1。因此,改变了td就改变了振荡频率。

图2d为实现图2c中基本单元的一种电路结构示意图;本实施例采用了插值法改变延时td,每个基本单元由一个快路径和一个慢路径组成,两路输出相加,它们的增益由控制电压信号vin分别朝反方向调节。控制电压信号vin的一种极端情况是:只有快路径导通,慢路径关断,产生最大的振荡频率。相反的,在另一种极端的情况下,只有慢路径导通,快路径关断,产生最小的振荡频率。如果控制电压信号vin落在两个极端之间,每个路径都部分导通而总延时是两者延时的加权和,则产生中间频率。同时,快路径和慢路径的最大增益调节范围受到k的控制,因此可以通过改变k的值进而改变输出频率的对控制电压信号vin响应的灵敏度,拟合出不同中心斜率的sigmoid函数。

图2e为实现图2d中快慢通路的一种电路结构示意图;每条通路可以简单地用差分对实现,其增益由尾电流控制。其中mn1、mn4构成快通路,其增益受尾电流iss1控制。mn2、r1、mn3、r2构成慢通路,其增益受尾电流iss2控制。mn1与mn2尺寸相同,mn3与mn4尺寸相同,所以差分对本身的寄生参数对延时的影响是相同的,由于慢通路中加入了电阻r1和r2引入了额外的阻容延时,所以速度比快通路要慢,且仅与电阻的阻值相关。

图2f为实现图2a中k与控制电压信号vin控制增益的一种实现方式,k控制流过差分对管mp1、mp2的电流比,6的电压升高(降低)时mp1的过驱动电压减小(增大),流过mp1的电流减小imp1减小(增大),由于iss=imp1+imp2为定值,所以流过mp2的电流imp2增大(减小),进一步的,流入7的电流增大(减小),产生一个电流调节信号,也可以采用其他结构产生电流调节信号。流入7的电流imp2按比例分别流入mn8和mn9,通过2处控制电压信号vin的控制流入mn8和mn9电流的大小向相反的方向变化。mn8和mn9的电流通过电流镜按比例镜像到iss1和iss2,进一步的,控制放大器的增益,改变延时,从而改变频率。

本实施例中,当k值固定时,随着控制电压信号vin的升高,流过mn8的电流增大,流过mn9的电流减小,进一步的,镜像到iss1的电流增大,镜像到iss2的电流减小,慢通路逐渐向快通路转换,输出频率逐渐增加,最终由最达到由k值决定的最大频率。如图3中曲线2所示。当k值增大时,流入7的电流增大,控制电压信号vin可调节的总电流增大,单位电压调节范围增大,输出频率曲线变的更陡峭,总调节范围增加,如图3中曲线1所示。当k值减小时,流入7的电流减小,控制电压信号vin可调节的总电流减小,单位电压调节范围减小,输出频率曲线变的更平缓,总调节范围减小,如图3中曲线3所示。

图2g为实现图2a编码电路中脉宽调节的一种电路结构示意图;通过比较3和8电压的大小,控制3比8电压高(低)时输出高(低)电平,从而实现脉宽调节。

图2h为图2a编码电路中脉冲发放模块的结构示意图;开关电路使用了传输门作为开关,也可以使用更为复杂的电路来实现开关电路,以达到更好的控制开关的效果。

需要说明的是,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。

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

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