CN107636697B - 用于量化浮点神经网络以获得定点神经网络的方法和设备 - Google Patents

用于量化浮点神经网络以获得定点神经网络的方法和设备 Download PDF

Info

Publication number
CN107636697B
CN107636697B CN201680026295.7A CN201680026295A CN107636697B CN 107636697 B CN107636697 B CN 107636697B CN 201680026295 A CN201680026295 A CN 201680026295A CN 107636697 B CN107636697 B CN 107636697B
Authority
CN
China
Prior art keywords
machine learning
learning network
point machine
values
floating point
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.)
Active
Application number
CN201680026295.7A
Other languages
English (en)
Other versions
CN107636697A (zh
Inventor
D·林
V·S·R·安纳普莱蒂
D·E·霍华德
D·J·朱利安
S·马宗达
W·R·贝尔二世
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Priority to CN202110413148.8A priority Critical patent/CN112949839A/zh
Publication of CN107636697A publication Critical patent/CN107636697A/zh
Application granted granted Critical
Publication of CN107636697B publication Critical patent/CN107636697B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)

Abstract

一种使用量化器来量化浮点机器学习网络以获得定点机器学习网络的方法可以包括:选择该浮点机器学习网络的输入分布的至少一个矩。该方法还可以包括:至少部分地基于浮点机器学习网络的输入分布的该至少一个所选矩来确定用于量化该浮点机器学习网络的值的量化器参数以获得定点机器学习网络的对应值。

Description

用于量化浮点神经网络以获得定点神经网络的方法和设备
相关申请的交叉引用
本申请要求于2015年5月8日提交的题为“FIXED POINT NEURAL NETWORK BASEDON FLOATING POINT NEURAL NETWORK QUANTIZATION(基于浮点神经网络量化的定点神经网络)”的美国临时专利申请No.62/159,079的权益,其公开内容通过援引全部明确纳入于此。
背景
技术领域
本公开的某些方面一般涉及机器学习,尤其涉及量化浮点神经网络以获得定点神经网络。
背景技术
可包括一群互连的人工神经元(例如,神经元模型)的人工神经网络是一种计算设备或者表示将由该计算设备执行的方法。人工神经网络中的个体节点可以通过获取输入数据并对该数据执行简单操作来模仿生物学神经元。对输入数据执行简单操作的结果选择性地传递给其他神经元。每个节点的输出被称为其“激活”。权重值与网络中的每个向量和节点相关联,并且这些值约束输入数据如何与输出数据相关。与个体节点相关联的权重值也被称为偏置。这些权重值通过训练数据通过网络的迭代流来确定(例如,权重值在其中网络学习如何通过特定类别的典型输入数据特征来标识这些特定类别的训练阶段期间建立)。
卷积神经网络是一种前馈人工神经网络。卷积神经网络可包括神经元集合,其中每一个神经元具有感受野并且共同地拼出一输入空间。卷积神经网络(CNN)具有众多应用。具体地,CNN已被广泛使用于模式识别和分类领域。
深度学习架构(诸如,深度置信网络和深度卷积网络)是分层神经网络架构,其中第一层神经元的输出变成第二层神经元的输入,第二层神经元的输出变成第三层神经元的输入,依此类推。深度神经网络可被训练以识别特征阶层并因此它们被越来越多地用于对象识别应用。类似于卷积神经网络,这些深度学习架构中的计算可分布在处理节点群体上,其可被配置成一个或多个计算链。这些多层架构可每次训练一层并可使用反向传播细调。
其他模型也可用于对象识别。例如,支持向量机(SVM)是可被应用于分类的学习工具。支持向量机包括对数据进行归类的分离超平面(例如,决策边界)。该超平面由监督式学习来定义。期望的超平面增加训练数据的裕量。换言之,超平面应该具有到训练示例的最大的最小距离。
尽管这些解决方案在数个分类基准上取得了优异的结果,但它们的计算复杂度可能极其高。另外,这些模型的训练可能是有挑战性的。
发明内容
一种使用量化器来量化浮点机器学习网络以获得定点机器学习网络的方法可以包括:选择该浮点机器学习网络的输入分布的至少一个矩。该方法还可以包括:至少部分地基于该浮点机器学习网络的输入分布的至少一个所选矩来确定用于量化该浮点机器学习网络的值的量化器参数以获得定点机器学习网络的对应值。
一种用于使用量化器来量化浮点机器学习网络以获得定点机器学习网络的设备可以包括:用于选择该浮点机器学习网络的输入分布的至少一个矩的装置。该设备还可以包括:用于至少部分地基于该浮点机器学习网络的输入分布的至少一个所选矩来确定用于量化该浮点机器学习网络的值的量化器参数以获得定点机器学习网络的对应值的装置。
一种用于使用量化器来量化浮点机器学习网络以获得定点机器学习网络的装置可以包括:存储器单元和耦合至该存储器单元的至少一个处理器。该至少一个处理器可被配置成:选择浮点机器学习网络的输入分布的至少一个矩。该至少一个处理器可被进一步配置成:至少部分地基于该浮点机器学习网络的输入分布的至少一个所选矩来确定用于量化该浮点机器学习网络的值的量化器参数以获得定点机器学习网络的对应值。
一种其上记录有在由处理器执行时用于使用量化器来量化浮点机器学习网络以获得定点机器学习网络的程序代码的非瞬态计算机可读介质,该程序代码可以包括:用于选择该浮点机器学习网络的输入分布的至少一个矩的程序代码。该非瞬态计算机可读介质可进一步包括:用于至少部分地基于浮点机器学习网络的输入分布的该至少一个所选矩来确定用于量化该浮点机器学习网络的值的量化器参数以获得定点机器学习网络的对应值的程序代码。
本公开的附加特征和优点将在下文描述。本领域技术人员应该领会,本公开可容易地被用作修改或设计用于实施与本公开相同的目的的其他结构的基础。本领域技术人员还应认识到,这样的等效构造并不脱离所附权利要求中所阐述的本公开的教导。被认为是本公开的特性的新颖特征在其组织和操作方法两方面连同进一步的目的和优点在结合附图来考虑以下描述时将被更好地理解。然而,要清楚理解的是,提供每一幅附图均仅用于解说和描述目的,且无意作为对本公开的限定的定义。
附图说明
在结合附图理解下面阐述的详细描述时,本公开的特征、本质和优点将变得更加明显,在附图中,相同附图标记始终作相应标识。
图1解说了根据本公开的某些方面的使用片上系统(SOC)(包括通用处理器)来设计神经网络的示例实现。
图2解说了根据本公开的各方面的系统的示例实现。
图3A是解说根据本公开的各方面的神经网络的示图。
图3B是解说根据本公开的各方面的示例性深度卷积网络(DCN)的框图。
图4解说了示出用于定义定点表示的范围的分布的示例性概率分布函数。
图5A和5B解说了示例性深度卷积网络的不同层中的激活值和权重的分布。
图6A解说了用于示例性深度卷积网络的输入分布。
图6B解说了根据本公开的各方面的用于示例性深度卷积网络的经修改的输入分布。
图7A和7B解说了根据本公开的各方面的通过将激活值的分布的平均值纳入到第二机器学习网络的网络偏置中来将第一机器学习网络转换成第二机器学习网络。
图8解说了根据本公开的各方面的一种使用量化器来量化浮点机器学习网络以获得定点机器学习网络的方法。
图9解说了根据本公开的各方面的一种根据第一机器学习网络确定第二机器学习网络的步长以降低第二机器学习网络的计算复杂度的方法。
具体实施方式
以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文中所描述的概念的仅有的配置。本详细描述包括具体细节以便提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在一些实例中,以框图形式示出众所周知的结构和组件以避免湮没此类概念。
基于本教导,本领域技术人员应领会,本公开的范围旨在覆盖本公开的任何方面,不论其是与本公开的任何其他方面相独立地还是组合地实现的。例如,可以使用所阐述的任何数目的方面来实现装置或实践方法。另外,本公开的范围旨在覆盖使用作为所阐述的本公开的各个方面的补充或者与之不同的其他结构、功能性、或者结构及功能性来实践的此类装置或方法。应当理解,所披露的本公开的任何方面可由权利要求的一个或多个元素来实施。
措辞“示例性”在本文中用于表示“用作示例、实例或解说”。本文中描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。
尽管本文描述了特定方面,但这些方面的众多变体和置换落在本公开的范围之内。尽管提到了优选方面的一些益处和优点,但本公开的范围并非旨在被限定于特定益处、用途或目标。相反,本公开的各方面旨在能宽泛地应用于不同的技术、系统配置、网络和协议,其中一些作为示例在附图以及以下对优选方面的描述中解说。详细描述和附图仅仅解说本公开而非限定本公开,本公开的范围由所附权利要求及其等效技术方案来定义。
量化是将输入值集合映射到较小值集合的过程。例如,输入值可被取整到给定的精度单位。具体地,在一个示例中,浮点数向定点数的转换可以是量化的过程。
在一些人工神经网络(ANN)(诸如深度卷积网络(DCN))中,量化可被应用于归一化层的激活;全连接层的权重、偏置和激活;和/或卷积层的权重、偏置和激活。此外,对于DCN,量化可以在指定最大池化的情况下不应用于池化层;和/或在指定经校正的线性单元(ReLU)的情况下不应用于神经元层。
本公开的各方面涉及改进ANN中的权重、偏置、和/或激活的量化。也就是说,本公开的各方面涉及量化ANN中的权重、偏置、和/或激活值以改进使用定点数实现ANN时性能与复杂度之间的折衷。
图1解说了根据本公开的某些方面的通过使用片上系统(SOC)100量化浮点神经网络以获得定点神经网络而对计算复杂度的前述降低的示例实现,该SOC 100可包括通用处理器(CPU)或多核通用处理器(CPU)102。变量(例如,神经信号和突触权重)、与计算设备(例如,带有权重的神经网络)相关联的系统参数、延迟、频率槽信息、以及任务信息可被存储在与神经处理单元(NPU)108相关联的存储器块中、与CPU 102相关联的存储器块中、与图形处理单元(GPU)104相关联的存储器块中、与数字信号处理器(DSP)106相关联的存储器块中、专用存储器块118中,或可跨多个块分布。在通用处理器102处执行的指令可从与CPU 102相关联的程序存储器加载或可从专用存储器块118加载。
SOC 100还可包括为具体功能定制的附加处理块(诸如GPU 104、DSP 106、连通性块110(其可包括第四代长期演进(4G LTE)连通性、无执照Wi-Fi连通性、USB连通性、蓝牙连通性等))以及例如可检测和识别姿势的多媒体处理器112。在一种实现中,NPU实现在CPU、DSP、和/或GPU中。SOC 100还可包括传感器处理器114、图像信号处理器(ISP)、和/或导航120(其可包括全球定位系统)。
SOC 100可基于ARM指令集。在本公开的一方面,加载到通用处理器102中的指令可包括用于量化浮点神经网络以获得定点神经网络的代码。加载到通用处理器102的指令还可以包括用于在量化网络中的权重、偏置和激活值时提供定点表示的代码。
图2解说了根据本公开的某些方面的系统200的示例实现。如图2中所解说的,系统200可具有可执行本文所描述的方法的各种操作的多个局部处理单元202。每个局部处理单元202可包括局部状态存储器204和可存储神经网络的参数的局部参数存储器206。另外,局部处理单元202可具有用于存储局部模型程序的局部(神经元)模型程序(LMP)存储器208、用于存储局部学习程序的局部学习程序(LLP)存储器210、以及局部连接存储器212。此外,如图2中所解说的,每个局部处理单元202可与用于为该局部处理单元的各局部存储器提供配置的配置处理器单元214对接,并且与提供各局部处理单元202之间的路由的路由连接处理单元216对接。
深度学习架构可通过学习在每一层中以逐次更高的抽象程度来表示输入、藉此构建输入数据的有用特征表示来执行对象识别任务。以此方式,深度学习解决了传统机器学习的主要瓶颈。在深度学习出现之前,用于对象识别问题的机器学习办法可能严重依赖人类工程设计的特征,或许与浅分类器相结合。浅分类器可以是两类线性分类器,例如,其中可将特征向量分量的加权和与阈值作比较以预测输入属于哪一类。人类工程设计的特征可以是由拥有领域专业知识的工程师针对具体问题领域定制的模版或内核。相反,深度学习架构可学习以表示与人类工程师可能会设计的相似的特征,但它是通过训练来学习的。此外,深度网络可以学习以表示和识别人类可能还没有考虑过的新类型的特征。
深度学习架构可以学习特征阶层。例如,如果向第一层呈递视觉数据,则第一层可学习以识别输入流中的相对简单的特征(诸如边)。在另一示例中,如果向第一层呈递听觉数据,则第一层可学习以识别特定频率中的频谱功率。取第一层的输出作为输入的第二层可以学习以识别特征组合,诸如对于视觉数据识别简单形状或对于听觉数据识别声音组合。例如,更高层可学习以表示视觉数据中的复杂形状或听觉数据中的词语。再高层可学习以识别常见视觉对象或口语短语。
深度学习架构在被应用于具有自然阶层结构的问题时可能表现特别好。例如,机动交通工具的分类可受益于首先学习以识别轮子、挡风玻璃、以及其他特征。这些特征可在更高层以不同方式被组合以识别轿车、卡车和飞机。
神经网络可被设计成具有各种连通性模式。在前馈网络中,信息从较低层被传递到较高层,其中给定层中的每个神经元向更高层中的神经元进行传达。如上所述,可在前馈网络的相继层中构建阶层式表示。神经网络还可具有回流或反馈(也被称为自顶向下(top-down))连接。在回流连接中,来自给定层中的神经元的输出可被传达给相同层中的另一神经元。回流架构可有助于识别跨越不止一个按顺序递送给该神经网络的输入数据组块的模式。从给定层中的神经元到较低层中的神经元的连接被称为反馈(或自顶向下)连接。当高层级概念的识别可辅助辨别输入的特定低层级特征时,具有许多反馈连接的网络可能是有助益的。
参照图3A,神经网络的各层之间的连接可以是全连接的(302)或局部连接的(304)。在全连接网络302中,第一层中的神经元可将它的输出传达给第二层中的每个神经元,从而第二层中的每个神经元将从第一层中的每个神经元接收输入。替换地,在局部连接网络304中,第一层中的神经元可连接至第二层中有限数目的神经元。卷积网络306可以是局部连接的,并且被进一步配置成使得与针对第二层中每个神经元的输入相关联的连接强度被共享(例如,308)。更一般化地,网络的局部连接层可被配置成使得一层中的每个神经元将具有相同或相似的连通性模式,但其连接强度可具有不同的值(例如,310、312、314和316)。局部连接的连通性模式可能在更高层中产生空间上相异的感受野,这是由于给定区域中的更高层神经元可接收到通过训练被调谐为到网络的总输入的受限部分的性质的输入。
局部连接的神经网络可能非常适合于其中输入的空间位置有意义的问题。例如,被设计成识别来自车载相机的视觉特征的网络300可发展具有不同性质的高层神经元,这取决于它们与图像下部关联还是与图像上部关联。例如,与图像下部相关联的神经元可学习以识别车道标记,而与图像上部相关联的神经元可学习以识别交通信号灯、交通标志等。
DCN可以用受监督式学习来训练。在训练期间,DCN可被呈递图像(诸如限速标志的经裁剪图像),并且随后可计算“前向传递(forward pass)”以产生输出322。输出322可以是对应于特征(诸如“标志”、“60”、和“100)的值向量。”网络设计者可能希望DCN在输出特征向量中针对其中一些神经元输出高得分,例如与经训练的网络300的输出322中所示的“标志”和“60”对应的那些神经元。在训练之前,DCN产生的输出很可能是不正确的,并且由此可计算实际输出与目标输出之间的误差。DCN的权重可随后被调整以使得DCN的输出得分与目标更紧密地对准。
为了调整权重,学习算法可为权重计算梯度向量。该梯度可指示在权重被略微调整情况下误差将增加或减少的量。在顶层,该梯度可直接对应于连接倒数第二层中的活化神经元与输出层中的神经元的权重的值。在较低层中,该梯度可取决于权重的值以及所计算出的较高层的误差梯度。权重可随后被调整以减小误差。这种调整权重的方式可被称为“反向传播”,因为其涉及在神经网络中的“反向传递(backward pass)”。
在实践中,权重的误差梯度可能是在少量示例上计算的,从而计算出的梯度近似于真实误差梯度。这种近似方法可被称为随机梯度下降法。随机梯度下降法可被重复,直到整个系统可达成的误差率已停止下降或直到误差率已达到目标水平。
在学习之后,DCN可被呈递新图像并且在网络中的前向传递可产生输出322,其可被认为是该DCN的推断或预测。
深度置信网络(DBN)是包括多层隐藏节点的概率性模型。DBN可被用于提取训练数据集的阶层式表示。DBN可通过堆叠多层受限波尔兹曼机(RBM)来获得。RBM是一类可在输入集上学习概率分布的人工神经网络。由于RBM可在没有关于每个输入应该被分类到哪个类的信息的情况下学习概率分布,因此RBM经常被用于无监督式学习。使用混合无监督式和受监督式范式,DBN的底部RBM可按无监督方式被训练并且可以用作特征提取器,而顶部RBM可按受监督方式(在来自先前层的输入和目标类的联合分布上)被训练并且可用作分类器。
深度卷积网络(DCN)是卷积网络的网络,其配置有附加的池化和归一化层。DCN已在许多任务上达成现有最先进的性能。DCN可使用受监督式学习来训练,其中输入和输出目标两者对于许多典范是已知的并被用于通过使用梯度下降法来修改网络的权重。
DCN可以是前馈网络。另外,如上所述,从DCN的第一层中的神经元到下一更高层中的神经元群的连接跨第一层中的神经元被共享。DCN的前馈和共享连接可被利用于进行快速处理。DCN的计算负担可比例如类似大小的包括回流或反馈连接的神经网络小得多。
卷积网络的每一层的处理可被认为是空间不变模版或基础投影。如果输入首先被分解成多个通道,诸如彩色图像的红色、绿色和蓝色通道,那么在该输入上训练的卷积网络可被认为是三维的,其具有沿着该图像的轴的两个空间维度以及捕捉颜色信息的第三维度。卷积连接的输出可被认为在后续层318和320中形成特征图,该特征图(例如,320)中的每个元素从先前层(例如,318)中一定范围的神经元以及从该多个通道中的每一个通道接收输入。特征图中的值可以用非线性(诸如矫正)max(0,x)进一步处理。来自毗邻神经元的值可被进一步池化(这对应于降采样)并可提供附加的局部不变性以及维度缩减。还可通过特征图中神经元之间的侧向抑制来应用归一化,其对应于白化。
深度学习架构的性能可随着有更多被标记的数据点变为可用或随着计算能力提高而提高。现代深度神经网络用比仅仅十五年前可供典型研究者使用的计算资源多数千倍的计算资源来例行地训练。新的架构和训练范式可进一步推升深度学习的性能。经矫正的线性单元可减少被称为梯度消失的训练问题。新的训练技术可减少过度拟合(over-fitting)并因此使更大的模型能够达成更好的普遍化。封装技术可抽象出给定的感受野中的数据并进一步提升总体性能。
图3B是解说深度卷积网络350的框图。深度卷积网络350可包括多个基于连通性和权重共享的不同类型的层。如图3B所示,该深度卷积网络350包括多个卷积块(例如,C1和C2)。每个卷积块可配置有卷积层(CONV)、归一化层(LNorm)、和池化层。卷积层可包括一个或多个卷积滤波器,其可被应用于输入数据以生成特征图。尽管仅示出了两个卷积块,但本公开不限于此,而是,根据设计偏好,任何数目的卷积块可被包括在深度卷积网络350中。归一化层可被用于对卷积滤波器的输出进行归一化。例如,归一化层可提供白化或侧向抑制。池化层可提供在空间上的降采样聚集以实现局部不变性和维度缩减。
例如,深度卷积网络的平行滤波器组可任选地基于ARM指令集被加载到SOC 100的CPU 102或GPU 104上以达成高性能和低功耗。在替换实施例中,平行滤波器组可被加载到SOC 100的DSP 106或ISP 116上。另外,DCN可访问其他可存在于SOC上的处理块,诸如专用于传感器114和导航120的处理块。
深度卷积网络350还可包括一个或多个全连接层(例如,FC1和FC2)。深度卷积网络350可进一步包括逻辑回归(LR)层。深度卷积网络350的每一层之间是要被更新的权重(未示出)。每一层的输出可以用作深度卷积网络350中后续层的输入以从第一卷积块C1处提供的输入数据(例如,图像、音频、视频、传感器数据和/或其他输入数据)学习阶层式特征表示。
在一种配置中,机器学习模型(诸如神经模型)被配置成用于量化浮点神经网络以获得定点神经网络。该模型包括减少装置和/或平衡装置。在一个方面,该减少装置和/或平衡装置可以被是配置成执行所叙述功能的通用处理器102、与通用处理器102相关联的程序存储器、存储器块118、局部处理单元202、和/或路由连接处理单元216。在另一种配置中,前述装置可以是被配置成执行由前述装置所叙述的功能的任何模块或任何装置。
根据本公开的某些方面,每个局部处理单元202可被配置成基于模型的一个或多个期望功能特征来确定模型的参数,以及随着所确定的参数被进一步适配、调谐和更新来使这一个或多个功能特征朝着期望的功能特征发展。
基于浮点神经网络量化的定点神经网络
人工神经网络(ANN)中的权重、偏置、和/或激活值的浮点表示可能增加网络的硬件和/或软件实现的复杂度。在一些情形中,网络(诸如深度卷积网络(DCN)或人工神经网络)的定点表示可以提供改进的性能-复杂度折衷。本公开的各方面涉及在使用定点数实现网络时量化人工神经网络中的权重、偏置和激活值以改进性能与复杂度之间的折衷。
定点数可被指定以用于以减小的准确度为代价来使用较不复杂的软件和/或硬件设计,这是因为浮点数具有比定点数更大的动态范围。通过量化过程将浮点数转换成定点数可以降低硬件和/或软件实现的复杂度。浮点数可以采取包括符号位、8位指数和23位分数分量的单精度二进制格式。
本公开的各方面涉及使用Q数格式来表示定点数。尽管如此,可考虑其他格式。Q数格式被表示为Qm.n,其中m是整数部分的位数,而n是分数部分的位数。在一种配置中,m不包括符号位。每个Qm.n格式可以使用具有n个分数位的m+n+1位有符号整数容器。在一种配置中,范围是[-(2m),2m-2-n)]并且分辨率是2-n。例如,Q14.1格式数可使用十六位。在该示例中,范围是[-214,214-2-1](例如,[-16384.0,+16383.5])并且分辨率是2-1(例如,0.5)。
在一种配置中,Q数格式的扩展被指定成支持分辨率大于一或者最大范围小于一的实例。在一些情形中,负数的分数位可被指定用于大于一的分辨率。另外,负数的整数位可被指定用于小于一的最大范围。
深度卷积网络(DCN)是可以根据本公开的各方面应用量化的人工神经网络的一个示例。量化可被应用于归一化层的激活;全连接层的权重、偏置和激活;和/或卷积层的权重、偏置和激活。然而,量化在指定最大池化的情况下无需应用于池化层,和/或在指定经校正的线性单元(ReLU)的情况下无需应用于神经元层。本公开的各方面涉及通过应用各种优化来改进人工神经网络中的权重、偏置、和/或激活的量化。
根据本公开的各方面,人工神经网络中的量化效率可以通过根据图4中所示的概率分布函数400的量化的阅览来更好地理解。例如,量化器的输入可以均匀地分布在[Xmin,Xmax]上,其中Xmin(X最小)和Xmax(X最大)定义定点表示的范围。当量化器的输入均匀地分布在[Xmin,Xmax]上时,量化噪声为:
Figure GDA0002884541420000111
其中
Figure GDA0002884541420000112
并且Δ=步长 (1)
信号功率为:
Figure GDA0002884541420000113
其中
Figure GDA0002884541420000114
并且信号对量化噪声比(SQNR)在假定M为整数位数的情况下为:
Figure GDA0002884541420000115
图5A和5B解说了示例性深度卷积网络的不同层中的激活值和权重的分布。图5A示出了卷积层零到五(conv0、……、conv5)和全连接层一和二(fc1、fc2)的激活值。图5B示出了卷积层一到五(conv1、……、conv5)和全连接层一和二(fc1、fc2)的权重550。向人工神经网络中的权重、偏置和激活值应用量化包括步长的确定。例如,用于高斯、拉普拉斯和伽马(γ)分布的对称均匀量化器的步长可以在假定这些分布具有零均值和单位方差的情况下使用输入分布的标准偏差的确定性函数来计算。相应地,本公开的各方面涉及对权重和/或激活值计算的修改以使得各分布具有零均值(例如,约为零的平均数)。在一种配置中,权重和激活值两者被假定成具有高斯分布,然而,还构想了其他分布。
在本公开的各方面,对权重和/或激活值计算的修改以使得各分布具有零均值是通过移除平均数来执行的。在一种配置中,量化可以在移除输入分布的平均数值(μ)之后执行。如果该分布具有较大平均数值,则平均数值的移除可具有较大影响。
图6A解说了用于示例性深度卷积网络的输入分布600。在该示例中,输入分布600包括方差(σ)和平均数值(μ)。本公开的各方面涉及针对权重、偏置和激活值的分布指定零均值(μ=0),例如,如图6B中所示。
图6B解说了用于示例性深度卷积网络的经修改的输入(Input)分布650。在该配置中,将平均数值(μ)与标准(std)偏差(方差(σ))相加以减少确定编码的范围时的计算开销,使得:
Input stdσ′=|μ|+σ (4)
然而,图6B的经修改的输入分布650涉及附加位以表示具有零均值的经修改的输入分布650。也就是说,在该配置中,定点计算的复杂度因经修改的输入分布650而以指定位宽的增加为代价而降低。例如,如果|μ|<σ,则对于每个被量化的量,指定位宽的增加小于1个额外的位。
图7A和7B解说了一种通过将第一机器学习网络的激活值分布的平均数值纳入到第二机器学习网络的网络偏置中来将该第一机器学习网络转换成第二机器学习网络的方法。图7A解说了也具有平均数(μ)和方差(σ)的示例性深度卷积网络的激活值的输入分布700。在本公开的各方面,执行对激活值计算的输入分布700的修改以使得激活值具有零均值。在本公开的这一方面,通过将平均数值(μ)吸收到人工神经网络的偏置中来执行对权重和/或激活值计算的修改,例如,如图7B中所示。
图7B解说了具有方差(σ)和平均数(μ)的示例性深度卷积网络的激活值的经修改的输入分布750。在该配置中,平均数(μ)被吸收到深度卷积网络模型的偏置值中。将平均数(μ)吸收到偏置值中可以减少平均数移除的计算负担。将平均数(μ)吸收到深度卷积网络模型的偏置中在没有额外的计算负担的情况下基本上移除了平均数激活。经修改的偏置值的计算可以如下执行。
在一些情形中,在ANN具有多层时,层l+1中的第i个神经元的激活值可如下计算:
Figure GDA0002884541420000121
其中,(l)表示第l层,N表示加法数目,wi,j表示从层l中的神经元j到神经元i的权重,而bi表示偏置。
激活
Figure GDA0002884541420000131
可被表示为平均数分量μ(l)和零均值部分
Figure GDA0002884541420000132
之和,则:
Figure GDA0002884541420000133
Figure GDA0002884541420000134
新偏置值(7)
Figure GDA0002884541420000135
在一种配置中,偏置值被修改以针对激活分布指定遍及网络的零均值。另外,在平均数值被纳入到网络偏置中时,非线性激活函数被修改。在该配置中,原始偏置值
Figure GDA0002884541420000136
被替代为经修改的值
Figure GDA0002884541420000137
Figure GDA0002884541420000138
结果所得的网络具有零均值激活:
Figure GDA0002884541420000139
对于一些层,例如在ANN的输出处,可以指定非零均值输出激活,使得:
Figure GDA00028845414200001310
其中,
Figure GDA00028845414200001311
向人工神经网络中的权重、偏置和激活值应用量化可以包括定点转换器。在一些情形中,对于ANN模型,
Figure GDA00028845414200001312
Figure GDA00028845414200001313
是已知的。此外,
Figure GDA00028845414200001314
可以从浮点模拟测得。由此,在一种配置中,浮点到定点模型转换器可以通过测量每一层处的平均数激活μ(l)和如下计算新值来计算该新值并将其指派给
Figure GDA00028845414200001315
Figure GDA00028845414200001316
在一些情形中,假定ANN中的权重对于每次观察都具有基本上为零的平均数。由此,假定前述示例涉及激活值。仍然,前述示例也可被应用于权重值。应用于权重值可以包括移位激活值以针对定点机器学习网络的每一层创建零均值分布。当遍及网络的激活被移位以针对每一层创建零均值分布时,如果后续非线性函数被应用于激活,则该函数的坐标被移位相同的量以使得输出是原始输出的移位而没有偏置修改。也就是说,量化过程包括将应用于经移位的激活值的任何非线性函数的坐标移位与该经移位的激活值相对应的量。
向人工神经网络中的权重、偏置和激活值应用量化包括步长的确定。对于定点表示,步长可被限定为2的幂。确定为2的幂的步长可对应于确定定点数表示中的分数位数。用于确定步长的公式可以如下指定:
σ′=|μ|+σ或σ′=σ或
Figure GDA0002884541420000141
其中μ和σ是用于计算有效∑值σ'的输入的平均数和标准偏差。接着,基于有效∑值σ'如下计算有效步长:
S浮点=σ′×C缩放(w)×α (15)
其中S浮点是浮点格式的计算出的步长,C缩放(w)是位宽w的缩放常数,而α是步长的调整因子。最后,针对步长如下确定最接近的2的幂:
n=-S浮点[log2S浮点] (16)
其中n是可被指定成表示量化器输入的分数位数,而2-n可被指定为步长。除了
Figure GDA0002884541420000143
(上取整运算)之外,其他取整函数可被用来获得整数n,包括round(·)和
Figure GDA0002884541420000144
(下取整运算)。
将来自式(15)的缩放函数和调整因子函数C缩放(w)可以根据表I指定为位宽(W)的函数。
表I:用于高斯分布的均匀量化器
Figure GDA0002884541420000142
附加调整因子α是可被调整以改进分类性能的值。例如,在某些场景中,α可被指定为不同于1的值,诸如:(1)输入分布不是高斯(例如,潜在较长的尾部);或(2)针对DCN计算出的定点表示与基于信号对量化噪声比(SQNR)的考虑所计算的表示不一致。在涉及场景检测的示例性DCN模型中,不同于1的α(诸如α=1.5)改进了性能。
另外,步长调整因子α可遍及该模型被不同地指定。例如,α可针对每一层的权重和激活被个体地指定。另外,权重和偏置可以具有非常不同的动态范围。例如,权重和偏置可被指定成具有不同的Q数表示和不同的位宽。另外,相同层中的权重和偏置的位宽可以是相同的。在一种配置中,对于给定层,权重具有Q 3.18的格式并且偏置具有Q 6.9的格式。
在一种配置中,在将浮点模型量化成定点模型之后,定点网络经由附加训练细调以进一步改进网络性能。细调可以包括经由反向传播来训练。此外,浮点到定点转换中标识出的步长和Q数表示可以继续到经细调的网络。在该示例中,未指定附加步长优化。用于ANN的量化器可以维持网络的保真度同时减少资源使用。对于示例性网络,在32位浮点网络实现与16位定点网络实现相比之间,在准确度方面可能几乎不存在差异。基于所公开的量化器设计的ANN的定点实现可以减小模型尺寸、处理时间、存储器带宽、以及功耗。
图8解说了根据本公开的各方面的一种使用量化器来量化浮点机器学习网络以获得定点机器学习网络的方法800。在框802,选择浮点机器学习网络的输入分布的至少一个矩。该浮点机器学习网络的输入分布的至少一个矩可以包括输入分布的平均数、方差或其他类似矩。在框804,基于该浮点机器学习网络的输入分布的所选矩来确定用于量化该浮点机器学习网络的值的量化器参数。在框806,确定附加矩是否可用于输入分布。若是,则可以针对该输入分布的每个矩(包括例如输入分布的平均数、方差或其他类似矩)重复框802和804。
在本公开的各方面,执行用于量化浮点机器学习网络的值的量化器参数的确定以获得定点机器学习网络的对应值。该用于量化浮点机器学习网络的值的量化器参数包括定点机器学习网络的最大动态编码范围、量化器步长、位宽、有符号/无符号指示符值或其他类似量化参数。另外,定点机器学习网络的对应值可以包括但不限于偏置、权重、和/或激活值。
图9解说了根据本公开的各方面的一种用于根据第一机器学习网络(例如,浮点神经网络)确定第二机器学习网络(例如,定点神经网络)的步长以降低第二机器学习网络的计算复杂度的方法900。向人工神经网络中的权重、偏置和激活值应用量化包括步长的确定。在框902,计算有效∑。例如,如式(14)中所示的是将输入分布的平均数μ的绝对值与该输入分布的标准偏差(σ)相加以计算有效∑值(σ')。在框904,例如根据式(15),基于有效∑值(σ')来计算有效步长(S浮点)。在框906,例如根据式(16),针对该步长确定最接近的2的幂。
以上所描述的方法的各种操作可由能够执行相应功能的任何合适的装置来执行。这些装置可包括各种硬件和/或(诸)软件组件和/或(诸)模块,包括但不限于电路、专用集成电路(ASIC)、或处理器。一般而言,在附图中有解说的操作的场合,那些操作可具有带相似编号的相应配对装置加功能组件。
如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可包括演算、计算、处理、推导、研究、查找(例如,在表、数据库或其他数据结构中查找)、探知及诸如此类。另外,“确定”可包括接收(例如接收信息)、访问(例如访问存储器中的数据)、及类似动作。此外,“确定”可包括解析、选择、选取、确立及类似动作。
如本文中所使用的,引述一列项目中的“至少一者”的短语是指这些项目的任何组合,包括单个成员。作为示例,“a、b或c中的至少一个”旨在涵盖:a、b、c、a-b、a-c、b-c、以及a-b-c。
结合本公开所描述的各种解说性逻辑框、模块、以及电路可用设计成执行本文所描述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、分立的门或晶体管逻辑、分立的硬件组件或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何市售的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如,DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器、或任何其它此类配置。
结合本公开描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中实施。软件模块可驻留在本领域所知的任何形式的存储介质中。可使用的存储介质的一些示例包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、寄存器、硬盘、可移动盘、CD-ROM等。软件模块可包括单条指令、或许多条指令,且可分布在若干不同的代码段上,分布在不同的程序间以及跨多个存储介质分布。存储介质可被耦合到处理器以使得该处理器能从/向该存储介质读写信息。在替换方案中,存储介质可以被整合到处理器。
本文所公开的方法包括用于达成所描述的方法的一个或多个步骤或动作。这些方法步骤和/或动作可以彼此互换而不会脱离权利要求的范围。换言之,除非指定了步骤或动作的特定次序,否则具体步骤和/或动作的次序和/或使用可以改动而不会脱离权利要求的范围。
所描述的功能可在硬件、软件、固件或其任何组合中实现。如果以硬件实现,则示例硬件配置可包括设备中的处理系统。处理系统可以用总线架构来实现。取决于处理系统的具体应用和整体设计约束,总线可包括任何数目的互连总线和桥接器。总线可将包括处理器、机器可读介质、以及总线接口的各种电路链接在一起。总线接口可用于尤其将网络适配器等经由总线连接至处理系统。网络适配器可被用于实现信号处理功能。对于某些方面,用户接口(例如,按键板、显示器、鼠标、操纵杆等)也可被连接至总线。总线还可链接各种其他电路(诸如定时源、外围设备、稳压器、功率管理电路等),这些电路在本领域中是众所周知的,因此将不再赘述。
处理器可负责管理总线和一般处理,包括执行存储在机器可读介质上的软件。处理器可用一个或多个通用和/或专用处理器来实现。示例包括微处理器、微控制器、DSP处理器、以及其他能执行软件的电路系统。软件应当被宽泛地解释成意指指令、数据、或其任何组合,无论是被称作软件、固件、中间件、微代码、硬件描述语言、或其他。作为示例,机器可读介质可包括随机存取存储器(RAM)、闪存、只读存储器(ROM)、可编程只读存储器(PROM)、可擦式可编程只读存储器(EPROM)、电可擦式可编程只读存储器(EEPROM)、寄存器、磁盘、光盘、硬驱动器、或者任何其他合适的存储介质、或其任何组合。机器可读介质可被实施在计算机程序产品中。该计算机程序产品可以包括包装材料。
在硬件实现中,机器可读介质可以是处理系统中与处理器分开的一部分。然而,如本领域技术人员将容易领会的,机器可读介质或其任何部分可在处理系统外部。作为示例,机器可读介质可包括传输线、由数据调制的载波、和/或与设备分开的计算机产品,所有这些都可由处理器通过总线接口来访问。替换地或补充地,机器可读介质或其任何部分可被集成到处理器中,诸如高速缓存和/或通用寄存器文件可能就是这种情形。尽管所讨论的各种组件可被描述为具有特定位置,诸如局部组件,但它们也可按各种方式来配置,诸如某些组件被配置成分布式计算系统的一部分。
处理系统可以被配置为通用处理系统,该通用处理系统具有一个或多个提供处理器功能性的微处理器、以及提供机器可读介质中的至少一部分的外部存储器,它们都通过外部总线架构与其他支持电路系统链接在一起。替换地,该处理系统可以包括一个或多个神经元形态处理器以用于实现本文所述的神经元模型和神经系统模型。作为另一替换方案,处理系统可以用带有集成在单块芯片中的处理器、总线接口、用户接口、支持电路系统、和至少一部分机器可读介质的专用集成电路(ASIC)来实现,或者用一个或多个现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、状态机、门控逻辑、分立硬件组件、或者任何其他合适的电路系统、或者能执行本公开通篇所描述的各种功能性的电路的任何组合来实现。取决于具体应用和加诸于整体系统上的总设计约束,本领域技术人员将认识到如何最佳地实现关于处理系统所描述的功能性。
机器可读介质可包括数个软件模块。这些软件模块包括当由处理器执行时使处理系统执行各种功能的指令。这些软件模块可包括传送模块和接收模块。每个软件模块可以驻留在单个存储设备中或者跨多个存储设备分布。作为示例,当触发事件发生时,可以从硬驱动器中将软件模块加载到RAM中。在软件模块执行期间,处理器可以将一些指令加载到高速缓存中以提高访问速度。随后可将一个或多个高速缓存行加载到通用寄存器文件中以供处理器执行。在以下述及软件模块的功能性时,将理解此类功能性是在处理器执行来自该软件模块的指令时由该处理器来实现的。此外,应领会,本公开的各方面产生对处理器、计算机、机器或实现此类方面的其它系统的机能的改进。
如果以软件实现,则各功能可作为一条或多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,这些介质包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,此类计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或能用于携带或存储指令或数据结构形式的期望程序代码且能被计算机访问的任何其他介质。另外,任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或无线技术(诸如红外(IR)、无线电、以及微波)从web网站、服务器、或其他远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL或无线技术(诸如红外、无线电、以及微波)就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘、和
Figure GDA0002884541420000191
碟,其中盘(disk)常常磁性地再现数据,而碟(disc)用激光来光学地再现数据。因此,在一些方面,计算机可读介质可包括非瞬态计算机可读介质(例如,有形介质)。另外,对于其他方面,计算机可读介质可包括瞬态计算机可读介质(例如,信号)。上述的组合应当也被包括在计算机可读介质的范围内。
因此,某些方面可包括用于执行本文中给出的操作的计算机程序产品。例如,此类计算机程序产品可包括其上存储(和/或编码)有指令的计算机可读介质,这些指令能由一个或多个处理器执行以执行本文中所描述的操作。对于某些方面,计算机程序产品可包括包装材料。
此外,应当领会,用于执行本文中所描述的方法和技术的模块和/或其它恰适装置能由用户终端和/或基站在适用的场合下载和/或以其他方式获得。例如,此类设备能被耦合至服务器以促成用于执行本文中所描述的方法的装置的转移。替换地,本文所述的各种方法能经由存储装置(例如,RAM、ROM、诸如压缩碟(CD)或软盘等物理存储介质等)来提供,以使得一旦将该存储装置耦合至或提供给用户终端和/或基站,该设备就能获得各种方法。此外,可利用适于向设备提供本文所描述的方法和技术的任何其他合适的技术。
将理解,权利要求并不被限定于以上所解说的精确配置和组件。可在以上所描述的方法和装置的布局、操作和细节上作出各种改动、更换和变形而不会脱离权利要求的范围。

Claims (22)

1.一种使用量化器来量化浮点机器学习网络以获得定点机器学习网络的方法,包括:
选择所述浮点机器学习网络的输入分布的一矩,该矩包括均值和方差中的至少之一;
移位激活值以针对所述定点机器学习网络的每一层创建零均值分布;
将应用于经移位的激活值的任何非线性函数的坐标移位与所述经移位的激活值相对应的量;以及
至少部分地基于根据所选择的所述浮点机器学习网络的输入分布的所述矩确定的量化器参数来量化所述浮点机器学习网络的值,以获得所述定点机器学习网络的对应值。
2.如权利要求1所述的方法,其中,用于量化所述浮点机器学习网络的值的所述量化器参数包括所述定点机器学习网络的最大动态编码范围。
3.如权利要求1所述的方法,其中,用于量化所述浮点机器学习网络的值的所述量化器参数包括量化器步长。
4.如权利要求3所述的方法,进一步包括:
至少部分地基于来自所述浮点机器学习网络的偏置、权重和/或激活值的均值和标准偏差来确定用于所述偏置、所述权重和/或所述激活值的所述量化器的量化器步长。
5.如权利要求1所述的方法,其中,用于量化所述浮点机器学习网络的值的所述量化器参数包括位宽。
6.如权利要求1所述的方法,其中,用于量化所述浮点机器学习网络的值的所述量化器参数包括有符号或无符号的指示符值。
7.如权利要求1所述的方法,其中,所述定点机器学习网络的对应值包括偏置、权重和/或激活值。
8.一种将第一机器学习网络转换成第二机器学习网络的方法,包括:
获得所述第一机器学习网络的激活值的分布的均值;
将所述均值应用于所述第一机器学习网络的偏置值以获得用于所述第二机器学习网络的经修改偏置值,从而用于所述第二机器学习网络的每一层的激活值具有零均值分布;以及
基于量化器参数对存储器中存储的所述激活值进行量化。
9.如权利要求8所述的方法,进一步包括:
在将所述均值纳入到所述偏置值的情况下,修改非线性激活函数。
10.如权利要求8所述的方法,其中,所述第一机器学习网络包括浮点神经网络,而所述第二机器学习网络包括定点神经网络。
11.一种用于使用量化器来量化浮点机器学习网络以获得定点机器学习网络的设备,包括:
用于选择所述浮点机器学习网络的输入分布的一矩的单元,该矩包括均值和方差中的至少之一;
用于移位激活值以针对所述定点机器学习网络的每一层创建零均值分布的单元;
用于将应用于经移位的激活值的任何非线性函数的坐标移位与所述经移位的激活值相对应的量的单元;以及
用于至少部分地基于根据所选择的所述浮点机器学习网络的输入分布的所述矩确定的量化器参数来量化所述浮点机器学习网络的值,以获得所述定点机器学习网络的对应值的单元。
12.如权利要求11所述的设备,其中,用于量化所述浮点机器学习网络的值的所述量化器参数包括所述定点机器学习网络的最大动态编码范围、位宽、有符号或无符号指示符值和/或量化器步长。
13.如权利要求12所述的设备,进一步包括:
用于至少部分地基于来自所述浮点机器学习网络的偏置、权重和/或激活值的均值和标准偏差来确定用于所述偏置、所述权重和/或所述激活值的所述量化器的量化器步长的单元。
14.如权利要求11所述的设备,其中,所述定点机器学习网络的对应值包括偏置、权重和/或激活值。
15.一种用于使用量化器来量化浮点机器学习网络以获得定点机器学习网络的装置,包括:
存储器单元;以及
耦合至所述存储器单元的至少一个处理器,所述至少一个处理器被配置成:
选择所述浮点机器学习网络的输入分布的一矩,该矩包括均值和方差中的至少之一;
移位激活值以针对所述定点机器学习网络的每一层创建零均值分布;
将应用于经移位的激活值的任何非线性函数的坐标移位与所述经移位的激活值相对应的量;以及
至少部分地基于根据所选择的所述浮点机器学习网络的输入分布的所述矩确定的量化器参数来量化所述浮点机器学习网络的值,以获得所述定点机器学习网络的对应值。
16.如权利要求15所述的装置,其中,用于量化所述浮点机器学习网络的值的所述量化器参数包括所述定点机器学习网络的最大动态编码范围、位宽、有符号或无符号指示符值和/或量化器步长。
17.如权利要求16所述的装置,其中,所述至少一个处理器被进一步配置成:
至少部分地基于来自所述浮点机器学习网络的偏置、权重和/或激活值的均值和标准偏差来确定用于所述偏置、所述权重和/或所述激活值的所述量化器的量化器步长。
18.如权利要求15所述的装置,其中,所述定点机器学习网络的对应值包括偏置、权重和/或激活值。
19.一种其上记录有用于使用量化器来量化浮点机器学习网络以获得定点机器学习网络的程序代码的非瞬态计算机可读介质,所述程序代码由处理器执行并且包括:
用于选择所述浮点机器学习网络的输入分布的一矩的程序代码,该矩包括均值和方差中的至少之一;
用于移位激活值以针对所述定点机器学习网络的每一层创建零均值分布的程序代码;
用于将应用于经移位的激活值的任何非线性函数的坐标移位与所述经移位的激活值相对应的量的程序代码;以及
用于至少部分地基于根据所选择的所述浮点机器学习网络的输入分布的所述矩确定的量化器参数来量化所述浮点机器学习网络的值,以获得所述定点机器学习网络的对应值的程序代码。
20.如权利要求19所述的计算机可读介质,其中,用于量化所述浮点机器学习网络的值的所述量化器参数包括所述定点机器学习网络的最大动态编码范围、位宽、有符号或无符号指示符值和/或量化器步长。
21.如权利要求20所述的计算机可读介质,进一步包括:
用于至少部分地基于来自所述浮点机器学习网络的偏置、权重和/或激活值的均值和标准偏差来确定用于所述偏置、所述权重和/或所述激活值的所述量化器的量化器步长的程序代码。
22.如权利要求19所述的计算机可读介质,其中,所述定点机器学习网络的对应值包括偏置、权重和/或激活值。
CN201680026295.7A 2015-05-08 2016-04-14 用于量化浮点神经网络以获得定点神经网络的方法和设备 Active CN107636697B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110413148.8A CN112949839A (zh) 2015-05-08 2016-04-14 用于量化浮点神经网络以获得定点神经网络的方法和设备

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562159079P 2015-05-08 2015-05-08
US62/159,079 2015-05-08
US14/920,099 US10373050B2 (en) 2015-05-08 2015-10-22 Fixed point neural network based on floating point neural network quantization
US14/920,099 2015-10-22
PCT/US2016/027589 WO2016182671A1 (en) 2015-05-08 2016-04-14 Fixed point neural network based on floating point neural network quantization

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110413148.8A Division CN112949839A (zh) 2015-05-08 2016-04-14 用于量化浮点神经网络以获得定点神经网络的方法和设备

Publications (2)

Publication Number Publication Date
CN107636697A CN107636697A (zh) 2018-01-26
CN107636697B true CN107636697B (zh) 2021-03-12

Family

ID=57222674

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110413148.8A Pending CN112949839A (zh) 2015-05-08 2016-04-14 用于量化浮点神经网络以获得定点神经网络的方法和设备
CN201680026295.7A Active CN107636697B (zh) 2015-05-08 2016-04-14 用于量化浮点神经网络以获得定点神经网络的方法和设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202110413148.8A Pending CN112949839A (zh) 2015-05-08 2016-04-14 用于量化浮点神经网络以获得定点神经网络的方法和设备

Country Status (4)

Country Link
US (1) US10373050B2 (zh)
EP (1) EP3295385B1 (zh)
CN (2) CN112949839A (zh)
WO (1) WO2016182671A1 (zh)

Families Citing this family (165)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10417525B2 (en) 2014-09-22 2019-09-17 Samsung Electronics Co., Ltd. Object recognition with reduced neural network weight precision
US10262259B2 (en) * 2015-05-08 2019-04-16 Qualcomm Incorporated Bit width selection for fixed point neural networks
CN106991477B (zh) * 2016-01-20 2020-08-14 中科寒武纪科技股份有限公司 一种人工神经网络压缩编码装置和方法
US11106973B2 (en) 2016-03-16 2021-08-31 Hong Kong Applied Science and Technology Research Institute Company Limited Method and system for bit-depth reduction in artificial neural networks
US10831444B2 (en) * 2016-04-04 2020-11-10 Technion Research & Development Foundation Limited Quantized neural network training and inference
US11995554B2 (en) * 2016-04-15 2024-05-28 Cambricon Technologies Corporation Limited Apparatus and methods for backward propagation in neural networks supporting discrete data
US11222263B2 (en) * 2016-07-28 2022-01-11 Samsung Electronics Co., Ltd. Neural network method and apparatus
CN106502626A (zh) * 2016-11-03 2017-03-15 北京百度网讯科技有限公司 数据处理方法和装置
JP6183980B1 (ja) * 2016-12-02 2017-08-23 国立大学法人東京工業大学 ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム
US10528321B2 (en) 2016-12-07 2020-01-07 Microsoft Technology Licensing, Llc Block floating point for neural network implementations
US11392825B2 (en) 2017-01-09 2022-07-19 Samsung Electronics Co., Ltd. Method and algorithm of recursive deep learning quantization for weight bit reduction
US10997492B2 (en) 2017-01-20 2021-05-04 Nvidia Corporation Automated methods for conversions to a lower precision data format
WO2018137412A1 (zh) 2017-01-25 2018-08-02 清华大学 神经网络信息接收方法、发送方法、系统、设备及可读存储介质
US10650303B2 (en) 2017-02-14 2020-05-12 Google Llc Implementing neural networks in fixed point arithmetic computing systems
EP3588394A4 (en) * 2017-02-23 2020-03-04 Sony Corporation INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING PROCESS AND PROGRAM
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US10387298B2 (en) * 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
DE102018110687A1 (de) 2017-05-05 2018-11-08 Intel Corporation Dynamisches Genauigkeitsmanagement für Deep-Learning-Ganzzahlprimitive
CN107239826A (zh) * 2017-06-06 2017-10-10 上海兆芯集成电路有限公司 在卷积神经网络中的计算方法及装置
CN107256422A (zh) * 2017-06-06 2017-10-17 上海兆芯集成电路有限公司 数据量化方法及装置
CN109214502B (zh) * 2017-07-03 2021-02-26 清华大学 神经网络权重离散化方法和系统
US10878273B2 (en) 2017-07-06 2020-12-29 Texas Instruments Incorporated Dynamic quantization for deep neural network inference system and method
WO2019008752A1 (ja) * 2017-07-07 2019-01-10 三菱電機株式会社 データ処理装置、データ処理方法および圧縮データ
US10728553B2 (en) * 2017-07-11 2020-07-28 Sony Corporation Visual quality preserving quantization parameter prediction with deep neural network
CN107688849B (zh) * 2017-07-28 2021-04-13 赛灵思电子科技(北京)有限公司 一种动态策略定点化训练方法及装置
CN107679618B (zh) * 2017-07-28 2021-06-11 赛灵思电子科技(北京)有限公司 一种静态策略定点化训练方法及装置
KR102601604B1 (ko) * 2017-08-04 2023-11-13 삼성전자주식회사 뉴럴 네트워크의 파라미터들을 양자화하는 방법 및 장치
US11100396B2 (en) * 2017-08-24 2021-08-24 International Business Machines Corporation Self-adjusting threshold for synaptic activity in neural networks
CN109543826A (zh) * 2017-09-21 2019-03-29 杭州海康威视数字技术股份有限公司 一种基于深度神经网络的激活量量化方法及装置
KR20190034985A (ko) 2017-09-25 2019-04-03 삼성전자주식회사 인공 신경망의 양자화 방법 및 장치
WO2019075604A1 (zh) * 2017-10-16 2019-04-25 深圳市大疆创新科技有限公司 数据定点化方法和装置
KR102564456B1 (ko) * 2017-10-19 2023-08-07 삼성전자주식회사 뉴럴 네트워크의 파라미터를 양자화하는 장치 및 방법
DE102017218851A1 (de) * 2017-10-23 2019-04-25 Robert Bosch Gmbh Verfahren, Vorrichtung und Computerprogramm zur Erstellung eines tiefen neuronalen Netzes
US11195096B2 (en) * 2017-10-24 2021-12-07 International Business Machines Corporation Facilitating neural network efficiency
KR102589303B1 (ko) * 2017-11-02 2023-10-24 삼성전자주식회사 고정 소수점 타입의 뉴럴 네트워크를 생성하는 방법 및 장치
GB2568082B (en) * 2017-11-03 2021-06-16 Imagination Tech Ltd Hierarchical mantissa bit length selection for hardware implementation of deep neural network
GB2568081B (en) * 2017-11-03 2022-01-19 Imagination Tech Ltd End-to-end data format selection for hardware implementation of deep neural network
GB2568084B (en) 2017-11-03 2022-01-12 Imagination Tech Ltd Error allocation format selection for hardware implementation of deep neural network
GB2568083B (en) 2017-11-03 2021-06-02 Imagination Tech Ltd Histogram-based per-layer data format selection for hardware implementation of deep neutral network
KR20190051697A (ko) 2017-11-07 2019-05-15 삼성전자주식회사 뉴럴 네트워크의 디컨벌루션 연산을 수행하는 장치 및 방법
US11270187B2 (en) 2017-11-07 2022-03-08 Samsung Electronics Co., Ltd Method and apparatus for learning low-precision neural network that combines weight quantization and activation quantization
CN107909583B (zh) * 2017-11-08 2020-01-10 维沃移动通信有限公司 一种图像处理方法、装置及终端
KR20190054454A (ko) 2017-11-13 2019-05-22 삼성전자주식회사 인공 신경망의 양자화 방법 및 장치
US11106970B2 (en) 2017-11-17 2021-08-31 International Business Machines Corporation Localizing tree-based convolutional neural networks
US10839260B1 (en) * 2017-11-21 2020-11-17 Amazon Technologies, Inc. Consistent distributed edge models via controlled dropout model training
US11416738B1 (en) * 2017-11-21 2022-08-16 Amazon Technologies, Inc. Model reutilization with heterogeneous sensor stacks via sensor data auto-normalization
KR20190068255A (ko) * 2017-12-08 2019-06-18 삼성전자주식회사 고정 소수점 뉴럴 네트워크를 생성하는 방법 및 장치
US11475305B2 (en) * 2017-12-08 2022-10-18 Advanced Micro Devices, Inc. Activation function functional block for electronic devices
CN109961133B (zh) * 2017-12-14 2020-04-24 中科寒武纪科技股份有限公司 集成电路芯片装置及相关产品
US11803734B2 (en) * 2017-12-20 2023-10-31 Advanced Micro Devices, Inc. Adaptive quantization for neural networks
CN109978158B (zh) * 2017-12-28 2020-05-12 中科寒武纪科技股份有限公司 集成电路芯片装置及相关产品
WO2019134802A1 (en) * 2018-01-03 2019-07-11 Signify Holding B.V. System and methods to share machine learning functionality between cloud and an iot network
CN110062246B (zh) * 2018-01-19 2021-01-05 杭州海康威视数字技术股份有限公司 对视频帧数据进行处理的方法和装置
US11609760B2 (en) * 2018-02-13 2023-03-21 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
KR102655950B1 (ko) * 2018-02-14 2024-04-11 삼성전자주식회사 뉴럴 네트워크의 고속 처리 방법 및 그 방법을 이용한 장치
EP3528181B1 (en) * 2018-02-14 2024-04-17 Samsung Electronics Co., Ltd. Processing method of neural network and apparatus using the processing method
JP6757349B2 (ja) * 2018-03-12 2020-09-16 株式会社東芝 固定小数点を用いて認識処理を行う多層の畳み込みニューラルネットワーク回路を実現する演算処理装置
US11468302B2 (en) * 2018-03-13 2022-10-11 Recogni Inc. Efficient convolutional engine
US11468316B2 (en) * 2018-03-13 2022-10-11 Recogni Inc. Cluster compression for compressing weights in neural networks
US10496084B2 (en) 2018-04-06 2019-12-03 Oracle International Corporation Dequantizing low-resolution IoT signals to produce high-accuracy prognostic indicators
US20210097391A1 (en) * 2018-04-17 2021-04-01 Shenzhen Corerain Technologies Co., Ltd. Network model compiler and related product
US10769526B2 (en) * 2018-04-24 2020-09-08 Intel Corporation Machine learning accelerator architecture
KR20190125141A (ko) 2018-04-27 2019-11-06 삼성전자주식회사 뉴럴 네트워크의 파라미터들을 양자화하는 방법 및 장치
CN110413255B (zh) * 2018-04-28 2022-08-19 赛灵思电子科技(北京)有限公司 人工神经网络调整方法和装置
US11537838B2 (en) 2018-05-04 2022-12-27 Apple Inc. Scalable neural network processing engine
US11645493B2 (en) 2018-05-04 2023-05-09 Microsoft Technology Licensing, Llc Flow for quantized neural networks
US11340936B2 (en) 2018-05-04 2022-05-24 Apple Inc. Compiling and scheduling transactions in neural network processor
US11580353B2 (en) 2018-05-04 2023-02-14 Apple Inc. Neural network processor for handling differing datatypes
US10453592B1 (en) 2018-05-07 2019-10-22 Microsoft Technology Licensing Llc Reducing losses in superconducting cables
JP7287388B2 (ja) * 2018-05-14 2023-06-06 ソニーグループ株式会社 情報処理装置および情報処理方法
US11562208B2 (en) * 2018-05-17 2023-01-24 Qualcomm Incorporated Continuous relaxation of quantization for discretized deep neural networks
CN108805265B (zh) * 2018-05-21 2021-03-30 Oppo广东移动通信有限公司 神经网络模型处理方法和装置、图像处理方法、移动终端
JP6528884B1 (ja) * 2018-06-04 2019-06-12 富士通株式会社 学習プログラム、学習方法、及び情報処理装置
CN110598839A (zh) * 2018-06-12 2019-12-20 华为技术有限公司 卷积神经网络系统和卷积神经网络量化的方法
CN110647974A (zh) * 2018-06-27 2020-01-03 杭州海康威视数字技术股份有限公司 深度神经网络中的网络层运算方法及装置
CN110728350A (zh) * 2018-06-29 2020-01-24 微软技术许可有限责任公司 用于机器学习模型的量化
KR20200026455A (ko) * 2018-09-03 2020-03-11 삼성전자주식회사 인공 신경망 시스템 및 인공 신경망의 고정 소수점 제어 방법
CN109284761B (zh) * 2018-09-04 2020-11-27 苏州科达科技股份有限公司 一种图像特征提取方法、装置、设备及可读存储介质
KR20200029661A (ko) 2018-09-07 2020-03-19 삼성전자주식회사 뉴럴 프로세싱 시스템
US20200082269A1 (en) * 2018-09-12 2020-03-12 Nvidia Corporation Memory efficient neural networks
US11630982B1 (en) * 2018-09-14 2023-04-18 Cadence Design Systems, Inc. Constraint-based dynamic quantization adjustment for fixed-point processing
CN110929865B (zh) * 2018-09-19 2021-03-05 深圳云天励飞技术有限公司 网络量化方法、业务处理方法及相关产品
CN110929837B (zh) * 2018-09-19 2024-05-10 北京搜狗科技发展有限公司 一种联想词预测方法及装置
US11663464B2 (en) * 2018-09-20 2023-05-30 Kneron (Taiwan) Co., Ltd. Deep neural network with low-precision dynamic fixed-point in reconfigurable hardware design
CN110929858A (zh) * 2018-09-20 2020-03-27 耐能智慧股份有限公司 算数框架系统及操作浮点至定点算数框架的方法
US11645535B2 (en) 2018-09-24 2023-05-09 Samsung Electronics Co., Ltd. Normalization method for training deep neural networks
JP6886747B2 (ja) * 2018-10-10 2021-06-16 LeapMind株式会社 ニューラルネットワーク処理装置、ニューラルネットワーク処理方法、およびニューラルネットワーク処理プログラム
US10909390B2 (en) * 2018-10-25 2021-02-02 GM Global Technology Operations LLC Fixed-point quantization in neural networks for vehicle perception systems
CN109409514A (zh) * 2018-11-02 2019-03-01 广州市百果园信息技术有限公司 卷积神经网络的定点运算方法、装置、设备和存储介质
US11475352B2 (en) * 2018-11-07 2022-10-18 Alibaba Group Holding Limited Quantizing machine learning models with balanced resolution via damped encoding
KR20200061164A (ko) 2018-11-23 2020-06-02 삼성전자주식회사 뉴럴 네트워크 연산 수행을 위한 뉴럴 네트워크 장치, 뉴럴 네트워크 장치의 동작 방법 및 뉴럴 네트워크 장치를 포함하는 애플리케이션 프로세서
FR3089329A1 (fr) * 2018-11-29 2020-06-05 Stmicroelectronics (Rousset) Sas Procédé d’analyse d’un jeu de paramètres d’un réseau de neurones en vue d’obtenir une amélioration technique, par exemple un gain en mémoire.
KR20200066953A (ko) 2018-12-03 2020-06-11 삼성전자주식회사 Pim을 채용하는 반도체 메모리 장치 및 그 동작 방법
WO2020118051A1 (en) * 2018-12-06 2020-06-11 MIPS Tech, LLC Neural network processing using specialized data representation
US11893470B2 (en) 2018-12-06 2024-02-06 MIPS Tech, LLC Neural network processing using specialized data representation
US11074318B2 (en) 2018-12-14 2021-07-27 Western Digital Technologies, Inc. Hardware accelerated discretized neural network
US11586883B2 (en) 2018-12-14 2023-02-21 Microsoft Technology Licensing, Llc Residual quantization for neural networks
US11676003B2 (en) 2018-12-18 2023-06-13 Microsoft Technology Licensing, Llc Training neural network accelerators using mixed precision data formats
CN111353598A (zh) * 2018-12-20 2020-06-30 中科寒武纪科技股份有限公司 一种神经网络压缩方法、电子设备及计算机可读介质
GB2580171B (en) * 2018-12-21 2021-02-17 Imagination Tech Ltd Methods and systems for selecting quantisation parameters for deep neural networks using back-propagation
CN111353517B (zh) * 2018-12-24 2023-09-26 杭州海康威视数字技术股份有限公司 一种车牌识别方法、装置及电子设备
CN111368990B (zh) * 2018-12-25 2023-03-07 上海寒武纪信息科技有限公司 一种神经网络计算装置和方法
CN111368986B (zh) * 2018-12-25 2023-03-10 上海寒武纪信息科技有限公司 一种神经网络计算装置和方法
CN109508784B (zh) * 2018-12-28 2021-07-27 四川那智科技有限公司 一种神经网络激活函数的设计方法
CN111383156B (zh) * 2018-12-29 2022-08-02 北京市商汤科技开发有限公司 图像处理方法、装置、智能驾驶系统和车载运算平台
CN109740737B (zh) * 2018-12-30 2021-02-19 联想(北京)有限公司 卷积神经网络量化处理方法、装置及计算机设备
US11562247B2 (en) 2019-01-24 2023-01-24 Microsoft Technology Licensing, Llc Neural network activation compression with non-uniform mantissas
US11068784B2 (en) 2019-01-26 2021-07-20 Mipsology SAS Generic quantization of artificial neural networks
WO2020152571A1 (en) * 2019-01-26 2020-07-30 Mipsology SAS Generic quantization of artificial neural networks
EP3915055A1 (en) * 2019-01-26 2021-12-01 Mipsology SAS Generic quantization of artificial neural networks
CN111488976B (zh) * 2019-01-28 2023-06-30 中科寒武纪科技股份有限公司 神经网络计算装置、神经网络计算方法及相关产品
CN111488963B (zh) * 2019-01-28 2023-11-24 中科寒武纪科技股份有限公司 神经网络计算装置和方法
US11783200B2 (en) 2019-02-08 2023-10-10 International Business Machines Corporation Artificial neural network implementation in field-programmable gate arrays
EP3924891A1 (en) * 2019-02-13 2021-12-22 Mipsology SAS Quality monitoring and hidden quantization in artificial neural network computations
US11625583B2 (en) 2019-02-13 2023-04-11 Mipsology SAS Quality monitoring and hidden quantization in artificial neural network computations
US20200264876A1 (en) * 2019-02-14 2020-08-20 Microsoft Technology Licensing, Llc Adjusting activation compression for neural network training
US11790212B2 (en) * 2019-03-18 2023-10-17 Microsoft Technology Licensing, Llc Quantization-aware neural architecture search
FR3094118A1 (fr) * 2019-03-20 2020-09-25 Stmicroelectronics (Rousset) Sas Procédé d’analyse d’un jeu de paramètres d’un réseau de neurones en vue d’un ajustement de zones allouées auxdits paramètres.
US11604987B2 (en) * 2019-03-22 2023-03-14 Qualcomm Incorporated Analytic and empirical correction of biased error introduced by approximation methods
CN110008952B (zh) * 2019-03-26 2021-06-15 深兰科技(上海)有限公司 一种目标识别方法及设备
CN110211121B (zh) * 2019-06-10 2021-07-16 北京百度网讯科技有限公司 用于推送模型的方法和装置
EP3998554A4 (en) * 2019-06-12 2023-11-15 Shanghai Cambricon Information Technology Co., Ltd METHOD FOR DETERMINING QUANTIZATION PARAMETERS IN A NEURONAL NETWORK AND ASSOCIATED PRODUCTS
CN110378467A (zh) * 2019-06-17 2019-10-25 浙江大学 一种针对深度学习网络参数的量化方法
KR20210001324A (ko) 2019-06-27 2021-01-06 삼성전자주식회사 인공 신경망 모델 및 이를 포함하는 전자 장치
CN110363287B (zh) * 2019-07-01 2021-07-13 西安交通大学 一种面向内存计算和室内是否有人的神经网络设计方法
KR20210004229A (ko) 2019-07-03 2021-01-13 삼성전자주식회사 뉴럴 네트워크 프로세서를 구비하는 이미지 프로세싱 장치 및 이의 동작 방법
CN112308199B (zh) * 2019-07-26 2024-05-10 杭州海康威视数字技术股份有限公司 数据块的处理方法、装置及存储介质
JP7146952B2 (ja) * 2019-08-23 2022-10-04 安徽寒武紀信息科技有限公司 データ処理方法、装置、コンピュータデバイス、及び記憶媒体
WO2021036412A1 (zh) * 2019-08-23 2021-03-04 上海寒武纪信息科技有限公司 数据处理方法、装置、计算机设备和存储介质
US11551054B2 (en) 2019-08-27 2023-01-10 International Business Machines Corporation System-aware selective quantization for performance optimized distributed deep learning
JP7294017B2 (ja) * 2019-09-13 2023-06-20 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
CN110659725B (zh) * 2019-09-20 2023-03-31 字节跳动有限公司 神经网络模型的压缩与加速方法、数据处理方法及装置
US11263518B2 (en) 2019-10-04 2022-03-01 International Business Machines Corporation Bi-scaled deep neural networks
CN110705696B (zh) * 2019-10-11 2022-06-28 阿波罗智能技术(北京)有限公司 神经网络的量化与定点化融合方法及装置
CN110837890A (zh) * 2019-10-22 2020-02-25 西安交通大学 一种面向轻量级卷积神经网络的权值数值定点量化方法
US11341745B1 (en) * 2019-11-14 2022-05-24 Lockheed Martin Corporation Unresolved object target detection using a deep neural network
CN110991608B (zh) * 2019-11-25 2021-08-13 恒烁半导体(合肥)股份有限公司 一种卷积神经网络量化计算方法及系统
CN110889503B (zh) * 2019-11-26 2021-05-04 中科寒武纪科技股份有限公司 数据处理方法、装置、计算机设备和存储介质
CN111091184B (zh) * 2019-12-19 2022-03-22 浪潮(北京)电子信息产业有限公司 一种深度神经网络的量化方法、装置、电子设备及介质
KR20210083935A (ko) 2019-12-27 2021-07-07 삼성전자주식회사 뉴럴 네트워크의 파라미터들을 양자화하는 방법 및 장치
US11601134B2 (en) * 2020-01-10 2023-03-07 Robert Bosch Gmbh Optimized quantization for reduced resolution neural networks
CN111291876B (zh) * 2020-01-21 2023-03-28 星宸科技股份有限公司 运算装置、运算方法和运算芯片
CN113222097A (zh) * 2020-01-21 2021-08-06 上海商汤智能科技有限公司 数据处理方法和相关产品
TWI722797B (zh) 2020-02-17 2021-03-21 財團法人工業技術研究院 記憶體內運算器及其運算方法
US11823054B2 (en) 2020-02-20 2023-11-21 International Business Machines Corporation Learned step size quantization
US11449758B2 (en) * 2020-03-11 2022-09-20 Qualcomm Incorproated Quantization and inferencing for low-bitwidth neural networks
US11488066B2 (en) * 2020-04-21 2022-11-01 SiMa Technologies, Inc. Efficient convolution of multi-channel input samples with multiple kernels
CN113868662A (zh) * 2020-06-30 2021-12-31 微软技术许可有限责任公司 机器学习网络的安全执行
CN111985495B (zh) * 2020-07-09 2024-02-02 珠海亿智电子科技有限公司 模型部署方法、装置、系统及存储介质
CN114065904A (zh) * 2020-08-07 2022-02-18 嘉楠明芯(北京)科技有限公司 神经网络模型量化方法以及装置
US11915126B2 (en) 2020-09-04 2024-02-27 Recogni Inc. Low power hardware architecture for a convolutional neural network
US11874900B2 (en) 2020-09-29 2024-01-16 Hailo Technologies Ltd. Cluster interlayer safety mechanism in an artificial neural network processor
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor
EP4226612A1 (en) * 2020-10-12 2023-08-16 Qeexo, Co. Quantization of tree-based machine learning models
US11853759B2 (en) 2020-11-02 2023-12-26 Electronics And Telecommunications Research Institute Neural network accelerator with type conversion units and operating method thereof
WO2022145550A1 (ko) * 2020-12-31 2022-07-07 서울대학교산학렵력단 딥러닝 네트워크의 동적 양자화 정밀도 가변 알고리즘 및 방법
WO2022235517A2 (en) * 2021-05-05 2022-11-10 Uniquify, Inc. Implementations and methods for processing neural network in semiconductor hardware
DE112022000031T5 (de) * 2021-05-05 2023-01-19 Uniquify, Inc. Implementierungen und Verfahren zum Verarbeiten eines neuronalen Netzes in Halbleiter-Hardware
CN113240042B (zh) * 2021-06-01 2023-08-29 平安科技(深圳)有限公司 图像分类预处理、图像分类方法、装置、设备及存储介质
CN113283591B (zh) * 2021-07-22 2021-11-16 南京大学 基于Winograd算法和近似乘法器的高效卷积实现方法及装置
US20230133360A1 (en) * 2021-10-28 2023-05-04 Taiwan Semiconductor Manufacturing Company, Ltd. Compute-In-Memory-Based Floating-Point Processor
CN114492779A (zh) * 2022-02-16 2022-05-13 安谋科技(中国)有限公司 神经网络模型的运行方法、可读介质和电子设备
CN114611685A (zh) * 2022-03-08 2022-06-10 安谋科技(中国)有限公司 神经网络模型中的特征处理方法、介质、设备和程序产品
CN114841325A (zh) * 2022-05-20 2022-08-02 安谋科技(中国)有限公司 神经网络模型的数据处理方法、介质及电子设备
CN115759209B (zh) * 2022-11-18 2023-08-04 北京百度网讯科技有限公司 神经网络模型的量化方法、装置、电子设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103917992A (zh) * 2011-11-09 2014-07-09 高通股份有限公司 用于按概率性方式使用存储器来存储神经网络的突触权重的方法和装置
CN105320495A (zh) * 2014-07-22 2016-02-10 英特尔公司 用于卷积神经网络的权重移位机制

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6144977A (en) 1995-07-10 2000-11-07 Motorola, Inc. Circuit and method of converting a floating point number to a programmable fixed point number
US5732697A (en) * 1995-11-22 1998-03-31 Arch Development Corporation Shift-invariant artificial neural network for computerized detection of clustered microcalcifications in mammography
US7593804B2 (en) 2007-10-31 2009-09-22 Caterpillar Inc. Fixed-point virtual sensor control system and method
US7917333B2 (en) 2008-08-20 2011-03-29 Caterpillar Inc. Virtual sensor network (VSN) based control system and method
US20100057452A1 (en) * 2008-08-28 2010-03-04 Microsoft Corporation Speech interfaces
US8442927B2 (en) 2009-07-30 2013-05-14 Nec Laboratories America, Inc. Dynamically configurable, multi-ported co-processor for convolutional neural networks
US8826431B2 (en) * 2012-11-20 2014-09-02 Symantec Corporation Using telemetry to reduce malware definition package size
US9400955B2 (en) 2013-12-13 2016-07-26 Amazon Technologies, Inc. Reducing dynamic range of low-rank decomposition matrices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103917992A (zh) * 2011-11-09 2014-07-09 高通股份有限公司 用于按概率性方式使用存储器来存储神经网络的突触权重的方法和装置
CN105320495A (zh) * 2014-07-22 2016-02-10 英特尔公司 用于卷积神经网络的权重移位机制

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"Fixed-point feedforward deep neural network design using weights +1, 0, and −1";Kyuyeon Hwang等;《2014 IEEE Workshop on Signal Processing Systems》;20141020;第1-6页 *
"LOW PRECISION STORAGE FOR DEEP LEARNING";Matthieu Courbariaux等;《arXiv》;20150226;全文 *
"Simulation-based word-length optimization method for fixed-point digital signal processing systems";Wonyong Sung等;《IEEE Transactions on Signal Processing》;19951231;第43卷(第12期);全文 *
"一种定点数权值神经网络的优化方法及其应用";包健等;《计算机应用》;20090131;第29卷(第1期);全文 *

Also Published As

Publication number Publication date
EP3295385B1 (en) 2020-10-14
US20160328646A1 (en) 2016-11-10
US10373050B2 (en) 2019-08-06
WO2016182671A1 (en) 2016-11-17
CN107636697A (zh) 2018-01-26
EP3295385A1 (en) 2018-03-21
CN112949839A (zh) 2021-06-11

Similar Documents

Publication Publication Date Title
CN107636697B (zh) 用于量化浮点神经网络以获得定点神经网络的方法和设备
CN107646116B (zh) 用于定点神经网络的位宽选择
CN107580712B (zh) 定点神经网络的降低的计算复杂度
US11562208B2 (en) Continuous relaxation of quantization for discretized deep neural networks
CN108027899B (zh) 用于提高经训练的机器学习模型的性能的方法
KR102595399B1 (ko) 미지의 클래스들의 검출 및 미지의 클래스들에 대한 분류기들의 초기화
US20210089922A1 (en) Joint pruning and quantization scheme for deep neural networks
KR102570706B1 (ko) 분류를 위한 강제된 희소성
CN107533669B (zh) 滤波器特异性作为用于神经网络的训练准则
CN114207628A (zh) 通过调整存储器内计算阵列的列阈值来执行xnor等效运算
WO2018084941A1 (en) Temporal difference estimation in an artificial neural network
CN115210719A (zh) 用于执行机器学习模型的自适应量化
US11449758B2 (en) Quantization and inferencing for low-bitwidth neural networks
KR20230078655A (ko) 에너지 효율적인 딥 러닝을 위한 동적 양자화
US11704571B2 (en) Learned threshold pruning for deep neural networks
US20220284260A1 (en) Variable quantization for neural networks
WO2022104283A1 (en) Skip convolutions for efficient video processing
WO2023249821A1 (en) Adapters for quantization
WO2023224723A1 (en) Fast eight-bit floating point (fp8) simulation with learnable parameters
WO2023183088A1 (en) Simulated low bit-width quantization using bit shifted neural network parameters

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