CN114386562B - 减少神经模型的资源需求的方法、系统和存储介质 - Google Patents
减少神经模型的资源需求的方法、系统和存储介质 Download PDFInfo
- Publication number
- CN114386562B CN114386562B CN202111131670.3A CN202111131670A CN114386562B CN 114386562 B CN114386562 B CN 114386562B CN 202111131670 A CN202111131670 A CN 202111131670A CN 114386562 B CN114386562 B CN 114386562B
- Authority
- CN
- China
- Prior art keywords
- cnn
- decomposed
- neural network
- tensor
- layers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
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/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/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/045—Combinations of networks
-
- 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/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
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)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
减少神经模型的资源需求的方法、系统和存储介质。呈现了用于压缩神经网络模型的张量分解的各种实施例。在一个或多个实施例中,来自神经网络模型的一个或多个神经网络层使用张量环(TR)分解来进行压缩。在一个或多个实施例中,经TR分解的神经网络使用更少的资源并且可以更容易地部署在资源‑约束设备上。在较小的模型尺寸情况下,在推理期间,经压缩的模型比其原始模型运行更快,并且消耗更少的功率。此外,与其他张量分解方法相比,经TR压缩的模型在稳定性和模型精度方面可以获得更好的性能。
Description
技术领域
本公开一般涉及用于可以提供改进的计算机性能、特征和用途的计算机学习的系统和方法。更具体地,本公开涉及能够在资源受限的设备上使用复杂神经网络的系统和方法。
背景技术
神经网络在许多领域取得了巨大的成功,诸如计算机视觉、自然语言处理、推荐系统等。神经网络的一种类型是卷积神经网络。三维卷积神经网络(3D-CNN)已应用于各种视频理解任务,诸如分类、动作识别和分割。然而,3D-CNN的空间和计算复杂度远大于传统的二维卷积神经网络。因此,在资源受限的设备,诸如手机和相机上使用3D-CNN执行视频理解任务变得非常困难或不可能。
因此,所需要的是可以在资源受限的设备上利用诸如3D-CNN的复杂神经网络的方式。
发明内容
本发明的第一方面提供了一种用于减少神经模型的资源需求的计算机实现方法。所述方法包括给定包括一个或多个神经网络NN层的经训练的多维神经网络:对于来自经训练的多维神经网络的一个或多个神经网络层的集合的每个神经网络层,使用张量环TR分解近似神经网络层以获得经TR分解的NN层并获得包括一个或多个经TR分解的NN层的对应经TR分解的多维神经网络;使用经TR分解的NN层上的或经TR分解的多维神经网络上的验证数据,与来自经训练的多维神经网络的对应NN层的输出或者来自经训练的多维神经网络的输出相比,确定输出是否在可接受阈值内;响应于输出不满足可接受阈值:增加一个或多个神经网络层的集合中的一个或多个NN层的TR分解的秩;以及返回到对于来自经训练的多维神经网络的一个或多个神经网络层的集合中的每个神经网络层,使用TR分解近似神经网络层以获得经TR分解的NN层并获得包括一个或多个经TR分解的NN层的对应经TR分解的多维神经网络;以及响应于输出满足可接受阈值:使用训练数据集重新训练经TR分解的多维神经网络,直到达到停止条件;以及输出重新训练的经TR分解的多维神经网络。
本发明的第二方面提供了一种非暂时性计算机可读介质,包括一个或多个指令序列,指令序列当由至少一个处理器执行时,使得至少一个处理器执行根据第一方面所述的方法。
本发明的第三方面提供了一种系统,包括一个或多个处理器和与一个或多个处理器通信连接的存储器。存储器存储有被一个或多个处理器执行的指令,所述指令被一个或多个处理器执行,以使一个或多个处理器执行根据第一方面所述的方法。
本发明的第四方面提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据第一方面所述的方法。
使用本发明的方法,可以在资源受限的设备上利用诸如3D-CNN的复杂神经网络,允许以资源高效的方式在嵌入式设备上部署大型深度学习模型。
附图说明
将参考本公开的实施例,其示例可以在附图中示出。这些图旨在说明而非限制。尽管在这些实施例的上下文中一般性地描述了本公开,但是应当理解,其不旨在将本公开的范围限制于这些具体实施例。可能未按比例绘制图中项目。
图1描绘了根据本公开的实施例的张量环(TR)分解。
图2描绘了根据本公开的实施例的3D卷积神经网络的示例流程。
图3描绘了根据本公开的实施例的3D卷积神经网络的示例。
图4描绘了根据本公开的实施例的用于使用张量环分解来压缩神经网络的方法。
图5描绘了根据本公开的实施例的用于执行张量环分解的方法。
图6描绘了根据本公开的实施例的压缩的、经训练的模型的使用。
图7描绘了根据本公开的实施例的计算设备/信息处理系统的简化框图。
具体实施方式
在下面的描述中,出于解释的目的,阐述了具体细节以便提供对本公开的理解。然而,对于本领域的技术人员将显而易见的是,可以在没有这些细节的情况下实践本公开。此外,本领域的技术人员将认识到,下面描述的本公开的实施例可以以多种方式来实现,诸如有形计算机可读介质上的过程、装置、系统、设备或方法。
图中示出的组件或模块是本公开的示例性实施例的说明,并且意在避免模糊本公开。还应该理解的是,在整个讨论中,组件可以被描述为单独的功能单元,其可以包括子单元,但是本领域技术人员将认识到,各种组件或其一部分可以被划分为单独的组件或可以集成在一起,包括例如在单个系统或组件中。应当注意,本文讨论的功能或操作可以被实现为组件。组件可以以软件、硬件或其组合来实现。
此外,图内的组件或系统之间的连接不旨在限于直接连接。而是,中间组件可以修正、重新格式化或以其他方式更改这些组件之间的数据。同样,可以使用更多或更少的连接。还应注意,术语“耦接”、“连接”、“通信耦接”、“接口连接”、“界面连接”或其任何派生应理解为包括直接连接、通过一个或多个中间设备的间接连接,以及无线连接。还应注意,任何通信,诸如信号、响应、答复、确认、消息、查询等,可以包括一个或多个信息交换。
说明书中对“一个或多个实施例”,“优选实施例”,“一个实施例”,“多个实施例”等的引用意味着结合实施例描述的具体特征、结构、特性或功能包括在本公开的至少一个实施例中,并且可以在一个以上的实施例中。同样,上述短语在说明书中各个地方的出现不一定全部指代同一实施例或多个实施例。
在说明书中的各个地方使用某些术语是为了说明,而不应解释为限制性的。服务、功能或资源不限于单个服务、功能或资源;这些术语的使用可能是指相关服务、功能或资源的分组,它们可以是分布式的或聚合的。术语“包含”和“包括”应被理解为开放术语,并且以下的任何列表都是示例,并不意味着限于所列出的项目。“层”可以包括一个或多个操作。词语“最优的”,“优化”等是指结果或过程的改进,不需要特定的结果或过程已达到“最优”状态或峰值状态。存储器、数据库、信息库、数据存储、表格、硬件、高速缓存等的使用在本文中可以用来指代其中可以输入信息或以其他方式记录信息的一个或多个系统组件。
在一个或多个实施例中,停止条件可以包括:(1)已经执行了设定的迭代次数;(2)已达到一定的处理时间;(3)收敛性(例如,连续迭代之间的差小于第一阈值);(4)发散(例如,性能下降);以及(5)已经达到可接受的结果。
本领域技术人员应认识到:(1)可以可选地执行某些步骤;(2)步骤可能不限于本文所阐述的特定顺序;(3)可能以不同的顺序执行某些步骤;(4)可以同时进行某些步骤。
本文使用的任何标题仅用于组织目的,并且不应用于限制说明书或权利要求书的范围。所述专利文件中提到的每个参考文献/文件都通过引用整体并入本文。
应当注意,本文提供的任何实验和结果均以举例说明的方式提供,并且是在特定条件下使用一个或多个特定实施例进行的;因此,这些实验及其结果均不得用于限制当前专利文件的公开范围。
A.总体介绍
机器学习模型正在越来越多的应用中使用。然而,随着使用机器学习解决的任务本质的复杂性增加,模型也是如此。例如,考虑视频内容分析。用以解决此问题的常规方法通常分为两类:(1)直接使用3D-CNN模型或其变型来分析视频内容;(2)使用2D CNN和循环卷积网络来执行视频理解任务。然而,这些现有方法中的每一种都有缺点。第一组倾向于消耗大量的计算和存储器资源;从而如果不是不可能,使它们难以部署在资源有限的嵌入式设备上。如上所述,涉及计算的复杂神经网络可能需要相当广泛的资源(例如,功率、存储器、计算能力等)用以运行。但是,没有足够资源(例如,没有足够的功率、存储器、处理能力)的设备可能无法使用此类模型。它们在推理过程中也可能相当慢。第二组也可能遇到与第一组相同的问题,但它们也往往不善于捕捉视频中的时间信息和学习时间表示。
张量分解已被证明对于解决信号处理和机器学习中的许多问题是有效的。特别是,使用多种张量分解技术压缩深度卷积神经网络在计算机视觉和深度学习研究人员和从业者中变得非常流行。
在本专利文件中,提出了使用新颖的张量环分解方法压缩神经网络模型的实施例,并因此允许以资源高效的方式在嵌入式设备上部署大型深度学习模型。
B.张量环(TR)分解实施例
张量分解的形式有很多种,诸如Canonical Polyadic(CP)分解、Tucker分解、张量链式(tensor train)分解和张量环分解。本文各种实施例集中于张量环(TR)分解,因为它比CP分解和Tucker分解更紧凑并且在训练中比张量链式分解更稳定,特别是对于卷积神经网络。
如图1中图上描述的,张量环(TR)分解旨在通过循环相乘的三阶张量的序列110来表示高阶或高维张量105。也就是说,给定张量可以按TR-格式分解为:
其中是张量核的集合,其中注意最后一个张量核的大小为RN×IN×R1,即RN+1=R1,这在张量链式分解中放宽了RN+1=R1=1的秩约束。Tr表示跟踪操作。张量的参数大小通过张量环格式减小。
张量环格式可以被认为是张量链式格式的线性组合,它具有循环维置换不变性的特性,并且不需要由于跟踪操作而对核之间的多线性乘积进行严格排序。因此,与张量链式格式相比,它直观地提供了更强大和更通用的表示能力。在一个或多个实施例中,张量环分解用于压缩神经网络,这将在下一节中讨论。
C.用于神经网络的TR分解的实施例
应当注意,尽管本文描述的实施例可以在卷积神经网络的上下文内,但是本公开的各方面不限于此。因此,本公开的各方面可以被应用或适配以与其他神经网络一起使用并且在其他上下文中使用。例如,可以扩展实施例以缩小用于具有时空数据的视频理解之外的其他任务的其他大型模型,诸如分析来自深度相机的纯3D数据,识别来自语音数据的堆叠话语等。
三维卷积神经网络(3D-CNN)可以用于各种视频理解任务,诸如分类、动作识别和分割。如图2中所示,给定视频输入205,3D卷积神经网络210可以用于从空间域和时间域两者分析其内容并产生预测输出215。例如,3D卷积神经网络可以预测和分类是否存在参与视频中活动的人。
图3描绘了根据本公开的实施例的3D卷积神经网络的示例。如图所示,示例3D CNN包括五个卷积层305、315、325、335和345,五个池化层310、320、330、340和350,一个全连接层355和一个softmax层360。3D CNN 300接收视频输入302并预测一个或多个视频分类结果365。卷积层块中的数字(64、128等)表示卷积运算中使用的滤波器的数量,核是3D的(例如,3×3×3或5×5×5),步长为1。需要注意的是,图3中描绘的实施例是3DCNN的一个示例——也可以使用其他实施例。给定3D CNN,目标是获得对应的三维(3D)卷积,其内核为张量环格式,用于视频理解任务。
在一个或多个实施例中,可以压缩3D-CNN模型的一个或多个卷积层的集合的每个卷积层。即层中的3D卷积核可以重构为尺寸比较均衡的d阶张量,在此张量上可以使用TR格式。对于3D卷积核,可以进行映射以将条目从传送到新的四阶张量,具有约束thw=k1k2。给定k1和k2的值,可以构建用于的张量核。
关于使用本文实施例可以实现的压缩比,它与张量环秩有关。一般来说,用张量环分解,有个参数,而不是有个参数。注意di是用于因式分解权重张量的N个因数之一。
图4描绘了根据本公开的实施例的用于使用张量环分解来压缩神经网络的方法。给定神经网络,诸如3D CNN,和具有地面实况的训练数据集合,训练(405)神经网络模型以获得经训练的多维神经网络。在一个或多个实施例中,给定经训练的多维神经网络,对于来自经训练的多维神经网络的一个或多个神经网络层的集合中的每个神经网络层,使用(410)张量环(TR)分解近似神经网络层,以获得经TR分解的神经网络层,并获得对应的经TR分解的多维神经网络,其包括一个或多个经TR分解的神经网络层。在一个或多个实施例中,此组神经网络层可以是模型的所有神经网络、某一类型或多种类型的所有神经网络、或其子集。
在一个或多个实施例中,可以检查经压缩的层的性能或在整个压缩模型上的性能的可接受性。因此,在一个或多个实施例中,验证数据可以应用于(415)经TR分解的神经网络层或经TR分解的多维神经网络模型以确定输出(例如,层输出或模型输出)是否在可接受阈值内。在一个或多个实施例中,可接受阈值可以基于来自经压缩的层或模型的输出与来自经训练的多维神经网络的对应神经网络层的输出或来自经训练的多维神经网络的输出的比较。
响应于输出不满足(425)可接受阈值或范围,可以增加(430)一个或多个神经网络层的集合中的一个或多个神经网络层的TR分解的秩,并且将过程返回到步骤410。
在一个或多个实施例中,响应于输出满足(425)可接受阈值,可以使用训练数据集重新训练(435)经TR分解的多维神经网络直到达到停止条件。在一个或多个实施例中,训练数据集可以是与用于初始化训练模型的数据相同的数据集、或者可以是不同的数据集。在重新训练之后,可以输出(440)重新训练的经TR分解的多维神经网络以供使用。需要注意的是,重新训练的经TR分解的多维神经网络比原始神经网络需要更少的资源来存储和操作。因此,重新训练的经TR分解的多维神经网络可以更广泛地部署,因为甚至可以使用资源受限的设备。
图5描绘了根据本公开的实施例的用于执行张量环分解的方法。在一个或多个实施例中,某些数据可以被初始化(505),输入数据、输出通道(S)、输入/输出通道模式(TR分解的参数)、秩和内核大小(按层设置)。给定维度约束,其中减少的维度至少等于神经网络层的维度的子集,其中维度的子集比减少的维度具有更多维度,对减少的维度的值进行近似(510)。例如,在一个或多个实施例中,给定核为那么用以减少维度的约束可以是t×h×w=k1×k2,并且递归可以是用于近似k1和k2的值。
在一个或多个实施例中,对于待TR分解的神经网络,使用减少维度的值(例如,值k1和k2)、用于神经网络层的输入/输出通道的模式、用于神经网络层的一个或多个秩、用于神经网络层的参数权重为此层的张量构建张量核。例如,在一个或多个实施例中,使用(515)值k1和k2、用于卷积层的输入/输出通道模式、一个或多个秩以及参数权重以构建对应的张量的张量核。在一个或多个实施例中,张量核用于生成(520)它们对应的张量。例如,给定卷积神经网络层的张量核,可以生成四阶张量
在一个或多个实施例中,给定张量,使用映射将张量重塑(525)为核。例如,给定四阶张量可以使用映射将四阶张量重塑为3D卷积核从而压缩层。在一个或多个实施例中,此过程可以在模型中的多个层上执行。
最后,在一个或多个实施例中,使用层的输入数据和核计算(530)TR分解神经网络层的输出。如上所述,根据实施例,可以将经压缩的层的输出与该层的原始输出进行对比以检查其精度是否仍然可接受,或者该层是否应该使用一个或多个不同的参数经历压缩过程。可替代地或附加地,可以检查经压缩模型的整体输出以确定其是否可接受,如图4中所讨论的。
图6描绘了根据本公开的实施例的经压缩的、经训练的模型的使用。在一个或多个实施例中,给定经训练的经TR分解的模型,将其存储(605)在使用比经训练的原始模型更少的存储器的设备上。由于经压缩的模型使用更少的资源——用以存储和操作两者——此模型可以部署在资源受限的设备上,诸如嵌入式设备。假设模型是3D CNN,经压缩的模型可以接收(610)输入视频并输出(615)其预测。
本领域技术人员应认识到实施例具有若干优点。例如,通过张量环分解,可以压缩模型,诸如3D-CNN模型,并将其部署在资源约束设备上。例如,对于图3中所示的具有5个卷积层的3D-CNN,当使用本文中的实施例之一进行压缩时,可以节省10x-20x的模型尺寸。节省的确切尺寸将取决于使用的张量环秩。在较小的模型尺寸的情况下,在推理期间,经压缩的模型比其原始的传统模型运行快得多,并且消耗更少的功率。此外,与其他张量分解方法相比,经TR压缩的模型在稳定性和模型精度方面可以获得更好的性能。
D.计算系统实施例
在一个或多个实施例中,本专利文件的各方面可以针对、可以包括一个或多个信息处理系统(或计算系统)或可以在一个或多个信息处理系统(或计算系统)上实现。信息处理系统/计算系统可以包括可操作以运算、计算、确定、分类、处理、发送、接收、检索、发起、路由、切换、存储、显示、通信、显示、检测、记录、复制、处理或利用任何形式的信息、情报或数据的任何工具或工具的聚合。例如,计算系统可以是或可以包括个人计算机(例如,笔记本电脑)、平板计算机、移动设备(例如,个人数字助理(PDA)、智能电话、平板手机、平板电脑等)、智能手表、服务器(例如,刀片服务器或机架服务器)、网络存储设备、相机或任何其他合适的设备,并且在大小、形状、性能、功能和价格可能会有所不同。所述计算系统可以包括随机存取存储器(RAM),诸如中央处理单元(CPU)或硬件或软件控制逻辑的一个或多个处理资源,只读存储器(ROM)和/或其他类型的存储器。计算系统的附加组件可以包括一个或多个磁盘驱动器,用于与外部设备以及各种输入和输出(I/O)设备通信的一个或多个网络端口,诸如键盘、鼠标、手写笔、触摸屏和/或视频显示。计算系统还可以包括可操作以在各种硬件组件之间传输通信的一条或多条总线。
图7描绘了根据本公开的实施例的信息处理系统(或计算系统)的简化框图。将理解的是,针对系统700示出的功能可以操作以支持计算系统的各种实施例-尽管应当理解,计算系统可以被不同地配置并且包括不同的组件,包括具有更少或更多的组件,如图7中所示。
如图7中所示,计算系统700包括一个或多个中央处理单元(CPU)701,其提供计算资源并控制计算机。CPU 701可以用微处理器等实现,并且还可以包括一个或多个图形处理单元(GPU)702和/或用于数学计算的浮点协处理器。在一个或多个实施例中,一个或多个GPU 702可以被合并在显示控制器709内,诸如一个或多个图形卡的一部分。系统700还可以包括系统存储器719,系统存储器可以包括RAM、ROM或两者。
如图7中所示,还可以提供多个控制器和外围设备。输入控制器703代表到诸如键盘、鼠标、触摸屏和/或手写笔的各种输入设备704的界面。计算系统700还可以包括用于与一个或多个存储设备708接口连接的存储控制器707,每个存储设备708包括诸如磁带或磁盘的存储介质,或可以用于记录用于操作系统、实用程序和应用的指令的程序的光学介质,其可以包括实现本公开的各个方面的程序的实施例。根据本公开,存储设备708也可以用于存储处理后的数据或待处理的数据。系统700还可以包括显示控制器709,用于提供到显示设备711的界面,显示设备可以是阴极射线管(CRT)显示器、薄膜晶体管(TFT)显示器、有机发光二极管、电致发光面板、等离子面板或任何其他类型的显示器。计算系统700还可以包括用于一个或多个外围设备706的一个或多个外围设备控制器或界面705。外围设备的示例可以包括一个或多个打印机、扫描仪、输入设备、输出设备、传感器等。通信控制器714可以与一个或多个通信设备715接口连接,这使得系统700能够通过包括因特网,云资源(例如,以太网云,以太网上的光纤信道(FCoE)/数据中心桥接(DCB)云等),局域网(LAN),广域网(WAN),存储区域网(SAN)的各种网络的任何一个或通过任何合适的包括红外信号的电磁载波信号来连接到远程设备。如所描绘的实施例中所示,计算系统700包括一个或多个风扇或风扇托盘718和一个或多个冷却子系统控制器717,其监视系统700(或其组件)的热温度并操作风扇/风扇托盘718以帮助调节温度。
在图示的系统中,所有主要系统组件可以连接到总线716,所述总线可以代表一个以上的物理总线。但是,各种系统组件可能在物理上彼此接近,也可能不在物理上彼此接近。例如,输入数据和/或输出数据可以从一个物理位置远程传输到另一物理位置。另外,可以通过网络从远程位置(例如,服务器)访问实现本公开的各个方面的程序。可以通过各种机器可读介质中的任何一种来传递这样的数据和/或程序,机器可读介质包括例如诸如硬盘、软盘和磁带的磁性介质;以及诸如CD-ROM和全息设备的光学媒体;磁光介质;以及专门配置用于存储或存储并执行程序代码的硬件设备,诸如专用集成电路(ASIC)、可编程逻辑器件(PLD)、闪存设备、其他非易失性存储器(NVM)设备(诸如基于3D XPoint的设备)以及ROM和RAM设备。
本公开的各方面可以利用用于一个或多个处理器或处理单元以使步骤被执行的指令以在一个或多个非暂时性计算机可读介质上进行编码。应当注意,一个或多个非暂时性计算机可读介质应包括易失性和/或非易失性存储器。应当注意的是,替代实现是可能的,包括硬件实现或软件/硬件实现。可以使用ASIC、可编程阵列、数字信号处理电路等来实现硬件实现的功能。因此,任何权利要求中的“装置”术语旨在涵盖软件和硬件实现。类似地,本文所使用的术语“计算机可读介质”包括其上包括指令的程序的软件和/或硬件,或其组合。考虑到这些实现的替代方案,应当理解,附图和随附的描述提供了本领域技术人员编写程序代码(即,软件)和/或制造电路(即,硬件)所需的功能信息,以执行所需的处理。
应当注意,本公开的实施例可以进一步涉及具有非暂时性、有形计算机可读介质的计算机产品,其上具有用于执行各种计算机实现的操作的计算机代码。媒体和计算机代码可以是出于本公开的目的而专门设计和构造的那些,或者它们可以是相关领域技术人员已知或可获得的那种。有形计算机可读介质的示例包括,例如:诸如硬盘、软盘和磁带的磁性介质;诸如CD-ROM和全息设备的光学介质;磁光介质;以及专门配置用于存储或存储并执行程序代码的硬件设备,诸如专用集成电路(ASIC)、可编程逻辑器件(PLD)、闪存设备、其他非易失性存储器(NVM)设备(诸如基于3D XPoint的设备)以及ROM和RAM设备。计算机代码的示例包括机器代码,诸如由编译器生成的机器代码以及包含由计算机使用解释器执行的更高级别代码的文件。本公开的实施例可以全部或部分地实现为机器可执行指令,机器可执行指令可以在由处理设备执行的程序模块中。程序模块的示例包括库、程序、例程、对象、组件和数据结构。在分布式计算环境中,程序模块可能物理上位于局部、远程或二者兼有的设置中。
本领域技术人员将认识到,没有计算系统或编程语言对于本公开的实践是至关重要的。本领域的技术人员还将认识到,上述许多元件可以在物理上和/或功能上分离为模块和/或子模块或组合在一起。
本领域技术人员将理解,前述示例和实施例是示例性的,并且不限制本公开的范围。旨在通过阅读说明书和对附图的研究,对本领域技术人员显而易见的所有排列、增强、等同、组合和改进包括在本公开的真实精神和范围内。还应当注意,任何权利要求的元素可以不同地布置,包括具有多个依赖性、配置和组合。
Claims (8)
1.一种用于减少神经模型的资源需求的方法,包括:
给定包括一个或多个卷积神经网络CNN层的经训练的三维卷积神经网络3D CNN,其中,所述三维卷积神经网络3DCNN的输入为视频数据:
对于来自经训练的3D CNN的一个或多个CNN层的集合中的每个CNN层,使用张量环TR分解近似CNN层以获得经TR分解的CNN层并获得包括一个或多个经TR分解的CNN层的对应经TR分解的3DCNN;
使用经TR分解的CNN层上的或经TR分解的3DCNN上的验证数据,与来自经训练的3D CNN的对应NN层的输出或者来自经训练的3D CNN的输出相比,确定输出是否在可接受阈值内;
响应于输出不满足可接受阈值:
增加一个或多个神经网络层的集合中的一个或多个CNN层的TR分解的秩;以及
返回到对于来自经训练的3D CNN的一个或多个CNN层的集合中的每个CNN层,使用TR分解近似CNN层以获得经TR分解的CNN层并获得包括一个或多个经TR分解的CNN层的对应经TR分解的3D CNN;以及
响应于输出满足可接受阈值:
使用训练数据集重新训练经TR分解的3D CNN,直到达到停止条件;以及
输出重新训练的经TR分解的3D CNN,,重新训练的经TR分解的3D CNN与经训练的3DCNN相比需要更小的存储器来存储;
其中,对于来自经训练的3D CNN的一个或多个CNN层的集合中的每个CNN层,使用TR分解近似CNN层以获得经TR分解的CNN层并获得包括一个或多个经TR分解的CNN层的对应经TR分解的3D CNN,包括:
对于包括输出通道、输入通道模式、输出通道模式、TR分解的秩和具有多个维度的核大小的CNN层:
给定约束,对减少的维度的值进行近似,在约束中减少的维度至少等于神经网络层的维度的子集,其中维度的子集比减少的维度有更多的维度;
使用减少的维度的值、CNN层的输入/输出通道模式、秩以及参数权重构建张量的张量核;
使用张量核生成张量;
给定张量,使用映射将张量重塑为核;以及使用TR分解CNN层的输入数据和核计算TR分解CNN层的输出。
2.如权利要求1所述的方法,其特征在于,所述多个维度的核大小为通道的长度t × h× w × C×滤波器的数量S,所述约束为k 1 × k 2 = t × h × w,所述减少维度的值为近似k 1 和k 2的值,所述张量为4阶张量,所述核为3D卷积核。
3.如权利要求1所述的方法,其中使用递归近似减少的维度的值。
4.如权利要求2所述的方法,其中使用递归近似k 1和k 2的值。
5.如权利要求1所述的方法,进一步包括:
将重新训练的经TR分解的3DCNN存储在计算设备上以供执行,其中重新训练的经TR分解的3DCNN比经训练的3DCNN使用计算设备的更少的存储器。
6.一种非暂时性计算机可读介质,包括一个或多个指令序列,指令序列当由至少一个处理器执行时,使得至少处理器执行根据权利要求1-5中任一项所述的方法。
7.一种计算机系统,包括:
一个或多个处理器;以及
与一个或多个处理器通信连接的存储器;
其中存储器存储有被一个或多个处理器执行的指令,指令被一个或多个处理器执行,以使一个或多个处理器执行根据权利要求1-5中任一项所述的方法。
8.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-5中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/076,184 | 2020-10-21 | ||
US17/076,184 US12236342B2 (en) | 2020-10-21 | 2020-10-21 | Tensor ring decomposition for neural networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114386562A CN114386562A (zh) | 2022-04-22 |
CN114386562B true CN114386562B (zh) | 2025-02-18 |
Family
ID=81185367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111131670.3A Active CN114386562B (zh) | 2020-10-21 | 2021-09-26 | 减少神经模型的资源需求的方法、系统和存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US12236342B2 (zh) |
CN (1) | CN114386562B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105844653A (zh) * | 2016-04-18 | 2016-08-10 | 深圳先进技术研究院 | 一种多层卷积神经网络优化系统及方法 |
CN110276438A (zh) * | 2019-05-15 | 2019-09-24 | 长沙理工大学 | 一种神经网络参数压缩方法及相关装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11593660B2 (en) * | 2018-09-18 | 2023-02-28 | Insilico Medicine Ip Limited | Subset conditioning using variational autoencoder with a learnable tensor train induced prior |
CN109977989B (zh) * | 2019-01-17 | 2021-04-20 | 北京工业大学 | 一种图像张量数据的处理方法 |
CN110428045A (zh) * | 2019-08-12 | 2019-11-08 | 电子科技大学 | 基于Tucker算法的深度卷积神经网络压缩方法 |
-
2020
- 2020-10-21 US US17/076,184 patent/US12236342B2/en active Active
-
2021
- 2021-09-26 CN CN202111131670.3A patent/CN114386562B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105844653A (zh) * | 2016-04-18 | 2016-08-10 | 深圳先进技术研究院 | 一种多层卷积神经网络优化系统及方法 |
CN110276438A (zh) * | 2019-05-15 | 2019-09-24 | 长沙理工大学 | 一种神经网络参数压缩方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
US12236342B2 (en) | 2025-02-25 |
US20220121926A1 (en) | 2022-04-21 |
CN114386562A (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11829880B2 (en) | Generating trained neural networks with increased robustness against adversarial attacks | |
KR102434726B1 (ko) | 처리방법 및 장치 | |
CN111797893B (zh) | 一种神经网络的训练方法、图像分类系统及相关设备 | |
US11392829B1 (en) | Managing data sparsity for neural networks | |
WO2020228525A1 (zh) | 地点识别及其模型训练的方法和装置以及电子设备 | |
CN111882031B (zh) | 一种神经网络蒸馏方法及装置 | |
US20190279075A1 (en) | Multi-modal image translation using neural networks | |
CN110070072A (zh) | 一种生成物体检测模型的方法 | |
CN119323237A (zh) | 实现用于高效学习的条件神经过程的神经网络系统 | |
WO2020098257A1 (zh) | 一种图像分类方法、装置及计算机可读存储介质 | |
CN113168559A (zh) | 机器学习模型的自动化生成 | |
WO2015062209A1 (zh) | 随机森林分类模型的可视化优化处理方法及装置 | |
WO2022105108A1 (zh) | 一种网络数据分类方法、装置、设备及可读存储介质 | |
CN110084253A (zh) | 一种生成物体检测模型的方法 | |
CN115066687A (zh) | 放射性数据生成 | |
US20210182670A1 (en) | Method and apparatus with training verification of neural network between different frameworks | |
WO2018228399A1 (zh) | 运算装置和方法 | |
US20240061980A1 (en) | Machine-learning for topologically-aware cad retrieval | |
Kakillioglu et al. | 3D capsule networks for object classification with weight pruning | |
US20230053618A1 (en) | Recurrent unit for generating or processing a sequence of images | |
CN112529149A (zh) | 一种数据处理方法及相关装置 | |
Guo et al. | Efficient convolutional networks learning through irregular convolutional kernels | |
US20240119077A1 (en) | Apparatus and method for sharing and pruning weights for vision and language models | |
CN114386562B (zh) | 减少神经模型的资源需求的方法、系统和存储介质 | |
CN117409260A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |