神经网络设备及其操作方法、以及应用处理器技术

技术编号:30345259 阅读:31 留言:0更新日期:2021-10-12 23:30
一种神经网络设备包括计算电路,该计算电路包括第一乘法器、第二乘法器、对齐移位器和加法器。加法器共享第一乘法器和第二乘法器。计算电路对多个浮点数据对执行第一点积运算,或者对多个整数数据对执行第二点积运算。在第一点积运算中,计算电路使用第一乘法器分别从多个浮点数据对获取多个分数乘法结果,使用加法器将多个分数乘法结果相加并输出第一累积数据。在第二点积运算中,计算电路使用第二乘法器分别从多个整数数据对获取多个整数乘法结果,使用加法器将多个整数乘法结果相加并输出第二累积数据。出第二累积数据。出第二累积数据。

【技术实现步骤摘要】
神经网络设备及其操作方法、以及应用处理器
[0001]相关申请的交叉引用
[0002]本申请要求分别于2020年4月7日和2021年2月1日在韩国知识产权局递交的韩国专利申请No.10

2020

0042409和No.10

2021

0014396的优先权,上述两个专利申请的内容通过引用整体并入本文。


[0003]本专利技术构思的实施例涉及一种神经网络,更具体地,涉及一种神经网络设备的计算方法和设备,该神经网络设备包括执行浮点计算和整数计算的计算电路。

技术介绍

[0004]神经网络是对动物大脑的生物网络进行建模的计算架构。随着近来神经网络技术的发展,在各种电子系统中已经存在使用基于神经网络而操作的神经网络设备来分析输入数据并提取有效信息的许多研究。
[0005]神经网络设备针对复杂的输入数据执行许多计算。为了使神经网络设备能够实时地分析输入并提取信息,需要一种用于有效地处理神经网络的操作的技术。具体地,诸如智能电话之类的低功率高性能系统具有有限的资源。因此,期望一种用于减少处理复杂的输入数据所需的计算的次数并提高人工神经网络的性能的技术。

技术实现思路

[0006]本专利技术构思的实施例提供了一种用于神经网络设备中的神经网络的计算方法和设备,该神经网络设备包括执行浮点计算和整数计算的计算电路。
[0007]根据本专利技术构思的实施例,提供了一种神经网络设备,其包括计算电路,该计算电路包括第一乘法器、第二乘法器、对齐移位器和加法器。加法器共享第一乘法器和第二乘法器。计算电路对多个浮点数据对执行第一点积运算,或者对多个整数数据对执行第二点积运算。在第一点积运算中,计算电路使用第一乘法器分别根据多个浮点数据对获取多个分数乘法结果,使用对齐移位器基于从分别与多个浮点数据对相对应的多个指数加法结果中识别出的最大值来对多个分数乘法结果执行对齐移位,使用加法器将对齐的多个分数乘法结果相加,并且输出第一累积数据。在第二点积运算中,计算电路使用第二乘法器分别根据多个整数数据对获取多个整数乘法结果,使用加法器将多个整数乘法结果相加,并且输出第二累积数据。
[0008]根据本专利技术构思的另一实施例,提供了一种操作神经网络设备的方法,所述方法包括:接收多个数据对;当多个数据对具有浮点格式时,执行浮点运算;当多个数据对具有整数格式时,执行整数运算;以及将通过浮点运算或整数运算生成的最终数据存储在存储器中。执行浮点运算包括:使用浮点乘法器获取分别与多个数据对相对应的多个分数乘法结果,并且使用加法器将多个分数乘法结果相加以生成第一累积数据。执行整数运算包括:使用整数乘法器获取分别与多个数据对相对应的多个整数乘法结果,并且使用加法器将多
个整数乘法结果相加以生成第二累积数据。
[0009]根据本专利技术构思的另一实施例,提供了一种包括神经网络设备的应用处理器,该神经网络设备包括浮点乘法器、整数乘法器、加法器和存储器。神经网络设备对多个浮点数据对执行第一点积运算,或对多个整数数据对执行第二点积运算。在第一点积运算中,神经网络设备使用浮点乘法器分别根据多个浮点数据对获取多个分数乘法结果,使用加法器将多个分数乘法结果相加以生成第一累积数据,并且将第一累积数据存储在存储器中。在第二点积运算中,神经网络设备使用浮点乘法器和整数乘法器分别根据多个整数数据对获取多个整数乘法结果,使用加法器将多个整数乘法结果相加以生成第二累积数据,并且将第二累积数据存储在存储器中。
附图说明
[0010]图1是根据实施例的神经网络系统的示意框图。
[0011]图2示出了神经网络架构的示例。
[0012]图3A至图3C示出了浮点数据格式的类型的示例,并且图3D示出了整数数据格式的示例。
[0013]图4是根据实施例的操作神经网络设备的方法的流程图。
[0014]图5示出了根据实施例的神经网络系统的操作。
[0015]图6示出了根据实施例的神经网络设备。
[0016]图7A至图7C是根据实施例的神经网络设备中的计算电路的框图。
[0017]图8A示出了输入到计算电路的数据对的格式类型,图8B示出了根据实施例的在浮点计算模式下执行点积运算的计算电路,以及图8C示出了根据实施例的在整数计算模式下执行点积运算的计算电路。
[0018]图9A和图9B示出了根据浮点数据的格式的类型执行位扩展的浮点乘法器。
[0019]图10至图15示出了根据实施例的计算电路的操作。
[0020]图16是根据实施例的应用处理器的框图。
具体实施方式
[0021]在下文中,将参考附图来详细描述实施例。
[0022]图1是根据实施例的神经网络系统100的示意框图。
[0023]根据实施例,神经网络系统100训练神经网络或通过使用神经网络分析输入数据来根据输入数据推断信息。神经网络系统100基于推断的信息来确定状况,或者控制其上安装有神经网络系统100的电子设备。例如,神经网络系统100可以并入到使用神经网络执行语音识别、图像识别、图像分类等的智能电话、平板设备、智能电视(TV)、增强现实(AR)设备、物联网(IoT)设备、自动驾驶载运工具、机器人、医疗设备、无人机、高级驾驶员辅助系统(ADAS)、图像显示设备、测量设备等。神经网络系统100可以安装在任何其他种类的电子设备上。在一个实施例中,图1的神经网络系统100与应用处理器相对应。
[0024]参照图1,在一个实施例中,神经网络系统100包括中央处理单元(CPU)110、神经网络设备120、存储器130和传感器模块140。神经网络系统100还包括输入/输出模块、安全模块、电源控制器等,并且还可以包括各种其他类型的处理器。在一些实施例中,神经网络系
统100的一些或全部元件(例如,CPU 110、神经网络设备120、存储器130或传感器模块140)形成在单个半导体芯片中。例如,神经网络系统100可以实现为片上系统(SoC)。神经网络系统100的元件通过总线150相互通信。另外,神经网络系统100还可以包括用于与其他知识产权(IP)块进行通信的接口(未示出)。
[0025]根据一个实施例,CPU 110通常控制神经网络系统100的操作。CPU 110可以包括单个核或多个核。CPU 110处理或执行存储在诸如存储器130之类的存储区域中的程序或数据。
[0026]例如,根据一个实施例,CPU 110执行应用并控制神经网络设备120执行在应用的执行中涉及的基于神经网络的任务。神经网络可以是以下各种类型的神经网络模型中的至少一种:例如,卷积神经网络(CNN)、区域CNN(R

CNN)、区域建议网络(RPN)、递归神经网络(RNN)、基于堆叠的深度神经网络(S

DNN)、状态空间动态神经网络(S

SDNN)、反卷积网络、深度信念网络(DBN)、受限玻尔兹曼本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络设备,所述神经网络设备包括:计算电路,包括第一乘法器、第二乘法器、对齐移位器和加法器,其中所述加法器共享所述第一乘法器和所述第二乘法器,其中所述计算电路对多个浮点数据对执行第一点积运算或对多个整数数据对执行第二点积运算,其中,在所述第一点积运算中,所述计算电路使用所述第一乘法器分别根据所述多个浮点数据对获取多个分数乘法结果,使用所述对齐移位器基于从分别与所述多个浮点数据对相对应的多个指数加法结果中识别出的最大值来对所述多个分数乘法结果执行对齐移位,使用所述加法器将对齐的多个分数乘法结果相加并输出第一累积数据,以及在所述第二点积运算中,所述计算电路使用所述第二乘法器分别根据所述多个整数数据对获取多个整数乘法结果,使用所述加法器将所述多个整数乘法结果相加并输出第二累积数据。2.根据权利要求1所述的神经网络设备,其中,所述加法器包括:第一加法电路,在所述第一点积运算中将所述对齐的多个分数乘法结果的高位相加;以及第二加法电路,在所述第一点积运算中将所述对齐的多个分数乘法结果的低位相加,或者在所述第二点积运算中将所述多个整数乘法结果相加。3.根据权利要求2所述的神经网络设备,其中,所述计算电路还包括:第一后加法器,在所述第一点积运算中,将从所述第一加法电路输出的加法结果数据与从所述第二加法电路输出的加法结果数据相加,对所述加法结果数据进行归一化和取整,并输出所述第一累积数据;以及第二后加法器,在所述第二点积运算中,将从所述第二加法电路输出的所述加法结果数据相加并输出所述第二累积数据。4.根据权利要求3所述的神经网络设备,其中,所述计算电路接收包括第一整数数据对和第二整数数据对在内的所述多个整数数据对,并且在所述第二点积运算中,使用所述第一乘法器获取关于所述第一整数数据对的第一整数乘法结果,并且使用所述第二乘法器获取关于所述第二整数数据对的第二整数乘法结果。5.根据权利要求4所述的神经网络设备,其中,所述第一加法电路在所述第二点积运算中将所述第一整数乘法结果相加,并且其中,所述第二加法电路在所述第二点积运算中将所述第二整数乘法结果相加。6.根据权利要求5所述的神经网络设备,其中,在所述第二点积运算中,所述第二后加法器将从所述第一加法电路输出的所述加法结果数据与从所述第二加法电路输出的所述加法结果数据相加,并且输出所述第二累积数据。7.根据权利要求3所述的神经网络设备,其中,当执行所述第一点积运算时,所述计算电路选通所述第二乘法器和所述第二后加法器,并且当执行所述第二点积运算时,选通所述对齐移位器和所述第一后加法器。8.根据权利要求1所述的神经网络设备,其中,包括在所述多个浮点数据对中的多个输入数据项具有与所述第一累积数据的格式类型不同类型的格式,并且其中,包括在所述多个整数数据对中的多个输入数据项具有与所述第二累积数据的格
式类型不同类型的格式。9.根据权利要求8所述的神经网络设备,其中,包括在所述多个浮点数据对中的所述多个输入数据项具有浮点16“FP16”型格式或脑浮16“BF16”型格式,并且其中,第一累积数据具有浮点32“FP32”型格式。10.根据权利要求9所述的神经网络设备,其中,所述计算电路扩展所述多个输入数据项中的具有所述FP16型格式的第一数据的指数位字段,并且扩展所述多个输入数据项中的具有所述BF16型格式的第二数据的分数位字段。11.根据权利要求8所述的神经网络设备,其中,所述多个整数数据对中的所述多个输入数据项具有整数8“INT8”型格式,并且其中,所述第二累积数据具有整数32“INT32”型格式。12.根据权利要求1所述的神经网络设备,还包括:缓冲器,存储第三累积数据,所述第三累积数据是由所述计算电路...

【专利技术属性】
技术研发人员:金贤弼沈炫宇安成祐金厦颂李度咏
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:

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

1