CN112005250A - 学习表示神经网络中的权重张量的奇异值分解矩阵的截断秩 - Google Patents
学习表示神经网络中的权重张量的奇异值分解矩阵的截断秩 Download PDFInfo
- Publication number
- CN112005250A CN112005250A CN201980027217.2A CN201980027217A CN112005250A CN 112005250 A CN112005250 A CN 112005250A CN 201980027217 A CN201980027217 A CN 201980027217A CN 112005250 A CN112005250 A CN 112005250A
- Authority
- CN
- China
- Prior art keywords
- rank selection
- rank
- weight tensor
- selection parameter
- parameter
- 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.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 63
- 238000000354 decomposition reaction Methods 0.000 title claims description 18
- 239000011159 matrix material Substances 0.000 title description 14
- 238000012935 Averaging Methods 0.000 claims abstract description 10
- 238000000034 method Methods 0.000 claims description 43
- 238000004364 calculation method Methods 0.000 claims description 5
- 210000002569 neuron Anatomy 0.000 description 38
- 238000012545 processing Methods 0.000 description 35
- 230000004913 activation Effects 0.000 description 15
- 238000001994 activation Methods 0.000 description 15
- 238000012549 training Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000013135 deep learning Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000010606 normalization Methods 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012886 linear function Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 239000005022 packaging material Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002087 whitening effect Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000023886 lateral inhibition Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000000653 nervous system Anatomy 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
一种用于学习人工神经网络的秩的装置被配置成将权重张量分解为第一权重张量和第二权重张量。将一组秩选择参数应用于第一权重张量和第二权重张量,以截断第一权重张量和第二权重张量的秩。通过对为一组秩选择参数组的每个秩选择参数计算的更新进行平均,利用权重张量同时更新一组秩选择参数组。
Description
优先权要求
本专利申请要求的优先权是于2018年4月25日提交的名称为“学习表示神经网络中的权重张量的奇异值分解矩阵的截断秩”的15/962,996号美国非临时专利申请,已转让给本受让人,并且在此通过引用明确地并入本文。
技术领域
本公开的某些方面一般涉及机器学习,并且更具体地涉及改进用于学习表示神经网络中的权重张量的奇异值分解矩阵的截断秩的系统和方法。
背景技术
人工神经网络是一种计算设备或者表示要由计算设备执行的一种方法,人工神经网络可以包括一组互连的人工神经元(例如,神经元模型)。
卷积神经网络是一种类型的前馈人工神经网络。卷积神经网络可以包括神经元的集合,每个神经元具有感受野并且神经元共同地构成(tile)输入空间。卷积神经网络(CNN)具有许多应用。尤其是,CNN已经广泛地用于模式识别和分类的领域。
深度学习架构、诸如深度置信网络和深度卷积网络,是分层神经网络架构,其中第一层神经元的输出变成第二层神经元的输入,第二层神经元的输出变成第三层神经元的输入,等等。深度神经网络可以被训练以识别特征的层级,并且因此深度神经网络已经越来越多地被用于对象识别应用中。类似于卷积神经网络,这些深度学习架构中的计算可以分布在一个处理节点群体上,这些处理节点可以被配置在一个或多个计算链中。这样的多层架构可以一次一层地被训练并且可以使用反向传播来微调。
其它模型也可以用于对象识别。例如,支持向量机(SVM)是可以应用于分类的学习工具。支持向量机包括分类数据的分离超平面(例如,决策边界)。超平面由监督学习定义。期望的超平面增加训练数据的边界。换句话说,超平面应该具有与训练示例的最大的最小距离。
可以用多于求解特定任务所需的参数来训练深度神经网络,以提供收敛并且减少过拟合。这种训练过程可以用于探索与许多任务相关联的大型错误表面。然而,在训练结束时,网络可能被过度参数化。通过应用压缩技术可以减小网络大小。一种这样的技术是通过使用奇异值分解(SVD)分解每个层中的权重张量来执行维数减少。每个权重张量是2维或4维张量,并且通过应用SVD,每个张量可以被分成两个2维张量。如果使用满秩SVD,则这将增大层的计算成本。然而,如果截断秩以仅保留前N个最显著的秩(最高N个奇异值),则与初始的组合张量相比,可以减少层的计算成本。不幸的是,难以确定,截断分解矩阵并仍然保持深度神经网络的原始性能所处的第N个秩。因此,需要找到秩N的技术。
发明内容
以下呈现了一个或多个方面的简化概述,以便提供对这些方面的基本理解。该概述不是所有预期方面的广泛综述,并且既不旨在标识所有方面的关键或重要元件,也不旨在描绘任何方面或所有方面的范围。其唯一目的是以简化形式呈现一个或多个方面的一些概念,作为稍后呈现的更详细描述的序言。
本领域技术人员应当理解,本公开可以容易地用作修改或设计用于执行本公开的相同目的其它结构的基础。本领域技术人员还应当认识到,这种等同构造并不脱离如所附权利要求中阐述的本公开的教导。当结合附图考虑时,从以下描述中将更好地理解关于本公开的组织和操作方法两者的被认为是本公开的特性的特征。然而,应明确地理解,提供附图中的每一个附图仅出于说明和描述的目的,且不旨在作为对本公开的限制的定义。
诸如深度卷积网络之类的人工神经网络可以用于图像分类。然而,这样的网络在计算上可能复杂并且消耗大量的计算资源。
为了解决计算复杂度和计算资源消耗的问题,可以学习表示网络中的权重张量的奇异值分解矩阵的截断秩,以减小网络的大小。
在本公开的一方面,呈现了用于学习人工神经网络的秩的方法、计算机可读介质和装置。该装置包括存储器和耦联到该存储器的至少一个处理器。(一个或多个)处理器被配置成将权重张量分解成第一权重张量和第二权重张量。(一个或多个)处理器还被配置成将一组秩选择参数应用于第一权重张量和第二权重张量,以截断第一权重张量和第二权重张量的秩。此外,(一个或多个)处理器被配置成通过对针对所述一组秩选择参数中的每个秩选择参数所计算的更新进行平均,更新所述一组秩选择参数。
下面将描述本公开的方面的附加特征和潜在优点。本领域技术人员应当理解,本公开可以容易地用作修改或设计用于执行本公开的相同目的其它结构的基础。本领域技术人员还应当认识到,这种等同构造并不脱离如所附权利要求中阐述的本公开的教导。当结合附图考虑时,从以下描述中将更好地理解这些特征。然而,应明确地理解,提供附图中的每一个附图仅出于说明和描述的目的,且不旨在作为对本公开的限制的定义。
附图说明
当结合附图考虑时,本公开的特征、性质和优点将从下面阐述的具体实施方式变得更加明显,在附图中,相同的附图标记始终对应地标识。
图1示出根据本公开的某些方面的使用片上系统(SOC)(包括通用处理器)来设计神经网络的示例实施方案。
图2示出根据本公开的一些方面的系统的示例实施方案。
图3A是示出根据本公开的一些方面的神经网络的图。
图3B是示出根据本公开的一些方面的示例性深度卷积网络(DCN)的框图。
图4A-C是示出根据本公开的一些方面的学习示例性人工神经网络的秩的框图。
图5是示出根据本公开的一些方面的示例性人工神经网络的更新的框图。
图6是示出根据本公开的一些方面的与秩/滤波器数相关的秩选择参数的曲线图。
图7示出根据本公开的一些方面的用于学习人工神经网络的秩的方法。
具体实施方式
下文结合附图所陈述的具体实施方式旨在作为对各种配置的描述,且不旨在表示可实践本文所描述的概念的仅有配置。具体实施方式包括用于提供对各种概念的透彻理解的具体细节。然而,对于本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下实践这些概念。在一些示例中,以框图形式展示众所周知的结构和组件以便避免混淆此类概念。
基于这些教导,所属领域的技术人员应了解,本公开的范围旨在覆盖本公开的任何方面,无论是独立于本公开的任何其它方面实施还是与本公开的任何其它方面组合实施。例如,可以使用所阐述的任意数量的方面来实现装置或者实践方法。另外,本公开的范围旨在覆盖使用除所阐述的本公开的一些方面外的或不同于所阐述的本公开的一些方面的其它结构、功能或结构和功能来实践的这样的装置或方法。应当理解,所公开的本公开的任何方面可以由权利要求的一个或多个元素来体现。
词语“示例性”在此用于表示“用作示例、实例或说明”。本文描述为“示例性”的任何方面不一定被解释为比其它方面优选或有利。
尽管本文描述了特定方面,但是特定方面的许多变型和置换落入本公开的范围内。尽管提及了本公开的方面的一些益处和优点,但是本公开的范围不旨在限于特定的益处、用途或目的。相反,本公开的一些方面旨在广泛地适用于不同的技术、系统配置、网络和协议,其中的一些在附图和对这些方面的以下描述中以示例的方式示出。具体实施方式和附图仅仅是本公开的说明而不是限制,本公开的范围由所附权利要求及其等同物限定。
学习表示神经网络中的权重张量的SVD矩阵的截断秩
本公开的一些方面涉及学习奇异值分解矩阵的截断秩。矩阵的秩是矩阵的线性独立的行或列的数量(例如,非零的行或列的数量)。截断秩是矩阵的秩的秩近似。可以通过学习被初始化成以奇异值大小的顺序单调递减的一组有界参数的偏移来学习截断秩。换句话说,可以通过学习将一组参数β(其可以被称为秩选择参数)针对连续较高的奇异值设置为0,来截断权重张量的秩。
根据本公开的一些方面,神经网络的权重张量可以经由奇异值分解(SVD)被分解为第一权重张量和第二权重张量。具有秩选择参数β的滤波器可以应用于第一权重张量和第二权重张量。
秩选择参数可以包括实数值并且可以被初始化为随机值。在一些方面,秩选择参数可以被初始化为0.5和1之间的秩数的线性函数。秩选择参数可以应用于权重张量以生成如下给出的输出:
yp=βixp, (1)
其中xp是滤波器输入(权重张量的权重),并且yp是滤波器输出。
在一些方面,可以在网络的前向传递中正则化秩选择参数(例如,当计算推断时)。也就是说,可以将阈值应用于每个秩选择参数βi。可以将每个秩选择参数βi的实际值与阈值进行比较。例如,可以将秩选择参数正则化:
如果秩选择参数的实际值小于阈值(例如,0.5),则可以将秩选择参数的应用值βi设置为0,使得可以去除滤波器。另一方面,如果秩选择参数的实际值大于或等于阈值(例如,0.5),则可以将秩选择参数的应用值βi设置为1,使得滤波器保持不变。
在网络的反向传递期间(例如,经由反向传播微调),可以更新每个秩选择参数。例如,可以通过对针对所述一组中的每个参数所计算的更新进行平均,来更新每个秩选择参数。因此,相同的更新可以应用于所述一组参数中的所有秩选择参数。通过应用相同的更新(例如,所有秩选择参数的更新的平均值),秩选择参数可以被配置成相对于静态阈值一致地移动。
另外,通过使用相同的更新(例如,偏移)来更新所有的秩选择参数,可以在秩选择参数之间强制执行相关性,使得前N个秩选择参数可以是1,并且剩余的M-N个秩选择参数可以是0。因此,可以保留前N个奇异值维度。因为该方法可以采用标准反向传播来更新秩选择参数,所以学习秩选择参数可以与微调或更新权重结合,以实现较小的模型。即,在一些方面,可以学习奇异值分解的权重张量的截断秩,同时微调权重值以减小模型大小。例如,在秩选择中,可以根据以下内容在网络的反向传递中更新秩选择:
图1示出根据本公开的某些方面的使用片上系统(SOC)100来学习人工神经网络的秩的方法的示例实施方案,该片上系统可以包括通用处理器(CPU)和/或多核通用处理器(CPU)102。变量(例如,神经信号和突触权重)、与计算设备相关联的系统参数(例如,具有权重的神经网络)、延迟、频率槽信息、以及任务信息可以被存储在与神经处理单元(NPU)108相关联的存储器块中、与CPU 102相关联的存储器块中、与图形处理单元(GPU)104相关联的存储器块中、与数字信号处理器(DSP)106相关联的存储器块中、专用存储器块118中、或者可以跨多个块分布。在通用处理器102处执行的指令可以从与CPU 102相关联的程序存储器加载,或者可以从专用存储器块118加载。
SOC 100也可以包括针对特定功能定制的附加处理块,例如GPU104、DSP 106、连接块110,附加处理块可以包括第四代长期演进(4G LTE)连接、未授权Wi-Fi连接、USB连接、蓝牙连接等,以及可以例如检测和识别手势的多媒体处理器112。在一个实施方案中,NPU实施于CPU、DSP和/或GPU中。SOC 100也可以包括传感器处理器114、图像信号处理器(ISP)116和/或导航120,导航可以包括全球定位系统。
SOC 100可以基于ARM指令集。在本公开的一方面,加载到通用处理器102中的指令可以包括用于将权重张量分解成第一权重张量和第二权重张量的代码。加载到通用处理器102中的指令也可以包括用于将一组秩选择参数应用于第一权重张量和第二权重张量以截断第一权重张量和第二权重张量的秩的代码。加载到通用处理器102中的指令还可以包括用于通过对针对所述一组秩选择参数中的每个秩选择参数所计算的更新进行平均来更新所述一组秩选择参数的代码。
图2示出根据本公开的某些方面的系统200的示例实施方案。如图2所示,系统200可以具有多个本地处理单元202,本地处理单元可以执行这里描述的方法的各种操作。每个本地处理单元202可以包括本地状态存储器204和可以存储神经网络的参数的本地参数存储器206。另外,本地处理单元202可以具有用于存储本地模型程序的本地(神经元)模型程序(LMP)存储器208、用于存储本地学习程序的本地学习程序(LLP)存储器210、以及本地连接存储器212。此外,如图2所示,每个本地处理单元202可以与用于为本地处理单元的本地存储器提供配置的配置处理器单元214对接,并且与提供本地处理单元202之间的路由的路由连接处理单元216对接。
深度学习架构可以通过学习以在每个层中以连续较高的抽象级别表示输入来执行对象识别任务,从而构建输入数据的有用特征表示。这样,深度学习解决了传统机器学习的主要瓶颈。在深度学习出现之前,针对对象识别问题的机器学习方法可能已经严重依赖于人类工程特征,可能与浅分类器组合。浅分类器可以是两类线性分类器,例如,其中可以将特征向量分量的加权和与阈值进行比较以预测输入属于哪个类别。人类工程特征可以是由具有领域专业知识的工程师针对特定问题领域定制的模板或内核。相比之下,深度学习架构可以学习表示与通过训练学习的人类工程特征类似的特征。此外,深度网络可以学习表示和识别人类可能没有考虑的新类型特征。
深度学习架构可以学习特征的层级。例如,如果呈现视觉数据,则第一层可以学习识别输入流中的相对简单的特征,例如边缘。在另一个示例中,如果呈现听觉数据,则第一层可以学习识别特定频率中的频谱功率。将第一层的输出作为输入的第二层可以学习识别特征的组合,例如视觉数据的简单形状或听觉数据的声音组合。例如,较高层可以学习表示视觉数据中的复杂形状或听觉数据中的单词。较高的层可以学习识别常见的视觉对象或口头短语。
当应用于具有自然分级结构的问题时,深度学习架构可以执行得特别好。例如,机动车辆的分类可以受益于首先学习识别车轮、挡风玻璃和其它特征。这些特征可以在较高层通过不同的方式组合以识别汽车、卡车和飞机。
神经网络可以被设计成具有各种连接模式。在前馈网络中,信息从较低层传递到较高层,给定层中的每个神经元与较高层中的神经元通信。如上所述,可以在前馈网络的连续层中建立分级表示。神经网络也可以具有循环或反馈(也称为自顶向下)连接。在循环连接中,来自给定层中的神经元的输出可以被传送到相同层中的另一神经元。循环架构可以有助于识别一些模式,这些模式跨越按顺序递送到神经网络上的输入数据块中的一个以上输入数据块。从给定层中的神经元到较低层中的神经元的连接被称为反馈(或自顶向下)连接。当高级概念的识别可帮助区分输入的特定低级特征时,具有许多反馈连接的网络可能是有帮助的。
参考图3A,在神经网络的层之间的连接可以是全连接302或本地连接304。在全连接网络302中,第一层中的神经元可以将该神经元的输出传送给第二层中的每个神经元,以使得第二层中的每个神经元接收来自第一层中的每个神经元的输入。备选地,在本地连接网络304中,第一层中的神经元可以连接到第二层中的有限数目的神经元。卷积网络306可以是本地连接的,并且可以被进一步配置成使得与第二层中的每个神经元的输入相关联的连接强度被共享(例如,308)。更一般地,网络的本地连接层可以被配置成使得层中的每个神经元将具有相同或相似的连接模式,但是带有可以具有不同值的连接强度(例如,310、312、314和316)。本地连接的连接模式可以在较高层中引起空间上不同的感受野,因为给定区域中的较高层神经元可以接收通过训练而被调谐到网络的总输入的受限部分的性质上的输入。
本地连接的神经网络可以很好地适用于输入的空间位置有意义的问题。例如,被设计成从车载相机识别视觉特征的网络300可以发展具有不同性质的高层神经元,该发展根据这些高层神经元与图像的上部部分以及下部部分的关联来实现。与图像的下部部分相关联的神经元可以学习识别例如车道标志,而与图像的上部部分相关联的神经元可以学习识别交通灯、交通标志等。
可以用监督学习来训练DCN。在训练期间,DCN可以与图像、例如限速标志326的裁剪图像一起呈现,然后可以计算“前向传递”以产生输出322。输出322可以是对应于诸如“符号”、“60”和“100”之类的特征的值的向量。网络设计者可能希望DCN为输出特征向量中的一些神经元输出高分,例如,如已经训练的网络300的输出322中所示的对应于“符号”和“60”的神经元。在训练之前,DCN产生的输出很可能是不正确的,因此可以计算实际输出和目标输出之间的误差。然后可以调节DCN的权重,以便DCN的输出得分与目标更接近地对准。
为了调节权重,学习算法可以计算权重的梯度向量。梯度可以指示如果轻微调节权重则误差将增加或减少的量。在顶层,梯度可以直接对应于连接倒数第二层中的激活神经元和输出层中的神经元的权重的值。在较低层中,梯度可以取决于权重的值和较高层的计算的误差梯度。然后可以调节权重以便减小误差。这种调节权重的方式可以被称为“反向传播”,因为在权重调节期间涉及通过神经网络的“反向传递”。
实际上,可以在少量示例上计算权重的误差梯度,使得所计算的梯度近似于真实的误差梯度。这种近似方法可以被称为随机梯度下降。可以重复随机梯度下降,直到整个系统的可达到错误率已经停止降低或者直到错误率已经达到目标水平。
在学习之后,DCN可以被呈现新图像326,并且通过网络的前向传递可以产生输出322,该输出可以被认为是DCN的推断或预测。
深度置信网络(DBN)是包括多层隐藏节点的概率模型。DBN可以用于提取训练数据集的分级表示。DBN可以通过堆叠受限玻尔兹曼机(RBM)的层来获得。RBM是一种类型的能够学习一组输入上的概率分布的人工神经网络。因为RBM可以在缺少关于每个输入应当被分类到的类别的信息的情况下学习概率分布,所以RBM经常被用于无监督学习。使用混合的无监督和监督范式,DBN的底部RBM可以以无监督的方式被训练并且可以充当特征提取器,并且顶部RBM可以以监督的方式(在来自先前层和目标类别的输入的联合分布上)被训练并且可以充当分类器。
深度卷积网络(DCN)是配置有附加池化层和归一化层的卷积网络的网络。DCN已经实现了在许多任务上的现有技术水平的性能。DCN可以使用监督学习来训练,其中输入和输出目标对于许多范例都是已知的并且用于通过使用梯度下降方法来修改网络的权重。
DCN可以是前馈网络。此外,如上所述,从DCN的第一层中的神经元到下一较高层中的一组神经元的连接是跨第一层中的神经元共享的。DCN的前馈和共享连接可以被用于快速处理。DCN的计算负担可以例如比包括循环或反馈连接的类似大小的神经网络的计算负担小得多。
卷积网络的每个层的处理可以被认为是空间上不变的模板或基投影。如果输入首先被分解成多个通道,诸如彩色图像的红色、绿色和蓝色通道,则在输入上训练的卷积网络可以被认为是三维的,其中沿着图像的轴[例如,x轴和y轴]具有两个空间维度,并且第三维度捕获颜色信息[例如,z轴]。卷积连接的输出可以被认为形成后续层318和320中的特征图,其中特征图(例如,320)的每个元素从前一层(例如,318)中的一系列神经元以及从多个通道中的每个通道接收输入。可以利用诸如校正的非线性度max(0、x)进一步处理特征图中的值。来自相邻神经元的值可以被进一步汇集,这对应于下采样,并且可以提供附加的局部不变性和维数缩减。对应于白化的归一化也可以通过特征图中的神经元之间的侧向抑制来应用。
随着更多标记的数据点变得可用或者随着计算功率增加,深度学习架构的性能可以增加。现代深度神经网络用来常规训练的计算资源比仅十五年前的典型研究者可用的计算资源大了数千倍。新的架构和训练范式可以进一步提高深度学习的性能。整流线性单元可以减少被称为消失梯度的训练问题。新的训练技术可以减少过拟合,并且从而使得较大的模型能够实现更好的泛化。封装技术可以在给定的感受野中抽象数据并且进一步提升整体性能。
图3B是示出示例性深度卷积网络350的框图。深度卷积网络350可以基于连接性和权重共享而包括多个不同类型的层。如图3B所示,示例性深度卷积网络350包括多个卷积块(例如,C1和C2)。每个卷积块可以配置有卷积层、归一化层(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处提供的输入数据(例如,图像、音频、视频、传感器数据和/或其它输入数据)学习分级特征表示。
图4A-C是示出根据本公开的一些方面的学习示例性人工神经网络的秩的框图。参考图4A,人工神经网络400的层。人工神经网络包括具有一组节点的层406。在人工神经网络400中,在人工神经网络400的层处接收一组输入402。将所述一组输入402与权重张量404的一组权重进行卷积。可以将偏差项b1加到卷积的结果,并且可以输出总和,并且提供该总和作为人工神经网络400的下一层406的输入。
奇异值分解(SVD)可以应用于权重404。应用SVD、权重张量404可以由两个矩阵(例如424、426)表示,如由给出,其中U是输入滤波器的M×M矩阵,并且V是输出滤波器的M×N矩阵,每个矩阵具有秩=M。这样,人工神经网络400的权重张量404可以被分解为第一权重张量U1 424和第二权重张量V1 426。可以为每个输出428插入具有秩选择参数β1的滤波器。秩选择参数β1可以用指定值(例如,0.5)来初始化。因此,输入滤波器U1可以与输入422卷积以产生滤波输入。秩选择参数可应用于滤波输入以产生层_a 428的一组激活。层_a的激活可以根据奇异值来布置,其中最大奇异值的激活(例如430)被排序在最低奇异值的激活(例如432)之前。然后,输出滤波器V1 426可以被应用于层_a 428的激活,以产生滤波输出。可以将偏差项b1加到滤波输出,可以输出其总和并将该总和提供给下一层(层_b 434)。
根据本公开的一些方面,诸如反向传播之类的学习技术例如可以用于将秩选择参数βi设置为零以用于连续较大的奇异值。在这样做时,应用秩选择参数βi可导致层_a 428的一些较低奇异激活(例如432)具有零值。使用SVD,激活函数在层之间可以是线性的,并且秩选择参数可以单调递减。因此,在应用输出滤波器V1 426计算输出(例如,层_b 434)时可以执行较少的计算。
参考图4C,秩选择参数已经被应用于人工神经网络440。层_a 448的一组最低奇异值激活(例如,参见图4B的432)可以具有零值,并且可以被移除。因此,输入滤波器U1 444可以被应用于输入442。秩选择参数βi可以应用于滤波输入。然而,因为对于最低奇异值,秩选择参数βi可以是零,所以一组最低奇异值激活可以进而是零并且可以被移除。因此,可以降低激活的秩,从而减少用于产生层_b 450的输出的计算(例如,在激活和输出滤波器V1 446的卷积中可以执行较少的乘法和加法运算)。
图5是示出根据本公开的一些方面的示例性人工神经网络的更新的框图。参考图5,在阶段A处的示例性人工神经网络500可以包括数据输入层、卷积层(conv1、conv2)、全连接层(fc3和fc4)和损耗层(例如,软最大层)。在示例性人工神经网络500中,卷积层conv1可以具有128个参数,卷积层conv2可以具有256个参数,并且全连接层fc3可以具有4096个参数,所有这些参数可以用于标识全连接层fc4中的100个类别之中的类别。
根据本公开的一些方面,SVD可以被应用于人工神经网络500。如阶段B中所示,可选滤波器522a、522b和522c可以分别被插入以用于卷积层conv1、卷积层conv2和全连接层fc3的输出。在一些方面,可选滤波器(例如,522a、522b和522c)可以各自包括例如三态整流器线性单元。每个可选滤波器(例如522a、522b和522c)可以具有秩选择参数βi。秩选择参数βi可以用指定值(例如,1)来初始化。秩选择参数βi可以具有实数值并且可以被初始化为随机确定的值(例如,使用伪随机数生成器)。在一些方面,秩选择参数可以被初始化为0.5和1之间的秩数的线性函数。秩选择参数βi可以应用于层的权重张量(例如,conv1),以生成如上文在等式1中所指示的输出。
在一些方面,可以在网络的前向传递中(例如,当计算推断或分类时)正则化用于每个可选滤波器的秩选择参数βi。也就是说,可以将阈值应用于每个秩选择参数βi。每个秩选择参数βi的实际值可以与阈值(例如,0.5)进行比较。在一个示例中,在秩选择参数βi小于0.5的情况下,可选滤波器可应用零,使得可移除被应用了可选滤波器的输出,并且在秩选择参数βi大于或等于0.5的情况下,可选滤波器可应用一,使得可以将被应用了可选滤波器的输出传递到后续层。进而,可以确定推断并经由全连接层fc4输出该推断。输出可以被提供给损耗层以计算误差。
在网络的反向传递期间(例如,经由反向传播微调),可以更新可选滤波器522a、522b和522c的秩选择参数βi中的每个秩选择参数。例如,可以为秩选择参数βi中的每个秩选择参数确定梯度。梯度的平均值可以被计算并且用于确定所有秩选择参数的更新。即,相同的更新可应用于可选滤波器522a、522b和522c的所有秩选择参数βi。通过应用相同的更新(例如,所有秩选择参数的更新的平均值),秩选择参数可以被配置成相对于静态阈值一致地移动。
另外,通过使用相同的更新(例如,偏移)来更新所有的秩选择参数,可以在秩选择参数βi之间强制执行相关性,使得前N个秩选择参数可以是1,并且剩余的M-N个秩选择参数可以是0。因此,可以保留前N个奇异值维度。因为标准反向传播可以用于更新秩选择参数βi,所以学习秩选择参数βi可以与微调或更新人工网络520的每个层的权重相结合以实现更小的模型。即,在一些方面,可以学习奇异值分解的权重张量的截断秩,同时微调权重值以减小模型大小。
在一些方面,基于人工神经网络520的性能度量来更新或微调秩选择参数βi。例如,性能度量可以包括处理速度、存储器大小、存储器带宽或运算(例如,乘法累加运算(MAC))的数量。这样,人工神经网络(例如,520)可以被不同地配置,以在具有不同类型的处理器(例如,CPU、GPU、DSP、NPU等)的不同计算系统上运行。在一个示例中,可以使用用于更新秩选择参数βi(并且进而确定是否打开还是关闭对应的滤波器)的成本函数,来确定网络的这种配置,该成本函数可以被定义如下:
其中Cl=max{tcompute tmemory}、λ3是宽度限制正则化因子,λo是权重和偏差正则化因子,w是应用于可选滤波器(例如,522a)的权重项,是所计算的激活,是所计算的输出,并且y是所确定的输出(例如,推断或分类)。
在阶段C,在微调人工神经网络520之后,可移除可选滤波器522a、522b和522c以产生人工神经网络540。人工神经网络540可以具有比人工神经网络500减小的模型大小。例如,与人工神经网络500的卷积层conv1中使用的128个参数相比,人工神经网络540的卷积层conv1可以用67个参数来操作。类似地,与人工神经网络500的conv2中使用的256个参数相比,人工神经网络540的conv2可以用131个参数来操作。另外,与人工神经网络500的全连接层fc3中使用的4096个参数相比,人工神经网络540的全连接层fc3可以用25个参数来操作。因此,人工神经网络540可以被操作以利用减少的计算来计算推断,从而减少计算推断(例如,分类)的时间。
图6是示出与秩/滤波器数相关的秩选择参数的曲线图。如曲线图600所示,秩选择参数βi可以相对于秩数线性变化。在一些方面,可以将每个层的秩选择参数βi初始化为0.5和1之间的秩数值的线性函数。随着秩或滤波器数增加,秩选择参数的值可以减小(例如,单调地)。线(例如,602)上的每个点可以表示可选滤波器的秩选择参数。当更新秩选择参数βi时,可以针对线上的每个点计算导数(例如602)。可以对导数求平均,并且可以将平均值应用于每个点。这样,秩选择参数可以一致地向上或向下移动,如箭头604所示。因此,当应用于已经被应用了SVD的层的权重张量(例如,图4B的权重442)时,可以去除最低奇异值(例如,图4B的元素432)。
图7示出用于学习人工神经网络的秩的方法700。在框702中,该过程将权重张量分解为第一权重张量和第二权重张量。在一些方面,可以通过将奇异值分解应用于权重张量来分解权重张量。在框704中,可以将一组秩选择参数应用于第一权重张量和第二权重张量,以截断第一权重张量和第二权重张量的秩。在一些方面,例如,秩选择参数可以被初始化为随机值。
此外,在框706中,可以通过对针对所述一组秩选择参数中的每个秩选择参数所计算的更新进行平均,来更新所述一组秩选择参数。在一些方面,可以通过使用秩选择参数的实际值执行反向传播,来更新所述一组秩选择参数。每个秩选择参数的实际值可以包括实数。可以为秩选择参数中的每个秩选择参数确定梯度。可以确定所有秩选择参数的梯度的平均值。可以将平均值应用于每个秩选择参数。
在框708中,可以可选地与更新第一权重张量和第二权重张量同时(例如,在相同的时间段中)或并行地更新秩选择参数。例如,如以上关于图5所讨论的,因为标准反向传播可以被用于更新秩选择参数βi,所以学习秩选择参数βi可以与微调或更新人工网络520的每个层的权重相组合,以获得更小的模型。
在框710中,在推断的计算期间,可以可选地将阈值应用于所述一组秩选择参数中的每个秩选择参数。在一个示例性方面,可以将阈值应用于秩选择参数,使得如果秩选择参数的实际值大于或等于阈值(例如,0.5),则将秩选择参数的应用值设置为1。另一方面,如果秩选择参数的实际值小于阈值,则将秩选择参数的应用值设置为0。
此外,在框712中,至少部分地基于经阈值化的秩选择参数可以可选地计算推断。例如,如图4B-C所示,在应用了秩选择参数βi之后,移除最低奇异值的激活,并且使用最高奇异值的激活来计算输出,该输出可以用作层_B的输入。这样的操作可以在后续层中执行,以计算输出层(例如,图5的fc4)中的推断。
在一种配置中,机器学习模型被配置用于将权重张量分解为第一权重张量和第二权重张量。该模型还被配置用于将一组秩选择参数应用于第一权重张量和第二权重张量,以截断第一权重张量和第二权重张量的秩。该模型还被配置用于通过对为所述一组秩选择参数中的每个秩选择参数计算的更新进行平均,来更新所述一组秩选择参数。该模型包括分解器件、应用器件和/或更新器件。在一个方面,分解器件、应用器件和/或更新器件可以是被配置成执行所述功能的通用处理器102、与通用处理器102相关联的程序存储器、存储器块118、本地处理单元202、和/或路由连接处理单元216。在另一配置中,前述器件可以是被配置成执行由前述器件叙述的功能的任何模块或任何装置。
根据本公开的某些方面,每个本地处理单元202可以被配置成基于模型的一个或多个期望功能特征来确定模型的参数,并且随着所确定的参数被进一步适配、调谐和更新而朝向期望功能特征发展一个或多个功能特征。
在一些方面,方法700可以由SOC 100(图1)或系统200(图2)来执行。也就是说,方法700的要素中的每个要素可以例如(但不限于)由SOC 100或系统200或一个或多个处理器(例如,CPU 102和本地处理单元202)、和/或其中包括的其它组件来执行。
上述方法的各种操作可以由能够执行相应功能的任何适当器件来执行。该器件可以包括各种硬件和/或软件组件和/或模块,包括但不限于电路、专用集成电路(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)、无线电及微波之类的无线技术从网站、服务器或其它远程源传输软件,那么同轴电缆、光纤电缆、双绞线、DSL或诸如红外线、无线电及微波之类的无线技术被包括在介质的定义中。如本文所使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。因此,在一些方面中,计算机可读介质可以包括非暂时性计算机可读介质(例如,有形介质)。另外,对于其它方面,计算机可读介质可以包括暂时性计算机可读介质(例如,信号)。以上的组合也应包括在计算机可读介质的范围内。
因此,某些方面可以包括用于执行本文所呈现的操作的计算机程序产品。例如,这样的计算机程序产品可以包括其上存储有(和/或编码有)指令的计算机可读介质,所述指令可以由一个或多个处理器执行以执行本文描述的操作。对于某些方面,计算机程序产品可以包括封装材料。
此外,应当理解,用于执行本文描述的方法和技术的组件和/或其它适当的器件可以由用户终端和/或基站在适用时下载和/或以其它方式获得。例如,这样的设备可以耦联到服务器以促进用于执行本文描述的方法的器件的传输。备选地,本文所述的各种方法可以经由存储器件(例如,RAM、ROM、诸如压缩光盘(CD)或软磁盘之类的物理存储介质等)来提供,使得用户终端和/或基站可以在将存储器件耦联或提供到设备后即刻获得所述各种方法。此外,可以利用用于向设备提供本文描述的方法和技术的任何其它合适的技术。
但是应当理解,权利要求不限于上面说明的精确配置和组件。在不脱离权利要求的范围的情况下,可以对上述方法和装置的布置、操作和细节进行各种修改、改变和变型。
Claims (28)
1.一种学习人工神经网络的秩的方法,包括:
将权重张量分解为第一权重张量和第二权重张量;
将一组秩选择参数应用于所述第一权重张量和所述第二权重张量,以截断所述第一权重张量和所述第二权重张量的秩;以及
通过对针对所述一组秩选择参数中的每个秩选择参数所计算的更新进行平均,更新所述一组秩选择参数。
2.根据权利要求1所述的方法,其中所述分解包括将奇异值分解应用于所述权重张量。
3.根据权利要求1所述的方法,其中将所述一组秩选择参数中的每个秩选择参数初始化为随机值。
4.根据权利要求1所述的方法,进一步包括在推断的计算期间,将阈值应用于所述一组秩选择参数中的每个秩选择参数。
5.根据权利要求4所述的方法,其中将所述阈值应用于秩选择参数,使得如果所述秩选择参数的实际值大于或等于所述阈值,则将所述秩选择参数的应用值设置为1,或者如果所述秩选择参数的实际值小于所述阈值,则将所述秩选择参数的应用值设置为0。
6.根据权利要求1所述的方法,其中所述更新包括执行反向传播,以基于所述秩选择参数的实际值来确定所述一组秩选择参数中的每个秩选择参数的误差,所述实际值包括实数。
7.根据权利要求1所述的方法,其中所述秩选择参数与所述第一权重张量和所述第二权重张量同时被更新。
8.一种学习人工神经网络的秩的装置,包括:
存储器;以及
耦联到所述存储器的至少一个处理器,所述至少一个处理器被配置成:
将权重张量分解为第一权重张量和第二权重张量;
将一组秩选择参数应用于所述第一权重张量和所述第二权重张量,以截断所述第一权重张量和所述第二权重张量的秩;以及
通过对针对所述一组秩选择参数中的每个秩选择参数所计算的更新进行平均,更新所述一组秩选择参数。
9.根据权利要求8所述的装置,其中所述至少一个处理器进一步被配置成:将奇异值分解应用于所述权重张量。
10.根据权利要求8所述的装置,其中将所述一组秩选择参数中的每个秩选择参数初始化为随机值。
11.根据权利要求8所述的装置,其中所述至少一个处理器进一步被配置成:在推断的计算期间,将阈值应用于所述一组秩选择参数中的每个秩选择参数。
12.根据权利要求11所述的装置,其中将所述阈值应用于秩选择参数,使得如果所述秩选择参数的实际值大于或等于所述阈值,则将所述秩选择参数的应用值设置为1,或者如果所述秩选择参数的实际值小于所述阈值,则将所述秩选择参数的应用值设置为0。
13.根据权利要求8所述的装置,其中所述至少一个处理器进一步被配置成:执行反向传播,以基于所述秩选择参数的实际值来确定所述一组秩选择参数中的每个秩选择参数的误差,所述实际值包括实数。
14.根据权利要求8所述的装置,其中所述秩选择参数与所述第一权重张量和所述第二权重张量同时被更新。
15.一种用于操作人工神经网络的装置,包括:
用于将权重张量分解为第一权重张量和第二权重张量的器件;
用于将一组秩选择参数应用于所述第一权重张量和所述第二权重张量以截断所述第一权重张量和所述第二权重张量的秩的器件;以及
用于通过对针对所述一组秩选择参数中的每个秩选择参数所计算的更新进行平均来更新所述一组秩选择参数的器件。
16.根据权利要求15所述的装置,进一步包括用于将奇异值分解应用于所述权重张量的器件。
17.根据权利要求15所述的装置,其中将所述一组秩选择参数中的每个秩选择参数初始化为随机值。
18.根据权利要求15所述的装置,进一步包括用于在推断的计算期间将阈值应用于所述一组秩选择参数中的每个秩选择参数的器件。
19.根据权利要求18所述的装置,其中将所述阈值应用于秩选择参数,使得如果所述秩选择参数的实际值大于或等于所述阈值,则将所述秩选择参数的应用值设置为1,或者如果所述秩选择参数的实际值小于所述阈值,则将所述秩选择参数的应用值设置为0。
20.根据权利要求15所述的装置,进一步包括用于执行反向传播以基于所述秩选择参数的实际值来确定所述一组秩选择参数中的每个秩选择参数的误差的器件,所述实际值包括实数。
21.根据权利要求15所述的装置,其中所述秩选择参数与所述第一权重张量和所述第二权重张量同时被更新。
22.一种计算机可读介质,存储有用于学习人工神经网络的秩的可执行代码,包括代码以用于:
将权重张量分解为第一权重张量和第二权重张量;
将一组秩选择参数应用于所述第一权重张量和所述第二权重张量,以截断所述第一权重张量和所述第二权重张量的秩;以及
通过对针对所述一组秩选择参数中的每个秩选择参数所计算的更新进行平均,更新所述一组秩选择参数。
23.根据权利要求22所述的计算机可读介质,进一步包括用于将奇异值分解应用于所述权重张量的代码。
24.根据权利要求22所述的计算机可读介质,其中将所述一组秩选择参数中的每个秩选择参数初始化为随机值。
25.根据权利要求22所述的计算机可读介质,进一步包括用于在推断的计算期间将阈值应用于所述一组秩选择参数中的每个秩选择参数的代码。
26.根据权利要求25所述的计算机可读介质,其中将所述阈值应用于秩选择参数,使得如果所述秩选择参数的实际值大于或等于所述阈值,则将所述秩选择参数的应用值设置为1,或者如果所述秩选择参数的实际值小于所述阈值,则将所述秩选择参数的应用值设置为0。
27.根据权利要求22所述的计算机可读介质,进一步包括用于执行反向传播以基于所述秩选择参数的实际值来确定所述一组秩选择参数中的每个秩选择参数的误差的代码,所述实际值包括实数。
28.根据权利要求22所述的计算机可读介质,其中所述秩选择参数与所述第一权重张量和所述第二权重张量同时被更新。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/962,996 | 2018-04-25 | ||
US15/962,996 US11238346B2 (en) | 2018-04-25 | 2018-04-25 | Learning a truncation rank of singular value decomposed matrices representing weight tensors in neural networks |
PCT/US2019/028361 WO2019209658A1 (en) | 2018-04-25 | 2019-04-19 | Learning a truncation rank of singular value decomposed matrices representing weight tensors in neural networks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112005250A true CN112005250A (zh) | 2020-11-27 |
Family
ID=66429643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980027217.2A Pending CN112005250A (zh) | 2018-04-25 | 2019-04-19 | 学习表示神经网络中的权重张量的奇异值分解矩阵的截断秩 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11238346B2 (zh) |
EP (1) | EP3785176A1 (zh) |
CN (1) | CN112005250A (zh) |
WO (1) | WO2019209658A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022237366A1 (en) * | 2021-05-11 | 2022-11-17 | Huawei Technologies Co., Ltd. | System, method and storage medium for processing probability distributions in neural networks |
CN118171049A (zh) * | 2024-05-13 | 2024-06-11 | 西南交通大学 | 一种基于大数据的边缘计算的电池管理方法及系统 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7240657B2 (ja) * | 2018-05-15 | 2023-03-16 | Tokyo Artisan Intelligence株式会社 | ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム |
US20200097818A1 (en) * | 2018-09-26 | 2020-03-26 | Xinlin LI | Method and system for training binary quantized weight and activation function for deep neural networks |
EP3881225A1 (en) * | 2018-11-15 | 2021-09-22 | Qualcomm Incorporated | Coordinate estimation on n-spheres with spherical regression |
US11562205B2 (en) * | 2019-09-19 | 2023-01-24 | Qualcomm Incorporated | Parallel processing of a convolutional layer of a neural network with compute-in-memory array |
US11501227B2 (en) * | 2019-12-09 | 2022-11-15 | Microsoft Technology Licensing, Llc | Providing alternate resource deployment guidance for use with cloud services |
CN113537485A (zh) * | 2020-04-15 | 2021-10-22 | 北京金山数字娱乐科技有限公司 | 一种神经网络模型的压缩方法及装置 |
EP4012624A1 (en) * | 2020-12-10 | 2022-06-15 | Toyota Jidosha Kabushiki Kaisha | Efficient and stable training of a neural network in compressed form |
DE112022000932T5 (de) * | 2021-02-03 | 2023-11-16 | Tektronix, Inc. | Augen-klassen-separator mit überlapp, zusammgesetzte und dynamisiche augen-trigger für menschen und maschinelles lernen |
US11923895B2 (en) | 2021-03-24 | 2024-03-05 | Tektronix, Inc. | Optical transmitter tuning using machine learning and reference parameters |
US11923896B2 (en) | 2021-03-24 | 2024-03-05 | Tektronix, Inc. | Optical transceiver tuning using machine learning |
WO2022251317A1 (en) * | 2021-05-27 | 2022-12-01 | Rutgers, The State University Of New Jersey | Systems of neural networks compression and methods thereof |
US11907090B2 (en) | 2021-08-12 | 2024-02-20 | Tektronix, Inc. | Machine learning for taps to accelerate TDECQ and other measurements |
US11940889B2 (en) * | 2021-08-12 | 2024-03-26 | Tektronix, Inc. | Combined TDECQ measurement and transmitter tuning using machine learning |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106127297A (zh) * | 2016-06-02 | 2016-11-16 | 中国科学院自动化研究所 | 基于张量分解的深度卷积神经网络的加速与压缩方法 |
CN107515843A (zh) * | 2017-09-04 | 2017-12-26 | 四川易诚智讯科技有限公司 | 基于张量近似的各向异性数据压缩方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6807536B2 (en) | 2000-11-16 | 2004-10-19 | Microsoft Corporation | Methods and systems for computing singular value decompositions of matrices and low rank approximations of matrices |
JP5178662B2 (ja) | 2009-07-31 | 2013-04-10 | 富士フイルム株式会社 | 画像処理装置及び方法、データ処理装置及び方法、並びにプログラム |
US8873813B2 (en) | 2012-09-17 | 2014-10-28 | Z Advanced Computing, Inc. | Application of Z-webs and Z-factors to analytics, search engine, learning, recognition, natural language, and other utilities |
US8732627B2 (en) * | 2012-06-18 | 2014-05-20 | International Business Machines Corporation | Method and apparatus for hierarchical wafer quality predictive modeling |
US9240360B2 (en) * | 2012-07-25 | 2016-01-19 | International Business Machines Corporation | Run-to-run control utilizing virtual metrology in semiconductor manufacturing |
US9461876B2 (en) * | 2012-08-29 | 2016-10-04 | Loci | System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction |
US10402720B2 (en) | 2014-07-16 | 2019-09-03 | Qualcomm Incorporated | Decomposing convolution operation in neural networks |
US10223635B2 (en) | 2015-01-22 | 2019-03-05 | Qualcomm Incorporated | Model compression and fine-tuning |
US9792492B2 (en) | 2015-07-07 | 2017-10-17 | Xerox Corporation | Extracting gradient features from neural networks |
CN106326985A (zh) | 2016-08-18 | 2017-01-11 | 北京旷视科技有限公司 | 神经网络训练方法和装置及数据处理方法和装置 |
-
2018
- 2018-04-25 US US15/962,996 patent/US11238346B2/en active Active
-
2019
- 2019-04-19 WO PCT/US2019/028361 patent/WO2019209658A1/en unknown
- 2019-04-19 EP EP19722421.5A patent/EP3785176A1/en active Pending
- 2019-04-19 CN CN201980027217.2A patent/CN112005250A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106127297A (zh) * | 2016-06-02 | 2016-11-16 | 中国科学院自动化研究所 | 基于张量分解的深度卷积神经网络的加速与压缩方法 |
CN107515843A (zh) * | 2017-09-04 | 2017-12-26 | 四川易诚智讯科技有限公司 | 基于张量近似的各向异性数据压缩方法 |
Non-Patent Citations (2)
Title |
---|
JOSE M. ALVAREZ 等: "Compression-aware Training of Deep Networks", 《ARXIV》, pages 1 - 12 * |
PREETUM NAKKIRAN 等: "Compressing Deep Neural Networks using a Rank-Constrained Topology", 《INTERSPEECH》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022237366A1 (en) * | 2021-05-11 | 2022-11-17 | Huawei Technologies Co., Ltd. | System, method and storage medium for processing probability distributions in neural networks |
CN118171049A (zh) * | 2024-05-13 | 2024-06-11 | 西南交通大学 | 一种基于大数据的边缘计算的电池管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20190332941A1 (en) | 2019-10-31 |
US11238346B2 (en) | 2022-02-01 |
EP3785176A1 (en) | 2021-03-03 |
WO2019209658A1 (en) | 2019-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112005250A (zh) | 学习表示神经网络中的权重张量的奇异值分解矩阵的截断秩 | |
KR102595399B1 (ko) | 미지의 클래스들의 검출 및 미지의 클래스들에 대한 분류기들의 초기화 | |
US20210089922A1 (en) | Joint pruning and quantization scheme for deep neural networks | |
KR102570706B1 (ko) | 분류를 위한 강제된 희소성 | |
US10332028B2 (en) | Method for improving performance of a trained machine learning model | |
CN107209873B (zh) | 用于深度卷积网络的超参数选择 | |
EP3295382B1 (en) | Bit width selection for fixed point neural networks | |
US11586924B2 (en) | Determining layer ranks for compression of deep networks | |
US20170091619A1 (en) | Selective backpropagation | |
US20210158166A1 (en) | Semi-structured learned threshold pruning for deep neural networks | |
US11443514B2 (en) | Recognizing minutes-long activities in videos | |
WO2021050440A1 (en) | Performing xnor equivalent operations by adjusting column thresholds of a compute-in-memory array | |
WO2022087242A1 (en) | Personalized neural network pruning | |
US11449758B2 (en) | Quantization and inferencing for low-bitwidth neural networks | |
US20220101133A1 (en) | Dynamic quantization for energy efficient deep learning | |
US20230076290A1 (en) | Rounding mechanisms for post-training quantization | |
US11704571B2 (en) | Learned threshold pruning for deep neural networks | |
WO2023059723A1 (en) | Model compression via quantized sparse principal component analysis | |
EP4244828A1 (en) | Skip convolutions for efficient video processing | |
US20240160926A1 (en) | Test-time adaptation via self-distilled regularization | |
US20230419087A1 (en) | Adapters for quantization | |
WO2022193052A1 (en) | Kernel-guided architecture search and knowledge distillation | |
WO2024102530A1 (en) | Test-time adaptation via self-distilled regularization | |
WO2023249821A1 (en) | Adapters for quantization | |
KR20230091879A (ko) | 뉴럴 오디오 데이터 프로세싱을 위한 서브-스펙트럼 정규화 |
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 |