[发明专利]一种神经网络激活函数计算电路有效
| 申请号: | 201910780338.6 | 申请日: | 2019-08-22 |
| 公开(公告)号: | CN110610235B | 公开(公告)日: | 2022-05-13 |
| 发明(设计)人: | 李林;张盛兵;车德亮;张龙;张奇荣 | 申请(专利权)人: | 北京时代民芯科技有限公司;北京微电子技术研究所 |
| 主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/04 |
| 代理公司: | 中国航天科技专利中心 11009 | 代理人: | 茹阿昌 |
| 地址: | 100076 北*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 神经网络 激活 函数 计算 电路 | ||
1.一种神经网络激活函数计算电路,其特征在于,包括:输入缓存模块、地址映射单元、参数查找表LUT、寄存器、计算单元、输出缓存模块和控制逻辑模块;
输入缓存模块:用于缓存接收到的输入神经元Nin,在激活函数计算时,在控制逻辑模块控制下读出神经元X并发送给地址映射单元;
地址映射单元:在控制逻辑模块的控制下根据神经元X的值产生参数查找表LUT地址Addr发送给参数查找表,并将神经元X发送给寄存器进行暂存;
参数查找表LUT:用于存储激活函数进行分段线性插值计算时,所需的参数{a,b},并在控制逻辑模块的控制下读出参数{a,b}发送给计算单元;
寄存器:接收并暂存来自地址映射单元发送的神经元X,并输出神经元X到计算单元;
计算单元:接收来自参数查找表LUT的参数{a,b}和来自寄存器的神经元X,采用分段线性插值方法,得到激活函数计算结果Y,并将激活函数计算结果Y发送给输出缓存模块;
输出缓存模块:在控制逻辑模块的控制下接收并缓存计算单元输出的激活函数计算结果Y,并根据外部神经网络处理系统控制模块发送的读出信号Bout_Rd将激活函数计算结果Y输出给外部神经网络处理系统输出模块;
控制逻辑模块:接收外部神经网络处理系统控制模块发送的激活函数操作码AF_OP,神经元数量AF_Num以及加载信号Load,产生激活函数计算时各模块的控制信号并输出给对应模块,以及产生归一化指数函数Softmax累加和计算完毕信号Cusum_End输出给神经网络处理系统输出模块。
2.根据权利要求1所述的一种神经网络激活函数计算电路,其特征在于:所述计算单元的分段线性插值计算的方法,具体是将激活函数的定义域划分成多个区间,并且在每个区间上采用一次函数Y=a*X+b;其中,a和b为来自参数查找表LUT的参数。
3.根据权利要求1~2之一所述的一种神经网络激活函数计算电路,其特征在于:所述神经网络激活函数计算电路中的输入神经元Nin,计算过程中涉及的神经元信号X,参数查找表LUT中存储的参数a和b,以及计算单元输出计算结果Y信号均为16位定点数,采用二进制补码表示;具体的16位定点数据格式定义为:其中[15]位为符号位,由S表示;[14:10]位为整数部分,由{I4,I3,I2,I1,I0}表示;[9:0]位为小数部分,由{F9,F8,F7,F6,……F0}表示。
4.根据权利要求3所述的一种神经网络激活函数计算电路,其特征在于:所述的输入缓存模块采用同步FIFO设计;输入缓存模块接收来自神经网络处理系统计算阵列输出的神经元数据Nin,并将输入缓存满标志信号Bin_Full发送给神经网络处理系统;神经网络处理系统在输入缓存满标志信号Bin_Full无效时并且输入缓存写信号Bin_Wr有效时,将输入神经元信号Nin写入输入缓存模块;在激活函数计算时,控制逻辑模块根据接收输入缓存空标志信号Bin_Empty并在其无效并且输入缓存读信号Bin_Rd有效时,将输入缓存模块中神经元信号X读出并发送给地址映射单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京时代民芯科技有限公司;北京微电子技术研究所,未经北京时代民芯科技有限公司;北京微电子技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910780338.6/1.html,转载请声明来源钻瓜专利网。





