一种用于执行人工神经网络全连接层正向运算的装置和方法制造方法及图纸

技术编号:26173062 阅读:36 留言:0更新日期:2020-10-31 13:53
本公开提供了一种用于执行人工神经网络全连接层正向运算的装置,包括控制器单元、互连模块、主运算模块、以及多个从运算模块。使用该装置可以实现一层或多层人工神经网络全连接层的正向运算。对于每一层来说,首先对输入神经元进行加权求和计算出本层的中间结果向量,然后对该中间结果向量加偏置并激活得到输出神经元。将输出神经元作为下一层的输入神经元。

【技术实现步骤摘要】
一种用于执行人工神经网络全连接层正向运算的装置和方法
本公开总体上涉及人工神经网络,具体地涉及一种用于执行人工神经网络全连接层正向运算的装置和方法。
技术介绍
多层人工神经网络被广泛应用于模式识别,图像处理,函数逼近和优化计算等领域,多层人工网络在近年来由于其较高的识别准确度和较好的可并行性,受到学术界和工业界越来越广泛的关注。人工神经网络涉及到多种算法,其中全连接层作为人工神经网络中的一种重要算法,被广泛的应用在各种人工神经网络模型中。一种支持多层人工神经网络全连接层的正向运算的已知方法是使用通用处理器。该方法通过使用通用寄存器堆和通用功能部件执行通用指令来支持上述算法。该方法的缺点之一是单个通用处理器的运算性能较低,无法满足通常的多层人工神经网络运算的性能需求。而多个通用处理器并行执行时,通用处理器之间相互通信又成为了性能瓶颈。另外,通用处理器需要把多层人工神经网络正向运算译码成一长列运算及访存指令序列,处理器前端译码带来了较大的功耗开销另一种支持多层人工神经网络正向运算的已知方法是使用图形处理器(GPU)。该方法通过使用通本文档来自技高网...

【技术保护点】
1.一种用于执行人工神经网络全连接层正向运算的装置,其特征在于,所述装置用于执行人工神经网络全连接层正向运算的指令,所述装置包括控制器单元、互连模块、主运算模块、以及多个从运算模块,其中:/n控制器单元用于将指令译码成控制信号,以控制互连模块、主运算模块以及多个从运算模块的行为;/n主运算模块用于实现人工神经网络全连接层算法中的函数激活运算;/n从运算模块用于实现人工神经网络全连接层算法中的输入神经元和权值的乘法和加法运算;/n互连模块用于连接主运算模块和从运算模块,以用于所述主运算模块和所述从运算模块之间的数据传输。/n

【技术特征摘要】
1.一种用于执行人工神经网络全连接层正向运算的装置,其特征在于,所述装置用于执行人工神经网络全连接层正向运算的指令,所述装置包括控制器单元、互连模块、主运算模块、以及多个从运算模块,其中:
控制器单元用于将指令译码成控制信号,以控制互连模块、主运算模块以及多个从运算模块的行为;
主运算模块用于实现人工神经网络全连接层算法中的函数激活运算;
从运算模块用于实现人工神经网络全连接层算法中的输入神经元和权值的乘法和加法运算;
互连模块用于连接主运算模块和从运算模块,以用于所述主运算模块和所述从运算模块之间的数据传输。


2.根据权利要求1所述的装置,其特征在于,所述互联模块还用于在神经网络全连接层正向运算开始之前,将主运算模块中的输入神经元传输到每一个从运算模块;以及在从运算模块的计算过程结束后,将各从运算模块的输出神经元拼成中间结果向量,传输回主运算模块,用于后续计算。


3.根据权利要求2所述的装置,其中所述后续计算包括对中间结果向量加偏置,然后执行激活操作。


4.根据权利要求1所述的装置,其特征在于,所述主运算模块包括第一存储单元、第一运算单元和第一数据依赖关系判定单元,其中:
第一存储单元用于缓存主运算模块在计算过程中用到的输入数据和输出数据;
第一数据依赖关系判定单元是第一运算单元读写第一存储单元的端口,以确保对第一存储单元的数据读写不存在一致性冲突。


5.根据权利要求1所述的装置,其特征在于,所述每个从运算模块包括第二运算单元、第二数据依赖关系判定单元、第二存储单元和第三存储单元,其中:
第二运算单元用于接收控制器单元发出的控制信号并进行算数逻辑运算;
第二数据依赖关系判定单元用于计算过程中对第二存储单元和第三存储单元的读写操作,以确保对第二存储单元和第三存储单元的读写不存在一致性冲突;
第二存储单元缓存输入神经元以及该从运算模块计算得到的输出神经元;以及
第三存储单元缓存该从运算模块在计算过程中需要的权值。


6.根据权利要求1-5中任一项所述的装置,其中,所述多个从运算模块,用于根据相同的输入神经元和各自的权值,并行地计算出各自的输出神经元,每个从运算模块的权值是权值矩阵中与该从运算模块相对应的行向量。


7.根据权利要求4或5所述的装置,其中,第一数据依赖关系判定单元或第二数据依赖关系判定单元通过以下方式确保读写不存在一致性冲突:判断尚未执行的控制信号与正在执行过程中的控制信号的数据之间是否存在依赖关系,如果不存在,允许该条控制信号立即发射,否则需要等到该条控制信号所依赖的所有控制信号全部执行完成后该条控制信号才允许被发射。


8.根据权利要求1所述的装置,其特征在于,还包括数据访问单元和指令存储单元,其中,
所述数据访问单元用于执行外部地址空间与所述装置之间的数据或指令读写操作;
所述指令存储单元通过数据访问单元读入指令并存储读入的指令;
所述控制器单元用于从指令存储单元中读取指令,将指令译码成控制互连模块、主运算模块、多个从运算模块以及数据访问单元行为的控制信号。


9.根据权利要求1所述的装置,其特征在于,所述指令包括以下至少一种:
CONFIG指令,在每层人工神经网络计算开始前配置当前层计算需要的各种常数;
COMPUTE指令,完成每层人工神经网络的算术逻辑计算;

【专利技术属性】
技术研发人员:刘少礼兰慧盈郭崎陈云霁陈天石
申请(专利权)人:中科寒武纪科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1