[发明专利]一种用于执行卷积神经网络正向运算的装置和方法有效
申请号: | 201811148189.3 | 申请日: | 2016-04-29 |
公开(公告)号: | CN109086877B | 公开(公告)日: | 2020-05-08 |
发明(设计)人: | 陈天石;韩栋;陈云霁;刘少礼;郭崎 | 申请(专利权)人: | 中科寒武纪科技股份有限公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06F9/30 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 100000 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 执行 卷积 神经网络 正向 运算 装置 方法 | ||
1.一种用于执行卷积神经网络正向运算的装置,包括指令存储单元、控制器单元、数据访问单元、互连模块、主运算模块、以及从运算模块,其中:
数据访问单元,用于执行外部地址空间与所述装置之间的数据或指令读写操作;
指令存储单元,用于存储所述数据访问单元读取的指令;
控制器单元,用于从所述指令存储单元中读取指令,将指令译成控制其他模块行为的控制信号,所述其他模块包括:数据访问单元、主运算模块和所述从运算模块;
互连模块,用于连接所述主运算模块和所述从运算模块;
主运算模块,用于将输入数据通过互连模块发送给从运算模块;
所述从运算模块,用于将输入数据与该从运算模块对应的卷积核做卷积运算得到标量数据;
所述互连模块,还用于依据从运算模块的标量数据合并得到包含N个元素的中间向量,将中间向量发送给主运算模块;
主运算模块,用于依据中间向量得到中间结果,并对所述中间结果执行后续运算。
2.根据权利要求1所述的装置,其特征在于,所述从运算模块为多个,
所述互连模块,具体用于将多个从运算模块的标量数据合并成中间向量;
所述主运算模块,具体用于将所有中间向量拼接得到中间结果。
3.根据权利要求2所述的装置,其特征在于,
所述主运算模块,具体用于将所述中间结果与偏置数据相加得到偏置结果,将该偏置结果执行激活操作。
4.根据权利要求3所述的装置,其特征在于,
所述激活操作的激活函数为sigmoid,tanh,relu,softmax中的任一个或线性函数。
5.根据权利要求2所述的装置,其中,所述互连模块为以下任一种结构:树状结构、环状结构、网格状结构、分级互连、总线结构。
6.根据权利要求5所述的装置,其特征在于,所述互连模块为树状结构,所述树状结构为二叉树通路;所述二叉树通路包括:多个节点;
其中,每个节点将上游的数据同样地发给下游的两个节点,以及将下游的两个节点返回的数据进行合并后返回给上游的节点。
7.根据权利要求2所述的装置,其中,主运算模块包括:第一存储单元、第一运算单元和第一数据依赖关系判定单元,其中:
第一存储单元,用于缓存主运算模块在计算过程中用到的输入数据和输出数据;
第一运算单元完成主运算模块的各种运算功能;
所述第一数据依赖关系判定单元,用于从第一存储单元读取输入数据,并将所述输入数据发送给互连模块;以及接收互连模块的中间向量,将中间向量发送到第一运算单元。
8.根据权利要求7所述的装置,其特征在于,所述第一运算单元包括:向量加法单元和激活运算单元;
所述向量加法单元,用于将偏置数据与所述中间结果对位相加得到偏置结果;
所述激活运算单元,用于将所述偏置结果执行激活函数操作。
9.根据权利要求2所述的装置,其中,每个从运算模块包括:第二运算单元、第二数据依赖关系判定单元、第二存储单元和第三存储单元,其中:
第二数据依赖关系判定单元,用于对第二存储单元和第三存储单元的执行读写操作;
第二存储单元,用于缓存输入数据以及该从运算模块计算得到的输出标量;
第三存储单元,用于缓存该从运算模块在计算过程中需要的卷积核;
第二运算单元,用于接收控制器单元发出的控制信号,依据所述控制信号对输入数据以及卷积核执行卷积操作得到输出标量。
10.根据权利要求9所述的装置,其特征在于,所述第二运算单元包括:向量乘单元和累加单元;
所述向量乘单元,用于执行卷积运算中的向量乘运算;
所述累加单元,用于执行卷积运算中的累加运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科寒武纪科技股份有限公司,未经中科寒武纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811148189.3/1.html,转载请声明来源钻瓜专利网。