【技术实现步骤摘要】
一种用于执行卷积神经网络训练的装置和方法
本专利技术涉及一种用于执行卷积神经网络反向训练的装置和方法,用于根据卷积神经网络反向训练运算指令高效灵活地执行卷积神经网络反向训练运算,能够很好地解决当前计算机领域越来越多的算法包含大量卷积神经网络反向训练运算的问题。
技术介绍
卷积神经网络是近年来广泛应用于模式识别、图像处理等领域的一种高效识别算法,它具有结构简单、训练参数少和适应性强、平移、旋转、缩放等特点。由于CNN/DNN的特征检测层通过训练数据进行学习,所以在使用CNN/DNN时,避免了显示的特征抽取,而隐式地从训练数据中进行学习;再者由于同一特征映射面上的神经元权值相同,所以网络可以并行学习,这也是卷积网络相对于神经元彼此相连网络的一大优势。本专利技术提供的卷积神经网络训练算法的流程图,如图1所示,其流程包括两个阶段:第一阶段,向前传播阶段:a)从样本集中取一个样本(X,Yp),将X输入网络;b)计算相应的实际输出Op。在此阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也 ...
【技术保护点】
1.一种用于执行卷积神经网络反向训练的装置,包括控制器单元、数据访问单元、互连模块、主运算模块、多个从运算模块,其中:/n所述控制器单元,用于读取指令,并将该指令译码成控制互连模块、主运算模块、以及所述多个从运算模块行为的控制信号;/n数据访问单元用于执行从所述装置的外部地址空间与所述装置之间的数据或指令读写操作;/n所述从运算模块,用于计算自身的卷积核与输入数据的点积作为中间结果部分和,该卷积核与该中间结果部分和相对应;/n所述互连模块,用于逐级将各从运算模块的输出的中间结果部分和拼接得到所述卷积神经网络对应层的中间结果,并传输至所述主运算模块;/n所述主运算模块,用于执 ...
【技术特征摘要】
1.一种用于执行卷积神经网络反向训练的装置,包括控制器单元、数据访问单元、互连模块、主运算模块、多个从运算模块,其中:
所述控制器单元,用于读取指令,并将该指令译码成控制互连模块、主运算模块、以及所述多个从运算模块行为的控制信号;
数据访问单元用于执行从所述装置的外部地址空间与所述装置之间的数据或指令读写操作;
所述从运算模块,用于计算自身的卷积核与输入数据的点积作为中间结果部分和,该卷积核与该中间结果部分和相对应;
所述互连模块,用于逐级将各从运算模块的输出的中间结果部分和拼接得到所述卷积神经网络对应层的中间结果,并传输至所述主运算模块;
所述主运算模块,用于执行所述卷积神经网络每一层的计算过程中,利用每层的中间结果完成后续计算。
2.根据权利要求1所述的装置,其中,所述主运算模块包括第一运算单元和第一存储单元,其中:
第一运算单元包括向量加法单元以及激活单元,第一运算单元接收来自控制器单元的控制信号,完成主运算模块的各种运算功能;
向量加法单元用于实现卷积神经网络反向训练运算中的加偏置操作,该单元的输入为从外部地址空间读取出来的偏置向量,以及通过所述互连模块从从运算模块传送回来的中间结果,输出为偏置向量与中间结果相加后的偏置结果;
激活单元用于实现卷积神经网络激活函数导函数乘法操作,该单元的输入为通过所述互连模块从所述从运算模块传送回来的中间结果,或向量加法单元输出的偏置结果,输出为所述中间结果或偏置结果与激活函数导函数相乘后的输出数据;
第一存储单元存储主运算模块在计算过程中用到的输入输出数据,输入输出数据梯度和卷积核数值。
3.根据权利要求1所述的装置,其中:所述从运算模块包括第二运算单元、第二存储单元和第三存储单元;其中,第二运算单元包括向量乘单元以及累加单元,其中,向量乘单元用于实现输入数据和卷积核的对位乘法,累加单元用于实现将对位乘法结果的每一项累加到一起的操作;
第二存储单元存储该从运算模块的输入数据和输出的中间结果部分和;
第三存储单元存储该从运算模块在计算过程中需要的卷积核数据。
4.根据权利要求1所述的装置,其中,所述主运算模块依据卷积核和当前层的输入数据,得到要输出到前一层的数据梯度dx=h(x)∑widsi,其中,ds为与当前层的输入数据x有相互关系的当前层的输出数据梯度,w为该输入数据x与输出数据的梯度ds对应的卷积核数据,h(x)为该输入数据对应的激活函数的导函数的值,即,将卷积核与来自后一层的数据梯度进行乘加运算,然后乘以当前层的输入数据对应的激活函数的导函数的值,得到输出给前一层的数据梯度,最后,将该梯度输出到外部地址空间,用以进行其前一层的卷积反向运算。
5.根据权利要求1所述的装置,其中,所述互连模块构成主运算模块和所述多个从运算模块之间的数据通路,互连模块为以下任一种结构:树状结构、环状结构、网格状结构、分级互连、总线结构。
6.根据权利要求1所述的装置,其中,所述指令包括1个操作码和7个操作域,其中,操作码用于指示该卷积神经网络反向训练运算指令的功能,操作域用于指示该卷积神经网络反向训练运算指令的数据信息,其中,数据信息是立即数或寄存器号,包括输入数据的起始地址和数据长度,卷积核的起始地址和数据长度,输出梯度的起始地址和数据长度以及激活函数的类型。
7.根据权利要求1所述的装置,其中,所述装置...
【专利技术属性】
技术研发人员:陈云霁,支天,刘少礼,郭崎,陈天石,
申请(专利权)人:中科寒武纪科技股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。