CN111357019B - 通过对权重矩阵实施空间局部性并实现频率压缩来压缩(多个)深度网络的全连接/递归层 - Google Patents
通过对权重矩阵实施空间局部性并实现频率压缩来压缩(多个)深度网络的全连接/递归层 Download PDFInfo
- Publication number
- CN111357019B CN111357019B CN201880074735.5A CN201880074735A CN111357019B CN 111357019 B CN111357019 B CN 111357019B CN 201880074735 A CN201880074735 A CN 201880074735A CN 111357019 B CN111357019 B CN 111357019B
- Authority
- CN
- China
- Prior art keywords
- subcomponents
- component
- computer
- original
- normalized
- 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
Links
- 238000007906 compression Methods 0.000 title abstract description 29
- 230000006835 compression Effects 0.000 title abstract description 28
- 238000013528 artificial neural network Methods 0.000 claims abstract description 60
- 239000011159 matrix material Substances 0.000 claims abstract description 32
- 238000012549 training Methods 0.000 claims abstract description 25
- 230000009466 transformation Effects 0.000 claims abstract description 15
- 238000005070 sampling Methods 0.000 claims abstract description 11
- 230000011218 segmentation Effects 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 55
- 238000003860 storage Methods 0.000 claims description 31
- 238000012545 processing Methods 0.000 claims description 28
- 238000004891 communication Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 15
- 238000009826 distribution Methods 0.000 abstract description 11
- 230000008901 benefit Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 16
- 238000004590 computer program Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 14
- 238000013135 deep learning Methods 0.000 description 8
- 238000013527 convolutional neural network Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000000670 limiting effect Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 102100031786 Adiponectin Human genes 0.000 description 4
- 101000775469 Homo sapiens Adiponectin Proteins 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012706 support-vector machine Methods 0.000 description 4
- 230000001131 transforming effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000001815 facial effect Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 229910052802 copper Inorganic materials 0.000 description 2
- 239000010949 copper Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000012669 compression test Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000012268 genome sequencing Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 210000000554 iris Anatomy 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 210000001747 pupil Anatomy 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- 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/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/02—Computing arrangements based on specific mathematical models using fuzzy logic
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Complex Calculations (AREA)
- Image Analysis (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一种系统,具有存储计算机可执行组件的存储器以及执行计算机可执行组件的处理器,该系统通过利用权重矩阵的空间局部性并实现频率变换和压缩来减少与训练神经网络有关的数据大小。接收组件接收以压缩的频域权重矩阵形式的神经网络数据。分割组件将初始权重矩阵分割成原始子分量,其中相应的原始子分量具有空间权重。采样组件将广义权重分布应用于相应的原始子分量以生成相应的归一化子分量。变换组件对相应的归一化子分量应用变换。裁剪组件裁剪经变换的相应的归一化子分量的高频权重以产生低频归一化子分量的集合,以生成原始子分量的压缩表示。
Description
技术领域
本公开总体上涉及通过对权重矩阵施加空间局部性并实现频率压缩来减小与训练(多个)神经网络有关的数据大小。
背景技术
神经网络正迅速地获得与从物理世界收集和移动关键数据以及在数字世界中处理这样的数据有关的推动力。在过去的十年中,使用神经网络“深度学习(DL)”已经改革了各种学科,包括语音识别、图像识别、自然语言处理、基因组测序和许多其他领域。通过在这样的领域中的大量标记的数据的可用性,结合由高性能图形处理单元(GPU)提供的增强的计算能力,已经实现了这种快速进步。尽管各种令人印象深刻的技术在进步,但是即使在切割边缘硬件上,训练分布式神经网络(DNN)也会花费数天到数周的时间。此外,给定大量的可训练的模型参数(也被称为权重),通信带宽常常会限制分布式学习器的数目,这可能阻止完全的利用。训练神经网络可能花费很长时间的两个重要原因是:神经网络通常是庞大的并且包含数百万个待优化的参数(被称为权重);并且给定大量的参数,通常需要几十万个示例来训练神经网络,这会消耗大量的处理、存储器和通信资源。
当前的计算系统通常被设置有处理单元和存储器。即使对于高效和强大的计算机处理单元(CPU),也可能出现在CPU和存储器之间形成瓶颈的情况,这被称为“处理器存储器瓶颈”(也被称为冯诺依曼瓶颈)。必须持续地将数据提供给CPU,以使其以最佳能力运行。减少在CPU和存储器之间或者在集中式参数服务器和多个分布式计算节点之间传输的数据量可以极大地提高神经网络的效率和性能。为了训练典型的神经网络,一般将权重初始化为完全的随机数,然后允许网络训练。为了改进这样的处理,在初始化时对权重矩阵实施空间局部性(其中特定区域中的权重彼此相似)以有利于频率压缩,而不是在每个神经网络的层中将权重初始化为随机数。对于空间局部性,在特定区域中从一个权重到另一权重通常存在微小变化;通过频率变换,数据可以被分离成少量的低频分量。在该上下文中,开发用于减少存储器占用以及因此减少传送权重矩阵的带宽需求的“深度学习友好的”压缩技术可以加速用于深度学习的软件和硬件框架两者。卷积神经网络(CNN)是指由生物神经网络启示的计算系统,其通过考虑通常没有任务特定编程的示例来学习完成任务。神经网络方法的一个目标是以与人脑相同的方式解决问题。随着时间的推移,注意力集中在匹配特定的精神能力,导致偏离生物学,诸如反向传播(例如,计算损失函数(例如,产生与给定状态相关联的成本)相对于CNN中的权重的梯度的方法)或在相反方向上传递信息并调整网络以反映这样的信息。例如,在图像识别中,CNN可以学习通过分析已经被手动标记为“脸部特征”或“无脸部特征”的示例图像并且使用分析结果来标识其他图像中的脸部来标识包含脸部特征的图像。在具有多个隐藏层的人工网络中,初始层可以检测基元(例如,眼睛中的瞳孔、虹膜、睫毛等),并且输出被前馈到执行更抽象概括的更深层(例如,眼睛、嘴…)等,直到最终层执行复杂对象识别(例如,脸部)。CNN已经在难以由使用基于规则的编程的传统计算机算法来表达的应用中找到相当大的用途。
为了更好地理解人工神经计算,首先知道常规的”串行”计算机及其软件如何处理信息是有帮助的。串行计算机具有能够寻址存储数据和指令的存储器位置阵列的中央处理器。通过处理器从存储器地址读取指令以及指令所需的数据来进行计算,然后执行指令,并且将结果保存在指定的存储器位置中。在串行系统(以及标准并行系统)中,计算步骤是确定性的、顺序的和逻辑的,并且可以从一个操作到另一操作跟踪给定变量的状态。相比之下,CNN不是顺序的或不一定是确定性的。不存在复杂的中央处理器,而是存在许多简单的中央处理器,这些中央处理器通常只是对来自其他处理器的输入进行加权求和。CNN不执行编程指令;其并行地(例如,模拟的或实际的)响应于被呈现给它的输入模式。
因此,在本领域中需要解决上述问题。
发明内容
从第一方面来看,本发明提供了一种用于在神经网络训练期间压缩数据的系统,包括:存储器,其存储计算机可执行组件和神经网络数据;处理器,其执行被存储在存储器中的计算机可执行组件,其中计算机可执行组件包括:接收组件,其接收以权重矩阵形式的神经网络数据;分割组件,其将权重矩阵分割成原始子分量,其中相应的原始子分量具有空间权重;采样组件,其将广义权重分布应用于相应的原始子分量,以生成相应的归一化子分量;变换组件,其对相应的归一化子分量应用变换;以及裁剪组件,其裁剪经变换的相应的归一化子分量的高频权重以生成低频归一化子分量的集合,以生成原始子分量的压缩表示。
从另一方面来看,本发明提供了一种计算机实现的方法,包括采用处理器和存储器来执行计算机可执行组件以执行以下动作:接收以权重矩阵形式的神经网络数据;将权重矩阵分割成原始子分量,其中相应的原始子分量具有空间权重;将广义权重分布应用于相应的原始子分量,以生成相应的归一化子分量;对相应的归一化子分量应用变换;以及裁剪经变换的相应归一化子分量的高频权重,以生成低频归一化子分量的集合。
从另一方面来看,本发明提供了一种用于在神经网络训练期间压缩数据的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质能够由处理电路读取并且存储由处理电路执行以用于执行本发明的步骤的方法的指令。
从另一方面来看,本发明提供了一种被存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,包括软件代码部分,当该程序在计算机上运行时,用于执行本发明的步骤。
以下给出了概述以提供对本发明的一个或多个实施例的基本理解。本概述不旨在标识关键或重要元素,或描绘特定实施例的任何范围或权利要求的任何范围。其唯一目的是以简化形式呈现概念,作为稍后呈现的更详细描述的序言。在本文描述的一个或多个实施例中,描述了在特定上下文中使用神经网络来有利于最终产品的生产的系统、计算机实现的方法、装置和/或计算机程序产品。
根据一个实施例,一种用于在神经网络训练期间压缩数据的系统,包括:存储器,其存储计算机可执行组件和神经网络数据;处理器,其执行被存储在存储器中的计算机可执行组件,其中计算机可执行组件包括:接收组件,其接收以权重矩阵形式的神经网络数据;分割组件,其将权重矩阵分割成原始子分量,其中相应的原始子分量具有空间权重;采样组件,其将广义权重分布应用于相应的原始子分量,以生成相应的归一化子分量;变换组件,其对相应的归一化子分量应用变换;以及裁剪组件,其裁剪经变换的相应的归一化子分量的高频权重以生成低频归一化子分量的集合,以生成原始子分量的压缩表示。
根据又一实施例,一种计算机实现的方法,包括采用处理器和存储器来执行计算机可执行组件以执行以下动作:初始化被分割成原始子分量的权重矩阵,其中相应的原始子分量具有空间权重;将广义权重分布应用于相应的原始子分量,以生成相应的归一化子分量;对相应的归一化子分量应用变换,从而生成低频和高频权重;以及裁剪经变换的相应的归一化子分量的高频权重,以生成压缩的归一化子分量的集合。
另一实施例包括一种计算机程序产品,其上存储有上述计算机可执行组件。
附图说明
现在将参考优选实施例仅通过示例的方式描述本发明,如以下附图所示:
图1示出了根据本发明的优选实施例的示例系统的框图,该示例系统使用(多个)变换并将空间局部性施加到权重矩阵以生成压缩的密集低频权重来训练神经网络;
图2示出了根据本发明的优选实施例的使用(多个)变换并将空间局部性施加到权重矩阵以生成压缩的密集低频权重来训练神经网络的过程;
图3示出了根据本发明的优选实施例的将空间局部性施加到权重矩阵以生成压缩的密集低频权重来训练神经网络的过程流程图;
图4示出了跨多个学习器分布计算的模型,使得相应的学习器将具有神经网络的个体副本和示例以根据实现进行训练,并且将在训练期间彼此交换权重信息和/或与一个或多个参数服务器交换权重信息。
图5示出了根据本发明的优选实施例的百分比误差与神经网络训练数据的时期(epoch)数目图表,其中使用被称为MNIST的基准;
图6示出了根据本发明的优选实施例的百分比误差与神经网络训练数据的时期数目的图表,其中使用被称为Imagenet的基准和被称为Alexnet的神经网络配置;
图7示出了ACDC方法测试结果和其他现有技术方法与本文描述的本发明优选实施例之间的比较图;
图8示出了根据本发明的优选实施例的基于空间矩阵的选择性操纵来有利于提高学习效率的备选实现;以及
图9是根据本发明的优选实施例的示例操作环境的示意图;
具体实施方式
以下详细描述仅是说明性的,并且不旨在限制实施例和/或实施例的应用或使用。此外,并不旨在受前面的发明内容部分或具体实施方式部分中呈现的任何明示或暗示的信息的约束。现在参考附图描述一个或多个实施例,其中相同的附图标记始终用于表示相同的元件。在以下描述中,出于解释的目的,阐述了许多具体细节以提供对一个或多个实施例的更透彻理解。但是,明显的是,在各种情况下,可以在没有这些具体细节的情况下实践一个或多个实施例。
本文描述的一个或多个实施例提供了(多个)神经网络模型的生成和采用,该(多个)神经网络模型有利于标识和处理数据以实现利用具有可忽略的数据丢失的最佳压缩数据集的预期结果。基于完成这样的任务所需的典型要求,采用神经网络以用于各种计算目标可能是困难的。密集的数据交互和CPU使用可能在实现最高质量结果方面是限制性的。高分辨率图像或视频经常被用作神经网络的输入以用于识别和推理操作。大的神经网络大小可能是由于大量的输入像素计数和隐藏层大小。在当前的现有技术下,这些图像可以包含高达和超过1600亿参数的巨大数据量。用于处理该级别的数据的时间长度和计算能力对于完成期望的分类任务可能是禁止性的。因此,需要对边缘的、特别是对于诸如认知物联网(IoT)和存储装置内的数据挖掘等领域的高效计算,其可以利用高达且包括尧字节(10008字节)的艾字节。
在当前的现有技术下,许多神经网络在被减小(例如,被压缩)的密集图像上被操作。离散余弦变换(DCT)通常用于联合图像专家组(JPEG)压缩。本文所采用的DCT将图像变换到频域。实词图像通常具有空间局部性,并且相关信息通常集中在低频分量中。本发明提供了一种技术,用以基于与现有技术不同的频率变换压缩方法,从操作作用于具有大量数据的密集图像的大型且复杂的神经网络(通常要求相当大的功率、处理能力、存储器和带宽)移动到作用于越来越小的输入,并且引起神经网络速度和性能的显著增益。由于(例如,在这些神经网络的图像或视频输入中显现的)相邻像素之间的相关性,存在固有的数据冗余或相似性,其可以被利用来改进当前数据计算策略的整个过程。这是驱动主题压缩过程的空间局部性概念。取代在每个神经网络的层中将权重初始化为随机数,空间局部性(例如,在特定区域中的彼此相似的权重)被施加在权重矩阵上以有利于频率压缩以及减小跨分布式神经网络被传输的数据的大小。通常,对于空间局部性,在特定区域中从一个权重到另一权重存在微小变化;通过频率变换,这样的数据可以被分离成少量的低频分量。在该上下文中,通过减少与传输权重矩阵相关联的存储器占用和带宽要求来有利于“深度学习友好的”压缩技术,这可以改进用于深度学习的软件和硬件框架。
图1示出了根据本文描述的一个或多个实施例的示例非限制性系统100的框图,该系统100有利于分析大数据集并训练神经网络以在特定上下文中提供最优结果。本公开中所解释的系统(例如,系统100等)、装置或过程的各方面可以构成在(多个)机器内体现的(多个)机器可执行组件,例如,在与一个或多个机器相关联的一个或多个计算机可读介质(或多个介质)中体现的。(多个)这样的组件在由一个或多个机器执行时,可以使(多个)机器执行所描述的操作,机器例如是(多个)计算机、(多个)计算设备、(多个)虚拟机等。为了简洁,省略了对本文描述的一个或多个实施例中采用的类似元件的重复描述。
系统100可以可选地包括服务器设备、一个或多个网络以及一个或多个设备(未示出)。系统100还可以包括或以其他方式与执行被存储在存储器104中的计算机可执行组件的至少一个处理器102相关联。系统100还可以包括系统总线106,其可以耦合各种组件,包括但不限于接收组件107、分割组件108、采样组件110、变换组件112、裁剪组件114和逆变换组件116。系统100可以是任何合适的计算设备或能够通信地耦合到设备的计算设备的集合,其非限制性示例可以包括但不限于服务器计算机、计算机、移动计算机、大型计算机、自动化测试系统、网络存储设备、通信设备、web服务器设备、网络交换设备、网络路由设备、网关设备、网络集线器设备、网络桥接器设备、控制系统或任何其他合适的计算设备。设备可以是能够与系统100传送信息的任何设备和/或可以采用由系统100提供的信息的任何其他合适的设备。应当理解,系统100、组件、模型或设备可以被配备有通信组件(未示出),其使得能够通过一个或多个网络在系统、组件、模型、设备等之间进行通信。
根据系统100,存储器104可以存储由处理器102可执行的计算机可执行组件。接收组件107可以接收输入权重矩阵并将数据传输到相应的目的地。分割组件108可以将初始权重矩阵分割成原始子分量。采样组件110可以将总体权重分布应用于原始子分量。变换组件112可以将变换(例如,DCT)应用于空间权重的子块,以生成在低频区段中具有相关数据的权重。裁剪组件114可以剪切掉高频分量,使得低频数据集保持有集中的信息。逆变换组件116可以将经压缩的数据集从频域变换回到空间域。应当理解,本发明不限于使用DCT变换,并且可以采用任何合适的频率变换(例如,傅立叶变换、LaPlace变换、小波变换、Z变换…)。
本发明有利于减少在计算机处理单元(CPU)与存储器之间、或者在集中式参数服务器与多个分布式计算节点之间被传输的数据量,以提高神经网络的效率和性能。系统100不是在每个神经网络的层中将权重初始化为随机数,而是将空间局部性(例如,特定区域中的权重彼此类似)施加在(多个)权重矩阵上以有利于频率压缩并减小跨分布式神经网络被传输的数据的大小。通常,对于空间局部性,在特定区域中从一个权重到另一权重存在微小变化;通过频率变换,这样的数据可以被分离成少量的低频分量。在该上下文中,通过减少与传输权重矩阵相关联的存储器占用和带宽要求来有利于“深度学习友好的”压缩技术,这可以改进用于深度学习的软件和硬件框架。
在各种实现中,应当理解,空间局部性实施和插值在训练开始时,当权重被初始化时完成。不是随机地初始化整个权重矩阵,而是随机地初始化每个子块的拐角。然后,进行插值以填充每个子分量内的其他值。训练过程涉及在许多示例和时期上微调权重。当需要例如从发送器向接收器传输权重时,在发送器处执行压缩,其中发送器是CPU/参数服务器/学习器,并且接收器是存储器/学习器。在接收器处执行填充和解压缩,使得在信道上传输的数据被最小化。然而,随后不执行初始化和插值步骤。
系统100的各种组件(例如,接收组件107、分割组件108、采样组件110、变换组件112、裁剪组件114、逆变换组件116和/或其他组件)可以直接连接或经由一个或多个网络连接。这样的网络可以包括有线和无线网络,包括但不限于蜂窝网络、广域网(WAN)(例如,因特网)或局域网(LAN),其非限制性示例包括蜂窝、WAN、无线保真(Wi-Fi)、Wi-Max、WLAN、无线电通信、微波通信、卫星通信、光通信、声波通信或任何其他合适的通信技术。此外,已经关于若干组件之间的交互描述了上述系统和/或设备。应当理解,这样的系统和组件可以包括其中指定的那些组件或子组件、指定的组件或子组件中的一些、和/或附加组件。子组件还可以被实现为通信地耦合到其他组件而不是被包括在父组件内的组件。此外,一个或多个组件和/或子组件可以被组合成提供聚集功能性的单个组件。这些组件还可以与一个或多个其他组件交互,为了简洁起见,本文没有具体描述这些其他组件,但是本领域技术人员已知这些组件。
此外,所执行的一些过程可以由专用计算机执行,以用于执行限定的任务,该限定的任务与其特定上下文中的各种类型的神经网络相关。本发明的计算机处理系统、方法、装置和/或计算机程序产品可以被采用来解决由于技术、计算机网络、因特网等的进步而出现的新问题。
本文描述的设备的某些实施例可以可选地采用人工智能(AI)来有利于使本文描述的一个或多个特征自动化。这些组件可以采用各种基于AI的方案来执行本文所公开的各种实施例/示例。为了提供或帮助本文所述的许多确定(例如,确定、确认、推断、运算、预测、预估、估计、导出、预报、检测、计算),本文所述的组件可以检查其被授予访问的数据的整体或子集,并且可以从经由事件和/或数据被捕获的一组观察中提供关于系统、环境等的状态的推理或确定系统、环境等的状态。例如,可以采用确定来标识特定的上下文或动作,或者可以生成状态的概率分布。确定可以是概率性的,即,基于对数据和事件的考虑来计算感兴趣的状态的概率分布。确定还可以指被采用以从一组事件和/或数据中构成更高级别事件的技术。
这样的确定可以引起根据以下来构造新的事件或动作:一组观察到的事件和/或被存储的事件数据,这些事件是否在时间上紧密相关,以及这些事件和数据是否来自一个或若干个事件和数据源。本文所公开的组件可以结合执行与所要求保护的主题有关的自动和/或确定的动作来采用各种分类(显式训练的(例如,经由训练数据)以及隐式训练的(例如,经由观察行为、偏好、历史信息、接收非固有信息等))方案和/或系统(例如,支持向量机、神经网络、专家系统、贝叶斯置信网络、模糊逻辑、数据融合引擎等)。因此,分类方案和/或系统可以用于自动地学习和执行多个功能、动作和/或确定。
分类器可以将输入属性向量z=(z1,z2,z3,z4,…,zn)映射到输入属于一类别的置信度,如通过f(z)=置信度(类别)。这样的分类可以采用基于概率和/或统计的分析(例如,将分析效用和成本考虑在内)来确定要被自动执行的动作。支持向量机(SVM)可以是可以被采用的分类器的示例。SVM通过在可能输入的空间中寻找超表面来操作,其中超表面试图将触发准则从非触发事件中分离。直观地,这使得分类对于接近但不等同于训练数据的测试数据是正确的。其他定向和非定向的模型分类方法包括例如朴素贝叶斯、贝叶斯网络、决策树、神经网络、模糊逻辑模型和/或可以使用提供不同独立模式的概率分类模型。如本文所使用的分类还包括用于开发优先级模型的统计回归。
图2示出了在初始化时在频率分量/递归层中实施空间局部性的过程的实施例。初始权重矩阵202被分解成较小的区域(子块)204,其中该区域内的参数具有一定程度的空间相关性。可以从随机数的分布中采样每个子块的拐角权重值。在一个实施例中,该分布可以是与未采用该技术的权重矩阵的随机初始化所使用的分布相同的分布。双线性插值206可以用于填充其余的值。此时,服务器包含权重的统一副本,并且其使用DCT或另一变换将相应的子分量变换到频域中。示例子块208在低频段中包含重要的相关数据,其中较高频段包含具有小值或零的数据。随后,数据块208的高频分量区域被剪切掉,只留下低频部分区域(例如三角形)210。这是服务器向每个接收器发送出的权重的压缩频率表示。通过减小被传输的数据的大小,权重的压缩频域表示的减小的大小有助于提高的效率和性能。在(多个)接收器处,用零填充区域210的空区段,并且执行逆变换(例如,逆DCT变换)以产生空间权重212的数据块,其为原始数据块204的近似表示。应当理解,本发明不限于拐角或相关区域的某些形状。相反,本发明旨在涵盖用于对权重矩阵施加空间局部性(例如,特定区域中的权重彼此相似)以有利于频率压缩并减小跨分布式神经网络被传输的数据的大小的任何合适的技术。
图3示出了根据实现的流程图300。在302处,用空间相关性初始化权重矩阵(例如,使用分割组件108和采样组件110)。在304处,对空间权重的子块执行变换(例如,DCT变换)以产生具有集中在低频区中的数据的压缩子数据块(例如,使用变换组件112)。在306处,对其余的高频段进行剪切以减少较不相关的数据(例如,使用裁剪组件114)。在308处,对数据低频数据执行逆变换(例如,逆DCT)(例如,使用逆变换组件116),并且然后用零填充其余区域。在310处,在接收器处获得权重的近似版本,并且该权重的近似版本用于训练神经网络。通过在已建立的神经网络基准上评估该技术,可以确定是否实现了与其中不应用压缩的训练任务相同的训练准确度。如果是,则在312处继续神经网络的训练。如果否,则在314处改变空间局部性,并且在302处重复该过程。关于动作310、312和314,可选地执行检查是否实现了与无压缩基线相同的效率以相对于某些标准基准来验证本创新(例如,在现实世界实现中,具有关于在没有压缩的情况下应当具有什么准确度的先验知识是不切实际的)。
为了解释的简单起见,将计算机实现的方法描绘和描述为一系列动作。应当理解和明白,本发明不受所示动作和/或动作次序的限制,例如,动作可以按各种次序和/或并发地发生,并且可以与本文未呈现和描述的其他动作一起发生。此外,并非所有示出的动作都是实现根据所公开的主题的计算机实现的方法所必需的。另外,本领域技术人员将理解和明白,计算机实现的方法可以备选地经由状态图或事件被表示为一系列相互关联的状态。此外,还应当理解,下文中以及贯穿本说明书所公开的计算机实现的方法能够被存储在制品上,以有利于将这样的计算机实现的方法传送和转移到计算机。如本文所使用的术语制品旨在涵盖从任何计算机可读设备或存储介质可访问的计算机程序。
图4示出了根据本发明的分布式学习器模型。参数服务器或分布式学习器402对具有空间相关性的权重矩阵406应用变换407,以将空间分量变换到频域。在408处,相关信息集中在低频。在409处对高频分量进行剪切,以得到以压缩方式包含相关信息的一组经裁剪的DCT权重410。在412处,压缩的DCT权重被传输到分布式学习器414,在那里执行逆变换,并且在416处,任何其余区域被填充零,以得到用于训练相应神经网络的一组近似空间权重418。该模型跨多个学习器分布计算。每个学习器将具有神经网络的个体副本和示例以进行训练。随后,在每个学习器训练之后,每个学习器将向参数服务器发送信息,参数服务器将跨多个学习器同步权重更新,并将新的更新的权重传递给每个学习器。该模型将允许对称地分布工作负荷的能力——例如:集中式服务器将仅需要“10小时的时间来锻炼10个时期”。利用分布式学习系统,可以具有10个学习器,并且整个工作负载可以仅花费一个小时。
图5示出了压缩测试情况的结果。对三层神经网络的层1(784×1008)和第二层(1008×1008)施加压缩,并且基准被称为MNIST——0-9之间的手写数字的数据集。数据集包含用于训练神经网络的60000个训练图像和用于评估神经网络在识别未明确训练的图像时的准确度的10000个测试图像。该数据图表反映了使用本主题压缩方法对所学习的任务的准确度没有切实影响。右边的示例(504)是针对在以时期测量的某训练长度之后被提供给神经网络的测试数据,其中每个时期表示训练数据集的60000个图像的一个完整的通过。该图表示出了准确度实际上等于没有采用压缩的基线情况。对于100个时期的测试,测试结果示出基线和8X压缩的~98.4%的准确度(~1.6%的误差),以及16X压缩的仅稍微更高的误差(~1.7%)。
图6示出了附加的压缩比较数据。使用Alexnet(具有数百万参数(权重)的特定神经网络配置)来训练被称为ImageNet的较大基准数据集。该图表反映了在7x压缩下,存在零可测量损失,并且在9x下,仅存在0.4%的数据损失。从观察该图表,清楚的是,7x和9x数据结果都极好地跟踪基线。
图7反映了使用本发明与其他常规技术(例如ACDC、Cheng、Yang、Novikov…)相比较的比较结果。702处的图表指示,在7x压缩下,ACDC方法相对于基线具有0.7%的误差增加,而在相同的压缩率下,本发明相对于基线仅具有0.2%的误差增加。此外,在误差增加0.6%时,ACDC方法可以压缩高达6x,而本发明提供9x压缩。该数据表明,与常规技术相比,本发明在相同的压缩比下提供了提高的准确度,并且在相同的准确度下提供了更高的压缩比。
图8示出了基于空间矩阵的选择性操纵在增加学习效率方面的潜在的进一步的进步——不同的备选方案被显示。802描绘了如上所述的移除高频分量的基本原理。804描绘了保持一些较高频率分量而不是将所有分量置零的技术,这可以进一步减少变换期间的损失。806示出了在阴影单元中的高频分量上的进一步插值;取代将这些值保持为零,可以潜在地基于相邻值来进一步对其进行解释。
为了提供所公开的主题的各个方面的上下文,图9以及以下讨论旨在提供对其中可以实现所公开的主题的各个方面的合适环境的总体描述。图9示出了其中可以有利于本文所描述的一个或多个实施例的示例非限制性操作环境的框图。为了简洁,省略了在本文描述的其他实施例中采用的类似元件的重复描述。
参考图9,用于实现本公开的各方面的合适的操作环境900还可以包括计算机912。计算机912还可以包括处理单元914、系统存储器916和系统总线918。系统总线918将包括但不限于系统存储器916的系统组件耦合到处理单元914。处理单元914可以是各种可用处理器中的任一种。双微处理器和其他多处理器架构也可用作处理单元914。系统总线918可以是若干类型的(多个)总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线或外部总线、和/或使用任何各种可用总线架构的局部总线,这些总线架构包括但不限于工业标准架构(ISA)、微通道架构(MSA)、扩展ISA(EISA)、智能驱动电子设备(IDE)、VESA局部总线(VLB)、外围组件互连(PCI)、卡总线、通用串行总线(USB)、高级图形端口(AGP)、火线(IEEE 1094)和小型计算机系统接口(SCSI)。系统存储器916还可以包括易失性存储器920和非易失性存储器922。基本输入/输出系统(BIOS)包含诸如在启动期间在计算机912内的元件之间传输信息的基本例程,其被存储在非易失性存储器922中。作为说明而非限制,非易失性存储器922可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存或非易失性随机存取存储器(RAM)(例如,铁电RAM(FeRAM),易失性存储器920也可以包括随机存取存储器(RAM),其充当外部高速缓存存储器,作为说明而非限制,RAM可以以许多形式可用,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链接DRAM(SLDRAM)、直接Rambus RAM(DRRAM)、直接Rambus动态RAM(DRDRDRAM)和Rambus动态RAM。
计算机912还可以包括可移除/不可移除、易失性/非易失性计算机存储介质。例如,图9示出了盘存储装置924。盘存储装置924还可以包括但不限于诸如磁盘驱动、软盘驱动、磁带驱动、Jaz驱动、Zip驱动、LS-100驱动、闪存卡或记忆棒之类的设备。盘存储装置924还可以包括单独的存储介质或与其他存储介质组合的存储介质,包括但不限于诸如紧致盘ROM设备(CD-ROM)、CD可记录驱动(CD-R驱动)、CD可重写驱动(CD-RW驱动)或数字多功能盘ROM驱动(DVD-ROM)等光盘驱动。为了有利于将盘存储装置924连接到系统总线918,通常使用诸如接口926等可移除或不可移除接口。图9还描绘了用作用户和在合适的操作环境901中描述的基本计算机资源之间的中介的软件。这样的软件还可以包括例如操作系统928。可以被存储在盘存储装置924上的操作系统928用于控制和分配计算机912的资源。系统应用930利用操作系统928通过例如被存储在系统存储器916或盘存储装置924上的程序模块932和程序数据934对资源的管理。应当理解,本公开可以用各种操作系统或操作系统的组合来实现。用户通过(多个)输入设备936将命令或信息输入到计算机912中。输入设备936包括但不限于诸如鼠标、跟踪球、指示笔等指向设备、触摸垫、键盘、麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪、TV调谐卡、数字相机、数字摄像机、web相机等等。这些和其他输入设备经由(多个)接口端口938通过系统总线918连接到处理单元914。(多个)接口端口938包括例如串行端口、并行端口、游戏端口和通用串行总线(USB)。(多个)输出设备940使用与(多个)输入设备936相同类型的端口中的一些端口。因此,例如,USB端口可用于向计算机912提供输入,并从计算机912向输出设备940输出信息。提供输出适配器942以说明除了其他输出设备940之外,还存在一些需要特殊适配器的输出设备940,如监视器、扬声器和打印机。作为示例而非限制,输出适配器942包括提供输出设备940和系统总线918之间的连接手段的视频卡和声卡。应当注意,其他设备和/或设备的系统提供输入和输出能力,诸如(多个)远程计算机944。
计算机912可以使用到诸如(多个)远程计算机944的一个或多个远程计算机的逻辑连接在网络化环境中操作。(多个)远程计算机944可以是计算机、服务器、路由器、网络PC、工作站、基于微处理器的器械、对等设备或其他常用的网络节点等,且通常还可以包括相对于计算机912所描述的许多或所有元件。为了简洁起见,仅用(多个)远程计算机944示出了存储器存储设备946。(多个)远程计算机944通过网络接口948逻辑地连接到计算机912,然后经由通信连接950物理地连接。网络接口948包括有线和/或无线通信网络,例如局域网(LAN)、广域网(WAN)、蜂窝网络等。LAN技术包括光纤分布式数据接口(FDDI)、铜线分布式数据接口(CDDI)、以太网、令牌环等。WAN技术包括但不限于点对点链路、如综合业务数字网(ISDN)及其变体的电路交换网络、分组交换网络、以及数字用户线(DSL)。(多个)通信连接950是指用于将网络接口948连接到系统总线918的硬件/软件。虽然为了清楚说明,通信连接950被示为在计算机912内部,但是其也可以在计算机912外部。仅出于示例性目的,用于连接到网络接口948的硬件/软件还可以包括内部和外部技术,诸如包括常规电话级调制解调器、电缆调制解调器和DSL调制解调器的调制解调器、ISDN适配器和以太网卡。
本发明的实施例可以是处于任何可能的技术细节集成级别的系统、方法、装置和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),该计算机可读程序指令用于使处理器执行本发明的各方面。计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任何合适的组合。计算机可读存储介质的更具体的示例的非穷举性列表还可以包括以下:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任何合适的组合。本文所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
本文所描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任何组合编写的源代码或目标代码,该编程语言包括面向对象的编程语言,诸如Smalltalk、C++等,以及过程式编程语言,诸如“C”编程语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为独立的软件封装执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任何种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者可以连接到外部计算机(例如利用因特网服务提供方来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
本文参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合都可以由计算机可读程序指令实现。这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而产生一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理器执行时,创建实现流程图和/或框图中的一个或多个框中规定的功能/动作的装置。也可以将这些计算机可读程序指令存储在计算机可读存储介质中,这些指令引导计算机、可编程装置和/或其他设备以特定方式工作,使得存储有指令的计算机可读介质包括制品,其包括实现流程图和/或框图中的一个或多个框中规定的功能/动作的各个方面的指令。也可以将计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能性和操作。在这方面,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的(多个)逻辑功能的一个或多个可执行指令。在一些备选实现中,框中所注明的功能可以不按图中所注明的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的次序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
尽管以上在运行在一个和/或多个计算机上的计算机程序产品的计算机可执行指令的一般上下文中描述了本主题,但是本领域的技术人员将认识到,本公开也可以结合其他程序模块来实现或可以结合其他程序模块来实现。通常,程序模块包括执行特定任务和/或实现特定抽象数据类型的例程、程序、组件、数据结构等。此外,本领域的技术人员可以理解,本发明的计算机实现的方法可以用其他计算机系统配置来实施,包括单处理器或多处理器计算机系统、小型计算设备、大型计算机、以及计算机、手持式计算设备(例如,PDA、电话)、基于微处理器的或可编程的消费或工业电子产品等。所示的各方面也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实践。然而,本公开的一些方面甚至所有方面可以在独立计算机上实践。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
如本申请中所使用的,术语“组件”、“系统”、“平台”、“接口”等可以指代和/或可以包括计算机相关的实体或与具有一个或多个特定功能的操作机器相关的实体。本文公开的实体可以是硬件、硬件和软件的组合、软件、或执行中的软件。例如,组件可以是但不限于在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。作为说明,在服务器上运行的应用程序和服务器都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,并且组件可以位于一个计算机上和/或分布在两个或更多计算机之间。在另一示例中,相应组件可从其上存储有各种数据结构的各种计算机可读介质执行。这些组件可以经由本地和/或远程进程进行通信,例如根据具有一个或多个数据分组的信号(例如,来自一个组件的数据,该组件经由该信号与本地系统、分布式系统中的另一个组件进行交互和/或通过诸如因特网之类的网络与其他系统进行交互)。作为另一个示例,组件可以是具有由电气或电子电路操作的机械组件提供的特定功能的装置,该电气或电子电路由处理器执行的软件或固件应用程序操作。在这种情况下,处理器可以在装置的内部或外部,并且可以执行软件或固件应用的至少一部分。作为又一示例,组件可以是通过电子组件而不是机械组件来提供特定功能的装置,其中电子组件可以包括处理器或其他装置以执行至少部分地赋予电子组件的功能的软件或固件。在一方面,组件可经由虚拟机来仿真电子组件,例如在服务器计算系统内。
此外,术语“或”旨在表示包含性的“或”而不是排他性的“或”。也就是说,除非另外指定,或者根据上下文是清楚的,否则“X采用A或B”旨在表示任何自然的包含性排列。也就是说,如果X采用A;X采用B;或者X采用A和B两者,则在任何前述实例下都满足“X采用A或B”。此外,除非另外指定或从上下文中清楚是指单数形式,否则如在本说明书和附图中使用的冠词“一”和“一个”一般应被解释为表示“一个或多个”。如本文所使用的,术语“示例”和/或“示例性的”用于表示用作示例、实例或说明。为了避免疑惑,本文公开的主题不受这些示例限制。此外,本文中描述为“示例”和/或“示例性”的任何方面或设计不一定被解释为比其他方面或设计优选或有利,也不意味着排除本领域普通技术人员已知的等效示例性结构和技术。
如在本说明书中所采用的,术语“处理器”可以指基本上任何计算处理单元或设备,包括但不限于单核处理器;具有软件多线程执行能力的单处理器;多核处理器;具有软件多线程执行能力的多核处理器;具有硬件多线程技术的多核处理器;平行平台;以及具有分布式共享存储器的并行平台。另外,处理器可以指被设计为执行本文描述的功能的集成电路、专用集成电路(ASIC)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑控制器(PLC)、复杂可编程逻辑器件(CPLD)、分立门或晶体管逻辑、分立硬件组件或其任何组合。此外,处理器可以采用纳米级架构,例如但不限于基于分子和量子点的晶体管、开关和门,以便优化空间使用或增强用户设备的性能。处理器也可以实现为计算处理单元的组合。在本公开中,诸如“存储库”、“存储装置”、“数据存储库”、“数据存储装置”、“数据库”以及与组件的操作和功能性相关的基本上任何其他信息存储组件之类的术语被用来指代“存储器组件”、在“存储器”中体现的实体、或包括存储器的组件。应当理解,本文所描述的存储器和/或存储器组件可以是易失性存储器或非易失性存储器,或可以包括易失性和非易失性存储器两者。作为说明而非限制,非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEPROM)、闪存或非易失性随机存取存储器(RAM)(例如,铁电RAM(FeRAM),易失性存储器可包括RAM,RAM可用作外部高速缓存存储器,例如作为说明而非限制,RAM可以许多形式可用,诸如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据率(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、直接Rambus RAM(DRRAM)、直接Rambus动态RAM(DRDRAM)和Rambus动态RAM(RDRAM)。
以上描述的内容仅包括系统、计算机程序产品和计算机实现的方法的示例。当然,不可能为了描述本公开而描述组件、产品和/或计算机实现的方法的每个可想到的组合,但是本领域的普通技术人员可以认识到,本公开的许多进一步的组合和置换是可能的。此外,就在详细描述、权利要求书、附录和附图中使用术语“包括”、“具有”、”拥有”等来说,这些术语旨在以与术语“包含”在权利要求书中用作过渡词时所解释的类似的方式为包含性的。已经出于说明的目的呈现了对各种实施例的描述,但是不旨在是穷举的或限于所公开的实施例。在不背离所描述的实施例的范围的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。本文所使用的术语被选择以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。
Claims (14)
1.一种用于在神经网络训练期间压缩数据的系统,包括:
存储器,所述存储器存储计算机可执行组件和神经网络数据;
处理器,所述处理器执行被存储在所述存储器中的计算机可执行组件,其中所述计算机可执行组件包括:
接收组件,所述接收组件接收以权重矩阵形式的神经网络数据;
分割组件,所述分割组件将所述权重矩阵分割成原始子分量,其中相应的原始子分量具有空间权重;
采样组件,对所述原始子分量的拐角值进行采样,以生成相应的归一化子分量;
变换组件,所述变换组件对所述相应的归一化子分量应用变换;以及
裁剪组件,所述裁剪组件裁剪经变换的所述相应的归一化子分量的高频权重以生成低频归一化子分量的集合,以生成所述原始子分量的压缩表示。
2.根据权利要求1所述的系统,还包括逆变换组件,所述逆变换组件对所述低频归一化子分量的集合应用逆变换,以恢复所述原始子分量的经修改版本。
3.根据权利要求1所述的系统,其中所述变换组件应用离散余弦变换。
4.根据权利要求1所述的系统,其中所述采样组件采用插值来生成所述原始子分量的所述拐角值之外的其余值。
5.根据权利要求2所述的系统,其中所述逆变换组件应用逆离散余弦变换函数,以将所述低频归一化子分量的集合变换到空间域。
6.根据权利要求1-5中任一项所述的系统,还包括通信组件,所述通信组件传输所述原始子分量的所述压缩表示。
7.一种计算机实现的方法,包括采用处理器和存储器来执行计算机可执行组件以执行以下动作:
接收以权重矩阵形式的神经网络数据;
将所述权重矩阵分割成原始子分量,其中相应的原始子分量具有空间权重;
对所述原始子分量的拐角值进行采样,以生成相应的归一化子分量;
对所述相应的归一化子分量应用变换;以及
裁剪经变换的所述相应的归一化子分量的高频权重,以生成低频归一化子分量的集合,以生成所述原始子分量的压缩表示。
8.根据权利要求7所述的方法,还包括对低频归一化子分量的集合应用逆变换,以生成所述原始子分量的近似表示。
9.根据权利要求7所述的方法,其中所述应用变换包括应用离散余弦变换。
10.根据权利要求7所述的方法,其中采用插值来生成所述原始子分量的所述拐角值之外的其余值。
11.根据权利要求8所述的方法,其中所述应用逆变换包括应用逆离散余弦变换函数,以将所述低频归一化子分量的集合变换到空间域。
12.根据权利要求11所述的方法,还包括对所述集合填充零。
13.根据权利要求7至12中任一项所述的方法,还包括传输所述原始子分量的所述压缩表示。
14.一种计算机可读存储介质,能够由处理电路读取并且存储用于由所述处理电路执行以执行根据权利要求7至13中任一项所述的方法的指令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/827,465 | 2017-11-30 | ||
US15/827,465 US11977974B2 (en) | 2017-11-30 | 2017-11-30 | Compression of fully connected / recurrent layers of deep network(s) through enforcing spatial locality to weight matrices and effecting frequency compression |
PCT/IB2018/059500 WO2019106619A1 (en) | 2017-11-30 | 2018-11-30 | Compression of fully connected/recurrent layers of deep network(s) through enforcing spatial locality to weight matrices and effecting frequency compression |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111357019A CN111357019A (zh) | 2020-06-30 |
CN111357019B true CN111357019B (zh) | 2023-12-29 |
Family
ID=66633302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880074735.5A Active CN111357019B (zh) | 2017-11-30 | 2018-11-30 | 通过对权重矩阵实施空间局部性并实现频率压缩来压缩(多个)深度网络的全连接/递归层 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11977974B2 (zh) |
JP (1) | JP7300798B2 (zh) |
CN (1) | CN111357019B (zh) |
DE (1) | DE112018005205T5 (zh) |
GB (1) | GB2582233A (zh) |
WO (1) | WO2019106619A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10474458B2 (en) | 2017-04-28 | 2019-11-12 | Intel Corporation | Instructions and logic to perform floating-point and integer operations for machine learning |
US11934342B2 (en) | 2019-03-15 | 2024-03-19 | Intel Corporation | Assistance for hardware prefetch in cache access |
WO2020190814A1 (en) | 2019-03-15 | 2020-09-24 | Intel Corporation | Graphics processors and graphics processing units having dot product accumulate instruction for hybrid floating point format |
CN112534405A (zh) | 2019-03-15 | 2021-03-19 | 英特尔公司 | 用于脉动阵列上的块稀疏操作的架构 |
CN110956262A (zh) * | 2019-11-12 | 2020-04-03 | 北京小米智能科技有限公司 | 超网络训练方法及装置、电子设备、存储介质 |
US11663746B2 (en) * | 2019-11-15 | 2023-05-30 | Intel Corporation | Systolic arithmetic on sparse data |
US11687778B2 (en) | 2020-01-06 | 2023-06-27 | The Research Foundation For The State University Of New York | Fakecatcher: detection of synthetic portrait videos using biological signals |
KR20210113464A (ko) * | 2020-03-05 | 2021-09-16 | 삼성전자주식회사 | 이미징 장치 및 이를 포함하는 전자 기기 |
CN112085195B (zh) * | 2020-09-04 | 2022-09-23 | 西北工业大学 | 一种基于x-admm的深度学习模型环境自适应方法 |
CN112766456B (zh) * | 2020-12-31 | 2023-12-26 | 平安科技(深圳)有限公司 | 浮点型深度神经网络的量化方法、装置、设备及存储介质 |
US11893094B1 (en) * | 2023-06-05 | 2024-02-06 | University Of Sharjah | DCT-based watermarking scheme for deep neural networks |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1578968A (zh) * | 2001-08-29 | 2005-02-09 | 霍尼韦尔国际公司 | 用于受监督的神经网络学习的组合方法 |
CN106355248A (zh) * | 2016-08-26 | 2017-01-25 | 深圳先进技术研究院 | 一种深度卷积神经网络训练方法及装置 |
CN107209873A (zh) * | 2015-01-29 | 2017-09-26 | 高通股份有限公司 | 用于深度卷积网络的超参数选择 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6805668B1 (en) * | 2001-06-26 | 2004-10-19 | Cadwell Industries, Inc. | System and method for processing patient polysomnograph data utilizing multiple neural network processing |
US20070233477A1 (en) | 2006-03-30 | 2007-10-04 | Infima Ltd. | Lossless Data Compression Using Adaptive Context Modeling |
US9240184B1 (en) | 2012-11-15 | 2016-01-19 | Google Inc. | Frame-level combination of deep neural network and gaussian mixture models |
US9466292B1 (en) | 2013-05-03 | 2016-10-11 | Google Inc. | Online incremental adaptation of deep neural networks using auxiliary Gaussian mixture models in speech recognition |
US20150324690A1 (en) | 2014-05-08 | 2015-11-12 | Microsoft Corporation | Deep Learning Training System |
KR101844932B1 (ko) | 2014-09-16 | 2018-04-03 | 한국전자통신연구원 | 신호처리 알고리즘이 통합된 심층 신경망 기반의 음성인식 장치 및 이의 학습방법 |
US11221990B2 (en) | 2015-04-03 | 2022-01-11 | The Mitre Corporation | Ultra-high compression of images based on deep learning |
CN106485316B (zh) | 2016-10-31 | 2019-04-02 | 北京百度网讯科技有限公司 | 神经网络模型压缩方法以及装置 |
US10599935B2 (en) * | 2017-02-22 | 2020-03-24 | Arm Limited | Processing artificial neural network weights |
US11037330B2 (en) * | 2017-04-08 | 2021-06-15 | Intel Corporation | Low rank matrix compression |
US20190087729A1 (en) * | 2017-09-18 | 2019-03-21 | Intel Corporation | Convolutional neural network tuning systems and methods |
-
2017
- 2017-11-30 US US15/827,465 patent/US11977974B2/en active Active
-
2018
- 2018-11-30 WO PCT/IB2018/059500 patent/WO2019106619A1/en active Application Filing
- 2018-11-30 CN CN201880074735.5A patent/CN111357019B/zh active Active
- 2018-11-30 JP JP2020529192A patent/JP7300798B2/ja active Active
- 2018-11-30 DE DE112018005205.2T patent/DE112018005205T5/de active Pending
- 2018-11-30 GB GB2009750.7A patent/GB2582233A/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1578968A (zh) * | 2001-08-29 | 2005-02-09 | 霍尼韦尔国际公司 | 用于受监督的神经网络学习的组合方法 |
CN107209873A (zh) * | 2015-01-29 | 2017-09-26 | 高通股份有限公司 | 用于深度卷积网络的超参数选择 |
CN106355248A (zh) * | 2016-08-26 | 2017-01-25 | 深圳先进技术研究院 | 一种深度卷积神经网络训练方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US11977974B2 (en) | 2024-05-07 |
JP2021504837A (ja) | 2021-02-15 |
GB2582233A (en) | 2020-09-16 |
JP7300798B2 (ja) | 2023-06-30 |
GB202009750D0 (en) | 2020-08-12 |
CN111357019A (zh) | 2020-06-30 |
DE112018005205T5 (de) | 2020-07-02 |
WO2019106619A1 (en) | 2019-06-06 |
US20190164050A1 (en) | 2019-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111357019B (zh) | 通过对权重矩阵实施空间局部性并实现频率压缩来压缩(多个)深度网络的全连接/递归层 | |
Zhou et al. | Edge intelligence: Paving the last mile of artificial intelligence with edge computing | |
JP7470476B2 (ja) | 蒸留を用いたそれぞれのターゲット・クラスを有するモデルの統合 | |
Xu et al. | Edge intelligence: Empowering intelligence to the edge of network | |
Duan et al. | Distributed artificial intelligence empowered by end-edge-cloud computing: A survey | |
Zhou et al. | On-device learning systems for edge intelligence: A software and hardware synergy perspective | |
van Elsloo et al. | SEALion: A framework for neural network inference on encrypted data | |
US20200311539A1 (en) | Cloud computing data compression for allreduce in deep learning | |
Su et al. | AI on the edge: a comprehensive review | |
US11423307B2 (en) | Taxonomy construction via graph-based cross-domain knowledge transfer | |
US11915147B2 (en) | Large model support in deep learning | |
Liu et al. | Efficient neural networks for edge devices | |
Matsubara et al. | Sc2: Supervised compression for split computing | |
Chaopeng et al. | A privacy protection approach in edge-computing based on maximized dnn partition strategy with energy saving | |
US10565285B2 (en) | Processor and memory transparent convolutional lowering and auto zero padding for deep neural network implementations | |
TW202348029A (zh) | 使用限幅輸入數據操作神經網路 | |
CN115843364A (zh) | 使用交叉连接的连续学习 | |
CN114332469A (zh) | 模型训练方法、装置、设备及存储介质 | |
CN114463158A (zh) | 模型训练方法及系统、非易失性存储介质和计算机终端 | |
CN116010858B (zh) | 基于自监督学习的通道注意MLP-Mixer网络模型装置及其应用 | |
Pal et al. | A Novel Approach to Optimize Deep Neural Network Architectures | |
Luo et al. | A Complex-Valued Neural Network Based Robust Image Compression | |
Liu et al. | Towards permutation-invariant graph generation | |
Mu et al. | Boosting the Convergence of Reinforcement Learning-based Auto-pruning Using Historical Data | |
Li et al. | Lightweight image compression based on deep learning |
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 |