神经网络运算装置制造方法及图纸

技术编号:14158774 阅读:116 留言:0更新日期:2016-12-12 01:30
本发明专利技术公开了一种神经网络运算装置,属于电子芯片领域。神经网络运算装置包括:第一运算处理器和第二运算处理器:第一运算处理器,用于在神经网络的训练运算中,进行第一运算或第二运算,第一运算包括向量点积运算,第二运算包括向量点积运算和非线性变换运算;第二运算处理器,用于根据至少一个修正值对神经网络的至少一个权向量进行修正,得到至少一个修正权向量,其中,每一个修正值与神经网络的权向量中的一个向量元素对应,至少一个修正值根据第一运算处理器的运算结果得到。本发明专利技术提供的神经网络运算装置可以提升神经网络运算的效率。

【技术实现步骤摘要】

本专利技术涉及电子芯片领域,特别涉及一种神经网络运算装置
技术介绍
神经网络是一种常见的分类算法,其在在语音识别、图像识别、自然语言处理等多个领域已经取得了较大的成功,而且还在迅速发展的过程中。神经网络本质上可以看成是一种有向图,如图1所示,其包括多个节点和连接这些节点的有向弧。其中,神经网络中的多个节点分为多个层,神经网络最下一层节点称为输入层,神经网络最上一层节点称为输出层,输入层和输出层之间的层称为隐含层。神经网络中的每一层节点可以通过有向弧与相邻层的节点连接,但同一层节点之间没有有向弧连接,其中,每一个有向弧对应于一个权值。神经网络中某一节点的输出值可以由该某一节点下一层所有节点的输出值组成的输出向量和该下一层所有节点指向该某一节点的所有有向弧对应的权值组成的权向量经过向量点积计算得到。在神经网络中各有向弧对应的权值已经确定的情况下,神经网络可以进行分类运算,而为了确定神经网络中各有向弧对应的权值,神经网络则需要进行训练运算。相关技术中,神经网络运算装置包括运算处理器,该运算处理器可以执行神经网络的训练运算,同时该运算处理器还可以执行神经网络的分类运算。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:现有的神经网络运算装置的运算处理器在进行神经网络的训练运算的过程中,其需要执行多种不同模式的运算任务,这导致其硬件电路较为复杂,从而使得其运算效率难以得到提升。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种神经网络运算装置。所述神经网络运算装置包括第一运算处理器和第二运算处理器:所述第一运算处理器,用于在神经网络的训练运算中,进行第一运算或第二运算,所述第一运算包括向量点积运算,所述第二运算包括向量点积运算和非线性变换运算;所述第二运算处理器,用于根据至少一个修正值对所述神经网络的至少一个权向量进行修正,得到至少一个修正权向量,其中,每一个修正值与所述神经网络的权向量中的一个向量元素对应,所述至少一个修正值根据所述第一运算处理器的运算结果得到。在第一种可能的实施方式中,所述第一运算处理器,还用于根据所述第一运算或所述第二运算的运算结果计算所述至少一个修正值;对应地,所述第二运算处理器,用于根据所述第一运算处理器计算得到的所述至少一个修正值对所述至少一个权向量进行修正,得到所述至少一个修正权向量。在第二种可能的实施方式中,所述第二运算处理器,还用于根据所述第一运算或所述第二运算得到的运算结果计算所述至少一个修正值,并根据所述至少一个修正值对所述至少一个权向量进行修正,得到所述至少一个修正权向量。在第三种可能的实施方式中,所述第二运算处理器,还用于根据目标修正值对所述至少一个权向量进行修正,得到所述至少一个修正权向量,所述目标修正值为大于第一预设阈值的所述修正值。在第四种可能的实施方式中,所述第一运算处理器,用于将所述神经网络的权向量和通过所述神经网络的输入层输入的样本向量进行正向运算得到所述神经网络每一层的正向输出向量,所述正向运算包括所述第一运算或所述第二运算;所述第一运算处理器,还用于将所述神经网络的权向量和通过所述神经网络的输出层输入的误差向量进行反向运算得到所述神经网络每一层的反向输出向量,所述误差向量为所述输出层的正向输出向量与所述样本向量对应的目标输出向量的差向量,所述反向运算包括所述第一运算。在第五种可能的实施方式中,所述第一运算处理器,还用于根据所述神经网络每一层的正向输出向量和所述神经网络每一层的反向输出向量计算所述至少一个修正值。在第六种可能的实施方式中,所述第一运算处理器,还用于在神经网络的正向推理运算过程中,进行所述第一运算或所述第二运算。在第七种可能的实施方式中,所述第二运算处理器,还用于在所述反向输出向量中至少有一个反向输出向量大于第二预设阈值时,根据所述至少一个修正值对所述至少一个权向量进行修正,得到至少一个修正权向量。在第八种可能的实施方式中,所述第一运算处理器,用于在神经网络的训练运算中,获取所述神经网络第i层的正向输出向量,并将所述第i层的正向输出向量与由所述第i层指向第i+1层的有向弧对应的至少一个权向量分别进行向量点积运算得到第一向量,根据所述第一向量得到所述第i+1层的正向输出向量,当i为1时所述第i层的正向输出向量为所述样本向量,i为大于或等于1的正整数。在第九种可能的实施方式中,所述第一运算处理器,用于将所述第一向量中的向量元素进行非线性变换运算得到所述第i+1层的正向输出向量。在第十种可能的实施方式中,所述第一运算处理器,用于在神经网络的训练运算中,获取所述神经网络第j层的反向输出向量,并将所述第j层的反向输出向量与由所述第j层指向第j-1层的有向弧对应的至少一个权向量分别进行向量点积运算,得到所述第j-1层的反向输出向量,当所述第j层为所述神经网络的最后一层时,所述第j层的反向输出向量为所述误差向量,j为大于1的正整数。本专利技术实施例提供的技术方案带来的有益效果是:通过在神经网络运算装置中设置第一运算处理器和第二运算处理器,且第一运算处理器仅用于在神经网络的训练运算中进行向量点积运算,或者,第一运算处理器仅用于在神经网络的训练运算中进行向量点积运算和非线性变换运算,使得第一运算处理器可以只处理一种模式的运算任务,因此,其可以只包含针对该模式的运算所设计的特殊电路,从而达到了简化第一运算处理器硬件电路的目的,使得第一运算处理器的运算效率得到了较大的提升。同时,神经网络训练运算中不同于向量点积运算的其他模式的运算,如修正权向量的运算可以由第二运算处理器来执行,由于神经网络的训练运算中绝大部分的运算都为向量点积运算或者都为向量点积运算和非线性变换运算,因此,第一运算处理器运算效率的提升可以大大促进神经网络训练运算的效率的提升。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的神经网络的示意图。图2是本专利技术实施例提供的一种神经网络运算装置的结构示意图。图3是本专利技术实施例提供的一种神经网络的局部示意图。图4是本专利技术实施例提供的一种神经网络的局部示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。请参考图2,其示出了本专利技术一个实施例提供的神经网络运算装置200的结构示意图。如图2所示,该装置可以包括:第一运算处理器210和第二运算处理器220。该第一运算处理器210,用于在神经网络的训练运算中,进行第一运算或第二运算,该第一运算包括向量点积运算,该第二运算包括向量点积运算和非线性变换运算。该第二运算处理器220,用于根据至少一个修正值对该神经网络的至少一个权向量进行修正,得到至少一个修正权向量,其中,每一个修正值与该神经网络的权向量中的一个向量元素对应,该至少一个修正值根据该第一运算处理器的运算结果得到。综上所述,本实施例提供的神经网络运算装置,通过在神经网络运算装置中设置第一运算处理器和第二运算处理器,且第一运算处理器仅用于在神经网络的训练运算中进行向量本文档来自技高网...
神经网络运算装置

【技术保护点】
一种神经网络运算装置,其特征在于,所述神经网络运算装置包括第一运算处理器和第二运算处理器:所述第一运算处理器,用于在神经网络的训练运算中,进行第一运算或第二运算,所述第一运算包括向量点积运算,所述第二运算包括向量点积运算和非线性变换运算;所述第二运算处理器,用于根据至少一个修正值对所述神经网络的至少一个权向量进行修正,得到至少一个修正权向量,其中,每一个修正值与所述神经网络的权向量中的一个向量元素对应,所述至少一个修正值根据所述第一运算处理器的运算结果得到。

【技术特征摘要】
1.一种神经网络运算装置,其特征在于,所述神经网络运算装置包括第一运算处理器和第二运算处理器:所述第一运算处理器,用于在神经网络的训练运算中,进行第一运算或第二运算,所述第一运算包括向量点积运算,所述第二运算包括向量点积运算和非线性变换运算;所述第二运算处理器,用于根据至少一个修正值对所述神经网络的至少一个权向量进行修正,得到至少一个修正权向量,其中,每一个修正值与所述神经网络的权向量中的一个向量元素对应,所述至少一个修正值根据所述第一运算处理器的运算结果得到。2.根据权利要求1所述的神经网络运算装置,其特征在于,所述第一运算处理器,还用于根据所述第一运算或所述第二运算的运算结果计算所述至少一个修正值;对应地,所述第二运算处理器,用于根据所述第一运算处理器计算得到的所述至少一个修正值对所述至少一个权向量进行修正,得到所述至少一个修正权向量。3.根据权利要求1所述的神经网络运算装置,其特征在于,所述第二运算处理器,还用于根据所述第一运算或所述第二运算的运算结果计算所述至少一个修正值,并根据所述至少一个修正值对所述至少一个权向量进行修正,得到所述至少一个修正权向量。4.根据权利要求1所述的神经网络运算装置,其特征在于,所述第二运算处理器,还用于根据目标修正值对所述至少一个权向量进行修正,得到所述至少一个修正权向量,所述目标修正值为大于第一预设阈值的所述修正值。5.根据权利要求1所述的神经网络运算装置,其特征在于,所述第一运算处理器,用于将所述神经网络的权向量和通过所述神经网络的输入层输入的样本向量进行正向运算得到所述神经网络每一层的正向输出向量,所述正向运算包括所述第一运算或所述第二运算;所述第一运算处理器,还用于将所述神经网络的权向量和通过所述神经网络的输出层输入的误差向量进行反向运算得到所述神经网络每一层的反向输出向量,所述误差向量为...

【专利技术属性】
技术研发人员:费旭东
申请(专利权)人:杭州华为数字技术有限公司
类型:发明
国别省市:浙江;33

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

1