CN110036384A - 信息处理设备和信息处理方法 - Google Patents

信息处理设备和信息处理方法 Download PDF

Info

Publication number
CN110036384A
CN110036384A CN201880004505.1A CN201880004505A CN110036384A CN 110036384 A CN110036384 A CN 110036384A CN 201880004505 A CN201880004505 A CN 201880004505A CN 110036384 A CN110036384 A CN 110036384A
Authority
CN
China
Prior art keywords
information processing
product accumulation
remainder
processing equipment
divisor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201880004505.1A
Other languages
English (en)
Other versions
CN110036384B (zh
Inventor
广井聪幸
中村章
山本真纪子
池谷亮志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of CN110036384A publication Critical patent/CN110036384A/zh
Application granted granted Critical
Publication of CN110036384B publication Critical patent/CN110036384B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Neurology (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Nonlinear Science (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

为了减少与内积运算相关联的处理负担,并且用于还保证权重系数的量化粒度。[解决方案]提供了一种信息处理设备,该信息处理设备设置有乘积累加运算电路,该乘积累加运算电路用于基于多个输入值和多个权重系数来执行乘积累加运算,所述多个权重系数分别对应于输入值并且通过幂表达来量化。经量化的权重系数的指数由将预定的除数作为分母的分数来表达,并且乘积累加运算电路基于根据除数确定的余数使用不同的加法乘数来执行乘积累加运算。

Description

信息处理设备和信息处理方法
技术领域
本公开内容涉及信息处理设备和信息处理方法。
背景技术
近来,称作类似于神经系统的作用的神经网络的数学模型正受到关注。此外,正在提出用于减少神经网络中的计算的处理负荷的各种技术。例如,非专利文献1描述了通过将权重系数二进制化来减少处理负荷的技术。此外,非专利文献2描述了通过将输入信号转换为对数域来将乘法转换为加法的技术。
引用列表
非专利文献
非专利文献1:Matthieu Courbariaux等人,“BinaryConnect:Training DeepNeural Networks with binary weights during propagations”,[在线],2015年11月11日,arXiv,[2017年3月22日检索],因特网<URL:https://arxiv.org/pdf/1511.00363.pdf>
非专利文献2:Daisuke Miyashita等人,“Convolutional Neural Networksusing Logarithmic Data Representation”,[在线],2016年3月3日,arXiv,[2017年3月22日检索],因特网<URL:https://arxiv.org/pdf/1603.01025.pdf>
发明内容
技术问题
然而,利用非专利文献1中描述的技术,由于执行使用+1或-1的二进制化,因此随着权重系数的维度增加,预期量化粒度将变得更粗糙。此外,非专利文献2中描述的技术虽然在避免乘法方面具有预定效果,但是预计在减少处理负荷方面仍具有进一步改进的空间。
因此,本公开内容提出了一种新颖且改进的信息处理设备和信息处理方法,其能够进一步减少与内积运算相关联的处理负荷,同时还保证权重系数的量化粒度。
问题的解决方案
根据本公开内容,提供了一种信息处理设备,该信息处理设备包括:乘积累加运算电路,其被配置成基于多个输入值和多个权重系数来执行乘积累加运算,所述多个权重系数通过幂表达来量化并且分别对应于输入值。经量化的权重系数的指数由将预定的除数作为分母的分数来表达,并且乘积累加运算电路基于根据除数确定的余数使用不同的加法乘数来执行乘积累加运算。
此外,根据本公开内容,提供了一种由处理器执行的信息处理方法,该方法包括:基于多个输入值和多个权重系数来执行乘积累加运算,所述多个权重系数通过幂表达来量化并且分别对应于输入值。经量化的权重系数的指数由将预定的除数作为分母的分数来表达,并且乘积累加运算的执行基于根据除数确定的余数使用不同的加法乘数来执行乘积累加运算。
本发明的有益效果
根据如上所述的本公开内容,可以进一步减少与内积运算相关联的处理负荷,同时还保证权重系数的量化粒度。
注意,上述效果不一定是限制性的。利用或代替上述效果,可以实现本说明书中描述的任何一种效果或可以通过本说明书理解的其他效果。
附图说明
[图1]图1是用于说明根据本公开内容的相关技术的神经网络中的基本计算的概述的概念图。
[图2]图2是用于说明根据本公开内容的相关技术的输入矢量与权重矢量的内积运算的概述图。
[图3]图3是用于说明根据本公开内容的相关技术的二维空间中的经二进制量化的权重矢量的图。
[图4]图4是用于说明根据本公开内容的相关技术的二维空间中的经四进制量化的权重矢量的图。
[图5]图5是用于说明根据本公开内容的相关技术的三维空间中的权重矢量的粒度的差异的图。
[图6]图6是用于说明根据本公开内容的相关技术的N维空间中的权重矢量的粒度的差异的图。
[图7]图7是根据本公开内容的一种实施方式的信息处理设备的功能框图的一个示例。
[图8]图8是根据实施方式的信息处理设备中设置的乘积累加运算电路的电路框图的一个示例。
[图9]图9是根据实施方式的在地址表中存储的地址信息的偏移表示法的一个示例。
[图10]图10是示出根据实施方式的信息处理方法的处理表示的图。
[图11]图11是用于说明根据实施方式的量化粒度Δθ的图。
[图12]图12是示出根据实施方式的根据α的量化粒度Δθ的最大值的曲线图。
[图13]图13是用于说明根据实施方式的最大指数的图。
[图14]图14是示出根据实施方式的相对于输入数量N的乘法次数的示例的图。
[图15]图15是示出根据实施方式的相对于输入数量N的乘法次数的示例的图。
[图16]图16是根据本公开内容的第二实施方式的在量化权重矢量的情况下的乘积累加运算电路的一个示例。
[图17]图17是根据同一实施方式的在量化权重矢量和输入矢量两者的情况下的乘积累加运算电路的一个示例。
[图18]图18是根据同一实施方式的在量化权重矢量和输入矢量两者的情况下的乘积累加运算电路的一个示例。
[图19]图19是示出根据同一实施方式的比较实验中使用的ResNet的网络结构的图。
[图20]图20是示出根据同一实施方式的不包括最大池化层的ResNet网络配置的图。
[图21]图21是示出根据同一实施方式的包括最大池化层的ResNet网络配置的图。
[图22]图22是示出根据同一实施方式的比较图像识别率的结果的图。
[图23]图23是示出在根据同一实施方式的量化技术被应用于带通滤波器时的根据频率特性(增益特性)的模拟结果的图。
[图24]图24是示出在根据同一实施方式的量化技术被应用于带通滤波器时的根据相位特性的模拟结果的图。
[图25]图25是根据同一实施方式的BER评估中使用的框图。
[图26]图26是示出在根据同一实施方式使用BPSK用于调制方法时的BER评估结果的图。
[图27]图27是图26中的SNR从7dB到9dB的数据的放大图。
[图28]图28是示出在根据同一实施方式使用QPSK用于调制方法时的BER评估结果的图。
[图29]图29是图28中的SNR从10dB到12dB的数据的放大图。
[图30]图30是示出在根据同一实施方式使用16QAM用于调制方法时的BER评估结果的图。
[图31]图31是图30中的SNR从16dB到18dB的数据的放大图。
[图32]图32是根据本公开内容的一种实施方式的示例性硬件配置的图。
具体实施方式
在下文中,将参照附图详细描述本公开内容的(一种或多种)优选实施方式。注意,在本说明书和附图中,将具有基本相同的功能和结构的结构元件用相同的附图标记来表示,并且将省略对这些结构元件的重复说明。
在下文中,将按照以下顺序进行描述。
1.第一实施方式
1.1背景技术
1.2信息处理设备10的示例性功能配置
1.3权重矢量量化
1.4乘积累加运算电路的示例性配置
1.5学习期间的量化
1.6效果
2.第二实施方式
2.1概述
2.2权重矢量的量化
2.3权重矢量和输入矢量两者的量化
2.4效果
2.5通信技术的应用示例
3.示例性硬件配置
4.结论
<1.第一实施方式>
<<1.1背景技术>>
近来,使用神经网络的诸如深度学习的学习技术正在被广泛研究。尽管使用神经网络的学习技术是高度准确的,但由于与计算相关联的较大处理负荷,因此需要有效减少处理负荷的计算方法。
为此,近年来,还提出了例如旨在减少计算量和信息量的计算方法,例如二进制权重网络和XNMOR网络。
本文中,将描述典型神经网络中的基本计算的概述。图1是用于说明神经网络中的基本计算的概述的概念图。图1示出了形成神经网络的两个层以及属于两个层中的每一层的单元c11至c1N和单元c21
此时,输入到单元c21中的输入信号(下文中也称为输入矢量)是基于与属于底层的单元c11至c1N相关联的输入矢量和权重系数(下文中也称为权重矢量)来判定的。更具体地,输入到单元c21中的输入矢量是通过将偏差b添加到与单元c11至c1N相关联的输入矢量和权重矢量的内积运算的结果并且另外由激活函数h进行处理而获得的值。
换句话说,在将x=(x1,x2,x3,...xN)和w=(w1,w2,w3,...wN)作为与单元c11至c1N相关联的输入矢量和权重矢量中的每一个的情况下,输入到单元c21中的输入矢量z由下面的公式(1)来定义。
[数学式1]
z=h(∑xiwi+b)…(1)
此时,如图2所示,假设其法线为权重矢量w的超平面h,在N维空间中表示的输入矢量x与权重矢量w的内积可以被表达为通过将||w||乘以基于超平面h将输入矢量x投影到权重矢量w上的投影距离d获得的值。本文中,上面的||w||是矢量w的范数。图2是用于说明输入矢量x与权重矢量w的内积运算的概述图。
此时,在输入矢量x和权重矢量w是二维的情况下,如果权重矢量w如非专利文献1中那样被量化为+1或-1的二进制值,则权重矢量w可以如图3中那样被表示。图3是用于说明二维空间中的经二进制量化的权重矢量w的图。此时,权重矢量w的粒度可以用平面中的旋转角度θ来表达,并且如图3所示,粒度是90度。
接下来,考虑将权重矢量w量化成{0,1/4,1/2,1}的四进制值的情况。图4是用于说明二维空间中的经四进制量化的权重矢量w的图。在这种情况下,与二进制量化的情况相比,权重矢量w的粒度或者换句话说旋转角度θ约为15度,使得可以保证更精细的粒度。
另一方面,随着维度增加,预期权重矢量w的粒度的差异会变得更大。图5是用于说明三维空间中的权重矢量w的粒度的差异的图。例如,如图5所示,在考虑由(1,1,0)和(0,0,1)定义的平面中的权重矢量w的量化的情况下,(1,1,0)方向上的边长等于(0,0,1)方向上的边长乘以2的平方根,从而说明量化期间的粒度的差异增加。
此外,随着维度的增加,如上所述的粒度的这些差异或换句话说非均匀性,变得更加突出。图6是说明N维空间中的权重矢量w的粒度的差异的图。图6示出了由N维空间中的(1,1,…,1,0)和(0,0,…,0,1)定义的平面。在这种情况下,可以由(0,0,…,0,1)方向上的边长乘以(N-1)的平方根表示(1,1,…,1,0)方向上的边长。例如,在N=100的情况下,(1,1,…,1,0)方向上的边长等于(0,0,…,0,1)方向上的边长乘以99的平方根(≈10)。
由于与上述权重矢量w相关联的粒度的非均匀性可能是引起神经网络的性能下降的因素,因此需要更准确的量化技术。通过关注以上观点构思了根据本公开内容的技术思想,并且使得可以有效地减少处理负荷,同时还保持N维空间中的权重矢量的近似的高准确度。为此,根据本公开内容的第一实施方式的信息处理设备和信息处理方法的一个特征是使用基于N维超球面中的矢量方向的粒度量化的权重矢量来执行内积运算。根据本公开内容的第一实施方式的信息处理设备和信息处理方法能够通过以不太精细且不太粗糙的粒度量化权重矢量来实现高近似准确度并且减少处理负荷。更具体地,根据本公开内容的第一实施方式的信息处理设备和信息处理方法优选使用由幂表达的权重矢量来执行内积运算。下文中,将详细描述在根据本公开内容的第一实施方式的信息处理设备和信息处理方法中包括的上述特征。
<<1.2.信息处理设备10的示例性功能配置>>
接下来,将描述实现根据本实施方式的信息处理方法的信息处理设备10的示例性功能配置。图7是根据本实施方式的信息处理设备10的功能框图的一个示例。参照图7,根据本实施方式的信息处理设备10设置有输入单元110、计算单元120、存储单元130和输出单元140。下文中,上述配置的描述将集中于在配置中包括的功能。
(输入单元110)
根据本实施方式的输入单元110具有检测由操作者进行的各种类型的输入操作的功能。为此,根据本实施方式的输入单元110优选地包括用于检测由操作者进行的输入操作的各种设备。例如,可以通过各种类型的按钮、键盘、触摸面板、鼠标、开关等来实现输入单元110。
(计算单元120)
计算单元120具有以下功能:基于多个输入值和分别对应于输入值的多个权重系数来执行内积运算并且计算输出值。具体地,根据本实施方式的计算单元120执行与神经网络的前向传播相关联的内积运算。此时,根据本实施方式的计算单元120的一个特征是根据N维超球面上的矢量方向的粒度基于量化的权重系数来计算输出值。更具体地,根据本实施方式的计算单元120优选地基于由幂表达的权重系数来计算输出值。稍后将分别描述本实施方式中的内积运算的特征。
(存储单元130)
存储单元130具有存储由信息处理设备10中设置的每个配置元件使用的程序、数据等的功能。例如,根据本实施方式的存储单元130存储在神经网络中使用的各种参数等。
(输出单元140)
输出单元140具有向操作者输出各种信息的功能。为此,根据本实施方式的输出单元140可以包括输出视觉信息的显示设备。本文中,上述显示设备可以由例如阴极射线管(CRT)显示设备、液晶显示(LCD)设备、有机发光二极管(OLED)设备等来实现。
上面描述了根据本实施方式的信息处理设备10的示例性功能配置。注意,上述示例性功能配置仅是一个示例,并且根据本实施方式的信息处理设备10的示例性功能配置不限于这样的示例。根据本实施方式的信息处理设备10还可以另外设置有除了图1所示的那些配置元件之外的配置元件。例如,信息处理设备10可以还设置有与另一信息处理终端传送信息的通信单元等。可以在设计上灵活地改变根据本实施方式的信息处理设备10的功能配置。
<<1.3.权重矢量量化>>
接下来,将详细描述根据本实施方式的权重矢量的量化。如上所述,根据本实施方式的信息处理设备10能够通过利用幂表达的权重矢量w执行量化来保持高度均匀的粒度。此时,根据本实施方式的计算单元120的一个特征是按照值的大小顺序对多个权重矢量分量wi进行重新排序,并且还通过具有最大值的权重系数wi对多个权重矢量分量wi进行归一化。此时,如果重新排序和归一化的权重矢量被认为是wj,则权重矢量wj由以下公式(2)至(4)来表示。
[数学式2]
wN=1…(3)
wj≤wj+1…(4)
然而,此时,在以上公式(2)中,α优选地为0<α<1,sj优选地为集合{-1,1}中的元素,并且nj优选地为集合{0,1,2,…}中的元素。换句话说,根据本实施方式的计算单元120执行将nj处理为整数的量化。在这种情况下,由计算单元120执行的内积运算由以下公式(5)来表示。注意,在以下公式(5)中,K表示归一化常数。此外,即使在适当地变换以下公式(5)的情况下,上述α的值也足以最终落在内积运算的上述范围内。本公开内容中示出的公式仅是一个示例,并且可以灵活地变换。
[数学式3]
为此,预期能够通过N次加法运算和-1/2log(N-1)/logα量级的乘法次数来处理由根据本实施方式的计算单元120进行的内积运算。
以这种方式,根据本实施方式的信息处理方法的一个特征是通过α的幂表达来近似估算权重矢量w,并且按照值的大小顺序对权重矢量w进行重新排序。此时,在根据本实施方式的信息处理方法中,通过将α的指数转换为根据N的t元值来量化权重矢量w。
例如,对于N=100的情况,在根据本实施方式的信息处理方法中,可以采用t=4(2位)、8(3位)、16(4位)等。通过如上面那样设置t,因为上面的公式(5)中的n1-n2、n2-n3、n3-n4等中的大多数由于被相同的值量化而变为0,所以可以大大减少乘法的次数。为了给出更具体的示例,在相对于N=100的t=4的情况下,nj-1-nj仅四次取0以外的值。为此,在这种示例的情况下,与内积运算相关联的乘法的次数仅为四次,而其余的是加法,使得可以有效地减少处理负荷。
<<1.4.乘积累加运算电路的示例性配置>>
接下来,将描述实现根据本实施方式的计算方法的乘积累加运算电路。如上所述,在根据幂表达对权重矢量w进行量化并且然后对权重矢量w进行重新排序的情况下,还必须相应地对与权重矢量w对应的输入矢量x进行重新排序。
为此,根据本实施方式的信息处理设备10优选地设置有乘积累加运算电路,该乘积累加运算电路包括保存输入矢量x的地址信息的表,该输入矢量x对应于按照值的大小顺序被重新排序的多个权重矢量w。
图8是根据本实施方式的信息处理设备10中设置的乘积累加运算电路200的电路框图的一个示例。如图8所示,根据本实施方式的乘积累加运算电路设置有:存储电路,其保存存储与权重矢量w对应的输入矢量x的地址信息的表WT;RAM 210;加法电路220;累加器230;第一乘法电路240,其执行与α相关联的乘法;以及第二乘法电路250,其执行与归一化常数相关联的乘法。
(地址表WT)
根据本实施方式的地址表WT保存与按照值的大小顺序被重新排序的多个权重矢量w对应的输入矢量x的地址信息、符号信息和乘法指令信息。注意,如图8所示,上述地址信息还可以包括空指针。在这种情况下,将0加到累加器230,使得可以简单地将累加器230的值乘以α。此外,上述符号信息是指示与上述公式(5)中的Sj对应的值的信息。
此外,上述乘法指令信息是给出与由第一乘法电路240进行的处理的内容有关的指令的信息。例如,根据本实施方式的乘法指令信息优选地包括指定是否进行乘法的信息。图8示出了在以下情况的一个示例:在乘法指令信息为0的情况下第一乘法电路240不进行乘法并且在乘法指令信息为1的情况下第一乘法电路240乘以α。
注意,根据本实施方式的乘法指令信息不限于上述示例,并且可以包括指定的各种类型的处理内容。例如,根据本实施方式的乘法指令信息可以包括指定的乘法的次数、移位运算等的信息。
(RAM 210)
根据本实施方式的RAM 210基于从地址表WT输入的地址信息向加法电路220输出对应于权重矢量w的输入矢量x。
(加法电路220)
根据本实施方式的加法电路220基于从RAM 210输入的输入矢量分量xj和从第一乘法电路240输出的值来执行加法。此时,根据本实施方式的加法电路220基于在地址表WT中保存的符号信息来执行上述加法。
(累加器230)
根据本实施方式的累加器230对从加法电路220输出的计算结果进行累加。累加器230向第一乘法电路240和第二乘法电路250输出累加值。此外,用于将累加值重置为0的重置信号在适当的时候被输入到累加器230中。
(第一乘法电路240)
根据本实施方式的第一乘法电路240将累加器230累加的值乘以α。此时,如上所述,第一乘法电路240基于在地址表WT中保存的乘法指令信息来执行上述乘法。第一乘法电路240向加法电路220输出计算结果。
(第二乘法电路250)
根据本实施方式的第二乘法电路250将从累加器230输出的值乘以归一化常数K。
以上描述了根据本实施方式的乘积累加运算电路200的示例性配置。利用根据本实施方式的乘积累加运算电路200,可以有效地减少内积运算中的乘法的次数并且减少处理负荷。
另一方面,因为根据本实施方式的地址表WT的容量会由于保存输入矢量x的地址信息而增大,所以预期功耗也会增大。为此,如图9所示,地址表WT还可以包括指示地址之间的相对位置的偏移。图9是根据本实施方式的在地址表WT中存储的地址信息的偏移表示法(offset notation)的一个示例。
如图9所示,根据本实施方式的地址表WT可以按照地址的顺序对上述公式(5)中的nj-1-nj的值连续为0的段(或换句话说,未执行乘法的段)中的地址进行排序,并且将地址之间的偏移保存为地址信息。利用上述根据本实施方式的地址表WT,大大减少了与地址信息相关联的信息量,使得可以有效地降低功耗。
注意,根据本实施方式的地址表WT可以采用除了图8和图9所示的格式之外的各种模式。例如,根据本实施方式的地址表WT不一定保存两者之间有明确分离的符号信息和乘法指令信息,并且可以采用除了上述方法以外的地址压缩方法。可以根据神经网络的配置和信息处理设备10的性能来灵活地修改根据本实施方式的地址表WT。
<<1.5.学习期间的量化>>
接下来,将描述根据本实施方式的学习期间的对权重矢量w的量化。在根据本实施方式的信息处理方法中,可以根据以下公式(6)来计算学习期间的权重矢量分量wi的更新。
[数学式4]
ni=int(log|wi/wmax|logα)…(6)
然而,以上公式(6)中的wmax表示wi的最大值。此外,整数函数int可以选择向上取整或向下取整,以更接近的整数为准。在根据本实施方式的信息处理方法中,通过在最终学习期间对ni进行重新排序,可以生成上述的地址表WT。
注意,在将α设置成接近于1的情况下,还可以采用使用根据深度神经网络(DNN)使用普通浮点算术的学习算法执行计算以及学习结束之后量化wi的技术。换句话说,在与权重矢量w相关联的量化粒度小的情况下,期望即使不修改网络结构,也不降低识别准确度的效果。
<<1.6.效果>>
接下来,将详细描述由根据本实施方式的权重矢量的量化所呈现的效果。如上所述,在根据本实施方式的信息处理方法中,通过按照值的大小顺序对通过幂表达量化的wi进行重新排序并进行归一化来定义wj。此时,如果重新排序的基矢量被认为是qj,则权重矢量w由以下的公式(7)来表示。
[数学式5]
换句话说,如图10所示,根据本实施方式的信息处理方法意味着在由投影到由q1、q2、…qj-1和qj延伸的空间上的权重矢量形成的平面中创建矢量,并且重复将矢量乘以αnj-nj+1的处理。图10是示出根据本实施方式的信息处理方法的处理表示的图。
为此,在根据本实施方式的信息处理方法中,在如图11所示的那样由通过将权重矢量投影到q1、q2、...qj-1空间获得的轴和qj延伸的平面中,权重矢量的量化粒度Δθ可以通过以下公式(8)和公式(9)中的每一个被表示为逆时针旋转和顺时针旋转。然而,此时,公式(8)和公式(9)中的l由公式(10)来定义。图11是用于说明根据本实施方式的量化粒度Δθ的图。注意在图11中,示出了投影到第一象限的权重矢量。
[数学式6]
此外,在量化粒度Δθ1和Δθ2由l进行微分时返回0的情况下,根据以下公式(11)来定义每个量化粒度的最大值。
[数学式7]
图12是示出根据本实施方式的根据α的量化粒度Δθ的最大值的曲线图。以这种方式,利用根据本实施方式的信息处理方法,在N维空间中,在所有正交旋转方向上保证量化粒度。
注意,在如图13所示的那样中途停止幂运算的情况下,量化粒度Δθ保持不变。图13是用于说明根据本实施方式的最大指数的图。注意在图13中,示出了投影到第一象限的权重矢量。此时,对于保证量化粒度Δθ的最大指数,足够的是,将以下公式(13)与满足以下公式(12)的最小m相加。因此,可以通过以下公式(14)来计算由信息处理设备10根据本实施方式执行的乘法的次数。
[数学式8]
例如,在α=3/4的情况下,如图14所示的曲线图那样来判定相对于输入的数量N的乘法的次数。此外,例如在α=7/8的情况下,如图15所示的曲线图那样来判定相对于输入的数量N的乘法的次数。换句话说,在由根据本实施方式的计算单元120进行的内积运算中,可以认为乘法的次数是基于权重矢量的基的值来确定的。图14和图15是示出根据本实施方式的相对于输入的数量N的乘法次数的示例的图。
如上所述,利用实现根据本实施方式的信息处理方法的信息处理设备,在神经网络的前向传播中的内积运算中,可以大大减少乘法的次数,使得可以通过乘积累加运算电路200有效地降低功耗。此外,利用实现根据本实施方式的信息处理方法的信息处理设备,可以提高权重矢量的量化准确度,并且与使用相同位数的现有技术的量化技术相比,预期通过神经网络来提高识别准确度和近似准确度的效果。
<2.第二实施方式>
<<2.1.概述>>
接下来,将描述本公开内容的第二实施方式。上面的第一实施方式描述了以下技术:通过αn来表达权重矢量分量wj,实现了高的近似准确度,另外,按照对数的阶数减少了内积运算中的乘法的次数。
然而,尽管在内积空间的维度相对高的情况下第一实施方式中的技术仍是有效的,但是对于诸如卷积神经网络(CNN)的相对低维度的内积运算,同样预期到不能充分减少处理负荷的效果的情况。
因此,本公开内容的第二实施方式提出了一种计算电路,即使在内积空间的维度相对低的情况下,该计算电路也能够有效地减少内积运算的处理负荷。
具体地,在本公开内容的第二实施方式中,权重矢量分量wi和输入矢量分量xi优选地被表达为α-n/p。在这种情况下,假设α=2,可以在下面的表1中表示α-n/p可以采用的值。
[表1]
p=1 p=2 p=3 p=4 p=5
n=1 0.5 0.707107 0.793701 0.840896 0.870551
n=2 0.25 0.5 0.629961 0.707107 0.757858
n=3 0.125 0.353553 0.5 0.594604 0.659754
n=4 0.0625 0.25 0.39685 0.5 0.574349
n=5 0.03125 0.176777 0.31498 0.420448 0.5
n=6 0.015625 0.125 0.25 0.353553 0.435275
n=7 0.007813 0.088388 0.198425 0.297302 0.378929
n=8 0.003906 0.0625 0.15749 0.25 0.329877
n=9 0.001953 0.044194 0.125 0.210224 0.287175
换句话说,以上表1表明,随着p的值增大,量化粒度可能被减小。为此,在本公开内容的第二实施方式中,通过用α-n/p来量化权重矢量分量wi和输入矢量分量xi,与第一实施方式相比,可以减小量化误差。此外,利用根据本公开内容的第二实施方式的计算技术,可以仅利用移位运算和加法来执行与第一实施方式中描述的内积运算基本相同的处理,并且有效地减少内积运算的处理负荷。
<<2.2.权重矢量的量化>>
首先,将针对用α-n/p仅量化权重矢量w的情况描述该技术。本文中,将描述其中α=2,p是自然数集合{1,2,3,...}中的元素的情况,并且根据以下公式(15)来执行内积运算。注意,p对应于本公开内容中的除数。此外,假设以下公式(15)中的wi由以下公式(16)来表示。此外,在下面的公式(16)中,假设si是集合{-1,1}中的元素并且ni是集合{0,1,2,...}中的元素。
[数学式9]
此时,假设w被归一化成使得对于所有的wi,|wi|≤1,并且稍后y根据需要乘以归一化常数,以上公式(15)可以被表示为以下公式(17)。此外,本文中,yr由以下公式(18)来定义。
[数学式10]
此时,如果假设r∈{0,1,…,p-1}、如果i=j,则δi,j=1,否则δi,j=0,则yr能够由一般的定点表示法来表示,其中,负数表达为二的补码。此外,以上公式(18)中的能够通过将xi右移来计算,以定点表示法写入xi,其中,负数用或者换句话说用作为有符号的二进制数的整数int(ni/p)表达为二的补码。换句话说,与输入矢量x和权重矢量w相关联的内积运算可以被表示为以下公式(19)。
[数学式11]
此时,例如,通过图16中所示的乘积累加运算电路300能够实现以上公式(19)所示的内积运算。图16是根据本实施方式的在量化权重矢量的情况下的乘积累加运算电路的一个示例。
参照图16,根据本实施方式的乘积累加运算电路300设置有移位运算单元310、模运算单元320、选择器330和340、累加器组350、加减法器360、乘法器组370以及加法器380。
(移位运算单元310)
根据本实施方式的移位运算单元310基于输入的输入矢量分量xi和ni来执行移位运算。具体地,移位运算单元310通过int(ni/p)的值来执行输入矢量分量xi的逐位右移。
(模运算单元320)
根据本实施方式的模运算单元320基于输入ni来执行ni mod p运算,并且向选择器330和340输出余数的值。
(选择器330和340)
根据本实施方式的选择器330和340基于模运算单元320的计算结果,从在累加器组350中包括的多个累加器中选择连接至乘积累加运算电路的累加器。此时,根据本实施方式的选择器330和340进行操作使得分别与余数的值对应的累加器连接至乘积累加运算电路。例如,在余数为0的情况下,选择器330和340进行操作以将累加器y0连接至乘积累加运算电路,而在余数为1的情况下,选择器330和340进行操作以将累加器y1连接至乘积累加运算电路。
(累加器组350)
根据本实施方式的累加器组350设置有分别与ni mod p的余数的值对应的多个累加器。换句话说,本实施方式所涉及的累加器组350针对余数的每个值保存yr
(加减法器360)
根据本实施方式的加减法器360基于输入si、移位运算结果和yr的值来执行加法和减法。此时,如上所述,基于ni mod p的余数的值选择的累加器中保存的yr的值被输入到加减法器360中。此外,基于加减法器360的计算结果来更新所选择的累加器中的yr
(乘法器组370)
根据本实施方式的乘法器组370将根据上述处理针对每个余数更新的yr乘以与余数对应的加法乘数。为此目的,根据本实施方式的乘法器组370包括对应于ni mod p的每个余数的多个乘法器。例如,乘法器组370将从累加器组350输入的y0乘以1,并将y1乘以2-1/p
(加法器380)
根据本实施方式的加法器380将由乘法器组370针对每个余数计算的yr的值相加,并且输出最终的计算结果y。
以上描述了根据本实施方式的乘积累加运算电路300。如上所述,利用根据本实施方式的乘积累加运算电路300,通过在与ni mod p的每个余数对应的累加器中累加每个yr并且最终共同执行乘法,可以使乘法的次数最小化。注意,在图16中所示的示例中,该计算通过i次迭代以更新yr,但是也可以通过并行地执行上述计算中的一些或全部来计算。
<<2.3.权重矢量和输入矢量两者的量化>>
接下来,将描述用于用α-n/p量化权重矢量w和输入矢量x两者的情况的技术。本文中,将描述以下情况:α=2、p是自然数集合{1,2,3,...}中的元素,并且执行内积运算。本文中,假设输入矢量分量xi和权重矢量分量wi分别由以下公式(20)和公式(21)来表示。此外,在以下公式(20)和公式(21)中,假设sxi、swi是集合{-1,1}中的元素并且ni、mi是集合{0,1,2,...}中的元素。
[数学式12]
本文中,假设输入矢量x和权重矢量w中的每一个被归一化成使得|xi|≤1且|wi|≤1,并且稍后y根据需要乘以归一化常数,内积运算可以通过以下公式(22)来表示。此外,本文中,yr由以下公式(23)来定义。
[数学式13]
此时,如果r是集合{0,1,...,p-1}中的元素,则可以用一般的定点表示法来表达yr,其中,负数表达为二的补码。注意,在上文中,p被描述为优选地是自然数,但是p也可以以幂表达来表示。例如,在设置p=2q(其中,q是集合{0,1,2,...}中的元素)的情况下,可以通过不需要除法的位截断来进行int((mi+ni)/p)和(mi+ni)mod p的计算,这具有简化计算的效果。
此时,例如,能够通过图17中所示的乘积累加运算电路400实现内积运算。图17是根据实施方式的在量化权重矢量和输入矢量两者的情况下的乘积累加运算电路的一个示例。
参照图17,根据本实施方式的乘积累加运算电路400设置有第一加法器410、移位运算单元420、选择器430、异或(XOR)电路440、累加器组450、乘法器组460以及第二加法器470。
(第一加法器410)
根据本实施方式的第一加法器410将输入mi和ni加在一起。此时,如图所示,将mi和ni相加的结果可以被表示为位序列[bk-1,...,bq,bq-1,...,b0]。
(移位运算单元420)
根据本实施方式的移位运算单元420基于第一加法器410的计算结果右移1,右移1通过int((mi+ni)/p)以定点表示法来表示。此时,int((mi+ni)/p)的值是与来自以上位序列(作为第一加法器410的计算结果)的[bk-1,...,bq]对应的最高有效位的值。为此,因此,移位运算单元420优选地使用最高有效位的值来执行移位运算。
(选择器430)
根据本实施方式的选择器430基于(mi+ni)mod p的余数的值,来从累加器组450中包括的多个累加器和加减法器中选择用于执行加法或减法的加减法器,并且输入使能信号=1。此时,由于以上余数的值对应于与来自位序列(作为第一加法器410的计算结果)的最低有效的q位对应的[bq-1,...,b0],因此与上述类似可以简化计算。
(异或(XOR)电路440)
本实施方式所涉及的XOR电路440基于输入Sxi和输入Swi将1或0输入到累加器组450的每个累加器中。具体地,在SwiSxi=-1的情况下,XOR电路440将1输入到每个累加器中,而在SwiSxi=+1的情况下,XOR电路440将0输入到每个累加器中。
(累加器组450)
本实施方式所涉及的累加器组450设置有分别对应于(mi+ni)mod p的余数的值的多个累加器。此外,累加器组450包括对应于累加器的多个加减法器(1位加/减计数器)
此时,如图的右下部分所示,上述加减法器中的每一个基于从选择器430输入的使能信号来确定是否进行加或减。具体地,仅在输入使能信号为1的情况下,根据从XOR电路440输入的U/D值,每个加减法器相对于对应累加器中保存的值O仅加1位或减1位。利用本实施方式所涉及的累加器组450,由于可以在最高有效位上进行1位加法或1位减法来更新yr的值,因此不需要一般的加减法器,从而使得可以减小电路规模。
(乘法器组460)
本实施方式所涉及的乘法器组460将根据上述处理针对每个余数更新的yr乘以与余数对应的值。为此,本实施方式所涉及的乘法器组460包括对应于(mi+ni)mod p的每个余数的多个乘法器。例如,乘法器组460将从累加器组450输入的y0乘以1,并将y1乘以2-1/p
(第二加法器470)
本实施方式所涉及的第二加法器470将由乘法器组460针对每个余数计算的yr的值相加,并输出最终的计算结果y。
以上描述了本实施方式所涉及的乘积累加运算电路400。如上所述,利用本实施方式所涉及的乘积累加运算电路300,通过在与(mi+ni)mod p的每个余数对应的累加器中累加每个yr并最终共同执行乘法,可以使乘法的次数最小化。注意,在图17所示的示例中,该计算通过i迭代以更新yr,但是也可以通过并行地执行上述计算中的一些或全部来计算。
此外,在图17所示的乘积累加运算电路400中,描述了并行地实现与累加器对应的多个加减法器(1位加/减计数器)的情况的示例,但是代替上述配置,本实施方式所涉及的乘积累加运算电路400也可以设置有如图16所示的乘积累加运算电路300中的选择器和单个加减法器。此外,类似地,可以在乘积累加运算电路300中并行地实现多个加减法器。本实施方式所涉及的乘积累加运算电路的配置可以适当地被设计使得电路规模根据p的值变得更小。
此外,在图17所示的乘积累加运算电路400中,描述了基于(mi+ni)的最低有效q位来选择加减法器和累加器的情况。另一方面,以上公式(22)能够如以下公式(24)那样进行变换。
[数学式14]
因此,如图18中所示的乘积累加运算电路500那样,利用单个加减法器也能够实现内积运算。图18是根据本实施方式的在量化权重矢量和输入矢量两者的情况下的乘积累加运算电路的一个示例。
参照图18,根据本实施方式的乘积累加运算电路500设置有加法器510、选择器520、存储电路组530、移位运算单元540、异或(XOR)电路550、加减法器560以及累加器570。
(加法器510)
根据本实施方式的加法器510将输入mi和ni加在一起。加法器510优选地与图17所示的第一加法器410类似地工作。
(选择器520)
根据本实施方式的选择器520基于对应于最低有效的q位的[bq-1,...,b0]的值,从存储电路组530中包括的多个存储电路中选择连接至乘积累加运算电路的存储电路。
(存储电路组530)
根据本实施方式的存储电路组530设置有分别对应于(mi+ni)mod p的余数的值的多个存储电路。在每个存储电路中,存储有对应于每个余数的加法乘数。注意,在存储电路组530中设置的每个存储电路可以是将上述加法乘数保存为常数的只读电路,或者可以是可重写寄存器。将加法乘数作为常数存储在只读电路中的情况具有简化电路配置且还降低功耗的优点。
(移位运算单元540)
根据本实施方式的移位运算单元540将在连接的存储电路中存储的加法乘数右移对应于[bk-1,...,bq]的最高有效位的值。
(异或电路550)
根据本实施方式的XOR电路550基于输入Sxi和Swi来输出1或0。XOR电路550优选地与图17所示的XOR电路440类似地工作。
(加减法器560)
根据本实施方式的加减法器560基于移位运算单元540的计算结果和来自XOR电路550的输入对累加器570中保存的y重复执行加法或减法。
(累加器570)
根据本实施方式的累加器570保存内积运算的结果y。
如上所述,利用根据本实施方式的乘积累加运算电路500,可以利用单个加减法器560和单个累加器570来实现内积运算,使得可以进一步减小电路规模。
注意,在以上描述中,作为示例描述了针对输入矢量x和权重矢量w使用共同的p的情况,但是在根据本实施方式的信息处理方法中,也可以使用输入矢量x与权重矢量w之间的不同的p。在这种情况下,输入矢量x和权重矢量w可以分别由以下公式(25)和公式(26)来表示。
[数学式15]
此时,p0是pm和pn的最小公倍数,或者换句话说,如果apm=p0且bpn=p0,则输入矢量分量xi和权重矢量分量wi分别由以下公式(27)和公式(28)来表示。
[数学式16]
因此,通过利用ami+bni来代替mi+ni的运算,以及另外利用p0来代替p,即使在p不同的情况下,也可以与上述描述类似地进行计算。此外,在以幂表达来表示pm和pn的情况下,可以通过移位运算来计算ami和bni中的每一个。
接下来,将详细描述根据本实施方式的量化输入矢量x的方法。在量化输入矢量x和权重矢量w两者的情况下,尽管可以预先计算权重矢量w的量化,但是必须在运行时执行输入矢量x的量化。为此,需要利用小规模计算电路来实现输入矢量x的量化的技术。
此处,使|xi|≤1为位序列c=[ck-1,…,c0]。注意,c是ck-1对应于1的定点表示法。
此时,使L为从c的最高有效位(msb)起连续为0的位数。此外,使d为通过将c=[ck-1,…,c0]左移L位而获得的位序列,并且以msb被设置成0.5的定点表示法处理该位序列。
接下来,使rmin为满足以下公式(29)的最小r。注意,本文中,r是集合{0,…,p-1}中的元素,但是在未找到最小r的情况下,优选地设置rmin=p。此处,如果根据以下公式(30)来定义mi,则|xi|可以如以下公式(31)那样被近似估算,即,被量化。
[数学式17]
mi=p(L-1)+rmin…(30)
注意,通过提供将从c的msb起连续为0的位数计数为L的配置以及与固定值p次进行比较的配置,能够实现上述计算。
<<2.4.效果>>
接下来,将详细描述由根据本实施方式的权重矢量w和输入矢量x的量化所呈现的效果。本文中,在将权重矢量分量wi和输入矢量分量xi量化为±2-n/p的情况下,将p=1的情况(或者换句话说,使用第一实施方式中描述的量化技术的情况)和p=2的情况(或者换句话说,使用本实施方式的量化技术的情况)进行比较。
具体地,执行以下实验:在通过浮点学习权重矢量w和输入矢量x之后,利用p的每个值将所获得的系数量化为最接近的量化点,并且与进行估计而未进行再训练的情况下的图像识别率进行比较。
注意,对于数据集,采用CIFAR-10图像集(分类成10个类别,训练数据=50000个图像,测试数据=10000个图像)。
此外,对于网络,使用基于ResNet-23的11层ResNet。图19是示出根据本实施方式的在比较实验中使用的ResNet的网络结构的图。在图19中,图的右侧表示输入到每个层的输入大小,而左侧表示每个内核大小。此外,如图19所示,创建的网络包括不包括最大池化层的ResBlock和包括最大池化层的ResBlock两者。图20和图21分别是示出不包括最大池化层的ResBlock和包括最大池化层的ResBlock的网络配置的图。
接下来,将详细描述在实验中使用的量化权重矢量w和输入矢量x的技术。
首先,将描述通过p=1进行量化的情况下的数据。本文中,在权重矢量w的量化中,使用了n从-3到12(16个值×±2)的32个值。在这种情况下,如以下表2所示,可以采用经量化的权重矢量分量wi=±(2-n)的值
[表2]
n -3 -2 -1 0 1 2 3 4
±2<sup>-n</sup> ±8 ±4 ±2 ±1 ±0.5 ±0.25 ±0.125 ±0.0625
n 5 6 7 8 9 10 11 12
±2<sup>-n</sup> ±0.03125 ±0.015625 ±0.007813 ±0.003906 ±0.001953 ±0.000977 ±0.000488 ±0.000244
此外,在输入矢量x的量化中,在输入到整流线性单元(Relu)框之前,执行三种不同的量化:n从-4到3(8个值×±2)的16个值、n从-4到11(16个值×±2)的32个值以及n从-4到27(32个值×±2)的64个值。在这种情况下,如以下表3至表5示出了经量化的输入矢量分量xi=±(2-n)可以采用的值。
[表3]
n -4 -3 -2 -1 0 1 2 3
±2<sup>-n</sup> ±16 ±8 ±4 ±2 ±1 ±0.5 ±0.25 ±0.125
[表4]
n -4 -3 -2 -1 0 1 2 3
±2<sup>-n</sup> ±16 ±8 ±4 ±2 ±1 ±0.5 ±0.25 ±0.125
n 4 5 6 7 8 9 10 11
±2<sup>-n</sup> ±0.0625 ±0.03125 ±0.015625 ±0.007813 ±0.003906 ±0.001953 ±0.000977 ±0.000488
[表5]
n -4 -3 -2 -1 0 1 2 3
±2<sup>n</sup> ±16 ±8 ±4 ±2 ±1 ±0.5 ±0.25 ±0.125
n 4 5 6 7 8 9 10 11
±2<sup>-n</sup> ±0.0625 ±0.03125 ±0.015625 ±0.007813 ±0.003906 ±0.001953 ±0.000977 ±0.000488
n 12 13 14 15 16 17 18 19
±2<sup>-n</sup> ±0.000244 ±0.000122 ±6.10E-05 ±3.05E-05 ±1.53E-05 ±7.63E-06 ±3.81E-06 ±1.91E-06
n 20 21 22 23 24 25 26 27
±2<sup>-n</sup> ±9.54E-07 ±4.77E-07 ±2.38E-07 ±1.19E-07 ±5.96E-08 ±2.98E-08 ±1.49E-08 ±7.45E-09
接下来,将描述在p=2的情况下(或者换句话说,使用根据本实施方式的技术进行量化的情况下)的数据。本文中,在权重矢量w的量化中,使用了n从-6到9(16个值×±2)的32个值。在这种情况下,如以下表6示出了经量化的权重矢量分量wi=±(2-n/2)可以采用的值。
[表6]
n -6 -5 -4 -3 -2 -1 0 1
±2<sup>-n/2</sup> ±8 ±5.656854 ±4 ±2.828427 ±2 ±1.414214 ±1 ±0.707107
n 2 3 4 5 6 7 8 9
±2<sup>-n/2</sup> ±0.5 ±0.353553 ±0.25 ±0.176777 ±0.125 ±0.088388 ±0.0625 ±0.044194
此外,在输入矢量x的量化中,在输入到Relu框之前,执行三种不同的量化:n从-8到-1(8个值×±2)的16个值、n从-8到7(16个值×±2)的32个值以及n从-8到23(32个值×±2)的64个值。在这种情况下,如以下表7至表9示出了经量化的输入矢量分量xi=±(2-n/2)可以采用的值。
[表7]
n -8 -7 -6 -5 -4 -3 -2 -1
±2<sup>-n/2</sup> ±16 ±11.31371 ±8 ±5.656854 ±4 ±2.828427 ±2 ±1.414214
[表8]
n -8 -7 -6 -5 -4 -3 -2 -1
±2<sup>-n/2</sup> ±16 ±11.31371 ±8 ±5.656854 ±4 ±2.828427 ±2 ±1.414214
n 0 1 2 3 4 5 6 7
±2<sup>-n/2</sup> ±1 ±0.707107 ±0.5 ±0.353553 ±0.25 ±0.176777 ±0.125 ±0.088388
[表9]
n -8 -7 -6 -5 -4 -3 -2 -1
±2<sup>-n/2</sup> ±16 ±11.31371 ±8 ±5.656854 ±4 ±2.828427 ±2 ±1.414214
n 0 1 2 3 4 5 6 7
±2<sup>-n/2</sup> ±1 ±0.707107 ±0.5 ±0.353553 ±0.25 ±0.176777 ±0.125 ±0.088388
n 8 9 10 11 12 13 14 15
±2<sup>-n/2</sup> ±0.0625 ±0.044194 ±0.03125 ±0.022097 ±0.015625 ±0.011049 ±0.007813 ±0.005524
n 16 17 18 19 20 21 22 23
±2<sup>-n/2</sup> ±0.003906 ±0.002762 ±0.001953 ±0.001381 ±0.000977 ±0.000691 ±0.000488 ±0.000345
图22示出了在通过上述的量化来执行估计而未进行再训练的情况下的图像识别率的比较结果。在图22中,垂直轴上表示识别准确度,而在水平轴上表示输入矢量x的量化值(N个值)的数目。此外,在图22中,量化之前的识别准确度由线段C来表示,在通过p=1进行量化的情况下的识别准确度由线段P1来表示,并且在通过p=2进行量化的情况下的识别准确度由线段P2来表示。
本文中,线段P1和线段P2的比较表明,在输入矢量x的32个或64个经量化的值的情况下,通过p=2进行的量化显著提高了通过p=1进行的量化的识别准确度。此外,线段P2和线段C的比较表明,未观察到识别准确度的大幅劣化。换句话说,这说明了在存在足够数量的输入矢量x的量化值的情况下,通过采用根据本实施方式的量化技术,即使不执行再训练,也可以保持高识别准确度。
以这种方式,利用根据本实施方式的量化方法,可以有效地减少内积运算中的处理负荷,同时还保持学习单元的高性能。
<<2.5.通信技术的应用示例>>
接下来,将描述根据本实施方式的量化技术在其他领域中的应用。在以上描述中,描述了将根据本实施方式的量化技术应用于与神经网络的前向传播相关联的内积运算的情况。另一方面,根据本实施方式的量化技术不限于上述示例,并且还适用于执行内积运算的各种技术。
例如,根据本实施方式的量化技术还可以应用于通信技术领域中使用的带通滤波器中的卷积运算。下文中,将描述根据本实施方式的量化技术被应用于带通滤波器时的模拟结果。
图23是示出在根据实施方式的量化技术被应用于带通滤波器时的根据频率特性(增益特性)的模拟结果的图。本文中,对根升余弦(RRC)滤波器的系数(63抽头,滚降0.5)进行量化。
注意,在量化中,针对p=2、3、4的每一个使用32个值(0到31)。在图中,这被示为DNN(p,32)。此外,作为比较,同样示出了在使用浮点(浮点型)和整型(线性)的情况下的模拟结果。
本文中,参照图23,可以表明,即使在应用根据本实施方式的量化技术的情况下,通带内的平坦特性也不会劣化。另一方面,关注边带表明,即使在DNN(2,32)的情况下,也可以实现约-25dB的衰减,并且此外,衰减效应随着p的增加而变大。注意,与低通滤波器(LPF)相结合,预期会进一步降低量化的影响。
此外,图24是示出在根据本实施方式的量化技术被应用于带通滤波器时的根据相位特性的模拟结果的图。参照图24,可以表明,即使在应用根据本实施方式的量化技术的情况下,也不确认通带内的相位旋转,或者换句话说不确认相位特性的劣化。以这种方式,根据本实施方式的量化技术不会使带通滤波器的频率特性大大劣化,并且因此也充分适用于通信技术领域。
此外,为了进一步检查根据本实施方式的量化技术的影响,执行根据误码率(BER)的评估。图25是根据本实施方式的在BER评估中使用的框图。
如图25所示,在该评估中,在解调之前,将浮点型、整型和DNN(p,32)应用于模数转换器(ADC)和RRC滤波器中,并且测量BER。此外,对于调制和解调方案,使用了BPSK、QPSK和16QAM的每一种。
图26是示出在使用BPSK作为调制方案时的BER评估结果的图。此外,图27是图26中的从7dB到9dB的SNR的数据的放大图。参照图26和图27,可以表明,在使用BPSK作为调制方案的情况下,对于p=4,完全没有观察到BER的劣化,并且甚至对于p=2或p=3,BER也没有受到很大影响。
图28是示出在使用QPSK作为调制方案时的BER评估结果的图。此外,图29是图28中的SNR的数据从10dB到12dB的放大图。参照图28和图29,可以表明,在使用QPSK作为调制方案的情况下,与使用BPSK的情况类似,根据p=2或p=3的量化不会很大地影响BER。
图30是示出在使用16QAM作为调制方案时的BER评估结果的图。此外,图31是图30中的SNR的数据从16dB到18dB的放大图。参照图30和图31,可以表明,在使用16QAM作为调制方案的情况下,尽管利用根据p=2或p=3进行的量化观察到BER中的上升,但是利用根据p=4进行的量化不能确认BER的劣化。
如上所述,在使用BPSK或QPSK作为调制方案的情况下,无论p的值如何,根据本实施方式的量化技术都被认为是有效的。此外,在使用16QAM作为调制方案的情况下,如果p≥4,则认为BER不会受到影响。
以这种方式,根据本实施方式的量化技术在通信技术领域也是有效的,并且可以实现既保持性能又减少处理负荷。
<3.硬件配置示例>
现在描述根据本公开内容的实施方式的信息处理设备10共同的硬件配置的示例。图32是根据本公开内容的实施方式的信息处理设备10的硬件配置的示例的框图。参照图32,在一个示例中,信息处理设备10包括CPU 871、ROM 872、RAM 873、主机总线874、桥接器875、外部总线876、接口877、输入设备878、输出设备879、存储装置880、驱动器881、连接端口882以及通信设备883。此外,此处示出的硬件配置是说明性的,并且可以省略一些部件。此外,还可以包括除本文所示部件之外的部件。
(CPU 871)
在一个示例中,CPU 871用作算术处理单元或控制设备,并且基于在ROM 872、RAM873、存储装置880或可移除记录介质901中记录的各种程序来控制每个部件的一些操作或全部操作。
(ROM 872和RAM 873)
ROM 872是用于存储加载到CPU 871中的程序、用于操作的数据等的装置。在一个示例中,RAM 873暂时地或永久地存储要加载到CPU 871中的程序、在执行程序时适当改变的各种参数等。
(主机总线874、桥接器875、外部总线876和接口877)
在一个示例中,CPU 871、ROM 872和RAM 873经由能够高速数据传输的主机总线874相互连接。另一方面,在一个示例中,主机总线874经由桥接器875连接至具有相对低的数据传输速率的外部总线876。此外,外部总线876经由接口877连接至各个部件。
(输入设备878)
输入设备878的示例包括鼠标、键盘、触摸面板、按钮、开关、控制杆等。此外,输入设备878的示例包括能够使用红外线或其他无线电波发送控制信号的远程控制器(下文中称为遥控器)。此外,输入设备878包括诸如麦克风的语音输入设备。
(输出设备879)
输出设备879是能够在视觉上或听觉上向用户通知所获取的信息的设备,该设备包括:显示设备,例如阴极射线管(CRT)、LCD或有机电致发光器(EL);音频输出设备(例如扬声器或耳机);打印机;移动电话;传真机等。此外,根据本公开内容的输出设备879包括能够输出触觉刺激的各种类型的振动设备中的任一种。
(存储装置880)
存储装置880是用于存储各种类型数据的设备。存储装置880的示例包括诸如硬盘驱动器(HDD)的磁存储设备、半导体存储设备、光存储设备、磁光存储设备等。
(驱动器881)
驱动器881是读取在诸如磁盘、光盘、磁光盘或半导体存储器的可移除记录介质901上记录的信息或将信息写入可移除记录介质901的设备。
(可移除记录介质901)
可移除记录介质901的示例包括DVD介质、蓝光(注册商标)介质、HD DVD介质、各种半导体存储介质等。当然,在一个示例中,可移除记录介质901优选地是IC卡或安装有非接触式IC芯片的电子设备。
(连接端口882)
连接端口882是用于与外部连接设备902连接的端口,例如通用串行总线(USB)端口、IEEE 1394端口、小型计算机系统接口(SCSI)、RS-232C端口或光学音频终端。
(外部连接设备902)
外部连接设备902的示例包括打印机、便携式音乐播放器、数字相机、数字摄像机、IC记录器等。
(通信设备883)
通信设备883是用于与网络连接的通信设备,并且其示例包括用于有线或无线LAN、蓝牙(注册商标)或无线USB(WUSB)的通信卡、用于光通信的路由器、用于非对称数字用户线路(ADSL)的路由器或用于各种通信的调制解调器。
<4.结论>
如上所述,根据本公开内容的一种实施方式的信息处理设备设置有乘积累加运算电路,该乘积累加运算电路被配置成基于多个输入值和多个权重系数来执行乘积累加运算,所述多个权重系数通过幂表达来量化并且分别对应于多个输入值。经量化的权重系数的指数由将预定的除数p作为分母的分数来表达。此外,乘积累加运算电路基于根据除数p确定的余数,使用不同的加法乘数来执行乘积累加运算。根据这样的配置,可以进一步减少与内积运算相关联的处理负荷,同时还可以保证权重系数的量化粒度。
以上已经参照附图描述了本公开内容的优选实施方式,但本公开内容的不限于上述示例。本领域技术人员可以在所附权利要求的范围内找到各种变更和修改,并且应当理解,各种变更和修改将自然地落入本公开内容的技术范围内。
此外,本说明书中描述的效果仅是说明性的或示例性的效果,但是非限制性的。即,利用或代替上述效果,根据本公开内容的技术可以实现本领域技术人员根据本说明书的描述而清楚的其他效果。
此外,本技术还可以按如下进行配置。
(1)
一种信息处理设备,包括:
乘积累加运算电路,其被配置成基于多个输入值和多个权重系数来执行乘积累加运算,所述多个权重系数通过幂表达来量化并且分别对应于所述输入值,其中,
经量化的权重系数的指数由将预定的除数作为分母的分数来表达,并且
所述乘积累加运算电路基于根据所述除数确定的余数,使用不同的加法乘数来执行所述乘积累加运算。
(2)
根据(1)所述的信息处理设备,其中,
所述乘积累加运算电路设置有多个不同的累加器,所述多个不同的累加器被配置成针对根据所述除数确定的每个余数保存计算结果。
(3)
根据(2)所述的信息处理设备,其中,
所述余数通过将与所述经量化的权重系数的指数相关的分子作为被除数的模运算来计算,并且
所述乘积累加电路还设置有选择器,所述选择器被配置成将对应于所述余数的所述累加器连接至所述乘积累加运算电路。
(4)
根据(3)所述的信息处理设备,其中,
所述乘积累加运算电路还设置有移位运算单元,所述移位运算单元基于通过对商进行整数化而获得的值来执行与所述输入值相关的移位运算,由所述分子除以所述除数得到所述商。
(5)
根据(1)或(2)所述的信息处理设备,其中,
所述输入值通过幂表达来量化,
经量化的输入值由将预定的除数作为分母的分数来表达,并且
所述余数是将与所述经量化的权重系数的指数相关的分子和与所述经量化的输入值的指数相关的分子相加而获得的值作为被除数时的余数。
(6)
根据(5)所述的信息处理设备,其中,
所述乘积累加运算电路设置有针对与所述余数对应的每个累加器的多个加减法器。
(7)
根据(6)所述的信息处理设备,其中,
所述乘积累加运算电路还设置有选择器,所述选择器被配置成基于所述余数来对与所述余数对应的所述加减法器输入指示执行计算的信号。
(8)
根据(1)所述的信息处理设备,其中,
所述乘积累加运算电路还设置有多个存储电路,所述多个存储电路被配置成分别保存与所述余数对应的所述加法乘数。
(9)
根据(8)所述的信息处理设备,其中,
所述乘积累加运算电路还设置有选择器,所述选择器被配置成基于所述余数连接与所述余数对应的所述存储电路。
(10)
根据(5)至(7)中任一项所述的信息处理设备,其中,
所述除数包括针对所述输入值确定的第一除数以及针对所述权重系数确定的第二除数,并且
所述第一除数和所述第二除数是相互不同的值。
(11)
根据(1)至10中任一项所述的信息处理设备,其中,
所述除数是自然数。
(12)
根据(1)至10中任一项所述的信息处理设备,其中,
所述除数由幂来表达。
(13)
一种信息处理方法,包括:
基于多个输入值和多个权重系数来执行乘积累加运算,所述多个权重系数通过幂表达来量化并且分别对应于所述输入值,其中,
经量化的权重系数的指数由将预定的除数作为分母的分数来表达,并且
所述乘积累加运算的执行基于根据所述除数确定的余数使用不同的加法乘数来执行所述乘积累加运算。
附图标记列表
10 信息处理设备
110 输入单元
120 计算单元
130 存储单元
140 输出单元
200,300,400,500 乘积累加运算电路

Claims (13)

1.一种信息处理设备,包括:
乘积累加运算电路,其被配置成基于多个输入值和多个权重系数来执行乘积累加运算,所述多个权重系数通过幂表达来量化并且分别对应于所述输入值,其中,
经量化的权重系数的指数由将预定的除数作为分母的分数来表达,并且
所述乘积累加运算电路基于根据所述除数确定的余数,使用不同的加法乘数来执行所述乘积累加运算。
2.根据权利要求1所述的信息处理设备,其中,
所述乘积累加运算电路设置有多个不同的累加器,所述多个不同的累加器被配置成针对根据所述除数确定的每个余数保存计算结果。
3.根据权利要求2所述的信息处理设备,其中,
所述余数通过将与所述经量化的权重系数的指数相关的分子作为被除数的模运算来计算,并且
所述乘积累加运算电路还设置有选择器,所述选择器被配置成将对应于所述余数的所述累加器连接至所述乘积累加运算电路。
4.根据权利要求3所述的信息处理设备,其中,
所述乘积累加运算电路还设置有移位运算单元,所述移位运算单元基于通过对商进行整数化而获得的值来执行与所述输入值相关的移位运算,由所述分子除以所述除数得到所述商。
5.根据权利要求1所述的信息处理设备,其中,
所述输入值通过幂表达来量化,
经量化的输入值由将预定的除数作为分母的分数来表达,并且
所述余数是将与所述经量化的权重系数的指数相关的分子和与经量化的输入值的指数相关的分子相加而获得的值作为被除数时的余数。
6.根据权利要求5所述的信息处理设备,其中,
所述乘积累加运算电路设置有针对与所述余数对应的每个累加器的多个加减法器。
7.根据权利要求6所述的信息处理设备,其中,
所述乘积累加运算电路还设置有选择器,所述选择器被配置成基于所述余数来对与所述余数对应的所述加减法器输入指示执行计算的信号。
8.根据权利要求1所述的信息处理设备,其中,
所述乘积累加运算电路还设置有多个存储电路,所述多个存储电路被配置成分别保存与所述余数对应的所述加法乘数。
9.根据权利要求8所述的信息处理设备,其中,
所述乘积累加运算电路还设置有选择器,所述选择器被配置成基于所述余数连接与所述余数对应的所述存储电路。
10.根据权利要求5所述的信息处理设备,其中,
所述除数包括针对所述输入值确定的第一除数以及针对所述权重系数确定的第二除数,并且
所述第一除数和所述第二除数是相互不同的值。
11.根据权利要求1所述的信息处理设备,其中,
所述除数是自然数。
12.根据权利要求1所述的信息处理设备,其中,
所述除数由幂来表达。
13.一种信息处理方法,包括:
由处理器基于多个输入值和多个权重系数来执行乘积累加运算,所述多个权重系数通过幂表达来量化并且分别对应于所述输入值,其中,
经量化的权重系数的指数由将预定的除数作为分母的分数来表达,并且
所述乘积累加运算的执行基于根据所述除数确定的余数使用不同的加法乘数来执行所述乘积累加运算。
CN201880004505.1A 2017-09-29 2018-06-29 信息处理设备和信息处理方法 Active CN110036384B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017189889 2017-09-29
JP2017-189889 2017-09-29
PCT/JP2018/024923 WO2019064774A1 (ja) 2017-09-29 2018-06-29 情報処理装置、および情報処理方法

Publications (2)

Publication Number Publication Date
CN110036384A true CN110036384A (zh) 2019-07-19
CN110036384B CN110036384B (zh) 2021-01-05

Family

ID=65903401

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880004505.1A Active CN110036384B (zh) 2017-09-29 2018-06-29 信息处理设备和信息处理方法

Country Status (6)

Country Link
US (1) US11086969B2 (zh)
EP (1) EP3543873B1 (zh)
JP (2) JP6504331B1 (zh)
CN (1) CN110036384B (zh)
CA (1) CA3044660C (zh)
WO (1) WO2019064774A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111696528A (zh) * 2020-06-20 2020-09-22 龙马智芯(珠海横琴)科技有限公司 一种语音质检方法、装置、质检设备及可读存储介质
CN112580776A (zh) * 2019-09-30 2021-03-30 富士通株式会社 信息处理设备、信息处理方法和计算机可读记录介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7060079B2 (ja) * 2018-03-02 2022-04-26 日本電気株式会社 推論装置、畳み込み演算実行方法及びプログラム
US20210056446A1 (en) * 2019-08-23 2021-02-25 Nvidia Corporation Inference accelerator using logarithmic-based arithmetic
US11886980B2 (en) 2019-08-23 2024-01-30 Nvidia Corporation Neural network accelerator using logarithmic-based arithmetic
EP4024198A4 (en) * 2019-08-26 2022-10-12 Sony Group Corporation INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING SYSTEM AND INFORMATION PROCESSING METHOD
CN112082628B (zh) * 2020-09-11 2021-12-14 锐马(福建)电气制造有限公司 一种家畜养殖物联网数据采集系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5719955A (en) * 1990-06-14 1998-02-17 Canon Kabushiki Kaisha Data processing using neural networks having conversion tables in an intermediate layer
CN101639768A (zh) * 2008-07-29 2010-02-03 索尼株式会社 用于算术处理的装置、方法和程序
US20120057803A1 (en) * 2010-09-06 2012-03-08 Sony Corporation Image processing apparatus, method of the same, and program
CN102681815A (zh) * 2012-05-11 2012-09-19 深圳市清友能源技术有限公司 用加法器树状结构的有符号乘累加算法的方法
CN103218201A (zh) * 2012-01-19 2013-07-24 联发科技(新加坡)私人有限公司 数字信号处理器及处理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4718032A (en) * 1985-02-14 1988-01-05 Prime Computer, Inc. Method and apparatus for effecting range transformation in a digital circuitry
JP2862337B2 (ja) * 1990-06-19 1999-03-03 キヤノン株式会社 ニューラルネットワークの構築方法
US5473730A (en) * 1993-11-09 1995-12-05 At&T Ipm Corp. High efficiency learning network
JP5262248B2 (ja) 2008-03-31 2013-08-14 富士通株式会社 積和演算回路
US20210048982A1 (en) * 2019-08-13 2021-02-18 International Business Machines Corporation Partial product floating-point multiplication circuitry operand summation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5719955A (en) * 1990-06-14 1998-02-17 Canon Kabushiki Kaisha Data processing using neural networks having conversion tables in an intermediate layer
CN101639768A (zh) * 2008-07-29 2010-02-03 索尼株式会社 用于算术处理的装置、方法和程序
US20120057803A1 (en) * 2010-09-06 2012-03-08 Sony Corporation Image processing apparatus, method of the same, and program
CN103218201A (zh) * 2012-01-19 2013-07-24 联发科技(新加坡)私人有限公司 数字信号处理器及处理方法
CN102681815A (zh) * 2012-05-11 2012-09-19 深圳市清友能源技术有限公司 用加法器树状结构的有符号乘累加算法的方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HUBARA,ITAY ET AL.: "Quantized Neural Networks: Training Neural Networks with Low Precision Weights and Activations", 《JOURNAL OF MACHINE LEARNING RESEARCH》 *
MYYASHITA ET AL.: "Convolutional Neural Networks using Logatithm Data Representation", 《COMPUTER SCIENCE》 *
TANG,C.Z. ET AL.: "Multilayer feedforward neural networks with single power-of-two weights", 《IEEE TRANSACTIONS ON SINGNAL PROCESSING》 *
单睿: "一种基于SIMD结构的可重组乘累加器设计", 《微计算机应用》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112580776A (zh) * 2019-09-30 2021-03-30 富士通株式会社 信息处理设备、信息处理方法和计算机可读记录介质
CN111696528A (zh) * 2020-06-20 2020-09-22 龙马智芯(珠海横琴)科技有限公司 一种语音质检方法、装置、质检设备及可读存储介质

Also Published As

Publication number Publication date
CA3044660A1 (en) 2019-04-04
CA3044660C (en) 2020-06-09
EP3543873B1 (en) 2022-04-20
US20200073912A1 (en) 2020-03-05
EP3543873A4 (en) 2020-02-26
JP2019091512A (ja) 2019-06-13
JP6504331B1 (ja) 2019-04-24
JPWO2019064774A1 (ja) 2019-11-14
JP7103289B2 (ja) 2022-07-20
EP3543873A1 (en) 2019-09-25
WO2019064774A1 (ja) 2019-04-04
US11086969B2 (en) 2021-08-10
CN110036384B (zh) 2021-01-05

Similar Documents

Publication Publication Date Title
CN110036384A (zh) 信息处理设备和信息处理方法
CN111353579B (zh) 利用反向传播为深度神经网络选择量化参数的方法和系统
US11727276B2 (en) Processing method and accelerating device
CN108229648B (zh) 匹配存储器中数据位宽的卷积计算方法和装置、设备、介质
CN107526709A (zh) 使用低精度格式的张量处理
CN108345939A (zh) 基于定点运算的神经网络
US20200117981A1 (en) Data representation for dynamic precision in neural network cores
CN107977707A (zh) 一种对抗蒸馏神经网络模型的方法及计算设备
CN110516803A (zh) 将传统计算机视觉算法实现为神经网络
Wu et al. A L-BFGS based learning algorithm for complex-valued feedforward neural networks
CN109389218A (zh) 数据压缩方法及压缩装置
CN109389209A (zh) 处理装置及处理方法
JP2020004433A (ja) 情報処理装置、および情報処理方法
CN115905546A (zh) 基于阻变存储器的图卷积网络文献识别装置与方法
US20220334802A1 (en) Information processing apparatus, information processing system, and information processing method
US11335045B2 (en) Combining feature maps in an artificial intelligence semiconductor solution
US20240143985A1 (en) Identifying one or more quantisation parameters for quantising values to be processed by a neural network
WO2023248305A1 (ja) 情報処理装置、情報処理方法、及びコンピュータ読み取り可能な記録媒体
EP4365822A1 (en) Image processing apparatus and operation method thereof
CN117332830A (zh) 标识用于量化待由神经网络处理的值的一个或多个量化参数
CN117638882A (zh) 电力系统的损耗预测方法、装置、设备、介质和产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant