一种用于执行人工神经网络pooling运算的装置和方法制造方法及图纸

技术编号:26173023 阅读:19 留言:0更新日期:2020-10-31 13:53
本公开提供了一种用于执行人工神经网络pooling运算的装置,包括控制器单元以及运算模块。控制器单元用于将指令译码成控制运算模块行为的控制信号,然后将控制信号发送至运算模块;运算模块用于根据接收到的控制信号完成pooling运算。本公开能解决CPU和GPU运算性能不足和前端译码开销大的问题。

【技术实现步骤摘要】
一种用于执行人工神经网络pooling运算的装置和方法
本公开涉及人工神经网络,具体地涉及一种用于执行pooling运算的装置和方法。
技术介绍
多层人工神经网络被广泛应用于模式识别,图像处理,函数逼近和优化计算等领域,多层人工网络在近年来由于其较高的识别准确度和较好的可并行性,受到学术界和工业界越来越广泛的关注。pooling运算是指在神经网络的特征层中,进行局部特征的降采样运算,减少特征层的维度。pooling运算分为两种:maxpooling是指在kernel内,取最大值作为结果;avgpooling是指在kernel内,取平均值作为结果。此处的kernel即pooling核,大小是参数指定的,并根据步长stride在特征层上进行滑动,进行pooling运算,得到结果。一种支持多层人工神经网络pooling运算的正向运算和反向训练的已知方法是使用通用处理器。该方法通过使用通用寄存器堆和通用功能部件执行通用指令来支持上述算法。该方法的缺点之一是单个通用处理器的运算性能较低,无法满足通常的多层人工神经网络运算的性能需求。而多个本文档来自技高网...

【技术保护点】
1.一种用于执行人工神经网络pooling运算的装置,其特征在于,所述装置用于执行pooling运算的指令,所述装置包括控制器单元和运算模块,其中,/n所述控制器单元用于将指令译码成控制运算模块行为的控制信号,然后将控制信号发送至运算模块;/n所述运算模块用于根据接收到的控制信号完成pooling运算。/n

【技术特征摘要】
1.一种用于执行人工神经网络pooling运算的装置,其特征在于,所述装置用于执行pooling运算的指令,所述装置包括控制器单元和运算模块,其中,
所述控制器单元用于将指令译码成控制运算模块行为的控制信号,然后将控制信号发送至运算模块;
所述运算模块用于根据接收到的控制信号完成pooling运算。


2.如权利要求1所述的装置,其特征在于,所述运算模块具体用于完成maxpooling运算的求最大值运算,或用于完成avgpooling运算的累加和乘法运算。


3.如权利要求2所述的装置,其特征在于,对于avgpooling,在正向运算时,运算模块依次完成累加每一个输入向量;然后在运算模块中完成乘以1/kernel_size运算,得到输出向量,kernel_size表示pooling核kernel的大小。


4.如权利要求3所述的装置,其特征在于,对于avgpooling,在正向运算时,运算模块循环读取pooling核kernel的输入向量,做上述累加、乘法运算操作,得到新的kernel的输出向量,直至本层pooling运算结束。


5.如权利要求2所述的装置,其特征在于,对于avgpooling,在反向训练时,运算模块将输入梯度向量乘以1/kernel_size,得到输出梯度向量,kernel_size为pooling核kernel的大小。


6.如权利要求2所述的装置,其特征在于,对于maxpooling,在正向运算时,运算模块依次完成比较每一个输入向量大小,取最大值的操作,得到输出向量;运算模块循环读取pooling核kernel的输入向量,做上述比较大小的运算操作,得到新的kernel的输出向量同时保存每一个输出向量对应的索引向量,直至本层pooling运算结束。


7.如权利要求2所述的装置,其特征在于,对于maxpooling,在反向训练时,运算模块根据正向运算时保存的索引向量,将输入梯度向量对应输出至相应的存储位置,得到输出梯度向量。


8.如权利要求1-7中任一所述的装置,其特征在于,所述运算模块包括运算单元、数据依赖关系判断单元和神经元存储单元,
所述神经元存储单元用于缓存运算单元在计算过程中用到的输入数据和输出数据;
所述数据依赖关系判断单元是运算单元读写神经元存储单元的端口,同时用于保证对神经元存储单元中数据的读写不存在一致性冲突。


9.如权利要求8所述的装置,其特征在于,所述数据依赖关系判断单元用于判断尚未执行的控制信号与正在执行过程中的控制信号的数据之间是否存在依赖关系,如果不存在,允许该组控制信号立即发射,否则需要等到该条控制信号所依赖的所有控制信号全部执行完成后该组控制信号才允许被发射。


10.如权利要求1所述的装置,其特征在于,还包括指令存储单元和数据访问单元,其中
数据访问单元用于访问外部地址空间,完成数据的加载和存储;
指令存储单元用于通过数据访问单元读入指令并缓存读入的指令。


11.如权利要求1所述的装置,其特征在于,所述指令包括以下至少一种:
CONFIG指令,在每层人工神经网络计算开始前...

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

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

1