[发明专利]用于执行人工神经网络自学习运算的装置和方法有效
申请号: | 201610267211.0 | 申请日: | 2016-04-27 |
公开(公告)号: | CN107316078B | 公开(公告)日: | 2021-05-07 |
发明(设计)人: | 李震;郭崎;陈云霁;陈天石 | 申请(专利权)人: | 中科寒武纪科技股份有限公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/08 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 鄢功军 |
地址: | 100190 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 执行 人工 神经网络 自学习 运算 装置 方法 | ||
1.一种用于执行人工神经网络自学习运算的装置,包括控制器单元、互连模块、主运算模块、以及多个从运算模块,其中:
所述控制器单元用于读取指令,并将该指令译码成控制互连模块、主运算模块、以及从运算模块行为的控制信号,然后将各自的控制信号分发至各个模块;
所述互连模块具有不同拓扑实现,用于将所述主运算模块的输入向量分发给所述多个从运算模块,以及将各从运算模块的计算结果合并后返回给主运算模块;
所述主运算模块包括:激活函数运算器,用于对所述互连模块返回的中间值进行激活函数运算;采样运算器,用于对激活函数运算结果进行吉布斯采样;加法器,用于对采样结果进行偏置的更新;
所述从运算模块用于输入向量和相应权重矩阵的点积运算,输入向量中的相应分量标量和对应权重矩阵的乘积运算,以及权重矩阵的更新;
人工神经网络包括两层或者两层以上的多个神经元,人工神经网络的自学习预训练采用逐层训练,对于每一层神经元来说,人工神经网络的预训练包括:
第一阶段,在从运算模块中,互连模块广播的输入神经元向量和权值向量矩阵进行点积运算得到局部诱导域,局部诱导域经过激活函数非线性变换后再采用吉布斯Gibbs采样计算得到一阶隐层中间值
2.如权利要求1所述的用于执行人工神经网络自学习运算的装置,其特征在于,还包括:
指令存储单元,用于通过数据访问单元读入指令并缓存读入的指令;
数据访问单元,用于访问外部地址空间,完成数据的加载和存储。
3.如权利要求1所述的用于执行人工神经网络自学习运算的装置,其特征在于,所述指令包括COMPUTE指令。
4.如权利要求1所述的用于执行人工神经网络自学习运算的装置,其特征在于,所述指令还包括:
CONFIG指令,用于在每层人工神经网络计算开始前配置当前层计算需要的各种常数;
COMPUTE指令,用于完成每层人工神经网络的算术逻辑计算;
IO指令,用于从外部地址空间读入计算需要的输入数据以及在计算完成后将数据存回至外部空间;
NOP指令,用于清空当前装至内部所有控制信号缓存队列中的控制信号,保证NOP指令之前的所有指令全部指令完毕,NOP指令本身不包含任何操作;
JUMP指令,用于控制器将要从指令存储单元读取的下一条指令地址的跳转,用来实现控制流的跳转;
MOVE指令,用于将装置内部地址空间某一地址的数据搬运至装置内部地址空间的另一地址,独立于运算单元,在执行过程中不占用运算单元的资源。
5.如权利要求1所述的用于执行人工神经网络自学习运算的装置,其特征在于,所述主运算模块包括运算单元、数据依赖关系判断单元和存储单元,其中,
所述存储单元用于缓存主运算模块在计算过程中用到的输入数据和输出数据,
所述运算单元用于完成主运算模块的运算;
所述数据依赖关系判断单元是所述运算单元和读写存储单元的端口,用于保证存储单元中数据的读写一致性。
6.如权利要求5所述的用于执行人工神经网络自学习运算的装置,其特征在于,所述数据依赖关系判断单元用于判断尚未执行的控制信号与正在执行过程中的控制信号的数据之间是否存在依赖关系,如果不存在,允许控制信号立即发射,否则需要等到控制信号所依赖的所有控制信号全部执行完成后控制信号才允许被发射。
7.如权利要求6所述的用于执行人工神经网络自学习运算的装置,其特征在于,所述数据依赖关系判断单元还用于将读取数据通过互连模块发送给从计算模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科寒武纪科技股份有限公司,未经中科寒武纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610267211.0/1.html,转载请声明来源钻瓜专利网。