一种用于处理神经网络中的卷积运算的装置和方法制造方法及图纸

技术编号:30631852 阅读:18 留言:0更新日期:2021-11-04 00:01
本发明专利技术公开了一种用于处理神经网络中的卷积运算的装置和方法,包括存储器、取数控制单元、卷积乘加运算单元、激活运算单元、计算单元和归一化单元,还包括两个通路选择单元,一个通路选择单元与第一单元连接,另一个通路选择单元与第二单元连接,第一单元和第二单元为取数控制单元、卷积乘加运算单元、激活运算单元、计算单元和归一化单元中任意的两个单元,每个通路选择单元都连接有两个配置寄存器。本发明专利技术通过在神经网络单元内设置独立双寄存器配置结构,当神经网络单个子单元完成自身的运算后,自动切换为下一层的网络配置进行工作,从而实现了网络层运算的完全流水工作,提升了神经网络的工作效率。神经网络的工作效率。

【技术实现步骤摘要】
一种用于处理神经网络中的卷积运算的装置和方法


[0001]本专利技术属于神经网络单元架构设计
,特别是涉及一种用于处理神经网络中的卷积运算的方法。

技术介绍

[0002]目前,卷积神经网络(英文全称:Convolutional Neural Networks,缩写:CNN)广泛运用在图像类应用中。卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。通常CNN模型是由输入层、卷积层、池化层、全连接层和分类层组合而构成的,在CNN中卷积层和不同的卷积核进行局部连接,从而产生输入数据的多个特征输出,将输出经过池化层降维后通过全连接层和分类层获取与输出目标的误差,再利用反向传播算法反复地更新CNN中相邻层神经元之间的连接权值,缩小与输出目标的误差,最终完成整个模型参数的训练。
[0003]在神经网络技术中,正在积极地进行在各种类型的电子系统中使用神经网络来分析输入数据并提取有效信息的研究。处理神经网络的装置需要针对复杂输入数据的大量运算。因此,需要用于高效处理神经网络的运算的技术,以便使用神经网络来实时分析大量输入数据并提取所需信息。当对神经网络进行训练时,通过仅使用少量的比特可以保持均匀的准确度或者可以提高准确度,并且在运算期间由处理神经网络的运算器使用的比特数可以进行各种改变。如果将这种神经网络的特性和在神经网络中执行的运算的并行性一起使用,则可以高效地处理神经网络中的各种运算。

技术实现思路

[0004]本专利技术主要解决的技术问题是提供一种用于处理神经网络中的卷积运算的装置和方法,通过在神经网络单元内设置独立双寄存器配置结构,当神经网络单个子单元完成自身的运算后,自动切换为下一层的网络配置进行工作,从而实现了网络层运算的完全流水工作,提升了神经网络的工作效率。
[0005]为解决上述技术问题,本专利技术采用的一个技术方案是:一种用于处理神经网络中的卷积运算的方法,包括存储器、取数控制单元、卷积乘加运算单元、激活运算单元、计算单元和归一化单元,还包括两个通路选择单元,一个通路选择单元与第一单元连接,另一个通路选择单元与第二单元连接,第一单元和第二单元为取数控制单元、卷积乘加运算单元、激活运算单元、计算单元和归一化单元中任意的两个单元,每个通路选择单元都连接有两个配置寄存器;
[0006]配置寄存器用于存储运算指令,所述运算指令包括操作码和操作域,所述操作码用于指示所述运算指令对应的运算方式;所述操作域包括所述参与运算的数据的首地址和所述参与运算的数据中部分数据或者全部数据的索引的地址;
[0007]通路选择单元用于获取与之连接的单元工作完成的信号后,从当前选择的寄存器切换到另一个寄存器;
[0008]存储器用于存储参与运算的数据和卷积核数据;
[0009]取数控制单元用于根据寄存器信息对存储器进行数据读取操作,并把读取数据送往卷积乘加单元;
[0010]卷积乘加运算单元用于进行神经网络的卷积运算,并将运算结果送往激活运算单元;
[0011]激活运算单元用于进行神经网络的激活函数运算,并将运算结果送往计算单元;
[0012]计算单元用于进行神经网络的池化运算,并将池化运算结果送往归一化单元;
[0013]归一化单元用于将池化运算结果回写到存储器。
[0014]进一步地说,还包括处理器,所述处理器用于获取第一单元或者第二单元的完成信号,将下一层的神经网络配置信息写入通路选择单元当前选择的寄存器。
[0015]进一步地说,还包括配置存储器和配置读取单元,配置存储器用于存储神经网络每一层的神经网络配置信息,配置读取单元用于获取第一单元或者第二单元的完成信号,从寄存器上获取下一层的神经网络配置信息并写入通路选择单元当前选择的寄存器。
[0016]进一步地说,所述配置存储器还存储有神经网络各层配置信息地址索引表格。
[0017]进一步地说,还包括网络解析分层处理单元、配置产生单元和配置写入单元;
[0018]网络解析分层处理单元用于将工程文件解析分解为一层层独立的网络结构;
[0019]配置产生单元用于将单层的神经网络按照神经网络的结构产生对应的配置信息;
[0020]配置写入单元用于将每一层网络的配置信息写入配置存储器中。
[0021]一种用于处理神经网络中的卷积运算的方法,用于加快神经网络运算速度的装置中,包括存储器、取数控制单元、卷积乘加运算单元、激活运算单元、计算单元和归一化单元,还包括两个通路选择单元,一个通路选择单元与第一单元连接,另一个通路选择单元与第二单元连接,第一单元和第二单元为取数控制单元、卷积乘加运算单元、激活运算单元、计算单元和归一化单元中任意的两个单元,每个通路选择单元都连接有两个配置寄存器;配置寄存器用于存储运算指令,所述运算指令包括操作码和操作域,所述操作码用于指示所述运算指令对应的运算方式;所述操作域包括所述参与运算的数据的首地址和所述参与运算的数据中部分数据或者全部数据的索引的地址;存储器用于存储参与运算的数据和卷积核数据;
[0022]本方法包括如下步骤:
[0023]取数控制单元根据寄存器信息对存储器进行数据读取操作,并把读取数据送往卷积乘加单元;
[0024]卷积乘加运算单元用于进行神经网络的卷积运算,并将运算结果送往激活运算单元;
[0025]激活运算单元用于进行神经网络的激活函数运算,并将运算结果送往计算单元;
[0026]计算单元用于进行神经网络的池化运算,并将池化运算结果送往归一化单元;
[0027]归一化单元用于将池化运算结果回写到存储器;
[0028]通路选择单元获取与之连接的单元工作完成的信号后,从当前选择的寄存器切换到另一个寄存器。
[0029]进一步地说,所述装置还包括处理器,本方法还包括步骤:
[0030]所述处理器获取第一单元或者第二单元的完成信号,将下一层的神经网络配置信
息写入通路选择单元当前选择的寄存器。
[0031]进一步地说,所述装置还包括配置存储器和配置读取单元,配置存储器用于存储神经网络每一层的神经网络配置信息;所述方法还包括步骤:
[0032]配置读取单元获取第一单元或者第二单元的完成信号,从寄存器上获取下一层的神经网络配置信息并写入通路选择单元当前选择的寄存器。
[0033]进一步地说,所述配置存储器还存储有神经网络各层配置信息地址索引表格,所述配置读取单元从寄存器获取下一层的神经网络配置信息包括步骤:
[0034]所述配置读取单元从寄存器根据索引表格获取下一层的神经网络配置信息。
[0035]进一步地说,所述装置还包括网络解析分层处理单元、配置产生单元和配置写入单元;所述方法包括步骤:
[0036]网络解析分层处理单元将工程文件解析分解为一层层独立的网络结构;
[0037]配置产生单元将单层的神经网络按照神经网络的结构产生对应的配置信息;
[0038]配置本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于处理神经网络中的卷积运算的装置,其特征在于:包括存储器、取数控制单元、卷积乘加运算单元、激活运算单元、计算单元和归一化单元,还包括两个通路选择单元,一个通路选择单元与第一单元连接,另一个通路选择单元与第二单元连接,第一单元和第二单元为取数控制单元、卷积乘加运算单元、激活运算单元、计算单元和归一化单元中任意的两个单元,每个通路选择单元都连接有两个配置寄存器;配置寄存器用于存储运算指令,所述运算指令包括操作码和操作域,所述操作码用于指示所述运算指令对应的运算方式;所述操作域包括所述参与运算的数据的首地址和所述参与运算的数据中部分数据或者全部数据的索引的地址;通路选择单元用于获取与之连接的单元工作完成的信号后,从当前选择的寄存器切换到另一个寄存器;存储器用于存储参与运算的数据和卷积核数据;取数控制单元用于根据寄存器信息对存储器进行数据读取操作,并把读取数据送往卷积乘加单元;卷积乘加运算单元用于进行神经网络的卷积运算,并将运算结果送往激活运算单元;激活运算单元用于进行神经网络的激活函数运算,并将运算结果送往计算单元;计算单元用于进行神经网络的池化运算,并将池化运算结果送往归一化单元;归一化单元用于将池化运算结果回写到存储器。2.根据权利要求1所述的用于处理神经网络中的卷积运算的装置,其特征在于:还包括处理器,所述处理器用于获取第一单元或者第二单元的完成信号,将下一层的神经网络配置信息写入通路选择单元当前选择的寄存器。3.根据权利要求1所述的用于处理神经网络中的卷积运算的装置,其特征在于:还包括配置存储器和配置读取单元,配置存储器用于存储神经网络每一层的神经网络配置信息,配置读取单元用于获取第一单元或者第二单元的完成信号,从寄存器上获取下一层的神经网络配置信息并写入通路选择单元当前选择的寄存器。4.根据权利要求3所述的用于处理神经网络中的卷积运算的装置,其特征在于:所述配置存储器还存储有神经网络各层配置信息地址索引表格。5.根据权利要求3所述的用于处理神经网络中的卷积运算的装置,其特征在于:还包括网络解析分层处理单元、配置产生单元和配置写入单元;网络解析分层处理单元用于将工程文件解析分解为一层层独立的网络结构;配置产生单元用于将单层的神经网络按照神经网络的结构产生对应的配置信息;配置写入单元用于将每一层网络的配置信息写入配置存储器中。6.一种用于处理神经网络中的卷积运算的方法,其特征在于:用于加快神经网络运算速度的装置中,包括存储器、取数控制单元、卷积乘加运算单元...

【专利技术属性】
技术研发人员:白冰
申请(专利权)人:光子算数苏州智能科技有限公司
类型:发明
国别省市:

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

1