CN110050282A - 卷积神经网络压缩 - Google Patents

卷积神经网络压缩 Download PDF

Info

Publication number
CN110050282A
CN110050282A CN201780076207.9A CN201780076207A CN110050282A CN 110050282 A CN110050282 A CN 110050282A CN 201780076207 A CN201780076207 A CN 201780076207A CN 110050282 A CN110050282 A CN 110050282A
Authority
CN
China
Prior art keywords
filter
convolutional neural
neural networks
connection mode
connection
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
Application number
CN201780076207.9A
Other languages
English (en)
Inventor
M.桑德勒
A.兹莫吉诺夫
S.钱平约
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN110050282A publication Critical patent/CN110050282A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

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)
  • Machine Translation (AREA)

Abstract

提供了卷积神经网络压缩的系统和方法。例如,卷积神经网络可以包括具有多个相关联的输入滤波器的输入卷积层和具有多个相关联的输出滤波器的输出卷积层。卷积神经网络实现定义多个输入滤波器和多个输出滤波器之间的连接的连接模式。连接模式指定多个输出滤波器中的至少一个输出滤波器仅连接到多个输入滤波器的子集。

Description

卷积神经网络压缩
技术领域
本公开一般涉及卷积神经网络。
背景技术
深度神经网络与大规模标记数据相结合,已成为近年来在监督式学习任务中实现最先进性能的标准方法。尽管取得了这些成功,但深度神经网络到高度非线性函数的能力也带来了高计算和存储需求。具体地,神经网络模型的参数的数量通常非常大,以考虑网络从其中学习的数据的规模、多样性和复杂性。这种神经网络通常在具有有限资源的移动或嵌入式设备中实现。可能难以平衡这种网络的大小、训练时间和预测准确性。虽然硬件的进步在某种程度上缓解了这个问题,但在移动和嵌入式设备上进行生产部署时,网络规模、速度和功耗都是限制因素。另一方面,众所周知,神经网络的权重之间存在显著的冗余。
在这方面,已经实现了各种神经网络压缩技术。例如,网络压缩的一种通用方法是称为网络修剪的技术,其中从网络中移除网络的连接子集。然而,如果没有管理连接和/或参数的移除的约束,则网络修剪可能导致不规则的网络,这可能对网络的训练时间和存储器使用产生负面影响。此外,网络修剪可能导致不灵活的模型。
以规模和速度的交易精度(trading accuracy)为目标的网络压缩的另一种方法是称为深度乘法器的技术,其中每层中的信道数量简单地减少固定分数部分并且网络被重新训练。深度乘法器包括约束,其中每个输入滤波器(或信道)必须完全连接到每个输出滤波器。网络压缩的其他方法包括量化和分解技术。可以在这样的网络上进一步执行网络正则化。正则化可以包括在网络训练期间将激活的子集随机设置为零。另一种正则化技术包括将权重或连接的子集随机设置为零。
发明内容
本公开的实施例的方面和优点将部分地在以下描述中阐述,或者可以从描述中学习,或者可以通过实施例的实践来学习。
本公开的一个示例方面涉及卷积神经网络。卷积神经网络包括具有多个相关联的输入滤波器的输入卷积层和具有多个相关联的输出滤波器的输出卷积层。卷积神经网络实现定义多个输入滤波器和多个输出滤波器之间的连接的连接模式。连接模式指定多个输出滤波器中的至少一个输出滤波器仅连接到多个输入滤波器的子集。
本公开的另一示例方面涉及存储计算机可读指令的一个或多个有形的非暂时性计算机可读介质,当由一个或多个处理器运行所述计算机可读指令时使得所述一个或多个处理器执行操作。所述操作包括访问表明与卷积神经网络相关联的连接模式的数据。连接模式定义了与第一卷积层相关联的多个第一滤波器和与第二卷积层相关联的多个第二滤波器之间的连接。连接模式指定多个第二滤波器中的至少一个仅连接到多个第一滤波器的子集。该操作还包括去激活卷积神经网络中与由连接模式指定的一个或多个非活动连接相对应的一个或多个连接。
本公开的又一示例方面涉及一种训练卷积神经网络的计算机实现的方法。所述方法包括由一个或多个计算设备在卷积神经网络上执行第一轮机器学习训练,同时在卷积神经网络的至少两个卷积层的多个第一滤波器和多个第二滤波器之间施行(enforce)第一连接模式。对于每个第二滤波器,第一连接模式仅指定第二滤波器所连接的多个第一滤波器的第一子集。所述方法还包括:在执行第一轮机器学习训练之后,由一个或多个计算设备在卷积神经网络上执行第二轮机器学习训练,同时在卷积神经网络的至少两个卷积层的多个第一滤波器和多个第二滤波器之间施行第二连接模式。对于每个第二滤波器,第二连接模式仅指定与该第二滤波器连接的多个第一滤波器的第二子集。对于每个第二滤波器,第二子集包括比第一子集更多数量的第一滤波器。
本公开的其他示例方面指向用于压缩和训练卷积神经网络的系统、装置、有形的、非暂时性的计算机可读介质、用户接口、存储器设备以及电子设备。
参考以下描述和所附权利要求,将更好地理解各种实施例的这些和其他特征、方面和优点。包含在本说明书中并构成其一部分的附图示出了本公开的实施例,并且与说明书一起用于说明相关原理。
附图说明
在说明书中阐述了针对本领域普通技术人员的实施例的详细讨论,该说明书参考了附图,其中:
图1描绘了根据本公开的示例实施例的用于压缩卷积神经网络的示例系统;
图2描绘了根据本公开的示例实施例的连接模式的图形表示;
图3描绘了根据本公开的示例实施例的训练卷积神经网络的示例方法的流程图;以及
图4描绘了根据本公开的示例实施例的压缩卷积神经网络的示例方法的流程图。
具体实施方式
现在将详细参考实施例,其一个或多个示例在附图中示出。通过说明实施例来提供每个示例,而不是限制本公开。实际上,对于本领域技术人员显而易见的是,在不脱离本公开的范围或精神的情况下,可以对实施例进行各种修改和变化。例如,作为一个实施例的一部分示出或描述的特征可以与另一个实施例一起使用,以产生又一个实施例。因此,意图是本公开的方面涵盖这些修改和变化。
本公开的示例方面涉及用于卷积神经网络(CNN)的压缩技术。例如,这种压缩技术可以定义与CNN的两个或更多个卷积层相关联的输入滤波器和输出滤波器之间的部分连接模式。以这种方式,可以去激活CNN的卷积层中的滤波器之间的一个或多个连接。更具体地,可以推广二维(2D)卷积技术以使用稀疏但一致的连接结构。深度神经网络通常具有密集的计算和存储器需求。具体地,这种深度网络通常具有非常大量的相关联的参数,以考虑网络从中学习的数据的规模、多样性和复杂性。虽然硬件技术的进步在一定程度上缓解了该问题,但网络规模、速度和功耗都是在移动和/或嵌入式设备上实现这种网络的限制因素。根据本公开的示例方面的CNN提供CNN的规模、训练时间和预测准确度之间的平衡。
CNN架构通常包括一个或多个卷积层、池化层(pooling layer)和/或完全连接的层。根据对层的组织进行管理的拓扑来配置这些层。本公开的一个示例实现包括将给定输入架构转换为具有较少数量参数的压缩架构。可以至少部分地基于维持输入架构的一般拓扑的变换函数来执行这种变换。
可以看出,缩小CNN的每个卷积层中的滤波器的数量可以导致更小、更快的网络,而仅导致很小的精度损失。例如,可以执行深度乘法器技术以将CNN的一个或多个卷积层的层深度减小固定分数。应当理解,以这种方式使用的术语“深度”是指单层的激活体积的第三维度,而不是整个CNN中的层数。例如,给定一个超参数α∈(0,1],每个卷积层中的滤波器数量可以按比例缩小α。设DI和DO分别为输入和输出滤波器的数量。考虑输出激活的空间位置x和y。对于每个输入滤波器k∈{1,...,DI}和输出滤波器l∈{1,...,DO},我们有:
其中这对滤波器的卷积核的大小为[W=2I+1,H=2J+1],b为输入,w为层参数,a为输出。
由于DI和DO在深度乘法器方法中变为因此参数的数量(和乘法的数量)变为原始数量的≈α2。在这方面,可以简单地收获在应用深度乘法器之前利用的任何计算节省。由此产生的网络更小更快。使用这种技术只需很小的精度损失就可以减小一些大型网络的规模。例如,在一些实现中,深度乘法器技术可以通过选择乘数α并按比例缩小每个滤波器深度然后向上舍入来实现。
与将深度乘法器视为去激活卷积层中的滤波器相反,可以从去激活滤波器之间的连接的角度来说明深度乘法器。在这方面,深度乘法器可以去激活两个或更多个卷积层之间的连接,使得在卷积层的空间维度上保持连接模式,并且所有剩余的输入滤波器完全连接到所有剩余的输出滤波器。
通过放宽剩余输入滤波器和输出滤波器完全连接的约束,可以推广这种方法。更具体地,对于每个空间维度,可以实现输入滤波器和输出滤波器之间的固定的稀疏随机连接模式。以这种方式,可以随机确定输入滤波器和输出滤波器之间的连接。以这种方式,与深度乘法器技术中提供的少量滤波器之间的密集连接模式相反,本公开的示例方面可以在较多数量的滤波器之间提供稀疏随机连接。例如,对于具有DI信道的输入卷积层和具有DO信道的输出卷积层,输出卷积层的每个输出滤波器仅连接到输入卷积层的α部分输入滤波器。该技术的优势是可以快速执行卷积,因为仅在卷积运算的外环处引入稀疏性。以这种方式,仍然可以使用连续的存储器布局。
在一些实现中,可以通过根据来自均匀分布的连接的可能性来激活输入滤波器和输出滤波器之间的连接以实现CNN架构。另外,可以执行激活,使得没有连接进入或离开死滤波器(dead filter)。以这种方式,任何连接必须具有到输入图像的路径和到最终预测的路径。保持与CNN相关联的任何完全连接层中的所有连接。在一些实现中,可以通过随机地去激活具有连接每层上的至少两个滤波器的参数的连接的分数α来实现CNN架构。如果相关联的参数连接仅剩下一个滤波器的层,则可以随机地去激活连接的分数在一些实现中,可以通过选择性地将掩模应用于与适当的滤波器相关联的参数张量来激活和/或去激活连接。
本公开的示例方面还涉及训练具有如上所述的部分连接的架构的CNN。具体地,可以在这样的CNN或其他部分连接的网络上执行增量训练技术。这种增量训练可以从具有一小部分(例如,1%、0.1%等)连接的网络开始。随着时间的推移可以逐渐添加连接,使得随着训练过程的进行,网络随着时间的推移而慢慢变得密集。例如,可以在训练过程的一个或多个训练迭代期间添加连接。这种增量训练可以允许网络通过引入附加连接来使用已经在新环境中训练的信道。以这种方式,当网络通过逐渐增加连接而随着时间的推移而变得密集时,所有信道已经具有一些可以在训练过程中利用的判别力。这种方法的优势是,通过使用小型网络启动训练过程,并随时间的推移而逐渐增加网络的规模,整个训练过程可以显著加快。应当理解,深度乘法器技术将不会受益于该方法,因为任何新激活的连接都需要从头开始训练新的滤波器。这样的过程可以使整个训练时间与从头开始的训练相当。
现在参考附图,将更详细地讨论本公开的示例方面。例如,图1描绘了根据本公开的示例实施例的执行CNN压缩技术和/或增量训练技术的示例计算系统100的框图。系统100包括通过网络180通信地耦合的用户计算设备102、服务器计算系统130和训练计算系统150。
例如,服务器计算系统130可以被配置为根据本公开的示例方面实现一种或多种网络压缩技术。服务器计算系统130包括一个或多个处理器132和存储器134。一个或多个处理器132可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或多个可操作连接的处理器。存储器134可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等,以及它们的组合。存储器134可以存储由处理器132运行的数据136和指令138,以使服务器计算系统130执行操作。
在一些实现中,服务器计算系统130包括一个或多个服务器计算设备或以其他方式由一个或多个服务器计算设备实现。在服务器计算系统130包括多个服务器计算设备的情况下,这样的服务器计算设备可以根据顺序计算架构、并行计算架构或其某种组合来操作。
如上所述,服务器计算系统130可以存储或以其他方式包括一个或多个CNN140。例如,CNN140可以包括一个或多个卷积层、一个或多个池化层、和/或一个或多个完全连接的层。例如,在一些实现中,池化层可以分离两个卷积层。每个层可以被配置为使用可能具有或不具有参数的一些可微函数将三维(3D)输入体积变换为3D输出体积。CNN140的层可以包括以三维(例如,宽度、高度和深度)布置的多个神经元。卷积层中的神经元仅连接到前一层的一小部分。以这种方式,卷积层可以被配置为计算连接到输入中的局部区域的神经元的输出。
卷积层与作为卷积层的参数的可学习滤波器的集合(例如,一个或多个)相关联。滤光器可以在空间上较小(例如沿宽度和高度维度)。例如,滤波器在空间上可以与关联于卷积层的感受野在空间上相同。每个卷积层可以与一个或多个滤波器卷积以产生一个或多个激活图。
如上所述,服务器计算系统130可以被配置为通过去激活与CNN140的两个或更多个卷积层相关联的一个或多个滤波器之间的一个或多个连接来压缩CNN140。以这种方式,如果那些参数连接每层上的至少两个滤波器,则服务器计算系统130可以随机地选择要去激活的连接的分数α。如果参数连接仅剩一个滤波器的层,则服务器计算系统130可以选择要去激活的连接的分数在选择要去激活的连接时,服务器计算系统130可以去激活所选择的连接。例如,在一些实现中,可以通过将掩膜应用于适当的参数张量来去激活连接。
服务器计算系统130可以经由与通过网络180通信地耦合的训练计算系统150的交互来训练CNN140。训练计算系统150可以与服务器计算系统130分离,或者可以是服务器计算系统130的一部分。
训练计算系统150包括一个或多个处理器152和存储器154。一个或多个处理器152可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或可操作连接的多个处理器。存储器154可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等,以及它们的组合。存储器154可以存储由处理器152运行的数据156和指令158,以使训练计算系统150执行操作。在一些实现中,训练计算系统150包括一个或多个服务器计算设备或以其他方式由一个或多个服务器计算设备实现。
训练计算系统150可以包括模型训练器160,其使用各种训练或学习技术(诸如,例如误差的向后传播)来训练存储在服务器计算系统130处的CNN140。在一些实现中,执行错误的向后传播可以包括通过时间执行缩短的反向传播。模型训练器160可以执行多个泛化技术(例如,重量衰减、dropout等)以改进被训练模型的泛化能力。具体地,模型训练器160可以基于一组训练数据162训练CNN140。
具体地,训练计算系统150和/或服务器计算系统130可以被配置为通过逐渐增加CNN140的连接量以递增方式训练CNN140。例如,服务器计算系统130可以通过去激活除了一小部分(例如,1%、0.1%等)之外的所有连接来初始化用于增量训练的CNN140。模型训练器160可以在初始化的CNN140上发起合适的训练技术。然后,服务器计算系统130可以递增地增加CNN140的连接数量,使得模型训练器160然后在具有增加的连接数量的CNN140上执行训练。该过程可以重复一次或多次,使得服务器计算系统130逐渐增加CNN140中的连接数量,并且模型训练器160随着连接逐渐增加而训练CNN140。应当理解,服务器计算系统130可以根据用于训练CNN140的各种合适的训练技术以任何合适的方式来致密CNN140。例如,服务器计算系统130可以确定定义用于增加连接的时间间隔的致密方案,以及增加连接的量。可以至少部分地基于模型训练器160用于训练CNN140的训练技术来确定致密方案。可以至少部分地基于卷积层的参数和/或CNN140内的多个可能连接来进一步确定致密方案。
模型训练器160包括用于提供所需功能的计算机逻辑。模型训练器160可以用控制通用处理器的硬件、固件和/或软件来实现。例如,在一些实现中,模型训练器160包括存储在存储设备上、加载到存储器中并由一个或多个处理器执运行的程序文件。在其他实现中,模型训练器160包括一组或多组计算机可运行指令,其存储在有形计算机可读存储介质中,诸如RAM硬盘或光学或磁性介质。
网络180可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,因特网)或其某种组合,并且可以包括任何数量的有线或无线链路。通常,通过网络180的通信可以经由任何类型的有线和/或无线连接,使用各种通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护方案(例如,VPN、安全HTTP、SSL)来承载。
图1示出了可以用于实现本公开的一个示例计算系统。也可以使用其他计算系统。例如,在一些实现中,用户计算设备102可以包括模型训练器160和训练数据集162。在这样的实现中,通信辅助模型120可以被训练并且在用户计算设备102处局部使用。在一些这样的实现中,用户计算设备102可以实现模型训练器160以基于用户特定数据来个性化通信辅助模型120。
用户计算设备102可以是任何类型的计算设备,诸如,个人计算设备(例如,膝上型或台式)、移动计算设备(例如,智能手机或平板电脑)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备或任何其他类型的计算设备。
用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或多个可操作连接的处理器。存储器114可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等,以及它们的组合。存储器114可以存储由处理器112运行的数据116和指令118,以使用户计算设备102执行操作。
用户计算设备102可以存储或包括一个或多个CNN 120。例如,CNN120可以是具有根据本公开的示例实施例的架构的CNN。在一些实现中,一个或多个CNN 120可以通过网络180从服务器计算系统130接收、存储在用户计算设备存储器114中、以及由一个或多个处理器112使用或以其他方式实现。在一些实现中,用户计算设备102可以实现单个CNN 120的多个并行实例。
图2描绘了根据本公开的示例方面的连接模式200的示例图形表示。具体地,y轴表示输入层DI的信道,并且x轴表示输出层DO的信道。z轴表示层的空间维度(例如,宽度W和高度H)。如图2所示,连接模式200包括多个激活连接202和多个去激活连接204。根据本公开的示例方面,连接模式200是稀疏连接模式。具体地,连接模式200指定用于层DI和层DO之间的可能连接的仅一小部分的连接。以这种方式,与层DO相关联的每个输出滤波器仅连接到与层DI相关联的一小部分滤波器。如上所述,这样做的优点是可以快速计算卷积,因为仅在卷积运算的外环处引入稀疏性。以这种方式,可以利用连续的存储器布局。
图3描绘了根据本公开的示例实施例的训练卷积神经网络的示例方法的流程图。方法(300)可以由一个或多个计算设备实现,所述计算机设备诸如图1中描绘的一个或多个计算设备。另外,图3描绘了出于说明和讨论的目的以特定顺序执行的步骤。使用本文提供的公开内容,本领域普通技术人员将理解,在不脱离本公开的范围的情况下,可以以各种方式调整、重新布置、扩展、省略或修改本文所讨论的任何方法的步骤。
在(302)处,方法(300)可以包括实现具有第一连接模式的卷积神经网络。第一连接模式可以与卷积神经网络的至少两个卷积层的多个输入滤波器和多个输出滤波器相关联。第一连接模式可以定义稀疏的随机连接模式,其中仅建立一小部分可能的连接。具体地,第一连接模式可以指定多个输入滤波器和多个输出滤波器之间的一个或多个活动连接和一个或多个非活动连接。以这种方式,第一连接模式可以指定活动连接仅构成多个输入滤波器和多个输出滤波器之间的可能连接的第一子集。在一些实现中,第一子集可以对应于一小部分(例如,1%、0.1%等)可能的连接数量。
在(304)处,方法(300)可以包括在施行第一连接模式的同时对卷积神经网络执行第一轮训练。可以使用各种合适的训练技术来执行第一轮训练。以这种方式,可以在实现第一连接模式的卷积神经网络上执行第一轮训练。
在(306)处,方法(300)可以包括将第一连接模式调整为第二连接模式。具体地,第二连接模式可以指定多个输入滤波器和多个输出滤波器之间的一个或多个活动连接和一个或多个非活动连接。以这种方式,第二连接模式可以指定活动连接仅构成多个输入滤波器和多个输出滤波器之间的可能连接的第二子集。第二子集可以是比第一子集更大的子集,使得第二子集中的活动连接的数量大于第一子集中的活动连接的数量。以这种方式,第二连接模式可以对应于多个输入滤波器和多个输出滤波器之间相对于第一连接模式的增加的连接量。在一些实现中,第二连接模式可以对应于递增或逐渐增加的连接量。
在(308)处,方法(300)可以包括在施行第二连接模式的同时对卷积神经网络执行第二轮训练。以这种方式,可以在实现第二连接模式的卷积神经网络上执行第二轮训练。
应当理解,可以在具有进一步调整的连接模式的卷积神经网络上执行一轮或多轮额外的训练。以这种方式,可以根据与卷积神经网络相关联的连接的逐渐或递增以递增的方式执行训练。
图4描绘了根据本公开的示例实施例的用于执行网络压缩的示例方法(400)的流程图。方法(400)可以由一个或多个计算设备实现,所述计算设备诸如图1中描绘的一个或多个计算设备。另外,图4描绘了出于说明和讨论的目的以特定顺序执行的步骤。
在(402)处,方法(400)可以包括访问指示连接模式的数据,该连接模式指定与卷积神经网络的两个或更多个卷积层的多个输入滤波器和多个输出滤波器相关联的一个或多个活动连接以及一个或多个非活动连接。如所指出的,可以通过随机选择要激活和/或去激活的一部分连接来确定连接模式。
在(404)处,方法(400)可以包括去激活与由连接模式指定的一个或多个非活动连接相对应的一个或多个连接。在一些实现中,可以通过将掩膜(mask)应用于与适当的滤波器相关联的参数张量来去激活一个或多个连接。
在(406)处,方法(400)可以包括激活与由连接模式指定的一个或多个活动连接相对应的一个或多个连接。例如,在一些实现中,连接模式可以指定要激活当前不活动的连接。在这种情况下,可以通过移除与适当的滤波器的参数张量相关联的掩膜来激活当前不活动的连接。
这里讨论的技术参考服务器、数据库、软件应用程序和其他基于计算机的系统,以及所采取的动作和发送到这些系统和从这些系统发送的信息。本领域普通技术人员将认识到,基于计算机的系统的固有灵活性允许组件之间和组件中的各种可能的配置、组合以及任务和功能的划分。例如,这里讨论的服务器进程可以使用单个服务器或多个服务器组合工作来实现。数据库和应用程序可以在单个系统上实现或分布在多个系统上。可以顺序地或并行操作分布式组件。
虽然已经关于本发明的具体示例实施例详细描述了本主题,但是应当理解,本领域技术人员在获得对前述内容的理解之后可以容易地产生对这些实施例的改变、变化和等同物。因此,本公开的范围是示例性的而不是限制性的,并且本公开内容并不排除包含对本主题的这些修改、变化和/或添加,这对于本领域普通技术人员之一是显而易见的。

Claims (20)

1.一种卷积神经网络,包括:
输入卷积层,具有多个相关联的输入滤波器;以及
输出卷积层,具有多个相关联的输出滤波器;
其中,所述卷积神经网络实现定义所述多个输入滤波器和所述多个输出滤波器之间的连接的连接模式,所述连接模式指定所述多个输出滤波器中的至少一个输出滤波器仅连接到所述多个输入滤波器的子集。
2.如权利要求1所述的卷积神经网络,其中,所述连接模式指定所述多个输入滤波器和所述多个输出滤波器之间的一个或多个活动连接和一个或多个非活动连接。
3.如权利要求2所述的卷积神经网络,其中,所述一个或多个活动连接包括所述多个输入滤波器和所述多个输出滤波器之间的可能连接的总数的一小部分。
4.如权利要求2或3所述的卷积神经网络,其中,所述一个或多个活动连接是随机确定的。
5.如权利要求2至4中的任意一个所述的卷积神经网络,其中,所述一个或多个非活动连接是随机确定的。
6.如前述任意一个权利要求所述的卷积神经网络,其中,所述连接模式是稀疏连接模式。
7.如前述任意一个权利要求所述的卷积神经网络,其中,所述输入卷积层和所述输出卷积层包括以三维布置的多个神经元。
8.如前述任意一个权利要求所述的卷积神经网络,还包括一个或多个池化层和一个或多个完全连接的层。
9.如权利要求8所述的卷积神经网络,其中,所述一个或多个池化层的至少一个池化层将所述输入卷积层和所述输出卷积层分离。
10.存储计算机可读指令的一个或多个有形的非暂时性计算机可读介质,当由一个或多个处理器运行所述计算机可读指令时,使得所述一个或多个处理器执行操作,所述操作包括:
访问指示与卷积神经网络相关联的连接模式的数据,所述连接模式定义与第一卷积层相关联的多个第一滤波器和与第二卷积层相关联的多个第二滤波器之间的连接,所述连接模式指定所述多个第二滤波器中的至少一个仅连接到所述多个第一滤波器的子集;
去激活所述卷积神经网络中与由所述连接模式指定的所述一个或多个非活动连接相对应的一个或多个连接。
11.如权利要求10所述的一个或多个有形的非暂时性计算机可读介质,其中,所述连接模式指定所述多个输入滤波器和所述多个输出滤波器之间的一个或多个活动连接和一个或多个非活动连接。
12.如权利要求11所述的一个或多个有形的非暂时性计算机可读介质,其中,所述一个或多个活动连接包括所述多个第一滤波器和所述多个第二滤波器之间的可能的连接总数的一小部分。
13.如权利要求11或12所述的一个或多个有形的非暂时性计算机可读介质,其中,所述一个或多个活动连接是随机确定的。
14.如权利要求11至13中任一项所述的一个或多个有形的非暂时性计算机可读介质,其中,所述一个或多个非活动连接是随机确定的。
15.如权利要求10至14中任一项所述的一个或多个有形的非暂时性计算机可读介质,所述操作还包括激活与由所述连接模式指定的所述一个或多个活动连接相关联的一个或多个连接。
16.如权利要求10至15中任一项所述的一个或多个有形的非暂时性计算机可读介质,其中,去激活所述卷积神经网络中的一个或多个连接包括:将掩膜应用于与所述一个或多个连接中的每一个相关联的一个或多个张量参数。
17.一种训练卷积神经网络的计算机实现的方法,所述方法包括:
由一个或多个计算设备在卷积神经网络上执行第一轮机器学习训练,同时在卷积神经网络的至少两个卷积层的多个第一滤波器和多个第二滤波器之间施行第一连接模式,其中所述第一连接模式对于每个第二滤波器仅指定所述第二滤波器所连接的所述多个第一滤波器的第一子集;以及
在执行所述第一轮机器学习训练之后,由所述一个或多个计算设备在所述卷积神经网络上执行第二轮所述机器学习训练,同时在卷积神经网络的至少两个卷积层的所述多个第一滤波器和所述多个第二滤波器之间施行第二连接模式,其中所述第二连接模式对于每个第二滤波器仅指定这种第二滤波器所连接的所述多个第一滤波器的第二子集,并且其中,对于每个第二滤波器,所述第二子集包括比所述第一子集更多数量的第一滤波器。
18.如权利要求17所述的计算机实现的方法,还包括实现施行所述第一连接模式的所述卷积神经网络。
19.如权利要求17或18所述的计算机实现的方法,还包括将所述卷积神经网络的所述第一连接模式调整为所述第二连接模式。
20.如权利要求17至19中任一项所述的计算机实现的方法,其中,所述机器学习训练包括反向传播技术。
CN201780076207.9A 2016-11-04 2017-09-29 卷积神经网络压缩 Pending CN110050282A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662417986P 2016-11-04 2016-11-04
US62/417,986 2016-11-04
PCT/US2017/054472 WO2018084974A1 (en) 2016-11-04 2017-09-29 Convolutional neural network

Publications (1)

Publication Number Publication Date
CN110050282A true CN110050282A (zh) 2019-07-23

Family

ID=60043418

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780076207.9A Pending CN110050282A (zh) 2016-11-04 2017-09-29 卷积神经网络压缩

Country Status (4)

Country Link
US (1) US20190279092A1 (zh)
EP (1) EP3520034A1 (zh)
CN (1) CN110050282A (zh)
WO (1) WO2018084974A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112434725A (zh) * 2020-10-30 2021-03-02 四川新网银行股份有限公司 一种部署到html5的模型压缩方法
CN113095493A (zh) * 2020-01-08 2021-07-09 马克西姆综合产品公司 降低神经网络中的内存需求的系统和方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018084576A1 (en) 2016-11-03 2018-05-11 Samsung Electronics Co., Ltd. Electronic device and controlling method thereof
KR20200013162A (ko) * 2018-07-19 2020-02-06 삼성전자주식회사 전자 장치 및 그의 제어 방법
US11468330B2 (en) 2018-08-03 2022-10-11 Raytheon Company Artificial neural network growth
US11928860B2 (en) 2018-12-14 2024-03-12 Intel Corporation On the fly adaptive convolutional neural network for variable computational budget
CN110399972B (zh) * 2019-07-22 2021-05-25 上海商汤智能科技有限公司 数据处理方法、装置及电子设备
US11113601B1 (en) * 2020-06-30 2021-09-07 Moffett Technologies Co., Limited Method and system for balanced-weight sparse convolution processing

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10373054B2 (en) * 2015-04-19 2019-08-06 International Business Machines Corporation Annealed dropout training of neural networks

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113095493A (zh) * 2020-01-08 2021-07-09 马克西姆综合产品公司 降低神经网络中的内存需求的系统和方法
CN112434725A (zh) * 2020-10-30 2021-03-02 四川新网银行股份有限公司 一种部署到html5的模型压缩方法
CN112434725B (zh) * 2020-10-30 2023-06-09 四川新网银行股份有限公司 一种部署到html5的模型压缩方法

Also Published As

Publication number Publication date
EP3520034A1 (en) 2019-08-07
US20190279092A1 (en) 2019-09-12
WO2018084974A1 (en) 2018-05-11

Similar Documents

Publication Publication Date Title
CN110050282A (zh) 卷积神经网络压缩
Lee et al. Enabling spike-based backpropagation for training deep neural network architectures
Wang et al. Factorized convolutional neural networks
Elhassouny et al. Trends in deep convolutional neural Networks architectures: A review
US9830709B2 (en) Video analysis with convolutional attention recurrent neural networks
CN106709461A (zh) 基于视频的行为识别方法及装置
CN108009627A (zh) 神经网络指令集架构
CN110121721A (zh) 用于稀疏神经网络加速的架构
Lee et al. SubFlow: A dynamic induced-subgraph strategy toward real-time DNN inference and training
KR20180027887A (ko) 뉴럴 네트워크에 기초한 인식 장치 및 뉴럴 네트워크의 트레이닝 방법
CN107209871A (zh) 具有回调的卷积矩阵相乘以用于深度卷积神经网络的深度瓦片化
KR20160034814A (ko) 뉴럴 네트워크를 수반한 클라이언트 장치 및 그것을 포함하는 시스템
Koutník et al. Online evolution of deep convolutional network for vision-based reinforcement learning
CN110222717A (zh) 图像处理方法和装置
CN109766995A (zh) 深度神经网络的压缩方法与装置
US11657285B2 (en) Methods, systems, and media for random semi-structured row-wise pruning in neural networks
CN110168572A (zh) 信息处理方法、信息处理装置、计算机可读存储介质
CN115357554B (zh) 一种图神经网络压缩方法、装置、电子设备及存储介质
CN110163333A (zh) 卷积神经网络的并行优化方法
CN110287857A (zh) 一种特征点检测模型的训练方法
Ponghiran et al. Reinforcement learning with low-complexity liquid state machines
Khan et al. Bridgeout: stochastic bridge regularization for deep neural networks
EP4086818A1 (en) Method of optimizing neural network model that is pre-trained, method of providing a graphical user interface related to optimizing neural network model, and neural network model processing system performing the same
Ikram A benchmark for evaluating Deep Learning based Image Analytics
CN116802646A (zh) 数据处理的方法和装置

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