[发明专利]一种面向物联网领域的动态可重构卷积神经网络加速器架构有效
| 申请号: | 201811149741.0 | 申请日: | 2018-09-29 |
| 公开(公告)号: | CN109447241B | 公开(公告)日: | 2022-02-22 |
| 发明(设计)人: | 杨晨;王逸洲;王小力;耿莉 | 申请(专利权)人: | 西安交通大学 |
| 主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/063;G06N3/08 |
| 代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 徐文权 |
| 地址: | 710049 陕*** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 面向 联网 领域 动态 可重构 卷积 神经网络 加速器 架构 | ||
1.一种面向物联网领域的动态可重构卷积神经网络加速器架构,其特征在于,包括缓存架构、处理单元阵列、计算模块和控制器;其中,
缓存架构用于存储来自储外部存储器的数据或者计算过程中产生的数据,将其组织、排列后,以预设的数据结构传送到处理单元阵列中进行计算;处理单元阵列用于接收来自缓存架构的数据,进行卷积操作处理后存储在缓存架构中;计算模块用于接收来自处理单元阵列的数据,选择进行池化、标准化、或者激活函数三种操作,并将输出数据存储在缓存架构中;控制器用于向缓存架构、处理单元阵列和计算模块发送命令,并设计有外部接口,用于和外部系统进行通信;
缓存架构由输入数据缓存、卷积核缓存和输出数据缓存组成;控制器的输出端与输入数据缓存的输入端、卷积核缓存的输入端和输出数据缓存的输入端连接,输入数据缓存的输出端和卷积核缓存的输出端与处理单元阵列的输入端连接,处理单元阵列的输出端与计算模块的输入端连接,计算模块的输出端与输出数据缓存的输入端连接;
输入数据缓存由两片存储器组成,两片存储器按照“乒乓”存储的结构存储数据,输入数据缓存用于接收多输入通道的输入图像数据,将大块的图像数据转为容易处理的小块数据,利用块与块之间“行与列”的数据重合将多个输入通道的数据传送至处理单元阵列进行运算,提高数据重复利用率;卷积核数据缓存用于接收多输入通道的卷积核数据,并同时将多个输入通道的数据传送至处理单元阵列进行运算;输出数据缓存用于存储来自计算模块或者处理单元阵列中产生的中间数据,在缓存架构片上处理模式下,通过控制器将输出数据再返回到处理单元阵列或者计算模块进行下一批次处理;输出数据缓存由多组存储器并列而成,数量根据所要实现的卷积神经网络而定;
处理单元阵列由20个处理单元组成,每个处理单元均由输入数据转换模块、卷积核转换模块、乘法器、输出数据转换模块和通道累加模块组成;
输入数据转换模块用于将来自输入数据缓存的多通道输入图像数据在多个处理单元上同时进行转换;卷积核转换模块用于将来自卷积核缓存的多通道卷积核数据在多个处理单元上同时进行转换;乘法器用于将来自输入数据转换模块和卷积核转换模块的输出数据进行相乘;输出数据转换模块用于将乘法器的输出结果进行转换;通道累加模块用于将多通道数据进行加和得到一个通道的数据;
处理单元阵列接收来自输入数据缓存、输出数据缓存或者卷积核缓存的数据,输出数据传向输出数据缓存;每个处理单元实现窗口为5*5的Winograd算法,其中Winograd算法的公式表示如下:
U=GFGT (1)
V=BTInB (2)
Out=AT[U·V]A (3)
其中,公式(1)表示卷积核的转换,F矩阵为卷积核,G为转换矩阵,U为卷积核转换后的结果;公式(2)表示输入数据的转换,In矩阵表示输入数据,B为转换矩阵,V为输入数据转换后的结果;公式(3)表示输出数据转换,A为转换矩阵,Out为最终的输出结果;
计算模块由池化模块、激活函数模块、数据标准化模块、输入选择模块和输出选择模块组成;
控制器的输出端与输入选择模块的输入端和输出选择模块的输入端连接,且处理单元阵列的输出端与输入选择模块的输入端连接,输入选择模块的输出端与池化模块的输入端、激活函数模块的输入端和数据标准化模块的输入端连接,池化模块的输出端、激活函数模块的输出端和数据标准化模块的输出端与输入选择模块的输入端连接,输入选择模块的输出端与输出数据缓存的输入端连接;
输入选择模块用于选择对来自处理单元阵列的数据进行池化、标准化、或者激活函数操作;池化模块用于实现池化操作;数据标准化模块用于实现标准化操作;激活函数模块用于实现ReLU激活函数操作;输出选择模块用于选择将池化模块、数据标准化模块或激活函数模块中的一个作为结果输出到缓存架构中。
2.根据权利要求1所述的一种面向物联网领域的动态可重构卷积神经网络加速器架构,其特征在于,激活函数模块执行ReLU激活函数,其表达式如公式(4)所示:
f(x)=x(x>0);f(x)=0(x<=0) (4)
其中,公式(4)中x表示ReLU激活函数的输入,即为通道累加模块的输出结果,f表示激活函数模块的输出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811149741.0/1.html,转载请声明来源钻瓜专利网。





