CN108288087B - 用于减少深度学习网络的权重存储位的系统和方法 - Google Patents

用于减少深度学习网络的权重存储位的系统和方法 Download PDF

Info

Publication number
CN108288087B
CN108288087B CN201810019776.6A CN201810019776A CN108288087B CN 108288087 B CN108288087 B CN 108288087B CN 201810019776 A CN201810019776 A CN 201810019776A CN 108288087 B CN108288087 B CN 108288087B
Authority
CN
China
Prior art keywords
layer
clusters
cluster
deep learning
layers
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
CN201810019776.6A
Other languages
English (en)
Other versions
CN108288087A (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN108288087A publication Critical patent/CN108288087A/zh
Application granted granted Critical
Publication of CN108288087B publication Critical patent/CN108288087B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一种用于减少深度学习网络的权重存储位的系统和方法,所述系统包括量化模块和簇数减少模块。量化模块对深度学习网络的每一个量化层的神经权重进行量化。簇数减少模块减少具有作为所述多个量化层的聚类误差的最小值的聚类误差的层的簇的预定数量。量化模块基于所述层的簇的减少的预定数量对所述层进行重新量化,簇数减少模块还确定具有作为所述多个量化的层的聚类误差的最小值的聚类误差的另一个层,并减少另一个层的簇的预定数量,直到深度学习网络的识别性能已降低预定阈值为止。

Description

用于减少深度学习网络的权重存储位的系统和方法
本申请要求于2017年1月9日提交的第62/444,352号美国临时专利申请的优先权权益,所述美国临时专利申请的公开通过引用全部合并于此。
技术领域
在此公开的主题总体涉及深度学习网络,更具体地讲,涉及一种用于减少深度学习网络的权重存储位的设备和方法。
背景技术
深度学习是人工智能(AI)和计算机视觉领域中广泛使用的技术。各种深度学习架构(诸如,卷积神经网络(CNN)、深度信念网络(DBN)和自动编码器)已经显示出针对任务(诸如,视觉对象识别、自动语音识别、自然语言处理以及音乐/音频信号处理)产生最先进的结果。深度学习的主要工作已经集中在针对各种网络架构、学习算法和应用的软件实现上。然而,体现更强大的板上(on-board)学习行为的硬件实现仍受限制。对深度学习硬件的主要挑战与模型精度不足有关;更具体地,与网络权重和数据输入的低位分辨率有关。例如,软件实现可享有双精度(64位)计算,但是当考虑到如物理尺寸和功耗的硬件约束时,这样的精度水平变得难以置信。
发明内容
示例实施例提供一种用于减少深度学习网络的权重存储位的系统,其中,所述系统可包括簇初始化器、神经权重量化器、聚类误差确定器和簇数减少器。簇初始化器可初始化用于对深度学习网络的每个层l进行量化的簇的预定数量kl。神经权重量化器可反复地分配质心并关于用于量化的质心对权重进行聚类,直到针对每个量化层l确定了最低平均聚类误差εl为止。聚类误差确定器可从所述多个量化层确定具有作为所述多个量化层的聚类误差εl的最小值的聚类误差εl*的层l*。簇数减少器可将层l*的簇的预定数量减少一而作为用于对层l*进行量化的簇的数量。神经权重量化器还可基于层l*的簇的减少的预定数量对层l*进行重新量化,聚类误差确定器还可从所述多个量化层确定具有作为所述多个量化层的聚类误差εl的最小值的聚类误差εl*的另一个层l*,簇数减少器可将所述另一个层l*的簇的预定数量减少一而作为用于对所述另一个层进行量化的簇的数量,直到深度学习网络的识别性能已降低预定阈值为止。在一个实施例中,神经权重量化器使用K-means++来反复分配质心并关于质心对权重进行聚类(即,量化)。聚类误差εl可包括每个非零权重的平方簇误差,聚类误差εl可包括:
其中,n为用于对层进行量化的簇的预定数量,i为索引变量,wi为非零权重,Ci为量化层l的质心。
示例实施例提供一种用于减少深度学习网络的权重存储位的方法,所述方法可包括:针对具有多个层的深度学习网络的每个层l初始化簇的预定数量kl;针对每个层l,反复地分配质心并关于用于量化的质心对权重进行聚类,直到针对层l确定了最低平均聚类误差εl为止;从所述多个层确定具有作为量化的所述多个层的聚类误差εl的最小值的平均聚类误差εl*的层l*;将层l*的簇的预定数量减少一而作为用于对层l*进行量化的簇的数量;基于层l*的簇的减少的预定数量,对层l*进行重新量化;继续从所述多个层确定具有作为所述多个层的聚类误差εl的最小值的聚类误差εl*的另一个层l*,将所述另一个层l*的簇的预定数量减少一而作为用于对所述另一个层进行量化的簇的数量,基于所述另一个层l*的簇的减少的预定数量对所述另一个层l*进行重新量化,直到深度学习网络的识别性能经降低预定阈值为止。
示例实施例提供一种用于减少深度学习网络的权重存储位的系统,所述系统可包括权重量化模块和簇数减少模块。权重量化模块可基于已针对深度学习网络的每个层l初始化的簇的预定数量kl,对每个层l的神经权重进行量化。簇数减少模块可减少层l*的簇的预定数量,其中,层l*可具有作为由权重量化模块量化的所述多个量化层的聚类误差εl的最小值的聚类误差εl*。权重量化模块还可基于层l*的簇的减少的预定数量对层l*进行重新量化并且簇数减少模块还可从所述多个量化的层确定具有作为所述多个量化层的聚类误差εl的最小值的聚类误差εl*的另一个层l*,并可将所述另一个层l*的簇的预定数量减少一而作为用于对所述层进行量化的簇的数量,直到深度学习网络的识别性能已降低预定阈值为止。
附图说明
在以下部分中,将参照附图中示出的示例性实施例来描述在此公开的主题的方面,其中:
图1描绘用作深度学习网络的公知的VGG 16架构;
图2描绘根据在此公开的主题的RDQ技术的示例实施例;
图3描绘如应用于VGG 16架构的根据在此公开的主题的RDQ技术的四次迭代的示例结果的表;
图4描绘如应用于VGG 16架构的根据在此公开的主题的RDQ技术的五次迭代的示例结果的表;
图5描绘阐述针对不同的量化技术获得的VGG 16架构的每个层的权重减少的比较的表;
图6描绘基准簇合并(benchmarkcluster merging)技术的示例实施例;
图7描绘根据在此公开的主题的递归深度量化处理器的示例实施例的功能框图;
图8描绘根据在此公开的主题的包括包含递归深度量化处理器的一个或多个集成电路(芯片)的电子装置。
具体实施方式
在下面的详细描述中,阐述了许多具体细节以提供对本公开的彻底理解。然而,本领域的技术人员将理解,可在没有这些具体细节的情况下实践公开的方面。在其他情况下,没有详细描述公知的方法、程序、组件和电路,从而不会使在此公开的主题模糊。
贯穿本说明书的对“一个实施例”或“实施例”的参考表示结合实施例描述的特定特征、结构或特性可包括在在此公开的至少一个实施例中。因此,贯穿本说明书的各个地方中的短语“在一个实施例中”或“在实施例中”或“根据一个实施例”(或具有类似意思的其他短语)的出现可不必都表示同一实施例。此外,可在一个或多个实施例中以任何合适的方式组合特定特征、结构或特性。在这方面,如在此使用的,词语“示例性”表示“用作示例、实例或说明”。在此被描述为“示例性”的任何实施例不应被解释为相对于其他实施例而言必需优选或有优势。此外,根据在此的讨论的上下文,单数术语可包括对应的复数形式,并且复数术语可包括对应的单数形式。还应注意,在此示出和讨论的各种附图(包括组件示图)仅为了说明的目的,并且不是按比例绘制的。类似地,仅为了说明的目的示出各种波形和时序图。例如,为了清楚,一些元件的尺寸可相对于其他元件被夸大。此外,如果认为适当,则已经在附图中重复附图标号,以指示对应的和/或类似的元件。
在此使用的术语仅为了描述特定的示例性实施例的目的,并不意图限制要求保护的主题。如在此使用的,除非上下文清楚地另有指示,否则单数形式也意图包括复数形式。还将理解,当在本说明书中使用术语“包括”时,指定存在阐述的特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或它们的组。如在此使用的,术语“第一”、“第二”等被用作它们之后的名词的标签,除非明确这样定义,否则它们并不意味着任何类型的排序(例如,空间的、时间的、逻辑的排序等)。此外,在两个或更多个附图之间可使用相同的参考标号来表示具有相同或相似功能的部件、组件、块、电路、单元或模块。然而,这样的用法仅仅是为了说明简单且易于讨论;这并不意味着:这样的组件或单元的构造或架构的细节在所有实施例中都是相同的,或者这样的共同参考的部件/模块是实现在此公开的特定实施例的教导的唯一方式。
除非另有定义,否则在此使用的所有术语(包括技术术语和科学术语)具有与本主题所属领域的普通技术人员通常理解的含义相同的含义。还将理解,除非在此清楚地定义,否则术语(诸如,通用字典中定义的术语)应被解释为具有与相关技术领域的上下文中的含义相同的含义,而不被解释为理想化或过于正式的含义。
如在此使用的,术语“模块”表示被配置为提供在此结合模块描述的功能的软件、固件和/或硬件的任意组合。如应用于在此描述的任何实现的术语“软件”可以被实现为软件包、代码和/或指令集或指令。如应用于在此描述的任何实现的术语“硬件”可例如单独或以任何组合的方式包括硬连线电路、可编程电路、状态机电路和/或存储由可编程电路执行的指令的固件。模块可共同地或单独地被实现为形成较大系统(诸如,但不限于,集成电路(IC)、片上系统(SoC)等)的部分的软件、固件和/或硬件。
图1描绘公知的VGG 16架构100。VGG 16架构100包括13个卷积(CONV)层、三个完全连接(FC)层和五个池化层(PL)。VGG 16架构100的输入被施加到卷积层CONV1_1,输出在分类被提供。
由于典型的深度学习神经网络(诸如,VGG 16架构100)中的大量的层,针对每个层确定最佳量化位造成高度复杂的任务,这是因为不同层与网络内的其他层相依赖。也就是说,一个层中的神经元权重的量化依赖于其他层的量化,使得用于在每个层达到最小数量的量化位的贪婪逐层量化方法经常被显示为无效,这也导致整体系统精度的显著损失。为了减少搜索复杂性,当前的基准对神经元权重的量化进行约束,以将一种类型的层量化为相同数量的位。例如,一个基准针对VGG 16架构的卷积层设置256个量化等级并针对VGG 16架构的完全连接层设置32个量化等级。由该基准施加的固定的量化等级由于一些原因而不是最优的。为了达到深度学习神经网络的较低位分辨率,应在每个层以最小量化等级对神经元权重进行量化。
图2描绘根据在此公开的主题的递归深度量化(RDQ)技术200的示例实施例。RDQ技术200可用于量化深度学习神经网络的层,并提供:(1)层应被量化的顺序,(2)在每个层何时停止量化,(3)整体最佳量化路径,(4)基于其他量化的层的结果是否对层进行反复量化以达到网络的整体最小量化等级。此外,RDQ技术200消除了固定或预约束的量化等级,使得可针对每个层来最小化或优化量化等级从而获得网络的零性能损失或最小性能损失的整体结果。因此,RDQ技术200可用于提供可用低位分辨率表示并且针对例如图像识别任务保持良好性能的深度学习神经网络。
在图2中,RDQ技术200在201开始。在202,针对具有L个层的深度学习网络的每个层l初始化簇的数量kl,其中,l为范围从1到L的层,L为整数。针对每个层初始化的簇的数量kl可针对每个层而不同。可针对每个层任意地选择簇的数量kl,但是可使用用于针对每个单独的层初始化簇的数量的其他更好的策略(诸如,下面在图6中描述的基准簇合并技术600)。应理解,RDQ技术200不需要针对深度学习网络的每个层初始化簇的数量kl,并且可在没有在202的簇初始化的情况下对深度学习网络中的权重进行直接操作。然而,用于设置深度学习网络的每个单独的层的簇的数量的初始化处理的使用将加速整体处理。
在203,l被初始化为等于1,并经过所有层直到结束。在204,K-means++算法被用于确定在层l的神经网络权重的质心分配和量化。在205,针对层l确定每个非零权重的平方簇误差(square cluster error)εl。在一个实施例中,每个非零权重的平方簇误差εl被确定为:
其中,n为用于对层l进行量化的簇的预定数量,i为索引变量,wi为非零权重,Cl为层l的质心。针对通过网络的第一次量化迭代,用于对层进行量化的簇的预定数量为例如在202针对层l初始化的簇的数量kl。针对随后的量化迭代,可通过RDQ技术200减少用于对层进行量化的簇的数量。
在206,确定是否已对深度学习网络的所有层的权重进行了量化以及是否已针对每个层都确定了平方簇误差εl。如果在206确定还没有对深度学习网络的所有层的所有权重进行量化并且还没有针对每个层都确定平方簇误差εl,则流程继续到207,其中,在207,层l被增加。然后,流程返回到204。
如果在206确定已对深度学习网络的所有层的所有权重进行了量化并且已针对每个层都确定了平方簇误差εl,则流程继续到208,其中,在208,确定深度学习网络的识别性能是否已从基线识别性能降低了阈值量。在一个实施例中,阈值量可以是大约1%。在其他实施例中,阈值量可以与大约1%不同。
如果在208深度学习网络的识别性能还没有从基线识别性能降低阈值量,则流程继续到210,其中,在210,具有最小平方簇误差εl*的层被识别为层l*。在211,用于对层l*的权重进行量化的簇的数量减少一个。即:
kl*=kl*-1 (2)
虽然层l*的簇的数量被公开为减少1,但是应理解,层l*的簇的数量可减少得比1多。
在212,K-means++算法被用于确定层l*的神经网络权重的质心分配和聚类(即,量化)。在213,针对层l*确定每个非零权重w的平方簇误差εl。流程返回到208,其中,在208,使用不同层的新确定的量化的权重来操作深度学习网络。特别地,在212针对层l*确定的量化的权重被用于操作深度学习网络。在208,确定深度学习网络的识别性能是否已从基线识别性能降低了阈值量。如果在208,深度学习网络的识别性能还没有降低阈值量,则流程继续到210。如果在208,深度学习网络的识别性能已降低了阈值量,则流程继续到209,其中,在209,处理结束。
图3描绘如应用于图1所示的VGG 16架构100的RDQ技术200的四次迭代的示例结果的表300。在表300中的301,针对VGG 16架构100的每个层示出权重的初始数量。在302,示出针对每个层l初始化的簇的数量kl。这对应于图2中的操作202的结果。表300中的在302示出的特定数字是通过使用下面在图6中描述的基准簇合并技术600而获得的。对于迭代0,针对每个层确定平方簇误差εl,并确定VGG 16架构100的识别性能。如在303所示,基于前5的分数累积的识别性能为88.38%,而基于第1分数累积的识别性能为67.73%。为了在此说明的目的,这两种识别性能将被用作基线识别性能。
如在304所示,确定层CONV5_1具有0.148的最低平方簇误差εl。这对应于图2中的210。用于对层CONV5_1的权重进行量化的簇的数量(即,52)被减少一而成为51(在迭代1中示出)。在迭代1中使用减少的数量的簇减少来对层CONV5_1的权重进行重新量化。如在305所示,迭代1之后的深度学习网络的识别性能针对前5的分数累积为88.38%,针对第1分数累积为67.73%。
迭代1之后的深度学习网络的识别性能还没有下降大约1%的阈值量,所以如在306所示,确定层CONV4_3具有0.151的最低平方簇误差εl。用于对层CONV4_3的权重进行量化的簇的数量(即,51)被减少一而成为50(在迭代2中示出)。层CONV4_3的权重在迭代2中被重新量化。如在307所示,迭代2之后的深度学习网络的识别性能针对前5的分数累积为88.32%,针对第1分数累积为67.68%。
迭代2之后的深度学习网络的识别性能还没有下降大约1%的阈值量,所以如在308所示,确定层CONV5_1具有0.154的最低平方簇误差εl。用于对层CONV5_1的权重进行量化的簇的数量(即,51)被减少一而成为50(在迭代3中示出)。层CONV5_1的权重在迭代3中被重新量化。如在309所示,迭代3之后的深度学习网络的识别性能针对前5的分数累积为88.32%,针对第1分数累积为67.68%。该处理持续直到深度学习网络的识别性能下降阈值量为止。
图4描绘如应用于图1中描绘的VGG 16架构100的RDQ技术200的五次迭代的示例结果的表400。除了示出迭代0的结果之外,通过示出迭代18、迭代100、迭代200和迭代360之后的RDQ技术200的结果,表400与图3的表300相似。可在粗体中看到具有权重减少的层。如在401所示,迭代360之后的深度学习网络的识别性能已经下降了大约1%的阈值量,所以RDQ技术结束。
图5描绘阐述针对不同的量化技术获得的VGG 16架构100的每个层的权重减少的比较的表500。在501,示出每层4096个簇的均匀量化的Sun技术。在502,与在501所示的Sun技术相比,使用K-means非均匀量化技术的Sun技术显示出每个层的簇的减少。在503,示出具有K-means和随机初始化技术的剪枝(Pruning)的结果。应注意,在图1的描述中,将在503示出的技术称为基准,其中,该基准针对VGG 16架构的卷积层设置256个量化等级并且针对VGG 16架构的完全连接层设置32个量化等级。在504,示出使用具有K-means和对数空间初始化技术的剪枝对每层权重的减少的进一步提高。在505,通过使用具有线性初始化的K-means的Song技术(Song’stechnique),提供进一步的提高。在506,通过使用剪枝和具有线性初始化的K-means以及基准簇合并(图6)的技术,提供持续的提高。
最后,在507示出RDQ技术200的结果。虽然未在图5中示出,但是RDQ技术200的结果利用了图6的基准簇合并技术600。然而,RDQ技术200不需要具有针对深度学习网络的每个层初始化的簇的数量kl,并且可在没有簇初始化的情况下对深度学习网络中的权重直接进行操作。如从表500可看出的,在此公开的RDQ技术可用于对提供基于数据的量化初始化、应被量化的网络的层的顺序的自动确定以及优化地结束量化的方式的深度学习神经网络的层进行量化。
图6描绘基准簇合并技术600的示例实施例。在601,处理开始。在602,针对深度学习网络(诸如,图1所示的VGG 16架构100)的每个层l初始化簇的数量kl。在602,针对每个层l设置距离阈值Tl。相同的距离阈值Tl可用于每个层l,或者不同的距离阈值可用于每个层l。在604,初始化层l。在605,在层l中对神经网络权重进行量化;在606,在层l中选择两个邻近的簇。
如果在607,质心到质心的距离Dc-c小于该层的距离阈值Tl,则流程继续到608,其中,在608,两个邻近的簇被合并以形成新的簇质心Cmerge
其中,C1和C2分别为两个邻近的簇的簇质心,N1和N2分别为属于两个各自的邻近的簇的权重点的数量。
如果在607,两个选择的邻近的簇的质心到质心距离Dc-c大于该层的距离阈值Tl,则流程绕过608。在609,针对该层确定是否所有的质心到质心距离都大于距离阈值Tl。如果不是,则流程返回到610,其中,在610中,在层l中选择两个邻近的簇,否则流程继续到611以确定是否已经处理了所有的层。如果没有,则流程返回到605;否则该处理在613结束。
图7描绘根据在此公开的主题的递归深度量化(RDQ)处理器700的示例实施例的功能框图。RDQ处理器700可包括权重量化模块701和簇数减少模块702。权重量化模块701和簇数减少模块702可以是被配置为提供在此结合模块描述的功能的软件、固件和/或硬件的任意组合。模块701和模块702可共同地或单独地被实现为形成较大系统(诸如,但不限于,集成电路(IC)、片上系统(SoC)等)的部分的软件、固件和/或硬件。
权重量化模块701可包括深度学习网络的所有参数的输入(诸如,但不限于,层的数量和类型以及每层权重的数量)。权重量化模块701使用输入将每层的簇的数量703、每个层的每个非零权重w的平方簇误差εl 704以及每次迭代的识别性能705输出到簇数减少模块702。作为输出,簇数减少模块702将层l*和层l*的簇的减少的数量kl*(706)输出到权重量化模块701。权重量化模块701和簇数减少模块702一起操作以提供图2所示的RDQ技术200的功能。在一个实施例中,RDQ处理器700的输出是权重优化的深度学习网络。
在一个实施例中,图2所示的操作202至操作206可由权重量化模块701提供,操作208至操作213可由簇数减少模块702提供。在另一个实施例中,可在权重量化模块701与簇数减少模块702之间不同地布置或分配功能。
图8描绘根据在此公开的主题的包括包含RDQ处理器的一个或多个集成电路(芯片)的电子装置800。电子装置800可用于,但不限于,计算装置、个人数字助理(PDA)、膝上型计算机、移动计算机、网络平板、无线电话、蜂窝电话、智能电话、数字音乐播放器或者有线或无线电子装置。电子装置800可包括通过总线850彼此连接的控制器810、输入/输出装置820(诸如,但不限于,小键盘、键盘、显示器或触摸屏显示器)、存储器830以及无线接口840。控制器810可包括例如至少一个微处理器、至少一个数字信号处理、至少一个微控制器等。存储器830可被配置为存储将由控制器810使用的命令代码或用户数据。电子装置800和包括电子装置800的各种系统组件可包括根据在此公开的主题的RDQ处理器。电子装置800可使用被配置为使用RF信号将数据发送到无线通信网络或者从无线通信网络接收数据的无线接口840。无线接口840可包括例如天线、无线收发器等。电子系统800还可用于通信系统的通信接口协议(诸如,但不限于,码分多址(CDMA)、全球移动通信系统(GSM)、北美数字通信(NADC)、扩展时分多址(E-TDMA)、宽带CDMA(WCDMA)、CDMA2000、Wi-Fi、市政Wi-Fi(MuniWi-Fi)、蓝牙、数字增强无绳电信(DECT)、无线通用串行总线(Wireless USB)、利用无缝切换正交频分复用的快速低延迟接入(Flash-OFDM)、IEEE 802.20、通用分组无线业务(GPRS)、iBurst、无线宽带(WiBro)、WiMAX、WiMAX-Advanced、通用移动电信业务-时分双工(UMTS-TDD)、高速分组接入(HSPA)、演进数据优化(EVDO)、先进的长期演进(LTE-Advanced)、多信道多点分配业务(MMDS)等)。
如本领域技术人员将认识的,可在广泛的应用中对在此描述的创新构思进行修改和变化。因此,所要求保护的主题的范围不应受限于以上讨论的任何具体的示例性教导,而是由权利要求书限定。

Claims (20)

1.一种用于减少深度学习网络的权重存储位的系统,所述系统包括:
簇初始化器,用于针对具有多个层的深度学习网络的每个层l初始化簇的预定数量kl
神经权重量化器,用于反复地分配簇的质心并关于质心对权重进行量化,直到针对量化的每个层l确定了最低平均聚类误差εl为止;
聚类误差确定器,用于在用于减少深度学习网络的权重存储位的处理的第一迭代期间从所述多个层确定具有作为所述多个层的聚类误差εl的最小值的聚类误差εl*的层l*;
簇数减少器,用于在第一迭代期间将层l*的簇的预定数量减少一而作为用于对层l*进行量化的簇的数量;
神经权重量化器还用于在第一迭代期间基于层l*的簇的减少的预定数量对层l*进行重新量化,聚类误差确定器还用于响应于在第一迭代之后的深度学习网络的识别性能没有降低预定阈值而在用于减少深度学习网络的权重存储位的处理的第二迭代期间从所述多个层确定具有作为所述多个层的聚类误差εl的最小值的聚类误差εl*的另一个层l*,簇数减少器用于在第二迭代期间将所述另一个层l*的簇的预定数量减少一而作为用于对所述另一个层l*进行量化的簇的数量,直到深度学习网络的识别性能已降低预定阈值为止。
2.根据权利要求1所述的系统,其中,神经权重量化器使用K-means++来反复地分配簇的质心并关于质心对权重进行量化。
3.根据权利要求2所述的系统,其中,聚类误差εl包括每个非零权重的平方簇误差。
4.根据权利要求3所述的系统,其中,聚类误差εl包括
其中,n为用于对层l进行量化的簇的预定数量,i为索引变量,wi为非零权重,Cl为用于层l的质心。
5.根据权利要求3所述的系统,其中,预定阈值为1%。
6.根据权利要求1所述的系统,其中,簇初始化器通过将两个邻近的簇合并以形成新的簇质心Cmerge来初始化量化的层的簇的预定数量kl,其中,所述两个邻近的簇的各自的质心之间的距离小于预定距离。
7.根据权利要求6所述的系统,其中,簇初始化器将新的簇质心Cmerge确定为
其中,C1和C2分别为所述两个邻近的簇的簇质心,N1和N2分别为属于所述两个各自的邻近的簇的权重点的数量。
8.一种用于减少深度学习网络的权重存储位的方法,所述方法包括:
针对具有多个层的深度学习网络的每个层l初始化簇的预定数量kl
针对每个层l,反复地分配权重的簇的质心并关于质心对权重进行量化,直到针对量化的层l确定了最低平均聚类误差εl为止;
在用于减少深度学习网络的权重存储位的处理的第一迭代期间,从所述多个层确定具有作为所述多个层的聚类误差εl的最小值的聚类误差εl*的层l*;
在第一迭代期间,将层l*的簇的预定数量减少一而作为用于对层l*进行量化的簇的数量;
在第一迭代期间,基于层l*的簇的减少的预定数量,对层l*进行重新量化;
响应于在第一迭代之后的深度学习网络的识别性能没有降低预定阈值而在用于减少深度学习网络的权重存储位的处理的第二迭代期间,继续从所述多个层确定具有作为所述多个层的聚类误差εl的最小值的聚类误差εl*的另一个层l*,将所述另一个层l*的簇的预定数量减少一而作为用于对所述另一个层l*进行量化的簇的数量,基于所述另一个层l*的簇的减少的预定数量对所述另一个层l*进行重新量化,直到深度学习网络的识别性能已降低预定阈值为止。
9.根据权利要求8所述的方法,其中,反复地分配权重的簇的质心并关于质心对权重进行量化直到针对量化的层l确定了最低平均聚类误差εl为止的步骤包括:使用K-means++来反复地分配权重的簇的质心并关于质心对权重进行量化。
10.根据权利要求9所述的方法,其中,聚类误差εl包括每个非零权重的平方簇误差。
11.根据权利要求10所述的方法,其中,聚类误差εl包括
其中,n为用于对层l进行量化的簇的预定数量,i为索引变量,wi为非零权重,Cl为用于层l的质心。
12.根据权利要求10所述的方法,其中,预定阈值为1%。
13.根据权利要求8所述的方法,其中,针对每个层l初始化簇的预定数量kl的步骤包括:将两个邻近的簇合并以形成新的簇质心Cmerge,其中,所述两个邻近的簇的各自的质心之间的距离小于预定距离。
14.根据权利要求13所述的方法,其中,新的簇质心Cmerge被确定为
其中,C1和C2分别为所述两个邻近的簇的簇质心,N1和N2分别为属于所述两个各自的邻近的簇的权重点的数量。
15.一种用于减少深度学习网络的权重存储位的系统,所述系统包括:
权重量化模块,用于基于已针对具有多个层的深度学习网络的每个层l初始化的簇的预定数量kl,对每个层l的神经权重进行量化;
簇数减少模块,用于在用于减少深度学习网络的权重存储位的处理的第一迭代期间减少层l*的簇的预定数量,层l*具有作为由权重量化模块量化的所述多个层的聚类误差εl的最小值的聚类误差εl*
权重量化模块还用于在第一迭代期间基于层l*的簇的减少的预定数量对层l*进行重新量化,簇数减少模块还用于响应于在第一迭代之后的深度学习网络的识别性能没有降低预定阈值而在用于减少深度学习网络的权重存储位的处理的第二迭代期间从所述多个量化的层确定具有作为所述多个量化的层的聚类误差εl的最小值的聚类误差εl*的另一个层l*,并用于减少所述另一个层l*的簇的预定数量,直到深度学习网络的识别性能已降低预定阈值为止。
16.根据权利要求15所述的系统,其中,簇数减少模块包括:聚类误差确定器,用于从所述多个量化的层确定具有作为所述多个量化的层的聚类误差εl的最小值的聚类误差εl*的层l*。
17.根据权利要求16所述的系统,其中,权重量化模块使用K-means++来反复地分配簇的质心并关于质心对权重进行量化。
18.根据权利要求17所述的系统,其中,聚类误差εl包括每个非零权重的平方簇误差。
19.根据权利要求18所述的系统,其中,聚类误差εl包括
其中,n为用于对层l进行量化的簇的预定数量,i为索引变量,wi为非零权重,Cl为用于层l的质心。
20.根据权利要求15所述的系统,还包括:簇初始化器,用于通过将两个邻近的簇合并以形成新的簇质心Cmerge来初始化量化的层的簇的预定数量kl,其中,所述两个邻近的簇的各自的质心之间的距离小于预定距离,Cmerge为:
其中,C1和C2分别为所述两个邻近的簇的簇质心,N1和N2分别为属于所述两个各自的邻近的簇的权重点的数量。
CN201810019776.6A 2017-01-09 2018-01-09 用于减少深度学习网络的权重存储位的系统和方法 Active CN108288087B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762444352P 2017-01-09 2017-01-09
US62/444,352 2017-01-09
US15/464,330 2017-03-20
US15/464,330 US11392825B2 (en) 2017-01-09 2017-03-20 Method and algorithm of recursive deep learning quantization for weight bit reduction

Publications (2)

Publication Number Publication Date
CN108288087A CN108288087A (zh) 2018-07-17
CN108288087B true CN108288087B (zh) 2023-07-18

Family

ID=62783173

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810019776.6A Active CN108288087B (zh) 2017-01-09 2018-01-09 用于减少深度学习网络的权重存储位的系统和方法

Country Status (2)

Country Link
US (2) US11392825B2 (zh)
CN (1) CN108288087B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3657398A1 (en) * 2017-05-23 2020-05-27 Shanghai Cambricon Information Technology Co., Ltd Weight quantization method for a neural network and accelerating device therefor
US10778194B2 (en) * 2017-08-28 2020-09-15 University Of Florida Research Foundation, Inc. Automatic composition of universal filters
WO2020012061A1 (en) * 2018-07-12 2020-01-16 Nokia Technologies Oy Watermark embedding techniques for neural networks and their use
US20200193270A1 (en) * 2018-12-12 2020-06-18 Kneron (Taiwan) Co., Ltd. Low precision and coarse-to-fine dynamic fixed-point quantization design in convolution neural network
KR20200086581A (ko) 2019-01-09 2020-07-17 삼성전자주식회사 뉴럴 네트워크 양자화를 위한 방법 및 장치
US10325352B1 (en) * 2019-01-23 2019-06-18 StradVision, Inc. Method and device for transforming CNN layers to optimize CNN parameter quantization to be used for mobile devices or compact networks with high precision via hardware optimization
US10325185B1 (en) * 2019-01-23 2019-06-18 StradVision, Inc. Method and device for online batch normalization, on-device learning, and continual learning applicable to mobile devices or IOT devices additionally referring to one or more previous batches to be used for military purpose, drone or robot, and testing method and testing device using the same
KR102152374B1 (ko) * 2019-02-25 2020-09-07 주식회사 딥엑스 인공신경망의 비트 양자화 방법 및 시스템
US11551054B2 (en) 2019-08-27 2023-01-10 International Business Machines Corporation System-aware selective quantization for performance optimized distributed deep learning
US11263518B2 (en) 2019-10-04 2022-03-01 International Business Machines Corporation Bi-scaled deep neural networks
US11935271B2 (en) * 2020-01-10 2024-03-19 Tencent America LLC Neural network model compression with selective structured weight unification
CN113112012B (zh) * 2020-01-10 2023-04-25 腾讯美国有限责任公司 用于视频图像处理的方法、装置和计算机设备
US11861467B2 (en) * 2020-03-05 2024-01-02 Qualcomm Incorporated Adaptive quantization for execution of machine learning models
WO2021230763A1 (en) * 2020-05-14 2021-11-18 Huawei Technologies Co., Ltd Robust compression mechanism for neural networks
CN111832701B (zh) * 2020-06-09 2023-09-22 北京百度网讯科技有限公司 模型的蒸馏方法、装置、电子设备及存储介质
CN111738348B (zh) * 2020-06-29 2023-07-11 南方电网科学研究院有限责任公司 一种电力数据异常检测方法和装置
WO2022101515A1 (en) * 2020-11-16 2022-05-19 UMNAI Limited Method for an explainable autoencoder and an explainable generative adversarial network

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090028953A (ko) * 2007-09-17 2009-03-20 한국전자통신연구원 자동화된 클러스터링 방법 및 이를 이용한 이동통신환경에서 다중 경로의 클러스터링 방법 및 장치
CN103455534A (zh) * 2013-04-28 2013-12-18 北界创想(北京)软件有限公司 对文档进行聚类的方法和装置
CN104915552A (zh) * 2015-05-27 2015-09-16 百度在线网络技术(北京)有限公司 一种预测系统故障的方法及装置
CN105389588A (zh) * 2015-11-04 2016-03-09 上海交通大学 基于多语义码本图像特征表示方法
CN106304234A (zh) * 2016-08-09 2017-01-04 南京邮电大学 一种基于聚类路由协议的无线传感器网络能耗优化方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421467B1 (en) 1999-05-28 2002-07-16 Texas Tech University Adaptive vector quantization/quantizer
WO2005006249A1 (en) * 2003-07-09 2005-01-20 Raptor International Holdings Pty Ltd Method and system of data analysis using neural networks
US8655108B2 (en) * 2007-09-19 2014-02-18 Sharp Laboratories Of America, Inc. Adaptive image up-scaling technique
US8572085B2 (en) * 2008-05-19 2013-10-29 Technion Research & Development Foundation Limited Apparatus and method for incremental physical data clustering
US8768239B2 (en) * 2011-05-13 2014-07-01 Xerox Corporation Methods and systems for clustering students based on their performance
US20130031063A1 (en) * 2011-07-26 2013-01-31 International Business Machines Corporation Compression of data partitioned into clusters
CN103218419B (zh) * 2013-03-29 2016-08-31 新浪网技术(中国)有限公司 网络标签聚类方法和系统
US10152673B2 (en) 2013-06-21 2018-12-11 Aselsan Elektronik Sanayi Ve Ticaret Anonim Sirketi Method for pseudo-recurrent processing of data using a feedforward neural network architecture
US10417525B2 (en) 2014-09-22 2019-09-17 Samsung Electronics Co., Ltd. Object recognition with reduced neural network weight precision
CN107251059A (zh) 2015-03-24 2017-10-13 赫尔实验室有限公司 用于深度学习的稀疏推理模块
US11221990B2 (en) 2015-04-03 2022-01-11 The Mitre Corporation Ultra-high compression of images based on deep learning
US10373050B2 (en) 2015-05-08 2019-08-06 Qualcomm Incorporated Fixed point neural network based on floating point neural network quantization

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090028953A (ko) * 2007-09-17 2009-03-20 한국전자통신연구원 자동화된 클러스터링 방법 및 이를 이용한 이동통신환경에서 다중 경로의 클러스터링 방법 및 장치
CN103455534A (zh) * 2013-04-28 2013-12-18 北界创想(北京)软件有限公司 对文档进行聚类的方法和装置
CN104915552A (zh) * 2015-05-27 2015-09-16 百度在线网络技术(北京)有限公司 一种预测系统故障的方法及装置
CN105389588A (zh) * 2015-11-04 2016-03-09 上海交通大学 基于多语义码本图像特征表示方法
CN106304234A (zh) * 2016-08-09 2017-01-04 南京邮电大学 一种基于聚类路由协议的无线传感器网络能耗优化方法

Also Published As

Publication number Publication date
CN108288087A (zh) 2018-07-17
US20180197081A1 (en) 2018-07-12
KR20180082344A (ko) 2018-07-18
US11392825B2 (en) 2022-07-19
US11755908B2 (en) 2023-09-12
US20220269941A1 (en) 2022-08-25

Similar Documents

Publication Publication Date Title
CN108288087B (zh) 用于减少深度学习网络的权重存储位的系统和方法
Judd et al. Reduced-precision strategies for bounded memory in deep neural nets
CN106062786B (zh) 用于训练神经网络的计算系统
US20210133278A1 (en) Piecewise quantization for neural networks
US9098121B2 (en) Vector comparator system for finding a peak number
KR101661868B1 (ko) 오디오 신호를 위한 비트 할당 방법 및 장치
RU2750644C2 (ru) Кодирование и декодирование положений спектральных пиков
CN110874625A (zh) 一种深度神经网络量化方法及装置
Kim et al. Exploiting retraining-based mixed-precision quantization for low-cost DNN accelerator design
Raposo et al. Positnn: Training deep neural networks with mixed low-precision posit
KR20150058483A (ko) 오디오 신호의 비트를 할당하는 방법 및 장치
CN108764458B (zh) 一种减少移动设备存储空间消耗以及计算量的方法及系统
WO2021012148A1 (zh) 基于深度神经网络的数据处理方法、装置及移动设备
KR102668734B1 (ko) 가중치 비트 감축을 위한 반복적인 딥 러닝 양자화 알고리즘 및 방법
CN114239792B (zh) 利用量化模型进行图像处理的系统、装置及存储介质
CA2912477A1 (en) Signal encoding and decoding methods and devices
CN104067309A (zh) 流水线化的图像处理序列发生器
Kim et al. Mixture of deterministic and stochastic quantization schemes for lightweight CNN
CN104679448B (zh) 数据比特流转换的方法和装置
CN114065913A (zh) 模型量化方法、装置及终端设备
JP7265946B2 (ja) ニューラルネットワーク用プロセッサ、ニューラルネットワーク用処理方法、および、プログラム
CN113676857A (zh) 一种面向室内Wi-Fi定位的信道状态信息特征提取方法
Huang et al. Energy-efficient accelerator design with tile-based row-independent compressed memory for sparse compressed convolutional neural networks
CN102064836B (zh) 一种专用比较单元及ldpc码校验节点运算电路
US20240162917A1 (en) Runtime reconfigurable compression format conversion with bit-plane granularity

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