一种人工神经网络运算的装置及方法与流程

文档序号:15020766发布日期:2018-07-25 00:39阅读:来源:国知局

技术特征:

1.一种人工神经网络运算的装置,包括:

映射单元(1),接收输入神经元和权值,产生输入神经元和输出神经元的连接关系数据,输出映射后的输入神经元和权值,所述映射后的输入神经元和权值的对应关系为输入神经元-权值对,所述映射单元(1)包括:

第一映射单元(11),用于去除值为0或小于第一阈值的权值;和/或

第二映射单元(12),用于去除值为0或小于第二阈值的输入神经元。

2.根据权利要求1所述的装置,其中第一映射单元(11)包括:

第一映射判断单元(111),用于判断每一输入的权值的值是否为0或小于第一阈值;以及

第一映射执行单元(112),基于所述第一映射判断单元(111)的判断结果产生所述连接关系数据,去除值为0或小于第一阈值的权值,输出所述输入神经元-权值对;和/或

第二映射单元(12)包括:

第二映射判断单元(121),用于判断每一输入的输入神经元的值是否为0或小于第二阈值;以及

第二映射执行单元(122),基于所述第二映射判断单元(121)的判断结果产生所述连接关系数据,去除值为0或小于第二阈值的输入神经元,输出所述输入神经元-权值对。

3.根据权利要求2所述的装置,其中,神经网络的输入层具有N个输入神经元I1,I2,...,IN,输出层具有M个输出神经元O1,O2,...,OM,

所述第一映射单元(11)的第一映射执行单元(112)产生所述连接关系数据包括:

对第j个输出神经元Oj得到其对应的连接关系数据,对应于输入层的N个节点,所述接关系数据有N位,初始时,所述N位的值都置为1,N个输入神经元I1,I2,...,IN与输出神经元Oj之间均有连接,若第i个输入神经元Ii与输出神经元Oj之间的权值的值为0或小于第一阈值,将该连接关系数据中第i位的值置为0,Ii与Oj之间无连接,将所有的输出神经元O1,O2,...,OM的连接关系数据拼合为一个向量,该向量的第N×(j-1)+1个分量到第N×j个分量为输出神经元Oj对应的连接关系数据。

4.根据权利要求2所述的装置,其中,神经网络的输入层具有N个输入神经元I1,I2,...,IN,输出层具有M个输出神经元O1,O2,...,OM,

所述第一映射单元(11)的第一映射执行单元(112)产生所述连接关系数据包括:

对第j个输出神经元Oj得到其对应的连接关系数据,若第i个输入神经元Ii与输出神经元Oj之间的权值的值为0或小于第一阈值,则Ii与Oj之间无连接,否则有连接,与Oj有连接的n个输入神经元为Ii_1,Ii_2,...,Ii_n,其中1≤i_1<i_2<...<i_n≤N,输出神经元Oj对应的连接关系数据有n位,第1位值等于i_1-1,连接关系数据第k位的值等于i_k-i_(k-1),其中,n≥k>1。

5.根据权利要求2所述的装置,其中,神经网络的输入层具有N个输入神经元I1,I2,...,IN,输出层具有M个输出神经元O1,O2,...,OM,

所述第二映射单元(12)的第二映射执行单元(122)产生所述连接关系数据包括:

对第j个输出神经元Oj得到其对应的连接关系数据,对应于输入层的N个节点,所述连接关系数据有N位,初始时,所述N位的值都置为1,N个输入神经元I1,I2,...,IN与输出神经元Oj之间均有连接,若第i个输入神经元Ii的值为0或小于第二阈值,将该连接关系数据中第i位的值置为0,Ii与Oj之间无连接,将所有的输出神经元O1,O2,...,OM的连接关系数据拼合为一个向量,该向量的第N×(j-1)+1个分量到第N×j个分量为输出神经元Oj对应的连接关系数据。

6.根据权利要求2所述的装置,其中,神经网络的输入层具有N个输入神经元I1,I2,...,IN,输出层具有M个输出神经元O1,O2,...,OM,

所述第二映射单元(12)的第二映射执行单元(122)产生所述连接关系数据包括:

对第j个输出神经元Oj得到其对应的连接关系数据,若第i个输入神经元Ii的值为0或小于第二阈值,则Ii与Oj之间无连接,否则有连接,与Oj有连接的n个输入神经元为Ii_1,Ii_2,...,Ii_n,其中1≤i_1<i_2<...<i_n≤N,输出神经元Oj对应的连接关系数据有n位,第1位值等于i_1-1,连接关系数据第k位的值等于i_k-i_(k-1),其中,n≥k>1。

7.根据权利要求1至6中任一所述的装置,还包括:

存储单元(2),用于存储外界输入的数据及指令,所述数据包括输入神经元和权值,所述映射单元(1)调取所述输入神经元和权值并输出映射后的输入神经元和权值;

运算单元(8),用于调取所述映射后的输入神经元和权值并进行运算获得输出神经元。

8.根据权利要求7所述的装置,其中,所述运算装置(8)包括:

乘法运算单元;

至少一个加法器;和/或

非线性变换单元。

9.根据权利要求7所述的装置,还包括:

指令缓存单元(4),用于缓存所述指令;

输入神经元缓存(6),用于缓存所述映射后的输入神经元;

权值缓存(7),用于缓存所述映射后的权值;

控制单元(5),用于读取所述指令缓存单元(4)中的指令,并控制所述运算单元(8)调取所述输入神经元缓存(6)中的所述映射后的输入神经元和所述权值缓存(7)中所述映射后的权值并进行运算;以及

输出神经元缓存(9),用于缓存所述运算单元(8)获得的所述输出神经元。

10.根据权利要求9所述的装置,其中,所述映射单元(1)输出的映射后的输入神经元和权值存储在所述存储单元(2)上,所述装置还包括:

DMA(3),用于调取存储单元(2)上的指令及映射后的输入神经元和权值分别存储至所述指令缓存单元(4)、输入神经元缓存(6)、权值缓存(7),并将所述输出神经元缓存(9)中的所述输出神经元存储至存储单元(2)上用于传输至外界。

11.根据权利要求9所述的装置,其中,所述装置还包括:

DMA(3),用于调取存储单元(2)上的指令存储至所述指令缓存单元(4),并调取存储单元(2)上的数据至映射单元(1),所述映射单元(1)输出的映射后的输入神经元和权值分别存储至输入神经元缓存(6)、权值缓存(7),并将所述输出神经元缓存(9)中的所述输出神经元存储至存储单元(2)上用于传输至外界。

12.一种人工神经网络运算的方法,包括权利要求7至11中任一所述的装置,所述方法包括:

映射单元(1)调取所述存储单元(2)中的所述输入神经元和权值并输出映射后的输入神经元和权值;

运算装置(8)调取所述映射后的输入神经元和权值并进行运算获得输出神经元。

13.根据权利要求12所述的方法,其中,所述运算包括:

乘法运算;

加法运算;和/或

非线性变换。

14.根据权利要求12所述的方法,所述方法还包括:

所述映射单元(1)调取所述存储单元(2)中的全部的所述输入神经元和权值并输出映射后的输入神经元和权值,并存储至所述存储单元(2);

输入神经元缓存(6)、权值缓存(7)通过DMA(3)读取部分所述映射后的输入神经元和权值,并被运算单元(8)调取;

输出神经元缓存(9)缓存所述运算单元(8)获得的所述输出神经元,并通过DMA(3)存储至所述存储单元(2);

判断所述输入神经元和权值是否均经过运算,若是,运算结束,否则,返回输入神经元缓存(6)、权值缓存(7)通过DMA(3)读取部分所述映射后的输入神经元和权值的步骤。

15.根据权利要求12所述的方法,所述方法还包括:

所述映射单元(1)通过DMA(3)调取所述存储单元(2)中的部分的所述输入神经元和权值并输出映射后的输入神经元和权值;

输入神经元缓存(6)、权值缓存(7)缓存所述映射后的输入神经元和权值,并被运算单元(8)调取;

输出神经元缓存(9)缓存所述运算单元(8)获得的所述输出神经元,并通过DMA(3)存储至所述存储单元(2);

判断所述输入神经元和权值是否均经过映射及运算,若是,运算结束,否则,返回映射单元(1)通过DMA(3)调取所述存储单元(2)中的部分的所述输入神经元和权值的步骤。

16.一种芯片,其中,所述芯片包括权利要求1至11中任一所述的人工神经网络运算的装置。

17.一种电子装置,其中,所述电子装置包括权利要求16所述的芯片。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1