System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及集成电路设计,具体涉及集成电路中基于随机逻辑的sigmoid函数实现电路。
技术介绍
1、神经网络是一种模拟人类神经系统的计算模型,由大量的神经元相互连接而成。神经网络可以通过激活函数和权重来调节神经元的输出信号,从而实现自动学习经验的目的。神经网络的结构包括输入层、输出层和中间层,中间层的数量和连接方式可以根据不同的任务进行设计。神经网络可以应用于分类、回归、聚类等多种问题。
2、随着深度神经网络(dnn)研究的不断发展,神经网络模型推理智能物联网设备上得到广泛应用,涵盖图像识别、视频处理、自然语言处理等多个任务。然而,随着深度神经网络模型的发展,深度神经网络模型的网络参数和计算量快速增加,给计算和存储受限的边缘设备带来了新的挑战。随机计算(sc)作为一种基于概率计算的计算方法被提出,其通过使用比特流代替传统二进制编码进行计算,有望实现高面积效率的算术电路和很好的容错性,非常适合用于多项式计算电路的实现。与传统的二进制系统不同,随机电路通过随机比特流来处理数值,比特流中出现1的概率表示相应的数值。例如,比特流x=1010_1100中1出现的概率p(x=1)=4/8,所以该比特流代表的随机逻辑值为4/8。例如随机逻辑中与门的作用为乘法,如随机逻辑值为4/8的随机比特流11000110和随机逻辑值为4/8的随机比特流10011010作为输入经过与门,结果为10000010(2/8),可见在随机逻辑中与门作为乘法器存在。而多路复用器(mux,multiplexer)在随机逻辑中作为缩放加法器存在,设mux的
技术实现思路
1、本专利技术所要解决的技术问题在于针对上述现有技术存在的不足之处,提出基于随机逻辑的sigmoid函数实现电路及方法,能够有效计算激活函数sigmoid函数,并减少其时延与功耗。
2、本专利技术是通过以下技术方案解决上述技术问题的:基于随机逻辑的sigmoid函数实现电路,包括第一随机序列生成电路、第二随机序列生成电路、比较电路、一次因式计算电路、二次因式计算电路和合成电路,一次因式计算电路包括mux结构,二次因式计算电路包括两个级联mux结构,mux结构与级联mux结构并联,级联mux结构包括第一级mux结构和第二级mux结构,第一级mux结构输出端连接到第二级mux结构输入1端,mux结构的输入1端、输入0端共用第一随机序列生成电路,第一随机序列生成电路生成的随机序列颠倒顺序后输入到mux结构选择端,级联mux结构的第一级mux结构输入1端、第一级mux结构输入0端、第二级mux结构输入0端共用第二随机序列生成电路,第一级mux结构选择端、第二级mux结构选择端共用第一随机序列生成电路,比较电路用于将第一随机序列生成电路、第二随机序列生成电路生成随机序列转换成随机比特流,mux结构与级联mux结构的输出端均连接到合成电路的输入端。
3、本专利技术采用mux结构计算sigmoid函数因式分解后的一次因式,采用级联mux结构用于计算sigmoid函数因式分解后的二次因式,能够有效计算激活函数sigmoid函数,mux结构与级联mux结构并联实现一次因式与二次因式的并行计算,大大减少实现电路的延迟,一个mux结构和两个级联mux结构只需要用到两个随机序列生成电路,大大减少实现电路的面积与功耗。
4、优选的,所述第一随机序列生成电路与第二随机序列生成电路的反馈函数不同,第一随机序列生成电路、第二随机序列生成电路均包括n个寄存器,n个寄存器排成一行组成n位线性反馈移位寄存器,每个寄存器中都存储着一个二进制数,最右端的数字输出,然后整体向右移动一位,同时将n个寄存器中的值根据反馈函数进行异或,结果存进最左端的寄存器中。
5、第一随机序列生成电路输入到mux结构,第二随机序列生成电路输入到两个级联mux结构,两个随机序列生成电路的反馈函数不同,保证两个随机序列生成电路的输出序列不同,从而能够保证三个mux计算模块的输入不相关,最终三个mux计算模块的输出也不相关。
6、优选的,所述第一随机序列生成电路的反馈函数为第二随机序列生成电路的反馈函数为
7、优选的,所述比较电路包括n个比较器,比较器包括两个输入端和一个输出端,第一随机序列生成电路或第二随机序列生成电路生成的n位随机序列输入到比较器的输入端l,随机逻辑值a对应的二进制序列输入到比较器的输入端x,n位随机序列和随机逻辑值a对应的二进制序列在比较器进行比较后产生2n位随机比特流a,随机比特流a中1出现的概率为随机逻辑值a。
8、优选的,所述mux结构的输入1端输入随机逻辑值为x的随机比特流,输入0端输入随机逻辑值为a的随机比特流,选择端输入随机逻辑值为b的随机比特流,mux结构输出为bx+a-ab。
9、优选的,所述级联mux结构中第一级mux结构输入1端输入随机逻辑值为a的随机比特流,第一级mux结构输入0端输入随机逻辑值为b的随机比特流,第一级mux结构输出端连接到第二级mux结构输入1端,第二级mux结构输入0端输入随机逻辑值为c的随机比特流,第一级mux结构选择端和第二级mux选择端均输入随机逻辑值为x的随机比特流,级联mux结构输出为(a-b)x2+(b-c)x+c。
10、本专利技术的二次因式计算电路采用级联mux结构,能够实现复杂的限制性小的二次因式计算。
11、优选的,所述合成电路为多输入与门,mux结构输出的一次因式和级联mux结构输出的二次因式共同输入到多输入与门进行相乘输出比特流。
12、优选的,本文档来自技高网...
【技术保护点】
1.基于随机逻辑的sigmoid函数实现电路,其特征在于:包括第一随机序列生成电路、第二随机序列生成电路、比较电路、一次因式计算电路、二次因式计算电路和合成电路,一次因式计算电路包括MUX结构,二次因式计算电路包括两个级联MUX结构,MUX结构与级联MUX结构并联,级联MUX结构包括第一级MUX结构和第二级MUX结构,第一级MUX结构输出端连接到第二级MUX结构输入1端,MUX结构的输入1端、输入0端共用第一随机序列生成电路,第一随机序列生成电路生成的随机序列颠倒顺序后输入到MUX结构选择端,级联MUX结构的第一级MUX结构输入1端、第一级MUX结构输入0端、第二级MUX结构输入0端共用第二随机序列生成电路,第一级MUX结构选择端、第二级MUX结构选择端共用第一随机序列生成电路,比较电路用于将第一随机序列生成电路、第二随机序列生成电路生成随机序列转换成随机比特流,MUX结构与级联MUX结构的输出端均连接到合成电路的输入端。
2.根据权利要求1所述的基于随机逻辑的sigmoid函数实现电路,其特征在于:所述第一随机序列生成电路与第二随机序列生成电路的反馈函数不同,第一随
3.根据权利要求2所述的基于随机逻辑的sigmoid函数实现电路,其特征在于:所述第一随机序列生成电路的反馈函数为第二随机序列生成电路的反馈函数为
4.根据权利要求2所述的基于随机逻辑的sigmoid函数实现电路,其特征在于:所述比较电路包括n个比较器,比较器包括两个输入端和一个输出端,第一随机序列生成电路或第二随机序列生成电路生成的n位随机序列输入到比较器的输入端L,随机逻辑值a对应的二进制序列输入到比较器的输入端X,n位随机序列和随机逻辑值a对应的二进制序列在比较器进行比较后产生2n位随机比特流A,随机比特流A中1出现的概率为随机逻辑值a。
5.根据权利要求1所述的基于随机逻辑的sigmoid函数实现电路,其特征在于:所述MUX结构的输入1端输入随机逻辑值为x的随机比特流,输入0端输入随机逻辑值为a的随机比特流,选择端输入随机逻辑值为b的随机比特流,MUX结构输出为bx+a-ab。
6.根据权利要求1所述的基于随机逻辑的sigmoid函数实现电路,其特征在于:所述级联MUX结构中第一级MUX结构输入1端输入随机逻辑值为a的随机比特流,第一级MUX结构输入0端输入随机逻辑值为b的随机比特流,第二级MUX结构输入0端输入随机逻辑值为c的随机比特流,第一级MUX结构选择端和第二级MUX选择端均输入随机逻辑值为x的随机比特流,级联MUX结构输出为(a-b)x2+(b-c)x+c。
7.根据权利要求1所述的基于随机逻辑的sigmoid函数实现电路,其特征在于:所述合成电路为多输入与门,MUX结构输出的一次因式和级联MUX结构输出的二次因式共同输入到多输入与门进行相乘输出比特流。
8.根据权利要求6所述的基于随机逻辑的sigmoid函数实现电路,其特征在于:所述第一级MUX结构选择端和第二级MUX结构选择端分别通过D触发器连接到到随机比特流。
9.采用权利要求1-8任一项所述的基于随机逻辑的sigmoid函数实现电路实现sigmoid函数的方法,其特征在于:包括以下步骤:
10.根据权利要求9所述的基于随机逻辑的sigmoid函数实现方法,其特征在于:所述sigmoid函数泰勒展开为:
...【技术特征摘要】
1.基于随机逻辑的sigmoid函数实现电路,其特征在于:包括第一随机序列生成电路、第二随机序列生成电路、比较电路、一次因式计算电路、二次因式计算电路和合成电路,一次因式计算电路包括mux结构,二次因式计算电路包括两个级联mux结构,mux结构与级联mux结构并联,级联mux结构包括第一级mux结构和第二级mux结构,第一级mux结构输出端连接到第二级mux结构输入1端,mux结构的输入1端、输入0端共用第一随机序列生成电路,第一随机序列生成电路生成的随机序列颠倒顺序后输入到mux结构选择端,级联mux结构的第一级mux结构输入1端、第一级mux结构输入0端、第二级mux结构输入0端共用第二随机序列生成电路,第一级mux结构选择端、第二级mux结构选择端共用第一随机序列生成电路,比较电路用于将第一随机序列生成电路、第二随机序列生成电路生成随机序列转换成随机比特流,mux结构与级联mux结构的输出端均连接到合成电路的输入端。
2.根据权利要求1所述的基于随机逻辑的sigmoid函数实现电路,其特征在于:所述第一随机序列生成电路与第二随机序列生成电路的反馈函数不同,第一随机序列生成电路、第二随机序列生成电路均包括n个寄存器,n个寄存器排成一行组成n位线性反馈移位寄存器,每个寄存器中都存储着一个二进制数,最右端的数字输出,然后整体向右移动一位,同时将n个寄存器中的值根据反馈函数进行异或,结果存进最左端的寄存器中。
3.根据权利要求2所述的基于随机逻辑的sigmoid函数实现电路,其特征在于:所述第一随机序列生成电路的反馈函数为第二随机序列生成电路的反馈函数为
4.根据权利要求2所述的基于随机逻辑的sigmoid函数实现电路,其特征在于:所述比较电路包括n个比较器,比较器包括两个输入端和一个输出端,第一随机序列生成电路...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。