应用处理器、神经网络器件及操作神经网络器件的方法技术

技术编号:24355541 阅读:49 留言:0更新日期:2020-06-03 02:28
本发明专利技术提供应用处理器、神经网络器件及操作神经网络器件的方法。所述神经网络器件包括:直接存储器存取(DMA)控制器,被配置以从存储器接收浮点数据;数据转换器,被配置以将经由所述直接存储器存取控制器接收到的所述浮点数据转换成整数类型数据;以及处理器,被配置以使用从所述数据转换器提供的所述整数类型数据来基于整数运算实行神经网络运算。

Application of processor, neural network device and operation method of neural network device

【技术实现步骤摘要】
应用处理器、神经网络器件及操作神经网络器件的方法[相关申请的交叉参考]本专利申请主张在2018年11月23日在韩国知识产权局提出申请的韩国专利申请第10-2018-0146610号的优先权,所述韩国专利申请的公开内容全文并入本申请供参考。
本公开涉及一种神经网络。更具体来说,本公开涉及用于通过神经网络器件(neuralnetworkdevice)处理浮点数的一种方法及装置,所述神经网络器件包括整数运算器。
技术介绍
神经网络是指将构成动物大脑的生物网络模型化的计算架构。近来,随着神经网络技术的发展,正在对在各种类型的电子系统中使用基于神经网络的神经网络器件来分析输入数据及提取有效信息进行积极研究。神经网络器件需要对复杂的输入数据进行大量的运算。神经网络器件需要一种技术来高效地处理神经网络运算以实时地分析输入(例如输入数据)并从所述输入中提取信息。具体来说,低功率及高性能系统(例如智能手机)具有有限的资源,且因此需要用于在减少处理复杂的输入数据所需的运算的量的同时使人工神经网络的性能最大化的技术。各别地,使用浮点数作为编码数的特定方式。浮点数可包括给定基数(base)中给定长度的带符号的数字串以及对量值进行修改的带符号的整数指数。使用浮点数采用折衷范围及精确性的方式来提供底层数(underlyingnumber)的近似值。也就是说,浮点数可支持值的宽泛范围且可适用于表示实数的近似值。然而,与更熟悉的实数相比,作为表示方式的浮点数可呈现相对复杂度。举例来说,浮点数据可包括特征映射图(featuremap)、核(kernel)(权重映射图(weightmap))、偏置(bias)等,且处理这种浮点数据的性质对于神经网络器件来说并非始终是最优的。
技术实现思路
本公开阐述用于在神经网络器件中处理神经网络的浮点数的一种方法及装置,所述神经网络器件包括整数运算器。根据本公开的一方面,一种用于实行神经网络运算的神经网络器件包括直接存储器存取(directmemoryaccess,DMA)控制器、数据转换器及处理器。所述直接存储器存取控制器被配置以从存储器接收浮点数据。所述数据转换器被配置以将经由所述DMA控制器接收到的所述浮点数据转换成整数类型数据。所述处理器被配置以使用从所述数据转换器提供的所述整数类型数据来基于整数运算实行所述神经网络运算。根据本公开的另一方面,一种操作神经网络器件的方法包括:从存储器接收浮点输入数据以及将所述浮点输入数据转换成整数类型输入数据。所述方法还包括使用所述整数类型输入数据来基于整数运算实行神经网络运算。根据本公开的另一方面,一种应用处理器包括存储器及神经网络器件。所述存储器被配置以存储运算参数及特征值。所述运算参数及所述特征值是浮点类型值。所述神经网络器件被配置以从所述存储器接收所述运算参数及所述特征值,将所述运算参数及所述特征值转换成整数类型值,以及基于被转换成所述整数类型值的所述运算参数及所述特征值来实行神经网络运算。附图说明通过结合附图阅读以下详细说明,将更清楚地理解本公开的实施例,在附图中:图1是示出根据示例性实施例的神经网络系统的方块图。图2是示出神经网络结构的实例的图。图3A是示出浮点数的实例的图。图3B是示出整数的实例的图。图3C是示出定点数的实例的图。图4是示出根据示例性实施例的操作神经网络器件的方法的图。图5A是示出根据示例性实施例的神经网络系统的操作的图。图5B是示出根据比较例的神经网络系统的操作的图。图6是示出根据示例性实施例的神经网络器件的图。图7A是示出根据示例性实施例的数据转换器的电路图。图7B是示出根据示例性实施例的图7A所示数据转换器的另一电路图。图8A是示出根据示例性实施例的数据转换器的运算模式的实例的图。图8B是示出图8A所示数据转换器的输入的图。图9A是示出根据示例性实施例的数据转换器的运算模式的实例的图。图9B是示出图9A所示数据转换器的输入的图。图10是示出根据示例性实施例的数据转换器的运算模式的实例的图。图11是示出根据示例性实施例的数据转换器的运算模式的实例的图。图12是示出根据示例性实施例的数据转换器的运算模式的实例的图。图13是示出根据示例性实施例的数据转换器的电路图。图14是示出根据示例性实施例的神经网络器件的方块图。图15是示出根据示例性实施例的数据处理系统的方块图。图16是示出根据示例性实施例的应用处理器的方块图。具体实施方式图1是示出根据示例性实施例的神经网络系统的方块图。神经网络系统100可通过训练(或学习)神经网络或者通过使用神经网络对输入数据进行分析来推断输入数据中所包含的信息或可从输入数据推导出的信息。神经网络系统100可基于所推断的信息来确定如何在一种情况中进行解决或继续进行或者可控制上面安装有神经网络系统100的电子器件的组件。举例来说,可将神经网络系统100应用于以下器件或者在以下器件中应用神经网络系统100:智能手机、平板器件、智能电视(television,TV)、增强现实(augmentedreality,AR)器件、物联网(InternetofThings,IoT)器件、自主驾驶车辆、机器人、医疗器件、无人机、高级驾驶员辅助系统(advanceddriversassistancesystem,ADAS)、图像显示器件、测量器件和/或其他类型的器件。举例来说,神经网络系统100可应用于实行语音识别、图像识别、图像分类和/或使用神经网络进行的其他操作。神经网络系统100也可安装在各种类型的电子器件中的任一者上。在示例性实施例中,图1所示神经网络系统100可为应用处理器。参照图1,神经网络系统100可包括中央处理器(centralprocessingunit,CPU)110、神经网络器件120、存储器130及传感器模块140。神经网络系统100还可包括输入/输出模块、安全模块、功率控制器件等,且还可包括各种类型的处理器。神经网络系统100的组件(例如,CPU110、神经网络器件120、存储器130及传感器模块140)中的一些或所有可形成在单个半导体芯片上。举例来说,神经网络系统100可被实施为系统芯片(system-on-chip,SoC)。神经网络系统100的组件可经由总线150与彼此通信。CPU110控制神经网络系统100的所有操作。CPU110可包括一个处理核心(单个核心)或多个处理核心(多核心)。CPU110可处理或执行存储在存储区域(如存储器130)中的程序和/或数据。CPU110可通过执行这种程序和/或数据中的指令来实行或控制本文所述各种方法中的部分或所有的性能。CPU110也可为整数运算器或可包括整数运算器并基于由数据转换器20从浮点输入值转换而来的整数类型输入值来实行整数运算。作为另外一种选择,CPU110可作为整数运算器来本文档来自技高网
...

【技术保护点】
1.一种用于实行神经网络运算的神经网络器件,所述神经网络器件包括:/n直接存储器存取控制器,被配置以从存储器接收浮点数据;/n数据转换器,被配置以将经由所述直接存储器存取控制器接收到的所述浮点数据转换成整数类型数据;以及/n处理器,被配置以使用从所述数据转换器提供的所述整数类型数据来基于整数运算实行所述神经网络运算。/n

【技术特征摘要】
20181123 KR 10-2018-01466101.一种用于实行神经网络运算的神经网络器件,所述神经网络器件包括:
直接存储器存取控制器,被配置以从存储器接收浮点数据;
数据转换器,被配置以将经由所述直接存储器存取控制器接收到的所述浮点数据转换成整数类型数据;以及
处理器,被配置以使用从所述数据转换器提供的所述整数类型数据来基于整数运算实行所述神经网络运算。


2.根据权利要求1所述的神经网络器件,其中所述处理器包括多个处理元件,所述多个处理元件中的每一者实行所述整数运算。


3.根据权利要求1所述的神经网络器件,其中所述数据转换器实行浮点融合乘法-加法运算。


4.根据权利要求1所述的神经网络器件,其中所述数据转换器基于两个量化参数及输入值来实行所述输入值的量化及数据转换,且所述两个量化参数及所述输入值是浮点数。


5.根据权利要求4所述的神经网络器件,其中所述数据转换器的输出是经量化的整数且所述经量化的整数的符号的存在以及所述经量化的整数的数据位的数目是基于向所述数据转换器施加的运算码来确定的。


6.根据权利要求1所述的神经网络器件,其中所述数据转换器将从所述处理器输出的整数类型输出数据转换成浮点输出数据。


7.根据权利要求6所述的神经网络器件,其中所述直接存储器存取控制器将所述浮点输出数据直接提供到所述存储器。


8.根据权利要求6所述的神经网络器件,其中所述数据转换器基于两个量化参数及所述整数类型输出数据的输出值来对所述输出值实行逆量化及数据转换,所述两个量化参数是浮点数,且所述输出值是整数。


9.根据权利要求1所述的神经网络器件,其中所述数据转换器选择性地接收整数类型输入值并基于所述整数类型输入值来实行整数运算。


10.根据权利要求1所述的神经网络器件,其中所述数据转换器包括多个浮点运算器及移位器,且根据所接收到的运算码所述浮点运算器及所述移位器中的至少一些被去激活,且其余的浮点运算器及移位器被激活,以根据所述运算码来实行运算模式。


11.根据权利要求1所述的神经网络器件,其中所述数据转换器包括:
移位器,被配置以输出第一输出及第二输出;以及
浮点融合乘法-加法电路,包括加法器,所述加法器被配置以通过对所述第一输出与所述第二输出进行求和来产生第三输出,
其中所述加法器的输出被提供到所述移位器。


12.根据权利要求1所述的神经网络器件,其中所述处理器基于从所述数据转换器提供的整数类型权重值及整数类型输入特征值来实行卷积运算。


13.一种操作神经网络器件的方法,所述方法包括:
从存储器接收浮点输入数据;
将所述浮点输入数据转换成整数类型输入数据;以及
使用所述整数类型输入数据来基于整数运算实行神经网络运算。


14.根据权利要求13所述的方法,其中,在所述接收所述浮点输入数据的过程中,所述浮点输入数据是从所述存储器直接接收的。

【专利技术属性】
技术研发人员:金贤弼安成祐李宗协
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国;KR

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

1