CN107657312B - 面向语音常用词识别的二值网络实现系统 - Google Patents
面向语音常用词识别的二值网络实现系统 Download PDFInfo
- Publication number
- CN107657312B CN107657312B CN201710843023.2A CN201710843023A CN107657312B CN 107657312 B CN107657312 B CN 107657312B CN 201710843023 A CN201710843023 A CN 201710843023A CN 107657312 B CN107657312 B CN 107657312B
- Authority
- CN
- China
- Prior art keywords
- delay
- bit
- clock
- data
- chain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Complex Calculations (AREA)
- Analogue/Digital Conversion (AREA)
Abstract
本发明公开了一种面向语音常用词识别的二值网络实现系统,用二值化的卷积网络识别语音常用词。其电路结构包括异或乘法器,数模混合矢量矩阵求和模块和基于混合时钟频率的计数量化模块。应用于关键词语音识别、卷积神经网络二值化、以及近似加法器设计。本发明不仅可以减少计算产生的功耗和时间,同时还保证了一定的计算精度,并且简化了计算的复杂度。
Description
技术领域
本发明涉及一种面向语音常用词识别的二值网络实现系统,属于人工神经网络技术领域。
背景技术
随着网络的日益庞大,在软件模型方面和硬件体系结构方面对网络压缩与适当处理精度的研究也越来越深入。尽管一般用于语音识别的递归神经网络具有比较高的准确度,但在减少面积和能量消耗方面存在问题。因此,引入了具有高能源效率的二值卷积网络,用很少的精确度损失换取了更低的能耗。
基于延时的近似加法器在处理二值网络时在性能和灵活性方面表现出优越性。随着神经网络的影响越来越大,对低功耗常用词语音识别的研究迫在眉睫。
我们进一步优化了二值网络的实现方式,提出了一种基于精度要求的时钟分配方式。
发明内容
发明目的:为了解决现有应用于语音识别的神经网络存在网络规模大、功耗过大的问题,本发明提供一种面向语音常用词识别的二值网络实现系统,应用于关键词语音识别、卷积神经网络二值化、以及近似加法器设计。不仅可以减少计算产生的功耗和时间,同时还保证了一定的计算精度,并且简化了计算的复杂度。
技术方案:一种面向语音常用词识别的二值网络实现系统,用二值化的卷积网络识别语音常用词。其电路结构包括异或乘法器,数模混合矢量矩阵求和模块和基于混合时钟频率的计数量化模块。
所述异或乘法器通过对二值化的权重和每层数据的符号位进行异或操作实现-1或1与输入数据的乘法。异或后的结果按批次送入反相器链延时的数模混合矢量矩阵求和模块进行相加。
所述基于反相器链延时的数模混合矢量矩阵求和模块用于实现将加法操作转换为反相器延时的叠加,输入数据的每一bit分别用一条反相器链来表示,对应的比特作为同一条延时链的控制信号,将1的个数转换为延时的长短。其中反相器链由两种针对不同时钟边沿触发的可控延时块构成:del1为时钟上升沿触发可控延时块,当控制信号(数据对应的bit)为0时,延时为Δt,控制信号为1时,延时为2At;del2为时钟下降沿触发可控延时块,当控制信号(数据对应的bit)为0时,延时为Δt,控制信号为1时,延时为2Δt。具体实现方式包括以下方面:
(1)近似加法器树规模为一次处理256个16bit的数据加法,对应的比特作为同一条延时链的控制信号,将1的个数转换为延时的长短。
(2)通过RS锁存器检测两个上升沿,得到使能信号en,与高频时钟CK相与,控制计数器工作,在下一个en之前将计数器置0。高频时钟由y级控制信号均为0的del1级联,周期为2yΔt。
(3)由于存在本征延时,需要增加校准模式,将本征延时消除。
其中x为延时链中1的个数,Δt为单个延时块控制信号为0的延时,t1为延时链的延时,t1min为延时链的输入控制信号全为0时的延时,y为控制信号均为0的del1延时块级联的个数,Tosc为输入边沿信号的周期,dump_i与cali_i分别表示第i条延时链和第i条校正链,dunp_cali_i为第i条延时链量化后输出的部分和。(4)在数字域进行校准,并将16个反相器链的输出转化为最终和。
所述基于混合时钟频率的计数量化模块,通过高频时钟采样计数反相器链的输出进而得出延时的大小。其中根据输入数据不同的bit位,分配的计数器clk时钟也不同。最高两位数据的精度的要求最高,所以它们的反相器链的采样时钟不进行分频,充当基准时钟;对于中间4位数据,其采样时钟进行二分频,为基准时钟的一半;对于的最后10位数据,其采样时钟进行四分频,为基准时钟的四分之一。
附图说明
图1为本发明的BCNN的拓扑结构示意图;
图2为本发明的BCNN硬件实现示意图;
图3为本发明的时钟上升沿触发可控延时块;
图4为本发明的时钟下降沿触发可控延时块。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
面向语音常用词识别的二值网络实现系统,是将二值网络中输入数据与二值化的权重的乘加转换成异或和反相器链延时的操作。其中异或乘法器将乘法操作转换成数据的标志位与二值权重的异或,基于反相器链延时的数模混合矢量矩阵求和模块将加法操作转换成反相器链的延时叠加,再通过基于混合时钟频率的计数量化模块将延时量化成每bit位上的数据和,最后再转换成最终和。
异或乘法器通过对二值化的权重和每层数据的符号位进行异或操作实现-1或1与输入数据的乘法。异或后的结果按批次送入反相器链延时的数模混合矢量矩阵求和模块进行相加。
网络二值化主要是将网络的权重二值化成-1和1,减少网络的大小和存储需求,简化神经元的计算。相对一般用于语音识别的递归神经网络,设计一种新的二值化卷积神经网络结构,如图1所示,具体结构如下:网络一共分九层,输入是32乘32的规模,前六层是卷积层,后三层是全连接层。第一、二层均是128个卷积核,第三、四层是256个卷积核,第五、六层是512个卷积核。其中卷积核都是3乘3的规模,每两层卷积后有一层2乘2的最大池化。第七、八层均是1024个点的全连接层,第九层为10个点的全连接。如图2所示,二值网络的电路结构包括异或乘法部分,数模混合矢量矩阵求和模块和基于混合时钟频率的计数量化模块。基于二值网络拓扑结构中每层的数据规模多为256的倍数,所述的二值网络电路一次处理256个数据的乘加操作。网络中每层的数据按256个一批次输入到电路单元,与对应的二值化权重经过亦或乘法单元,得到的数据送入数模混合矢量矩阵求和模块进行按位累加操作,将对应数据位上的1的个数转化成延时的大小进行累加。再经过基于混合时钟频率的计数量化模块进行对延时的量化,进而将延时的大小量化成1的个数,即每个数据位上的和。最后再将得到的16个数据位上的和经过移位相加处理,得到最终和。
如图2所示,基于反相器链延时的数模混合矢量矩阵求和模块用于实现将加法操作转换为反相器延时的叠加,数模混合矢量矩阵求和模块一次同时处理256个16bit的输入数据的乘加。数据的每一位分别用一条延时链来表示,对应的比特作为同一条延时链的控制信号。每个输入的16bit数的最高位即符号位先与对应的已经二值化的权重进行异或,得到的新的256个16bit数的对应的bit作为同一条反相器链的控制信号。由两种针对不同边沿触发的可控延时块组成的反相器链,当其控制信号为‘0’时,延时为Δt,控制信号为‘1’时,延时为2Δt,所以边沿信号经过反相器延时的自然累加,就可以将每条反相器链上的1的个数转换为延时的长短。延时用高频计数器模块采样得出,得到的延时通过基于混合时钟频率的计数量化模块转换成每条反相器链的输出和。
延时链分别由时钟上升沿触发可控延时块del1和时钟下升沿触发可控延时块del2组成。
如图3所示,时钟上升沿触发可控延时块del1由4个P型MOS管和4个N型MOS管组成,第一级为反相器电路,第二级为传输控制部分控制信号的传输通路。当输入端口A为上升沿,且输入端口D=‘0’时,N型MOS管M2开启,信号通过N型MOS管M4、N型MOS管M6、N型MOS管M2从输入端口A传输到输出端口Y,延时为Δt;当输入端口D=‘1’时,N型MOS管M2截止,信号通过N型MOS管M4从输入端口A传输到输出端口Y,延时为2Δt。而当A为下降沿,信号通过M3、M5、M1从A传输到Y,延时为Δt。
如图4所示,时钟下降沿触发可控延时块del2由3个P型MOS管和3个N型MOS管组成,第一级为反相器电路,第二级为传输控制部分控制信号的传输通路。A为下降沿时,D=‘0’,M1开启,信号通过M3、M5、M1从A传输到Y,延时为Δt;D=‘1’,M1截止,信号通过M3从A传输到Y,延时为2Δt。而当A为上升沿,信号通过M4、M6、M2从A传输到Y,延时为Δt。
通过RS锁存器检测两个上升沿,得到使能信号en,与高频时钟CK相与,控制计数器工作,在下一个en之前将计数器置0。高频时钟由y级控制信号均为0的时钟上升沿触发可控延时块级联,周期为2yΔt。针对16bit数据的不同bit位的精度要求不同,将高频时钟进行对应的分频操作。
所有部件之间相互配合,共同完成面向语音常用词识别的二值网络的电路实现,包括如下步骤:
(1)输入256个16比特二进制数D1-D256到异或乘法器;
(2)将输入的256个数据的符号位分别与其对应的二值权重进行异或后将16bit数按位送入数模混合矢量矩阵求和模块;
(3)256个16bit待加数的每一bit分别用数模混合矢量矩阵求和模块中的一条延时链来表示,对应的比特作为同一条延时链的控制信号,将1的个数转换为延时的长短;
(4)数模混合矢量矩阵求和模块中延时链输出的延时再经过基于混合时钟频率的计数量化模块,将信号的延时的大小通过采样得出:delay=m*Δt+n*2Δt,其中m为每条反相器链上0的个数,n为1的个数;
(5)对于计数量化模块中每条延时链的计数器根据所对应的bit位采取不同的时钟频率:对于最高两位数据,其采样时钟不进行分频,充当基准时钟;对于中间4位数据,其采样时钟进行二分频,为基准时钟的一半;对于的最后10位数据,其采样时钟进行四分频,为基准时钟的四分之一;
(6)对数模混合矢量矩阵求和模块中延时链输出的延时进行校准以消除本征延时;
(7)计数量化模块采样出的延时再经过量化,输出每条反相器链上的1的个数;
(8)将16条延时链输出的结果进行下一步的移位相加操作,得出最终和,其公式为:Yall=∑Di=∑(-215Di[15]+214Di[14]+…+Di[0])。
Claims (4)
1.一种面向语音常用词识别的二值网络实现系统,其特征在于:用二值化的卷积网络识别语音常用词,包括异或乘法器,数模混合矢量矩阵求和模块和基于混合时钟频率的计数量化模块;
所述异或乘法器通过对二值化的权重和每层数据的符号位进行异或操作实现-1或1与输入数据的乘法;异或后的结果按批次送入反相器链延时的数模混合矢量矩阵求和模块进行相加;
反相器链延时的数模混合矢量矩阵求和模块用于实现将加法操作转换为反相器延时的叠加,输入数据的每一bit分别用一条反相器链来表示,对应的比特作为同一条延时链的控制信号,将1的个数转换为延时的长短;
所述反相器链由两种针对不同时钟边沿触发的可控延时块构成:del1为时钟上升沿触发可控延时块,当控制信号为0时,延时为Δt,控制信号为1时,延时为2Δt;del2为时钟下降沿触发可控延时块,当控制信号为0时,延时为Δt,控制信号为1时,延时为2Δt;
其中,基于混合时钟频率的计数量化模块,通过RS锁存器检测两个上升沿,得到使能信号en,与高频时钟CK相与,控制计数器工作,在下一个en之前将计数器置0;高频时钟由y级控制信号均为0的del1级联,周期为2yΔt,针对16bit数据的不同bit位的精度要求不同,将高频时钟进行对应的分频操作;
(1)最高两位数据的精度的要求最高,所以它们的延时链的采样时钟不进行分频,充当基准时钟;
(2)对于中间4位数据,其采样时钟进行二分频,频率为基准时钟的一半;
(3)对于最后10位数据,其采样时钟进行四分频,频率为基准时钟的四分之一。
2.如权利要求1所述的面向语音常用词识别的二值网络实现系统,其特征在于:二值化的卷积网络一共分为九层,输入是32乘32的规模,前六层是卷积层,后三层是全连接层;第一、二层均是128个卷积核,第三、四层是256个卷积核,第五、六层是512个卷积核;其中卷积核都是3乘3的规模,每两层卷积后有一层2乘2的最大池化;第七、八层均是1024个点的全连接层,第九层为10个点的全连接;二值网络的电路结构包括异或乘法器,数模混合矢量矩阵求和模块和基于混合时钟频率的计数量化模块;
二值网络的电路一次处理256个数据的乘加操作;网络中每层的数据按256个一批次输入到电路单元,与对应的二值化权重经过异或乘法器,得到的数据送入数模混合矢量矩阵求和模块进行按位累加操作,将对应数据位上的1的个数转化成延时的大小进行累加;再经过基于混合时钟频率的计数量化模块进行对延时的量化,进而将延时的大小量化成1的个数,即每个数据位上的和;最后再将得到的16个数据位上的和经过移位相加处理,得到最终和。
4.如权利要求1所述的面向语音常用词识别的二值网络实现系统,其特征在于:所有部件之间相互配合,共同完成面向语音常用词识别的二值网络的电路实现,包括如下步骤:
(1)输入256个16比特二进制数D1-D256到异或乘法器;
(2)将输入的256个数据的符号位分别与其对应的二值权重进行异或后将16bit数按位送入数模混合矢量矩阵求和模块;
(3)256个16bit待加数的每一bit分别用数模混合矢量矩阵求和模块中的一条延时链来表示,对应的比特作为同一条延时链的控制信号,将1的个数转换为延时的长短;
(4)数模混合矢量矩阵求和模块中延时链输出的延时再经过基于混合时钟频率的计数量化模块,将信号的延时的大小通过采样得出:delay=m*Δt+n*2Δt,其中m为每条反相器链上0的个数,n为1的个数;
(5)对于计数量化模块中每条延时链的计数器根据所对应的bit位采取不同的时钟频率:对于最高两位数据,其采样时钟不进行分频,充当基准时钟;对于中间4位数据,其采样时钟进行二分频,为基准时钟的一半;对于最后10位数据,其采样时钟进行四分频,为基准时钟的四分之一;
(6)对数模混合矢量矩阵求和模块中延时链输出的延时进行校准以消除本征延时;
(7)计数量化模块采样出的延时再经过量化,输出每条反相器链上的1的个数;
(8)将16条延时链输出的结果进行下一步的移位相加操作,得出最终和,其公式为:Yall=∑Di=∑(-215Di[15]+214Di[14]+…+Di[0])。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710843023.2A CN107657312B (zh) | 2017-09-18 | 2017-09-18 | 面向语音常用词识别的二值网络实现系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710843023.2A CN107657312B (zh) | 2017-09-18 | 2017-09-18 | 面向语音常用词识别的二值网络实现系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107657312A CN107657312A (zh) | 2018-02-02 |
CN107657312B true CN107657312B (zh) | 2021-06-11 |
Family
ID=61130498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710843023.2A Active CN107657312B (zh) | 2017-09-18 | 2017-09-18 | 面向语音常用词识别的二值网络实现系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107657312B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109344964B (zh) * | 2018-08-08 | 2020-12-29 | 东南大学 | 一种适用于神经网络的乘加计算方法和计算电路 |
CN110321816B (zh) * | 2019-06-19 | 2021-04-09 | 北京清微智能科技有限公司 | 图像识别方法及装置 |
CN110428048B (zh) * | 2019-07-01 | 2021-11-09 | 东南大学 | 一种基于模拟延时链的二值化神经网络累加器电路 |
CN110718211B (zh) * | 2019-09-26 | 2021-12-21 | 东南大学 | 一种基于混合压缩卷积神经网络的关键词识别系统 |
CN112002362B (zh) * | 2020-08-24 | 2023-04-07 | 中国科学院微电子研究所 | 对称型存储单元及bnn电路 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6257196A (ja) * | 1985-09-05 | 1987-03-12 | Toshiba Corp | 半導体メモリ |
CN101882930B (zh) * | 2010-06-22 | 2013-04-10 | 清华大学 | 一种用于全数字锁相环的时间-数字转换装置及方法 |
CN105095967B (zh) * | 2015-07-16 | 2018-02-16 | 清华大学 | 一种多模态神经形态网络核 |
CN106355247B (zh) * | 2016-08-16 | 2019-03-08 | 算丰科技(北京)有限公司 | 数据处理方法和装置、芯片和电子设备 |
CN106611216A (zh) * | 2016-12-29 | 2017-05-03 | 北京旷视科技有限公司 | 基于神经网络的计算方法及装置 |
CN107153873B (zh) * | 2017-05-08 | 2018-06-01 | 中国科学院计算技术研究所 | 一种二值卷积神经网络处理器及其使用方法 |
-
2017
- 2017-09-18 CN CN201710843023.2A patent/CN107657312B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107657312A (zh) | 2018-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107657312B (zh) | 面向语音常用词识别的二值网络实现系统 | |
Edavoor et al. | Approximate multiplier design using novel dual-stage 4: 2 compressors | |
Jou et al. | Low-error reduced-width Booth multipliers for DSP applications | |
CN108984149B (zh) | 一种高速低功耗的近似4-2压缩器 | |
CN1226980A (zh) | 相关器方法和设备 | |
Yang et al. | Towards theoretical cost limit of stochastic number generators for stochastic computing | |
CN112256236B (zh) | 一种基于近似定常数复数乘法器的fft电路及实现方法 | |
CN112311391B (zh) | 一种时间数字转换器、锁相环及电子设备 | |
Ratna et al. | Design and Implementation of Low Power 32-bit Comparator | |
Chen et al. | Achieving progressive precision in stochastic computing | |
Yadav et al. | Low power approximate multipliers with truncated carry propagation for LSBs | |
CN113157247B (zh) | 一种可重构整型-浮点型乘法器 | |
CN111555753B (zh) | 信号处理方法和装置 | |
Khan et al. | Design of 2× 2 vedic multiplier using GDI technique | |
Hsieh et al. | A multiplier-less convolutional neural network inference accelerator for intelligent edge devices | |
He et al. | A probabilistic prediction based fixed-width booth multiplier | |
Kumar et al. | Complex multiplier: implementation using efficient algorithms for signal processing application | |
US3237160A (en) | Semiconductor multiple-word correlator | |
Jo et al. | Bit-serial multiplier based neural processing element with approximate adder tree | |
Zhou et al. | Approximate comparator: Design and analysis | |
Yao et al. | Hardware simplification to the delta path in a MASH 111 delta–sigma modulator | |
Liu et al. | An energy-efficient reconfigurable hybrid DNN architecture for speech recognition with approximate computing | |
US10230388B2 (en) | System and method for energy efficient time domain signal processing | |
US20060221724A1 (en) | Data converter and a delay threshold comparator | |
US20200143234A1 (en) | Sorting networks using unary processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |