[发明专利]一种适用于移动终端的二值神经网络前向传播框架在审
申请号: | 201911410119.5 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111160534A | 公开(公告)日: | 2020-05-15 |
发明(设计)人: | 陈刚;何晟宇 | 申请(专利权)人: | 中山大学 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/08 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 陈伟斌 |
地址: | 510275 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 适用于 移动 终端 神经网络 传播 框架 | ||
1.一种适用于移动终端的二值神经网络前向传播框架,包括模型转换模块和前向传播模块;其特征在于,所述模型转换模块用于将训练好的二值神经网络转换为本框架专用的模型,在转化过程中进行数据的处理和预计算;所述前向传播用于对转换后的二值神经网络模型进行前向传播计算;
所述前向传播模型包括数据储存单元、运算单元和优化单元;所述数据储存单元使用个数、高、宽、通道数的数据布局方式存储数据并对数据进行压缩;所述运算单元为GPU的计算单元,将二值化神经网络的操作层进行合并;所述优化单元在运算单元中平衡线程读写数据量与计算量。
2.根据权利要求1所述的一种适用于移动终端的二值神经网络前向传播框架,其特征在于,转换后的二值神经网络模型按照由粗到细的粒度表示成网络、层、张量;所述数据储存单元的数据储存于张量中。
3.根据权利要求2所述的一种适用于移动终端的二值神经网络前向传播框架,其特征在于,对数据进行通道打包,通道数少于16,用0补全数据到16,通道数少于32,用0补全数据到32,不能被64整除的情况,将数据补齐到64的倍数的,
4.根据权利要求1所述的一种适用于移动终端的二值神经网络前向传播框架,其特征在于,所述运算单元在二值神经网络模型的运算中,将权值与数据都量化为{+1,-1},设向量向量为B二值数据映射到硬件编码的表示
二值神经网络模型的第一层运算公式如下:
二值神经网络模型的非第一层运算公式如下:
A·B=-(2×popcnt(A^B)–vec_len)
其中,popcnt操作为数出结果中的二进制位1的个数,vec_len为原始通道数量。
5.根据权利要求1所述的一种适用于移动终端的二值神经网络前向传播框架,其特征在于,所述运算单元对卷积层与批标准化层进行整合,整合为卷积-批标准化层,整合公式如下:
x2=x1+b
而二值化操作是根据符号将原始数据转变为0或者1,公式如下:
得到初步整合公式如下:
式中,γ,μ,σ,β为批标准化层的参数;b为卷积层中的偏置参数;x1为卷积计算结果;x2为卷积计算结果加上偏置b;x3为批标准化层输出结果;x4为层整合结果。
6.根据权利要求5所述的一种适用于移动终端的二值神经网络前向传播框架,其特征在于,进一步推导整合公式,得到:
x4=(A xor B)or C
式中,x4为层整合结果;A为x1ξ的真值;B为γ≥0的真值;C为x1=ξ的真值;x1为卷积计算结果。
7.根据权利要求5所述的一种适用于移动终端的二值神经网络前向传播框架,其特征在于,所述运算单元将卷积-批标准化层和二值化层整合为卷积-批标准化-二值化层。
8.根据权利要求1所述的一种适用于移动终端的二值神经网络前向传播框架,其特征在于,在所述优化单元中,令运算单元计算时,使用向量化方式读写、计算数据,一次读取和计算多个数据;以及相邻线程计算相邻内存数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911410119.5/1.html,转载请声明来源钻瓜专利网。