CN113826120B - 神经网络的数据集相关的低秩分解 - Google Patents

神经网络的数据集相关的低秩分解 Download PDF

Info

Publication number
CN113826120B
CN113826120B CN202080036601.1A CN202080036601A CN113826120B CN 113826120 B CN113826120 B CN 113826120B CN 202080036601 A CN202080036601 A CN 202080036601A CN 113826120 B CN113826120 B CN 113826120B
Authority
CN
China
Prior art keywords
computer
tensor
trained model
neural network
implemented method
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
CN202080036601.1A
Other languages
English (en)
Other versions
CN113826120A (zh
Inventor
A·R·乔杜里
S·高亚尔
V·夏尔玛
V·查克拉瓦蒂
Y·萨芭哈尔瓦尔
A·维尔马
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN113826120A publication Critical patent/CN113826120A/zh
Application granted granted Critical
Publication of CN113826120B publication Critical patent/CN113826120B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Abstract

本文提供了用于神经网络的数据集相关的低秩分解的方法、系统和计算机程序产品。一种计算机实现的方法,包括:获得神经网络的目标数据集和经训练的模型;将所述目标数据集的至少一部分提供给所述经训练的模型;基于所提供的部分来确定所述神经网络的一个或多个过滤器和所述神经网络的通道中的每一个与所述目标数据集的相关性,其中,所述一个或多个所述过滤器和所述通道对应于所述神经网络的至少一层;以及至少部分地基于所确定的相关性来压缩所述神经网络的所述经训练的模型。

Description

神经网络的数据集相关的低秩分解
技术领域
本申请总体上涉及信息技术,并且更具体地涉及神经网络模型的压缩。
背景技术
神经网络(诸如深度神经网络)用于各种人工智能应用,诸如例如计算机视觉、语音识别和自然语言处理。深度神经网络的层数量和参数随着与这些模型一起使用的数据集的大小而增加。例如,用于图像分类的深度神经网络可以包括16层和超过13千万个参数,从而产生超过500兆字节的训练模型。照此,深度神经网络经常需要大量的计算资源,使得它们特别难以在具有有限资源的设备上使用,诸如例如在物联网(IOT)的上下文中的移动电话和边缘设备。
发明内容
在本发明的一个实施方式中,提供了用于神经网络的数据集相关的低秩分解的技术。一种示例性计算机实现的方法,可包括获得(i)目标数据集和(ii)神经网络的经训练的模型;将所述目标数据集的至少一部分提供给所述经训练的模型;基于所提供的部分来确定(i)所述神经网络的过滤器和(ii)所述神经网络的通道中的一个或多个中的每一个与所述目标数据集的相关性,其中,所述过滤器和所述通道中的所述一个或多个对应于所述神经网络的至少一层;以及至少部分地基于所确定的相关性来压缩所述神经网络的所述经训练的模型。
根据本文描述的主题的另一实施方式,提供了一种方法,包括:获得卷积神经网络的训练模型和在其上训练模型的数据集;分析所述经训练的模型,以至少部分地通过对所述数据集执行所述经训练的模型的训练的一个或多个时期来确定所述卷积神经网络的一个或多个层的部分和所述数据集的(i)固有冗余和(ii)相关性,其中,所述一个或多个层的所述部分包括(a)过滤器和(b)通道中的至少一个;以及基于所确定的固有冗余和相关性来压缩经训练的模型。
本发明的另一实施方式或其元素能够以有形地体现计算机可读指令的计算机程序产品的形式来实现,所述计算机可读指令在被实现时使计算机执行如本文中所描述的多个方法步骤。此外,本发明的另一个实施方式或其元件可以以系统的形式实现,所述系统包括存储器和至少一个处理器,所述至少一个处理器耦合到所述存储器并且被配置为执行所述方法步骤。更进一步,本发明的另一实施方式或其元素能够以用于执行本文描述的方法步骤的装置或其元素的形式来实现;该装置可以包括硬件模块或硬件和软件模块的组合,其中,软件模块被存储在有形的计算机可读存储介质(或多个这样的介质)中。
从以下将结合附图阅读的对本发明的示例性实施方式的详细描述中,本发明的这些和其他目的、特征和优点将变得显而易见。
附图说明
图1是示出根据本发明的示例性实施方式的系统架构的图;
图2A和图2B示出了根据本文描述的主题的一个或多个示例性实施方式的对应于经训练的神经网络的不同层的过滤器的曲线图;
图3是示出了根据本发明的示例性实施方式的对于过滤器使用‘0-1’重要性(significance)的系统架构的图;
图4是示出根据本发明的示例性实施方式的使用过滤器的任意重要性的系统架构的图;
图5是示出根据本发明的实施方式的技术的流程图;
图6是可以在其上实现本发明的至少一个实施方式的示例性计算机系统的系统图;
图7描述了根据本发明的实施方式的云计算环境;
图8描述了根据本发明的实施方式的抽象模型层;以及
图9A-9B示出比较加权分解技术与未加权分解技术的计算资源的图。
具体实施方式
一般而言,神经网络是包括多个简单连接的单元或神经元层(随后是非线性)的模型,其中这些层中的至少一个层是隐藏层。隐藏层是输入层(对应于输入变量或特征)和输出层(对应于模型的输出,例如当提供有输入示例时的预测或答案)之间的合成层。深度神经网络指的是包括大量隐藏层的神经网络。
神经网络包括描述神经元如何与其相应输入相关的对应权重。作为示例,对于所有输入张量中的一个输入张量,具有较高值(例如,更接近1)的权重可指示神经元更有可能‘激发’,而具有较低值(例如,更接近0)的权重指示神经元不太可能激发。对于给定的层,可以使用张量(在本文中称为‘权重张量’)表示权重。作为非限制性示例,权重张量可对应于矩阵,其中矩阵中的每一行表示将神经元连接至其输入的权重。
卷积神经网络是指其中至少一层是卷积层的神经网络。卷积层是其中卷积过滤器沿着输入张量(例如,维度高度x宽度x通道的输入张量)通过的层,其中,卷积过滤器是具有与输入张量相同的秩(本文中称为‘通道’)但具有较小形状的张量。例如,9x9输入矩阵的过滤器可包含小于9x9的任何2D矩阵(例如,3X3矩阵)。
如本文中所指出的,深度神经网络经常需要大量的计算资源,尤其是随着层和参数的数量的增加。减少所需计算资源量的一种方式是使用一个或多个压缩机制来压缩模型,其包括(例如)修剪、权重共享、编码和执行连接权重的低秩分解。
低秩分解方案的示例是Tucker分解。Tucker分解将张量分解成一组矩阵和一个小核张量。例如,3D张量X∈RI*J*K的Tucker分解由下式给出:
Figure GDA0003989517560000031
其中G是核心矩阵∈Rr1*r2*r3,并且A∈RI*r1、B∈RJ*r2、C∈RK*r3是沿着3D张量的每个维度的因子矩阵。在该示例中,Tucker分解导致压缩比等于:
Figure GDA0003989517560000032
可基于基本近似例如神经网络的给定层的权重张量的核心和因子矩阵来生成重构张量,使得重构张量具有比权重张量更小的秩,由此减小所需的大小和/或触发器。
现有的压缩机制不考虑权重张量(过滤器和通道)对于给定数据集如何表现。例如,取决于输入数据集,一些过滤器(甚至具有大权重条目)可激发较少。
因此,本文的一个或多个示例实施方式描述了用于神经网络的数据集相关的低秩分解的技术。本文描述的示例性实施方式中的至少一个说明了每个层处的权重张量如何响应于特定输入数据集,并且因此允许重构张量的秩甚至进一步减小。
图1是示出根据本发明的实施方式的系统架构的图。通过说明的方式,图1描述了过滤器重要性确定模块106、加权分解模块108以及重新训练模块110。过滤器重要性确定模块106获得数据集104、经训练的模型102以及与经训练的模型102相关的网络信息103。网络信息103可包括例如对应于神经网络的不同层的信息,诸如例如每个卷积层中的过滤器和通道的数量。过滤器重要性确定模块106执行一个或多个训练时期(例如,前向和后向通过)以确定与神经网络的一些或所有层相对应的过滤器和/或通道如何对输入图像作出响应。例如,过滤器重要性确定模块106可计算对应于例如激活值、梯度和泰勒级数的统计数据。为较不频繁地启动的过滤器和/或通道分配较低的重要性值。
还参见图2A和2B,这些图是对应于给定特定输入数据集的训练的神经网络的不同层的过滤器权重值的频率的图200、250。在该示例中,图200、250是在Bird200数据集上学习的GoogLeNet模型转移的结果。图200对应于GoogLeNet模型的卷积层‘conv2/3x3’,并且示出了用于卷积层(即,conv2_3x3)的不同过滤器权重的频率。从曲线图200可见,卷积层中的在例如0.20和0.25之间的滤波权重不用于该数据集,并且最频繁使用的滤波权重在大约0.05和0.1之间。图2B中的图表250示出了训练的GoogLeNet模型的另一个卷积层(即,起始_3a/3x3)的不同权重的频率。对于图250,用于起始层的最频繁使用的过滤器权重在0.04与0.12之间,而剩余的过滤器权重使用较少,使用频率也较低。过滤器重要性确定模块106可基于对应于过滤器/通道的过滤器/通道的权重值、输出激活和梯度的组合中的一个或多个来为特定数据集分配过滤器/通道的重要性。
加权分解模块108基于由重要性确定模块106指派的重要性来执行加权张量分解。在一些示例实施方式中,加权分解模块108确定所得张量的目标秩,该目标秩可基于一个或多个约束114(诸如例如由用户提供的约束)。用户约束114可以对应于例如压缩的训练模型的处理要求或存储器要求。
加权分解模块108执行因子分解过程以压缩训练的模型。因子分解过程可包括例如应用Tucker分解和CP分解中的至少一个。重新训练模块110重新训练由加权分解模块108输出的压缩模型,从而产生经训练的压缩模型112。
当生成经训练的压缩模型(诸如例如经训练的压缩模型112)时,一个或多个示例实施方式可以基于以下方法。将具有重要性W的层的给定权重张量X分解为核G和因子A,B和C,从而产生恢复的张量R=G×123C,使得对于条目i的大的重要性Wi≈1,Ri应当接近Xi,并且对于条目i的小的重要性Wi≈0,Ri应当接近0。因此,Ri应在Wi.Xi和(2-Wi).Xi.之间。我们定义函数fw(R,X)如下:
Figure GDA0003989517560000041
然后,该张量分解的目的是确定使fW(R,X)的某些范数最小化的G,A,B和C,例如,
Figure GDA0003989517560000042
其是fW(R,X)的弗罗贝尼乌斯范数的平方。
图3是根据本发明的示例性实施方式的具有有‘0-1’重要性的过滤器的系统架构的图。在图3所示的示例中,经训练的模型302、网络信息303(例如,类似于网络信息103)以及数据集304的至少一部分作为输入被提供给过滤器重要性确定模块306。过滤器重要性确定模块306执行若干训练时期(前向和后向遍次),如在322处所展示,且接着在324处计算统计数据集。所述统计数据集可包含(例如)对应于经训练模型中的每一过滤器的平均激活或梯度。在326处,过滤器重要性确定模块306基于所述统计数据集执行步骤、S形函数和逻辑函数中的一者或一者以上,以针对经训练模型的每一层确定过滤器重要性(W)。接着将过滤器重要性值作为输入提供到加权分解模块308。加权分解模块308将过滤器值与过滤器重要性相乘,如在338处所示,以获得神经网络的给定层的输入张量。在336处,模块308至少部分基于一个或一个以上资源约束314确定秩,且接着执行如334表示的低秩因子分解过程。低因子分解过程生成秩等于所确定秩的所得张量,其中所得张量近似于输入张量。在332,使用数据集304和所得到的张量来重新训练经训练的模型302。然后,经训练的模型302的压缩版本312由加权分解模块308输出,例如输出到单独的设备。
图4是根据本发明的示例性实施方式的具有有任意重要性值的过滤器的系统架构的图。类似于图3,过滤器重要性确定模块406获得经训练的模型402、网络信息403(例如,类似于网络信息103)和数据集404的至少一部分。过滤器重要性确定模块406执行如在422处所示的训练的若干时期(前向和后向遍次),且在424处计算统计数据集以确定过滤器重要性(W)。过滤器重要性确定模块406为经训练的模型的每一层提供过滤器重要性。加权分解模块408基于用户约束414确定目标秩,如在436所示。然后,模块408在434处最小化权重函数(例如,
Figure GDA0003989517560000051
),其中,X是输入张量并且R是具有目标秩的重构张量。在432,使用数据集404和重构的张量来重新训练经训练的模型402。然后,例如,以与在图3中描述的相似的方式输出经训练的模型402的压缩版本412。
图5是根据本发明的实施方式的方法500的流程图。步骤502包括获得神经网络的目标数据集和经训练的模型。步骤504包括将目标数据集的至少一部分提供给经训练的模型。步骤506包括基于所提供的部分来确定该神经网络的一个或多个过滤器和该神经网络的通道中的每一个与该目标数据集的相关性,其中该一个或多个过滤器和该通道对应于该神经网络的至少一层。步骤508包括至少部分地基于所确定的相关性来压缩神经网络的经训练的模型。步骤510包括输出经压缩的经训练的模型。
该确定可包括使用该目标数据集的该部分来执行预定数量的训练时期;以及基于在该训练期间该一个或多个过滤器和通道的激活来计算统计数据。目标数据集可以包括多个图像,并且确定一个或多个过滤器和通道中的每一个的相关性可以包括确定一个或多个过滤器和通道中的哪些被激活用于(i)数据集的所有图像,(ii)特定感兴趣类别的图像,(iii)具有低于阈值的训练样本数量的类别的图像,和(iv)神经网络的特定层中的一个或多个。过程500可包括使用所确定的一个或多个过滤器和通道的相关性来调整经训练的模型的至少一个权重张量,其中至少一个权重张量包括用于至少一个层的过滤器和通道中的一个或多个的权重。该压缩可包括:将加权低秩因子分解过程应用于经调整的至少一个张量以生成逼近经训练的模型的至少一个权重张量的至少一个所得张量,其中,至少一个所得张量的目标秩小于经训练的模型的至少一个权重张量的秩。配置至少一个所得张量的目标秩可至少部分地基于高阶奇异值分解技术。加权低秩因子分解过程可包括使权重函数最小化,该权重函数被定义为跨经调整的至少一个权重张量的张量元素与所得的至少一个张量的张量元素之间的总偏差。至少一个所得张量的张量元素可直接取决于所确定的过滤器和通道中的一个或多个的相关性,使得在至少一个所得张量中保留被确定为与目标数据集更相关的过滤器和/或通道。过程500可以包括至少部分地基于对应于压缩的训练模型的(i)处理要求和(ii)存储器要求中的一个或多个的一个或多个约束来配置目标秩。该压缩可包括应用梯度下降和共轭梯度技术中的一个或多个,由此减小至少一个加权张量和至少一个所得张量的加权误差的测量。加权误差的测量可以包括弗罗贝尼乌斯范数。加权低秩因子分解过程可包括以下至少一者:Tucker分解和CANDECOMP/PARAFAC分解过程。经训练的模型可包含基于以下中的一者或一者以上产生的压缩模型:(i)基于权重的修剪过程;(ii)量化和/或权重共享过程;(iii)相对索引过程;以及(iv)编码过程。过程500可包括用目标数据集重新训练经压缩的经训练的模型。过程500可以包括将经训练的模型从至少一个计算设备输出到至少一个单独的计算设备,其中至少一个单独的计算设备具有相对于至少一个计算设备的(i)有限的处理能力和(ii)存储器能力中的一个或多个。
如本文所描述的,图5中所描述的技术还可以包括提供一种系统,其中所述系统包括不同的软件模块,每个所述不同的软件模块包含在有形的计算机可读可记录存储媒介质上。例如,所有模块(或其任何子集)可以在同一介质上,或者各自可以在不同介质上。模块可包括图中所示和/或本文所述的任何或所有组件。在本发明的实施方式中,这些模块可以例如在硬件处理器上运行。然后可以使用在硬件处理器上执行的如上所述的系统的不同软件模块来执行方法步骤。进一步地,一种计算机程序产品可以包括有形的计算机可读可记录存储介质,所述有形的计算机可读可记录存储介质具有被适配成用于执行本文中所描述的至少一个方法步骤的代码,所述方法包括为所述系统提供所述不同的软件模块。
根据本文描述的主题的另一实施方式,一种方法包括:获得卷积神经网络的训练模型和在其上训练模型的数据集;分析所述经训练的模型,以至少部分地通过对所述数据集执行所述经训练的模型的训练的一个或多个时期来确定所述卷积神经网络的一个或多个层的部分和所述数据集的固有冗余和相关性,其中,所述一个或多个层的所述部分包括过滤器和通道中的至少一个;以及基于所确定的固有冗余和相关性来压缩经训练的模型。
此外,图5中描述的技术可经由计算机程序产品实现,该计算机程序产品可包括存储在数据处理系统中的计算机可读存储介质中的计算机可用程序代码,并且其中计算机可用程序代码通过网络从远程数据处理系统下载。此外,在本发明的实施方式中,计算机程序产品可包括存储在服务器数据处理系统中的计算机可读存储介质中的计算机可用程序代码,并且其中计算机可用程序代码通过网络下载到远程数据处理系统,以与远程系统一起使用的计算机可读存储介质。
本发明的实施方式或其元素能够以设备的形式来实现,该设备包括存储器和耦合到该存储器并被配置成执行示例性方法步骤的至少一个处理器。
此外,本发明的实施方式可利用在计算机或工作站上运行的软件。参考图6,这种实现方式例如可以采用处理器602、存储器604和例如由显示器606和键盘608形成的输入/输出接口。如本文中使用的术语“处理器”旨在包括任何处理设备,例如,包括CPU(中央处理单元)和/或其他形式的处理电路的处理设备。此外,术语“处理器”可以指多于一个单独的处理器。术语“存储器”旨在包括与处理器或CPU相关联的存储器,例如,RAM(随机存取存储器)、ROM(只读存储器)、固定存储器设备(例如,硬盘驱动器)、可移动存储器设备(例如,磁盘)、闪存等。此外,如本文中使用的短语“输入/输出接口”旨在包括,例如,用于将数据输入至处理单元的机制(例如,鼠标),以及用于提供与处理单元相关联的结果的机制(例如,打印机)。处理器602、存储器604以及诸如显示器606和键盘608的输入/输出接口可例如经由作为数据处理单元612的一部分的总线610互连。合适的互连,例如经由总线610,也可以被提供给网络接口614,诸如网卡,其可以被提供用于与计算机网络接口,以及被提供给介质接口616,诸如软盘或CD-ROM驱动器,其可以被提供用于与介质618接口。
因此,包括如此处所述的用于执行本发明的方法的指令或代码的计算机软件可以被存储在相关联的存储器设备(例如,ROM、固定或可移动存储器)中,并且当准备好被使用时,被部分或全部加载(例如,加载到RAM中)并且由CPU实现。这样的软件可以包括但不限于固件、驻留软件、微代码等。
适合于存储和/或执行程序代码的数据处理系统将包括通过系统总线610直接或间接耦合到存储器元件604的至少一个处理器602。存储器元件可以包括在程序代码的实际实现期间使用的本地存储器、大容量存储器和提供至少一些程序代码的临时存储以便减少在实现期间必须从大容量存储器取回代码的次数的高速缓冲存储器。
输入/输出或I/O设备(包括但不限于键盘608、显示器606、定点设备等)可以直接地(诸如经由总线610)或通过中间I/O控制器(为了清楚起见省略)耦合到系统。
诸如网络接口614的网络适配器也可以耦合到系统,以使得数据处理系统能够通过介入的私有或公共网络耦合到其他数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡仅是一些当前可用类型的网络适配器。
如本文中(包括权利要求)使用的,“服务器”包括运行服务器程序的物理数据处理系统(例如,如图6中所示的系统612)。将理解,这样的物理服务器可包括或可不包括显示器和键盘。
本发明可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有用于使处理器执行本发明的实施方式的计算机可读程序指令的计算机可读存储介质(或多个介质)。
计算机可读存储介质可为可保留和存储供指令执行装置使用的指令的有形装置。
计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输媒体传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如Smalltalk、C++等)和过程程序设计语言(诸如“C”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施方式中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的实施方式。
这里参考根据本发明的实施方式的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的实施方式。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
附图中的流程图和框图示出了根据本发明的不同实施方式的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个块实际上可以基本上同时执行,或者这些块有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
应注意,本文描述的任何方法可包括提供系统的附加步骤,所述系统包括包含在计算机可读存储介质上的不同软件模块;这些模块可以包括例如在此详述的任何或所有部件。然后可以使用在硬件处理器602上执行的如上所述的系统的不同软件模块和/或子模块来执行方法步骤。此外,计算机程序产品可包括计算机可读存储介质,该计算机可读存储介质具有被适配成用于实施来执行在此描述的至少一个方法步骤的代码,该方法包括为该系统提供这些不同的软件模块。
在任何情况下,应当理解,本文所示的组件可以用硬件、软件或其组合的不同形式来实现,例如,专用集成电路(ASIC)、功能电路、具有相关联存储器的适当编程的数字计算机等。鉴于在此所提供的本发明的教导,相关领域的普通技术人员将能够设想本发明的部件的其他实现方式。
另外,提前理解的是,虽然本公开包括关于云计算的详细描述,但是本文所引用的教导的实现不限于云计算环境。相反,本发明的实施方式能够结合现在已知的或以后开发的任何其他类型的计算环境来实现。
云计算是服务交付的模型,用于使得能够方便地、按需地网络访问可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池,所述可配置计算资源可以以最小的管理努力或与所述服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助服务:云消费者可以单方面地根据需要自动地提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者的人类交互。
广泛的网络接入:能力可通过网络获得并且通过标准机制接入,该标准机制促进异构瘦客户机平台或厚客户机平台(例如,移动电话、膝上型计算机和PDA)的使用。
资源池:提供者的计算资源被池化以使用多租户模型来服务于多个消费者,其中不同的物理和虚拟资源根据需要动态地指派和重新指派。存在位置独立性的感觉,因为消费者通常不具有对所提供的资源的确切位置的控制或了解,但可能能够以较高抽象级别(例如,国家、州或数据中心)指定位置。
快速弹性:能够快速和弹性地提供能力,在一些情况下自动地快速缩小和快速释放以快速放大。对于消费者而言,可用于供应的能力通常显得不受限制并且可以在任何时间以任何数量购买。
测量的服务:云系统通过利用在适合于服务类型(例如,存储、处理、带宽、和活动用户账户)的某个抽象级别的计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用,为所利用的服务的提供者和消费者提供透明度。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。可通过诸如web浏览器(例如,基于web的电子邮件)之类的瘦客户端接口从不同客户端设备访问应用。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至单独的应用能力的底层云基础设施,可能的例外是有限的用户特定应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建的或获取的使用由提供商支持的编程语言和工具创建的应用部署到云基础设施上。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但是对所部署的应用和可能的应用托管环境配置具有控制。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其他基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础结构,而是具有对操作系统、存储、所部署的应用的控制,以及对所选联网组件(例如,主机防火墙)的可能受限的控制。
部署模型如下:
私有云:云基础架构仅为组织运作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
社区云:云基础架构由若干组织共享并且支持共享了关注(例如,任务、安全要求、策略、和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公共云:使云基础架构对公众或大型行业组可用,并且由出售云服务的组织拥有。
混合云:云基础架构是两个或更多个云(私有、社区或公共)的组合,这些云保持唯一实体但通过使数据和应用能够移植的标准化或专有技术(例如,云突发以用于云之间的负载平衡)绑定在一起。
云计算环境是面向服务的,集中于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
现在参考图7,描述了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,本地计算设备诸如例如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N。节点10可彼此通信。它们可以物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上所述的私有云、社区云、公共云或混合云、或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为云消费者不需要为其维护本地计算设备上的资源的服务。应当理解,图7中所示的计算装置54A-N的类型仅旨在是说明性的,并且计算节点10和云计算环境50可通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化装置通信。
现在参见图8,示出了由云计算环境50(图7)提供的一组功能抽象层。应提前理解,图8中所示的组件、层和功能仅旨在是说明性的,并且本发明的实施方式不限于此。如所描述,提供以下层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:大型机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和联网组件66。在一些实施方式中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价82在云计算环境内利用资源时提供成本跟踪,并为这些资源的消费开账单或发票。
在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务水平管理84提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(SLA)规划和履行85提供根据SLA预期未来需求的云计算资源的预安排和采购。
工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航91;软件开发和生命周期管理92;虚拟课堂教育交付93;数据分析处理94;根据本发明的一个或多个实施方式,事务处理95;以及神经网络96的数据集相关的低秩分解。
本文中使用的术语仅用于描述具体实施方式的目的,而并非旨在限制本发明。如本文中使用的,除非上下文另有明确指示,否则单数形式“一个”、“一种”和“该”旨在也包括复数形式。还应当理解,当在本说明书中使用术语“包括(comprises)”和/或“包含(comprising)”时,其指定所述特征、步骤、操作、元件和/或部件的存在,但不排除另一特征、步骤、操作、元件、部件和/或其组合的存在或添加。
本发明的至少一个实施方式可以提供有益效果,例如与现有压缩技术相比减小神经网络的大小和/或触发器。本发明的或多个实施方式还可以提供有益效果,诸如例如允许在具有有限资源的设备(诸如例如在IOT的上下文中的移动电话和其他边缘设备)上使用具有较大数量的层和参数的深度学习模型。图9A是示出常规压缩技术(未加权Tucker分解902)和根据本文描述的主题的示例性实施方式的压缩技术(加权Tucker分解904)的准确度百分比与模型大小(以MB为单位)的关系的图900。如从图900中可以看出,加权Tucker分解技术提供了较小的模型大小,其准确度仅有小的下降。类似地,图9B示出了曲线图950,该曲线图示出了加权Tucker分解技术912比未加权压缩技术914需要更少的触发器,同时保持相似的准确度。
已经出于说明的目的呈现了本发明的各种实施方式的描述,但并不旨在是详尽的或者限于所公开的实施方式。在不脱离所描述的实施方式的范围和精神的情况下,许多修改和变化对本领域普通技术人员将是显而易见的。这里使用的术语被选择来最好地解释实施方式的原理、实际应用或对在市场中找到的技术的技术改进,或者使得本领域普通技术人员能够理解这里公开的实施方式。

Claims (17)

1.一种计算机实现的方法,所述方法包括:
获得(i)目标数据集和(ii)神经网络的经训练的模型,其中,所述目标数据集包括多个图像;
将所述目标数据集的至少一部分提供给所述经训练的模型;
基于所述提供的部分来确定一个或多个(i)所述神经网络的过滤器和(ii)所述神经网络的通道中的每一个与所述目标数据集的相关性,其中,所述一个或多个所述过滤器和所述通道对应于所述神经网络的至少一层,其中所述确定包括以下各项中的一项或多项:确定对于以下各项中的一项或多项激活所述一个或多个所述过滤器和所述通道中的哪些:(i)所述数据集的所有所述图像,(ii)感兴趣的特定类别的图像,(iii)具有低于阈值的训练样本数量的类别的图像,以及(iv)所述神经网络的特定层;以及
至少部分地基于所述确定的相关性来压缩所述神经网络的所述经训练的模型;
其中,所述方法由至少一个计算设备执行。
2.根据权利要求1所述的计算机实现的方法,其中,所述确定包括:
使用所述目标数据集的所述部分执行预定数量的训练时期;以及
基于所述训练期间所述一个或多个过滤器和通道的激活来计算统计数据。
3.根据权利要求1所述的计算机实现的方法,包括:
使用所述一个或多个过滤器和所述通道中的所述确定的相关性来调整所述经训练的模型的至少一个权重张量,其中,所述至少一个权重张量包括用于所述至少一个层的所述一个或多个过滤器和所述通道的权重。
4.根据权利要求3所述的计算机实现的方法,其中,所述压缩包括:
将加权低秩因子分解过程应用于所述经调整的至少一个张量以生成近似所述经训练模型的所述至少一个权重张量的至少一个所得张量,其中,所述至少一个所得张量的目标秩小于所述经训练模型的所述至少一个权重张量的秩。
5.根据权利要求4所述的计算机实现的方法,包括:
至少部分地基于高阶奇异值分解技术来配置所述至少一个所得张量的所述目标秩。
6.根据权利要求4所述的计算机实现的方法,其中,所述加权低秩因子分解过程包括使权重函数最小化,所述权重函数被定义为跨所述经调整的至少一个权重张量的张量元素和所述所得的至少一个张量的张量元素之间的总偏差。
7.根据权利要求4所述的计算机实现的方法,其中,所述至少一个所得张量的张量元素直接取决于所述一个或多个所述过滤器和所述通道中的所述确定的相关性,使得在所述至少一个所得张量中保留被确定为与所述目标数据集更相关的一个或多个所述过滤器和所述通道。
8.根据权利要求4所述的计算机实现的方法,包括:
至少部分地基于对应于所述经压缩的经训练模型的(i)处理要求和(ii)存储器要求中的一者或多者的一个或多个约束来配置所述目标秩。
9.根据权利要求4所述的计算机实现的方法,其中,所述压缩包括应用梯度下降和共轭梯度技术中的一个或多个,从而减少所述至少一个加权张量和所述至少一个所得张量的加权误差的测量值。
10.根据权利要求9所述的计算机实现的 方法,其中,所述加权误差的所述测量值包括弗罗贝尼乌斯范数。
11.根据权利要求4所述的计算机实现的方法,其中,所述加权低秩因子分解处理包括以下中的至少一个:Tucker分解和CANDECOMP/PARAFAC分解处理。
12.根据权利要求1所述的计算机实现的方法,包括:
用所述目标数据集重新训练所述经压缩的训练模型。
13.根据权利要求1所述的计算机实现的方法,其中,所述经训练的模型包括基于以下中的一个或多个生成的压缩模型:(i)基于权重的修剪过程;(ii)量化和权重共享过程中的至少一个;(iii)相对索引过程;以及(iv)编码过程。
14.根据权利要求1所述的计算机实现的方法,包括:
将所述经训练的模型从所述至少一个计算设备输出至至少一个单独的计算设备,其中,所述至少一个单独的计算设备具有相对于所述至少一个计算设备的(i)有限的处理能力和(ii)存储器能力中的一个或多个。
15.一种计算机可读存储介质,所述计算机可读存储介质包括在其中的程序指令,所述程序指令可由计算设备执行以使所述计算设备执行权利要求1-14之一所述的方法。
16.一种计算机实现的系统,包括:
存储器;以及
至少一个处理器,所述至少一个处理器可操作地耦接至所述存储器并且被配置为执行权利要求1-14之一所述的方法。
17.一种计算机实现的方法,所述方法包括:
获得卷积神经网络的经训练模型和在其上训练模型的数据集,其中,所述数据集包括多个图像;
分析所述经训练的模型,以至少部分地通过对所述数据集执行所述经训练的模型的训练的一个或多个时期来确定所述卷积神经网络的一个或多个层的部分和所述数据集的(i)固有冗余和(ii)相关性,其中,所述一个或多个层的所述部分包括(a)过滤器和(b)通道中的至少一个,其中所述确定包括以下各项中的一项或多项:确定对于以下各项中的一项或多项激活所述一个或多个所述过滤器和所述通道中的哪些:(i)所述数据集的所有所述图像,(ii)感兴趣的特定类别的图像,(iii)具有低于阈值的训练样本数量的类别的图像,以及(iv)所述神经网络的特定层;以及
基于所述确定的固有冗余和相关性来压缩所述经训练的模型;
其中,所述方法由至少一个计算设备执行。
CN202080036601.1A 2019-06-26 2020-06-02 神经网络的数据集相关的低秩分解 Active CN113826120B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/453,380 US20200410336A1 (en) 2019-06-26 2019-06-26 Dataset Dependent Low Rank Decomposition Of Neural Networks
US16/453,380 2019-06-26
PCT/IB2020/055191 WO2020260991A1 (en) 2019-06-26 2020-06-02 Dataset dependent low rank decomposition of neural networks

Publications (2)

Publication Number Publication Date
CN113826120A CN113826120A (zh) 2021-12-21
CN113826120B true CN113826120B (zh) 2023-02-14

Family

ID=74043699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080036601.1A Active CN113826120B (zh) 2019-06-26 2020-06-02 神经网络的数据集相关的低秩分解

Country Status (6)

Country Link
US (1) US20200410336A1 (zh)
JP (1) JP7398482B2 (zh)
CN (1) CN113826120B (zh)
DE (1) DE112020001774T5 (zh)
GB (1) GB2600055A (zh)
WO (1) WO2020260991A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11755603B1 (en) * 2020-03-26 2023-09-12 Amazon Technologies, Inc. Searching compression profiles for trained neural networks
US11501173B1 (en) 2020-03-26 2022-11-15 Amazon Technologies, Inc. Reinforcement learning for training compression policies for machine learning models
US11809992B1 (en) 2020-03-31 2023-11-07 Amazon Technologies, Inc. Applying compression profiles across similar neural network architectures
CN112925904B (zh) * 2021-01-27 2022-11-29 天津大学 一种基于Tucker分解的轻量级文本分类方法
CN115146226B (zh) * 2022-08-31 2022-12-06 北京大学 基于张量压缩方法的流数据处理方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764858A (en) * 1995-09-14 1998-06-09 University Of Southern California One-dimensional signal processor with optimized solution capability
CN109359726A (zh) * 2018-11-27 2019-02-19 华中科技大学 一种基于winograd算法的卷积神经网络优化方法
CN109858611A (zh) * 2019-01-11 2019-06-07 平安科技(深圳)有限公司 基于通道注意力机制的神经网络压缩方法及相关设备
CN109886397A (zh) * 2019-03-21 2019-06-14 西安交通大学 一种针对卷积层的神经网络结构化剪枝压缩优化方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6869676B2 (ja) * 2016-09-27 2021-05-12 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US20190087729A1 (en) 2017-09-18 2019-03-21 Intel Corporation Convolutional neural network tuning systems and methods
US10991150B2 (en) * 2018-05-09 2021-04-27 Massachusetts Institute Of Technology View generation from a single image using fully convolutional neural networks
US20200234129A1 (en) * 2019-01-22 2020-07-23 Nvidia Corporation Techniques for removing masks from pruned neural networks
JP2020135011A (ja) * 2019-02-13 2020-08-31 キオクシア株式会社 情報処理装置及び方法
CN111738401A (zh) * 2019-03-25 2020-10-02 北京三星通信技术研究有限公司 模型优化方法、分组压缩方法、相应的装置、设备
CN110245721B (zh) * 2019-06-25 2023-09-05 深圳市腾讯计算机系统有限公司 神经网络模型的训练方法、装置和电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764858A (en) * 1995-09-14 1998-06-09 University Of Southern California One-dimensional signal processor with optimized solution capability
CN109359726A (zh) * 2018-11-27 2019-02-19 华中科技大学 一种基于winograd算法的卷积神经网络优化方法
CN109858611A (zh) * 2019-01-11 2019-06-07 平安科技(深圳)有限公司 基于通道注意力机制的神经网络压缩方法及相关设备
CN109886397A (zh) * 2019-03-21 2019-06-14 西安交通大学 一种针对卷积层的神经网络结构化剪枝压缩优化方法

Also Published As

Publication number Publication date
DE112020001774T5 (de) 2021-12-30
JP7398482B2 (ja) 2023-12-14
GB2600055A (en) 2022-04-20
US20200410336A1 (en) 2020-12-31
WO2020260991A1 (en) 2020-12-30
CN113826120A (zh) 2021-12-21
JP2022537738A (ja) 2022-08-29

Similar Documents

Publication Publication Date Title
CN113826120B (zh) 神经网络的数据集相关的低秩分解
JP7046181B2 (ja) マルチ・タスク学習を用いた特徴抽出方法、コンピュータ・システム、およびコンピュータ・プログラム製品(マルチ・タスク学習を用いた特徴抽出)
US10373312B2 (en) Automated skin lesion segmentation using deep side layers
CN110580197A (zh) 大型模型深度学习的分布式计算架构
US20200125926A1 (en) Dynamic Batch Sizing for Inferencing of Deep Neural Networks in Resource-Constrained Environments
US11544566B2 (en) Deep learning model insights using provenance data
US10282411B2 (en) System, method, and recording medium for natural language learning
US20220358358A1 (en) Accelerating inference of neural network models via dynamic early exits
US20220188663A1 (en) Automated machine learning model selection
CN112446498A (zh) 在线部分奖励学习
WO2022135765A1 (en) Using disentangled learning to train an interpretable deep learning model
US11410083B2 (en) Determining operating range of hyperparameters
US20230177337A1 (en) Multi-objective driven refactoring of a monolith application using reinforcement learning
US11847443B2 (en) Constraints-based refactoring of monolith applications through attributed graph embeddings
US11164078B2 (en) Model matching and learning rate selection for fine tuning
US11496775B2 (en) Neural network model compression with selective structured weight unification
WO2023131275A1 (en) Artificial intelligence operations adaptive multi-granularity event grouping
WO2023098302A1 (en) Identifying microservices for monolith application through static code analysis
US20200242446A1 (en) Convolutional dynamic boltzmann machine for temporal event sequence
US11734576B2 (en) Cooperative neural networks with spatial containment constraints
US20210232891A1 (en) Neural network model compression with structured weight unification
US20210201157A1 (en) Neural network model compression with quantizability regularization
US20220198268A1 (en) Estimated online hard negative mining via probabilistic selection and scores history consideration
US20230229904A1 (en) Transfer learning through composite model slicing
US20230103149A1 (en) Adaptively compressing a deep learning model

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