掌桥专利:专业的专利平台
掌桥专利
首页

一种实现sigmoid激活函数的电路

文献发布时间:2023-06-19 11:57:35


一种实现sigmoid激活函数的电路

技术领域

本发明涉及集成电路设计技术领域,特别是涉及一种实现sigmoid激活函数的电路。

背景技术

随着信息技术的飞速发展,神经网络的发展也日新月异。大体上,神经网络经历过三个阶段,其概念的提出始于1943年,W.S.McCulloch和W.Pitts提出了M-P模型,该模型根据生物神经元的结构和工作机理构造了一个简化的数学模型,而神经网络陷入低谷是因为人们发现其不能处理异或问题;到了20世纪80年代末,得益于反向传播算法的提出,神经网路的研究迎来了第二次春天,但是由于计算量的限制,神经网络的热度逐渐减小;21世纪以来,随着GPU的出现,计算量大不再是神经网络的限制,直到2016年,AlphaGo战胜了李世石让神经网络和人工智能的发展如火如荼,越来越多的科研工作者参与到神经网络的研究中。

神经网络可以应用于图像识别、自然语言处理、模式识别、文本处理、自动驾驶等领域,目前对于神经网络的研究,大都集中于算法层面,研究理论情况下将神经网络模型在计算机中串行/并行处理,鲜有对于实际全定制电路实现的考虑。

激活函数是神经网络必不可少的一层,其作用主要是改变数据之间的线性关系,完成数据的非线性变换,解决模型分类准确率低的问题,使得多层网络结构有了实际意义,而不是简单的单层感知机。随着存算一体思想的发展,科研工作者们开始把神经网络中的矩阵乘法操作放入存储器中,这样做可以减小时间开销,增大能效,而对于网络中的其他层,人们依旧用代码处理,其缺点显而易见:无法电路实现全定制神经网络加速器,矩阵乘法之后的数据依旧要通过外围电路来回搬运,极大地增加了能耗。

发明内容

本发明所要解决的技术问题是提供一种实现sigmoid激活函数的电路,能够用硬件电路实现神经网络中的sigmoid激活函数。

本发明解决其技术问题所采用的技术方案是:提供一种实现sigmoid激活函数的电路,包括:二极管电路,包括第一二极管、第二二极管和第三二极管;所述二极管电路配置成所述第一二极管与所述第二二极管电流之和为所述第三二极管电流的形式;电流传输电路,用于为所述二极管电路的输入端提供电流;输入电流-电压转换电路,用于将所述二极管电路的输入端的电流转换为输入电压,将所述二极管电路的输出端的电流转换为输出电压;电压除法电路,用于输出所述输入电压和输出电压的比值。

所述第一二极管的正极作为所述二极管电路的输入端,所述第二二极管的正极接地,所述第一二极管负极与所述第二二极管的负极接在一起,并接到所述第三二极管的正极,所述第三二极管的负极作为所述二极管电路的输出端;所述第一二极管、第二二极管和第三二极管完全相同。

所述电流传输电路包括第一运算放大器和MOS管;当所述MOS管为N型MOS管时,所述第一运算放大器的反相输入端与所述MOS管的源极相连,并接入所述二极管电路的输入端,所述第一运算放大器的正相输入端接输入电压,所述第一运算放大器的输出端连接所述MOS管的栅极,所述MOS管的漏极作为所述电流传输电路的输出端;当所述MOS管为P型MOS管时,所述第一运算放大器的正相输入端与所述MOS管的源极相连,并接入所述二极管电路的输入端,所述第一运算放大器的反相输入端接输入电压,所述第一运算放大器的输出端连接所述MOS管的栅极,所述MOS管的漏极作为所述电流传输电路的输出端。

所述电流-电压转换电路包括第一电流镜和第二电流镜,所述第一电流镜的参考端与所述二极管电路的输入端相连,输出端与第一电阻的一端相连,所述第一电阻的另一端接地;所述第二电流镜的参考端与所述二极管电路的输出端相连,输出端与第二电阻的一端相连,所述第二电阻的另一端接地;所述第一电流镜的输出端和第二电流镜的输出端还与所述电压除法电路的输入端相连。

所述第一电流镜和第二电流镜均为共源共栅电流镜。

所述电流-电压转换电路包括第一电流镜和加减运算电路,所述第一电流镜的参考端与所述二极管电路的输入端相连,输出端与第一电阻的一端相连,所述第一电阻的另一端接地;所述二极管电路的输出端与第二电阻相连,所述第二电阻的两端与所述加减运算电路的输入端相连;所述加减运算电路的输出端和所述第一电流镜的输出端还与所述电压除法电路的输入端相连。

所述第一电阻和第二电阻的阻值相同。

所述电压除法电路包括第一输入端口、第二输入端口、输出端口、第二运算放大器和模拟乘法器,所述第二运算放大器的正相输入端通过第四电阻与所述第一输入端口相连,反相输入端通过第六电阻接地,输出端与所述输出端口相连;所述模拟乘法器采用NMOS型吉尔伯特单元构成,包括两个输入端和一个输出端,其中,一个输入端与所述第二运算放大器的输出端相连,另一个输入端与所述第二输入端口相连,输出端经过第五电阻与所述第二运算放大器的正相输入端相连;所述第四电阻、第五电阻和第六电阻的阻值相同。

有益效果

由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明利用二极管电流与两端电压成指数关系的特点,构造了sigmoid函数表达式,相比于代码层面实现的激活函数,其电路电路实现的方法有助于实现针对特定应用的全定制神经网络加速器,从而加速训练过程,减少与外围电路的数据交互,降低能耗。

附图说明

图1是本发明实施方式的电路结构图;

图2是本发明实施方式中电流传输电路采用PMOS输入时的电路结构图;

图3是本发明实施方式中电流镜采用共源共栅的电路结构图;

图4是本发明实施方式中电流传输电路采用PMOS输入的共源共栅的电路结构图;

图5是本发明实施方式中电压除法电路的电路结构图;

图6是本发明实施方式中采用单个电流镜的电路结构图;

图7是本发明实施方式中电流传输电路采用PMOS输入的单个电流镜的电路结构图;

图8是本发明实施方式中采用单个共源共栅的电路结构图;

图9是本发明实施方式中电流传输电路采用PMOS输入的单个共源共栅的电路结构图。

具体实施方式

下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

本发明的实施方式涉及一种实现sigmoid激活函数的电路,如图1所示,包括:二极管电路,包括第一二极管、第二二极管和第三二极管;所述二极管电路配置成所述第一二极管与所述第二二极管电流之和为所述第三二极管电流的形式;电流传输电路,用于为所述二极管电路的输入端提供电流;输入电流-电压转换电路,用于将所述二极管电路的输入端的电流转换为输入电压,将所述二极管电路的输出端的电流转换为输出电压;电压除法电路,用于输出所述输入电压和输出电压的比值。

本实施方式中的二极管电路中的第一二极管、第二二极管和第三二极管完全相同。其中,第一二极管的正极作为二极管电路的输入端,第二二极管的正极接地,第一二极管负极与第二二极管的负极接在一起,并接到第三二极管的正极,第三二极管的负极作为所述二极管电路的输出端。

本实施方式中的电流传输电路包括第一运算放大器和MOS管。其中,MOS管可以是N型MOS管,也可以是P型MOS管。当MOS管为N型MOS管时,所述第一运算放大器的反相输入端与所述MOS管的源极相连,并接入所述二极管电路的输入端,所述第一运算放大器的正相输入端接输入电压,所述第一运算放大器的输出端连接所述MOS管的栅极,所述MOS管的漏极作为所述电流传输电路的输出端。当所述MOS管为P型MOS管时,所述第一运算放大器的正相输入端与所述MOS管的源极相连,并接入所述二极管电路的输入端,所述第一运算放大器的反相输入端接输入电压,所述第一运算放大器的输出端连接所述MOS管的栅极,所述MOS管的漏极作为所述电流传输电路的输出端。

如图1所示,本实施方式中的电流-电压转换电路包括第一电流镜和第二电流镜,所述第一电流镜的参考端与所述二极管电路的输入端相连,输出端与第一电阻的一端相连,所述第一电阻的另一端接地;所述第二电流镜的参考端与所述二极管电路的输出端相连,输出端与第二电阻的一端相连,所述第二电阻的另一端接地;所述第一电流镜的输出端和第二电流镜的输出端还与所述电压除法电路的输入端相连。

如图5所示,本实施方式中的电压除法电路包括第一输入端口A、第二输入端口B、输出端口OUT、第二运算放大器OP1和模拟乘法器Mul1,所述第二运算放大器OP1的正相输入端通过第四电阻R4与所述第一输入端口A相连,反相输入端通过第六电阻R6接地,输出端与所述输出端口OUT相连;所述模拟乘法器Mul1采用NMOS型吉尔伯特单元构成,包括两个输入端和一个输出端,其中,一个输入端Ux与所述第二运算放大器OP1的输出端相连,另一个输入端Uy与所述第二输入端口B相连,输出端Uo经过第五电阻R5与所述第二运算放大器OP1的正相输入端相连;所述第四电阻R4、第五电阻R5和第六电阻R6的阻值相同,使得OUT=-Va/Vb,对该值取绝对值即可得到Va/Vb的比值。

图1所示的实施方式中电流传输电路的MOS管采用NMOS管,电流镜采用两个普通的电流镜,第一运算放大器OP2的反相输入端和NMOS管M1的源极相接,接到第一二极管D1的输入端,NMOS管M1的栅极和第一运算放大器OP2的输出端相接,PMOS管M2和PMOS管M3构成电流-电压转换电路中的第一电流镜,第二二极管D2正极接地,负极与第一二极管D1的负极接在一起,并接到第三二极管D3的输入;NMOS管M5和NMOS管M6构成电流-电压转换电路中的第二电流镜,NMOS管M1的漏极和PMOS管M2的漏极相接,第一电流镜的输出通过NMOS管M4接到第一电阻R7上;第二电流镜的参考输入与第三二极管D3的负极相接,第二电流镜的输出通过NMOS管M7接到第二电阻R8上;第一电阻R7和第二电阻R8上的电压分别接到电压除法电路的输入端口A和输入端口B,在电压除法电路Vol_Div1的输出端得到两个电压的数值比值结果Vout=Va/Vb=Ia/Ib

具体分析,当二极管两端加正向电压,且V

其中,I

在上述前提下,第二二极管D2的电流与电压公式为:

其中,I

由于本实施方式中第一二极管D1、第二二极管D2和第三二极管D3完全相同,所以I

第三二极管D3的电流与第一二极管D1和第二二极管D2的关系为:

第一二极管D1和第三二极管D3的电流比值为:

电压除法电路的输入输出关系式为

而sigmoid函数关系式为

即电压除法电路的输出与sigmoid函数的输出形式是完全吻合的。

图2所示的实施方式,其电流传输电路中的MOS管采用PMOS,与图2中不同,运算放大器的同相输入端与反相输入端的接法与其相反,同样构成负反馈,使得电路稳定。

对图1和图2进行分析,要保证电流镜电路的MOS管参数L足够长,尽可能的减小沟道调制效应,实现电流的更好复制。由于沟道长度调制效应的存在,普通电流镜电路的电流复制可能不够理想,因此在本实施方式中电流镜可以采用共源共栅电流镜,如图3所示。

图4所示的实施方式,其电流传输电路中的MOS管采用P型MOS管,本实施方式同样使用共源共栅电流镜替代普通电流镜电路。

为了进一步减小电流复制失调带来的精度问题,在图1的基础上,设计了以下实施方式:

如图6所示,其中,电流-电压转换电路包括第一电流镜和加减运算电路,所述第一电流镜的参考端与所述二极管电路的输入端相连,输出端与第一电阻R7的一端相连,所述第一电阻R7的另一端接地;所述二极管电路的输出端与第二电阻R8相连,所述第二电阻R8的两端与所述加减运算电路的输入端相连;所述加减运算电路的输出端和所述第一电流镜的输出端还与所述电压除法电路的输入端相连。该方式保留第一电流镜,将第二电阻R8放在第三二极管D3支路上,将第二电阻R8两端电压输入一个加减运算电路,得到的输出电压即为第二电阻R8两端的电压,本实施方式减少了一路电流的复制,可以一定程度上减小失调。

图7所示的实施方式,其电流传输电路中的MOS管采用PMOS,其他部分与图6中相同。图8所示的实施方式,与图6不同的是,第一电流镜采用共源共栅电流镜。图9所示,其电流传输电路中的MOS管采用PMOS,其他部分图8中相同。

不难发现,本发明利用二极管电流与两端电压成指数关系的特点,构造了sigmoid函数表达式,相比于代码层面实现的激活函数,其电路电路实现的方法有助于实现针对特定应用的全定制神经网络加速器,从而加速训练过程,减少与外围电路的数据交互,降低能耗。

相关技术
  • 一种实现sigmoid激活函数的电路
  • 一种基于线性分段的激活函数的硬件实现电路和方法
技术分类

06120113112372