【技术实现步骤摘要】
深度学习处理装置、方法、设备和存储介质
本公开的实施例概括地涉及数据处理领域,并且更具体地,涉及人工智能领域。
技术介绍
深度学习是人工神经网络的一个研究方向。近年来随着人工智能领域硬件和软件的不断提升,深度学习技术得到了飞速发展。深度学习技术可以运用在各个领域,比如计算机视觉、自然语言处理、音频分析等。卷积神经网络(CNN)是深度学习技术中具有影响力的网络模型,特别适合于涉及图像、文本数据的应用。卷积神经网络所涉及的计算主要包括卷积(convolution)计算、全连接(FC)计算、池化(pooling)计算、向量计算、激活计算等,其中最主要的计算是卷积操作。在CNN的训练过程中,为实现模型优化,在利用训练数据执行前向计算外,还会利用后向传播方式实现模型的参数优化。在CNN的训练过程中均涉及卷积层的大量卷积操作和卷积反向操作。在一些CNN架构中,卷积操作和卷积反向操作可能占据整个架构运算的大多数计算资源和时间。深度学习处理器可以被用于实现深度学习计算,可以支持深度学习网络的训练。期望深度学习处理器能够更快速、高效地处理卷积操作和/或卷积反向操作,这将有助于加速整个深度学习网络、特别是CNN的训练。
技术实现思路
根据本公开的示例实施例,提供了一种用于执行深度学习处理的方案。在本公开的第一方面,提供了一种深度学习处理装置。该深度学习处理装置包括至少一个矩阵乘加模块,被配置为执行卷积神经网络中的卷积层的卷积核参数值矩阵与第一误差梯度值矩阵的矩阵乘加运算,得到多个中间矩阵;存储装置,用 ...
【技术保护点】
1.一种深度学习处理装置,包括:/n至少一个矩阵乘加模块,被配置为执行卷积神经网络中的卷积层的卷积核参数值矩阵与第一误差梯度值矩阵的矩阵乘加运算,得到多个中间矩阵;/n存储装置,用于存储所述多个中间矩阵而无需对所述多个中间矩阵中的元素进行重新整形;以及/n多个矩阵累加模块,被配置为从所述存储装置读取所述多个中间矩阵并且以并行方式按所述卷积层的卷积方案执行基于所述多个中间矩阵的矩阵累加运算,得到针对所述卷积层的第二误差梯度值矩阵。/n
【技术特征摘要】 【专利技术属性】
1.一种深度学习处理装置,包括:
至少一个矩阵乘加模块,被配置为执行卷积神经网络中的卷积层的卷积核参数值矩阵与第一误差梯度值矩阵的矩阵乘加运算,得到多个中间矩阵;
存储装置,用于存储所述多个中间矩阵而无需对所述多个中间矩阵中的元素进行重新整形;以及
多个矩阵累加模块,被配置为从所述存储装置读取所述多个中间矩阵并且以并行方式按所述卷积层的卷积方案执行基于所述多个中间矩阵的矩阵累加运算,得到针对所述卷积层的第二误差梯度值矩阵。
2.根据权利要求1所述的深度学习处理装置,其中所述多个中间矩阵与所述卷积层的输入的多个通道相关联,所述第二误差梯度值矩阵包括针对所述多个通道的多个通道矩阵,
所述多个矩阵累加模块中的每个矩阵累加模块被配置为:
在与所述多个通道对应的多个并行路径中的一个并行路径上,将所述多个中间矩阵中与所述多个通道中的一个通道相关联的中间矩阵进行累加,得到针对该通道的所述通道矩阵;或者
在每次累加时将所述多个中间矩阵中的一个中间矩阵累加到针对所述多个通道矩阵中的一个通道矩阵的中间结果。
3.根据权利要求1所述的深度学习处理装置,其中所述存储装置被配置为在目标存储位置存储所述第二误差梯度值矩阵,所述第二误差梯度值矩阵在所述矩阵累加运算之前具有全零值;并且
其中所述多个矩阵累加模块被配置为以并行方式将所述多个中间矩阵与所述目标存储位置处存储的具有所述初始值的所述第二误差梯度值矩阵累加。
4.根据权利要求1所述的深度学习处理装置,其中所述多个矩阵累加模块中的至少一个矩阵累加模块包括:
加法运算单元,被配置为接收要累加的矩阵中的第一元素和第二元素并且将所述第一元素和所述第二元素累加,得到累加元素;
数据写单元,被配置为将所述累加元素写入所述存储装置;
第一缓存区,被配置为缓存所述累加元素,所述第一缓存区的写入速度比所述存储装置的写入速度更快,所述累加元素在所述第一缓存区中被缓存多个时钟周期;以及
旁路模块,被配置为根据确定在所述加法运算单元要执行第三元素与所述累加元素的累加时所述累加元素无法从所述存储装置被读出,使得所述第一缓存区中缓存的所述累加元素被提供给所述加法运算单元。
5.根据权利要求1所述的深度学习处理装置,其中所述存储装置包括片上的随机访问存储器。
6.根据权利要求1所述的深度学习处理装置,还包括:
第二缓存区,被配置为缓存所述至少一个矩阵乘加模块在所述矩阵乘加运算过程中产生的第一中间运算结果和缓存所述多个矩阵累加模块在所述矩阵累加运算过程中产生的第二中间运算结果。
7.根据权利要求6所述的深度学习处理装置,还包括:
向量计算模块,被配置为执行以下至少一项:
在向量级别上将所述第二缓存区中用于存储所述第一中间运算结果和所述第二中间运算结果的存储区域置零;以及
在向量级别上将所述矩阵累加运算的最后运算结果有选择地写入所述深度学习处理装置的存储装置,作为所述第二误差梯度值矩阵的至少一部分。
8.根据权利要求1至7中任一项所述的深度学习处理装置,还包括:
指令处理模块,被配置为从通用处理装置获取用于所述CNN的所述卷积层的卷积方向操作的指令集并且解析所述指令集;以及
控制信号生成模块,被配置为基于解析后的所述指令集来生成针对所述至少一个矩阵乘加模块和所述多个矩阵累加模块的控制信号。
9.根据权利要求1至7中任一项所述的深度学习处理装置,其中所述至少一个矩阵乘加模块包括多个矩阵乘加模块,被配置为以并行方式执行所述矩阵乘加运算。
10.一种执行深度学习处理的方法,包括:
技术研发人员:龚小章,欧阳剑,王京,漆维,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。