CN113112012B - 用于视频图像处理的方法、装置和计算机设备 - Google Patents

用于视频图像处理的方法、装置和计算机设备 Download PDF

Info

Publication number
CN113112012B
CN113112012B CN202110018295.5A CN202110018295A CN113112012B CN 113112012 B CN113112012 B CN 113112012B CN 202110018295 A CN202110018295 A CN 202110018295A CN 113112012 B CN113112012 B CN 113112012B
Authority
CN
China
Prior art keywords
weight coefficients
neural network
weight
computer
uniformity
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
CN202110018295.5A
Other languages
English (en)
Other versions
CN113112012A (zh
Inventor
蒋薇
王炜
刘杉
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.)
Tencent America LLC
Original Assignee
Tencent America 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
Priority claimed from US17/086,642 external-priority patent/US11935271B2/en
Application filed by Tencent America LLC filed Critical Tencent America LLC
Publication of CN113112012A publication Critical patent/CN113112012A/zh
Application granted granted Critical
Publication of CN113112012B publication Critical patent/CN113112012B/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

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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请提供一种用于压缩神经网络模型的方法、装置和计算机设备。所述方法包括:从与神经网络相关联的多维张量对应的超级块中,识别至少一个块。对与所述超级块相关联的权重系数集进行均一化。基于已均一化的权重系数集,压缩神经网络模型。

Description

用于视频图像处理的方法、装置和计算机设备
本申请要求2020年1月10日在美国专利商标局提交的第62/959,631号美国临时专利申请以及2020年11月2日提交的第17/086,642号美国正式专利申请的优先权,所述两个申请的全部内容通过引用并入本申请中。
技术领域
本申请总体上涉及数据处理领域,特别是涉及用于视频图像处理的方法、装置和可读存储介质。
背景技术
ISO/IEC MPEG(JTC 1/SC 29/WG 11)(国际标准化组织/国际电工委员会运动图像专家组(联合技术委员会1/第29分委员会/第11工作组))一直在积极地寻找未来视频编解码技术标准化的潜在需求,以用于视觉分析和理解。ISO于2015年采纳视觉搜索紧凑描述符(Compact Descriptors for Visual Search,CDVS)标准作为静止图像标准,该CDVS标准提取特征表示,用于进行图像相似性匹配。CDVS标准被列为MPEG 7的第15部分和ISO/IEC15938-15,并且于2018年定稿,该CDVS标准提取视频片段的全局和局部的、手动设计的和基于深度神经网络(DNN)的特征描述符。DNN在大范围视频应用中的成功,诸如语义分类、目标检测/识别、目标跟踪、视频质量增强等,形成了压缩DNN模型的强烈需求。因此,MPEG正在积极致力于神经网络的编码表示标准(Coded Representation of Neural Networkstandard,NNR),该标准对DNN模型进行编码以节省存储空间和计算量。
目前存在几种学习紧凑DNN模型的方法。这些方法的目标是去掉不重要的权重系数,并且假设权重系数的值越小,重要性越低。但现有的方法所学习的DNN模型在网络精度和计算量方面仍有待提高。
发明内容
本申请实施例涉及用于压缩神经网络模型的方法、装置、系统和计算机可读存储介质。
根据一个方面,提供了一种用于压缩神经网络模型的方法。该方法可以包括:从与神经网络相关联的多维张量所对应的超级块中,识别至少一个块。对与所述超级块相关联的权重系数集进行均一化,其中,所述权重系数集包括所述至少一个块的权重系数。基于已均一化的权重系数集,压缩神经网络模型。
根据另一个方面,提供了一种用于压缩神经网络模型的计算机系统。该计算机系统可以包括至少一个处理器、至少一个计算机可读存储器、至少一个计算机可读有形存储设备、以及程序指令,所述程序指令存储在至少一个存储设备中的至少一个上,用于由至少一个处理器中的至少一个经由至少一个存储器中的至少一个来执行,由此该计算机系统能够执行一种方法。该方法可以包括:从与神经网络相关联的多维张量所对应的超级块中,识别至少一个块。对与所述超级块相关联的权重系数集进行均一化,其中,所述权重系数集包括所述至少一个块的权重系数。基于已均一化的权重系数集,压缩神经网络模型。
根据再一个方面,提供了一种用于压缩神经网络模型的装置,所述装置包括:识别模块,用于从与神经网络相关联的多维张量所对应的超级块中,识别至少一个块;均一化模块,用于对与所述超级块相关联的权重系数集进行均一化,其中,所述权重系数集包括所述至少一个块的权重系数;以及压缩模块,用于基于已均一化的权重系数集,压缩神经网络模型。
根据另一个方面,提供了一种非易失性计算机可读存储介质,其上存储有用于压缩神经网络模型的计算机程序,所述计算机程序被配置为使得至少一个计算机处理器执行所述压缩神经网络模型的方法。
根据又一个方面,提供了一种用于压缩神经网络模型的计算机可读存储介质。计算机可读存储介质可以包括至少一个计算机可读存储设备和存储在至少一个有形存储设备中的至少一个之上的程序指令,所述程序指令可由处理器执行。该程序指令可由处理器执行,用于执行一种方法,该方法可以相应地包括从与神经网络相关联的多维张量所对应的超级块中,识别至少一个块。对与所述超级块相关联的权重系数集进行均一化,其中,所述权重系数集包括所述至少一个块的权重系数。基于已均一化的权重系数集,压缩神经网络模型。
根据再一个方面,提供了一种计算机设备,包括存储器和处理器,所述存储器上存储有用于压缩神经网络模型的计算机程序,所述计算机程序被配置为使得所述处理器执行前述方法。
本申请实施例的用于压缩神经网络模型的方法、装置、系统和计算机可读存储,通过结构化权重均一化,提高了进一步压缩所学习的权重系数的效率,这可以显著地减小DNN模型的大小,减少计算量和内存的占用,节省能耗,同时具有较高的精度。当本申请实施例用于视频编解码时,可以提高视频编解码效率。
附图说明
本申请这些和其它目的、特征和优点将从以下结合附图的说明性实施例的详细描述中变得清楚。由于附图是用于结合详细描述方便本领域技术人员清楚地理解,因此附图的各种特征并非按比例绘制。在附图中:
图1示出了根据至少一个实施例的联网计算机环境;
图2是根据至少一个实施例的描述对划分结构进行均一化的框图;
图3是根据至少一个实施例的神经网络模型压缩系统的框图;
图4是根据至少一个实施例的说明由压缩神经网络模型的程序执行的步骤的操作流程图;
图5是根据至少一个实施例的图1中所描绘的计算机和服务器的内部组件和外部组件的框图;
图6是根据至少一个实施例的包括图1中所描绘的计算机系统的说明性云计算环境的框图;以及
图7是根据至少一个实施例的图6的说明性云计算环境的功能层的框图。
具体实施例
本申请公开了所要求保护的结构和方法的具体实施例;然而,可理解的是,所公开的实施例仅仅是可以以各种形式体现的所要求保护的结构和方法的说明。然而,这些结构和方法可以以许多不同的形式来实施,不应被解释为限于本申请中阐述的示例性实施例。相反,提供这些示例性实施例使得本申请是详尽和完整的,并且充分地将其范围传达给本领域技术人员。在描述中,可能会省略公知特征和技术的细节,以避免不必要地模糊所呈现的实施例。
本申请实施例总体上涉及数据处理领域,更具体而言,涉及神经网络。以下描述的示例性实施例提供了系统、方法和计算机程序,基于在迭代网络中的选择性结构化权重均一化,压缩神经网络模型。结构化权重均一化提高了进一步压缩所学习的权重系数的效率,这可以显著地减小DNN模型的大小。使用均一化损失进行均一化结构选择,可以使得系统能够使用灵活的均一化结构,减小均一化损失,而具有类似的压缩效率。通过迭代性的再训练过程,可以维持原始的训练目标,以提高压缩效率。迭代性的再训练过程还赋予了在不同时间引入不同损失的灵活性,使得系统在优化过程期间,聚焦在不同的目标上。可以使用密集模型和已修剪的稀疏模型两者,这部分作为一个另外的模块来提高后续压缩和计算中的模型效率。本申请实施例中的方法、计算机系统和计算机可读存储介质,可以应用于不同数据形式的数据集。输入/输出数据是一般的4D张量,可以是真实的视频片段、图像或提取的特征图。
现在参考图1,示出了用于压缩神经网络模型的神经网络模型压缩系统100(以下称为“系统”)的联网计算机环境的功能框图。应当理解,图1仅提供一种实现方式的图示,并不意味着对可实现不同实施例的环境的任何限制。可基于设计和实现需求对所描绘的环境进行许多修改。
系统100可包括计算机102和服务器计算机114。计算机102可经由通信网络110(以下称为“网络”)与服务器计算机114通信。计算机102可包括处理器104以及存储在数据存储设备106上的软件程序108,并且能够与用户接口交互以及与服务器计算机114通信。如下面参考图5所讨论的,计算机102可分别包括内部组件800A和外部组件900A,服务器计算机114可分别包括内部组件800B和外部组件900B。计算机102可为例如移动设备、电话、个人数字助理、上网本、膝上型计算机、平板计算机、台式计算机或者能够运行程序、访问网络和访问数据库的任何类型的计算设备。
服务器计算机114还可在云计算服务模型(诸如软件即服务(Software as aService,SaaS)、平台即服务(Platform as a Service,PaaS)或基础架构即服务(Infrastructure as a Service,IaaS))中工作,如下面图6和图7所讨论的。服务器计算机114还可位于云计算部署模型(诸如私有云、社区云、公共云或混合云)中。
可用于压缩神经网络模型的服务器计算机114,能够运行可与数据库112交互的神经网络模型压缩程序116(以下称为“程序”)。神经网络模型压缩方法将在下面参考图4更详细地解释。在一个实施例中,计算机102可作为包括用户接口的输入设备操作,而程序116可主要在服务器计算机114上运行。在可替代实施例中,程序116可主要在至少一个计算机102上运行,而服务器计算机114可用于处理和存储由程序116使用的数据。应当注意,程序116可为独立程序,或者可集成到较大的视频压缩程序中。
然而,应当注意,在某些情况下,计算机102和服务器计算机114之间可以以任何比例分担程序116的处理。在另一个实施例中,程序116可运行在一个以上计算机、服务器计算机或者计算机和服务器计算机的某一组合上,例如,通过网络110与单个服务器计算机114通信的多个计算机102。在另一个实施例中,例如,程序116可运行在多个服务器计算机114上,所述多个服务器计算机114通过网络110与多个客户端计算机通信。可替代地,程序可在网络服务器上运行,所述网络服务器通过网络与服务器和多个客户端计算机通信。
网络110可包括有线连接、无线连接、光纤连接或其某一组合。通常,网络110可为支持计算机102和服务器计算机114之间通信的连接和协议的任何组合。网络110可包括各种类型的网络,例如局域网(LAN)、广域网(WAN)(诸如因特网)、电信网络(诸如公共交换电话网络(PSTN))、无线网络、公共交换网络、卫星网络、蜂窝网络(例如,第五代(5G)网络、长期演进(LTE)网络、第三代(3G)网络、码分多址(CDMA)网络等)、公共陆地移动网络(PLMN)、城域网(MAN)、专用网络、自组织网络、内联网、基于光纤的网络等,以及/或者这些或其它类型网络的组合。
图1所示的设备和网络的数量和布置是作为示例提供的。实际上,可存在另外的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或者与图1所示的设备和/或网络的布置不同的设备和/或网络。此外,图1所示的两个或更多个设备可在单个设备中实现,或者图1所示的单个设备可被实现为多个分布式设备。此外或可替代地,系统100的一组设备(例如,至少一个设备)可执行如被描述为由系统100的另一组设备执行的至少一个功能。
现在参考图2,描绘了示意图200,示意图200列出了用于将一个超级块(4×4的超级块)划分成至少一个块的、可能的均一化结构202A-202O。
Figure GDA0004133823440000061
可以表示一个数据集,其中,给输入x分配目标y。ΘO={WO}可以表示DNN的权重系数集,其中,WO表示网络层的权重系数。神经网络训练的目标是学习一组最优的权重系数Θ={w}(或称为权重系数子集),使得损失
Figure GDA0004133823440000062
最小化。因此,损失也可以指的是损失函数。例如,可以使用若干网络修剪方法,所述若干网络修剪方法,可以将稀疏促进正则化项添加到网络训练目标中。从压缩DNN模型的角度来看,在学习一个紧凑的网络模型之后,可以通过量化随后进行熵编码来进一步压缩权重系数。因此,本申请实施例还可以通过对所述权重系数子集进行量化和熵编码来压缩所述权重系数集。此类进一步的压缩过程可以显著地减小DNN模型的存储大小,这对于在移动设备、芯片等上部署模型是必不可少的。本申请实施例中,可以对权重集中的权重系数进行量化;并在最小化与所述权重系数相关联的均一化损失值的基础上,选择权重系数子集。在网络修剪方法中,损失
Figure GDA0004133823440000063
包括两部分:经验数据损失
Figure GDA0004133823440000064
诸如用于分类任务的交叉熵损失;以及促进稀疏性的正则化损失
Figure GDA0004133823440000065
Figure GDA0004133823440000066
其中,λR是平衡数据损失和正则化损失的贡献的超参数。
促进稀疏性的正则化损失,将正则化置于整体权重系数上,所得到的稀疏权重与推理效率或计算加速具有弱关系。从另一个角度来看,在修剪之后,稀疏权重还可以经历另一个网络训练过程,在该另一个网络训练过程中,可以学习更新的最优权重系数集,这可以提高量化效率,以进一步压缩模型。
可以对权重系数Θ={W}进行均一化处理,其中,W可以表示网络层的权重系数。W是一般的、大小为(ci,k1,k2,k3,co)的5维(5D)张量。网络层的输入是大小为(hi,wi,di,ci)的4维(4D)张量A,网络层的输出是大小为(ho,wo,do,co)的4D张量B。大小ci、k1、k2、k3、co、hi、wi、di、ho、wo、do是大于或等于1的整数。当大小ci、k1、k2、k3、co、hi、wi、di、ho、wo、do中的任一个取数字1时,对应的张量缩减到一个较低的维数。每个张量中的每个项都是浮点数。M可以表示一个5D的二进制掩码,与W的大小相同,其中,M中的每个项都是二进制数0或者1,表示对应的权重系数是修剪还是保留。引入M与W相关联,以处理W是来自于已修剪的DNN模型的情况。当W来自密集的未修剪的DNN模型时,M中的所有项取值为1。通过基于A、M和W的卷积运算⊙来计算输出B:
Figure GDA0004133823440000071
l=1,…,hi,m=1,…,wi,n=1,…,di,l′=1,…,ho
m′=1,…,wo,n′=1,…,do,v=1,…,co  (等式2)
其中,参数hi、wi和di(h0、wo和do)是输入张量A(输出张量B)的高度、权重、深度。参数ci(co)是输入(输出)通道的数量。参数k1、k2和k3是相应地对应于高度轴、权重轴和深度轴的卷积核的大小。也就是说,对于每个输出通道v=1,…,co,所述运算可视为是大小为(ci,k1,k2,k3)的4D权重张量Wv与输入A进行卷积。
求和运算的顺序可以改变,并且求和运算的顺序的此类改变对应于权重张量(以及对应的输入张量和输出张量)的重塑。在至少一个实施例中,5D权重张量可以被重塑为大小为(ci,co,k)的3D张量,其中,k=k1·k2·k3
重塑的3D权重张量Wreshape还可以进一步划分成不同的结构。例如,Wreshape可以被划分成2D或3D超级块,并且每个超级块可以被划分成2D块或3D块。可在每个超级块内进行均一化处理。也就是说,在每个超级块上计算均一化损失,并且基于均一化损失,为每个超级块确定最优的均一化结构。具体地,通过考虑两个方面来预定义一组期望的均一化结构。权重系数的均一化结构,应该与如何实现卷积运算的基础广义矩阵乘法(GEneralizedMatrix Multiplication,GEMM)过程一致,以加速使用均一化权重系数的推理计算。权重系数的均一化结构可以有助于提高量化和熵编码效率。3D权重张量Wreshape可以被划分为大小为(gi,go,gk)的超级块,并且每个超级块可以被进一步划分成多个块。根据至少一个实施例,gi=4,go=4,gk=1,并且超级块缩减为2D矩阵。每个块可以具有4个权重系数,并且块内的权重可以是均一化的。因此,本申请实施例可以是从与神经网络相关联的多维张量所对应的超级块中,识别至少一个块;对与所述超级块相关联的权重系数集进行均一化,其中,所述权重系数集包括所述至少一个块的权重系数。基于已均一化的权重系数集,压缩神经网络模型。
S可以表示超级块,f(S)可以表示超级块S的划分方式。可以计算损失
Figure GDA0004133823440000081
以测量通过用f(S)对权重系数进行均一化,而引入的误差:
Figure GDA0004133823440000082
其中,LU(B)测量由B表示的块中,均一化权重系数的损失。为了对一个块进行均一化,可以将B中的所有权重系数的绝对值设置为相同,同时保持权重系数的原始符号。也就是说,权重系数wi被设置为+/-VB,并且符号+/-与原始wi相同。在至少一个实施例中,VB=mean(abs(B)),(即,B中权重的绝对值的平均值)和LU(B)=std(abs(B))(即,B中权重的绝对值的标准偏差)。因此,根据本申请实施例,已均一化的权重系数集包括具有相同绝对值的至少一个权重系数。对于每个超级块S,可以选择最优的划分方式f*(S),作为具有最小损失的方式:
Figure GDA0004133823440000083
现在参考图3,图3描绘了根据至少一个实施例的神经网络模型压缩系统300的框图。神经网络模型压缩系统300尤其可以包括均一化结构选择模块302、权重均一化模块304和重训练模块306。重训练模块306还可以包括网络前向计算模块308、训练损失计算模块310、梯度计算模块312以及反向传播和权重更新模块314。
迭代性的选择性结构化权重优化过程,可以用于通过神经网络再训练/细调(refinement)过程,学习更新的最优权重系数Θ*={W*}。在迭代性的优化过程的框架中,可以迭代地优化目标训练损失和结构化均一化损失两者。具体而言,系统的输入可以是已预训练的DNN模型,具有权重系数Θ={W}和对应的掩码{M},该已预训练的DNN模型可以是已修剪的稀疏模型,或者是未修剪的密集模型。W和M表示已预训练的DNN模型中,一层的权重系数和对应的掩码。可以使用均一化结构选择模块302,为W中的超级块集{S}确定最优的W和M的均一化结构{f*(S)}。可以确定超级块的列表,并且可通过权重均一化模块304,对这些超级块的权重系数进行均一化。为了确定超级块的列表,可以为W中的所有超级块,收集所有的损失值LU(f*(S)),并且可以基于LU(f*(S)),按升序对超级块进行排序。给定均一化比率q作为超参数,选择W的前百分之q的超级块,对所选择的超级块所对应的权重,进行均一化。因此,本申请实施例中,对权重系数集进行均一化可以包括:对权重集中的权重系数进行量化;以及在最小化与所述权重系数相关联的均一化损失值的基础上,选择权重系数子集。权重均一化模块304的输出,可以是均一化权重WU和对应的均一化掩码MU。MU的形状与WU相同,并且,MU中的每个条目都指示,WU中的对应的权重是否均一化。
给定训练数据集
Figure GDA0004133823440000091
其中,
Figure GDA0004133823440000092
可以与原始数据集
Figure GDA0004133823440000093
相同,基于该原始数据集,获得已预训练的权重系数W。
Figure GDA0004133823440000094
还可以是与
Figure GDA0004133823440000095
不同的数据集,但是与原始数据集
Figure GDA0004133823440000096
具有相同的数据分布。在MU中,标记的WU的均一化权重系数是固定的,并且可以执行神经网络训练过程,以例如通过反向传播机制,更新WU中的其余非固定权重系数。超参数q可以是预先确定的,或者可以改变(例如,增大),从而可在训练期间,使得更多的系数可以逐渐固定下来并且均一化,以供之后的迭代使用,以避免过早均一化。因此,本申请实施例可以基于对所述最小化的均一化损失值进行反向传播,训练深度神经网络。具体地,可以基于对最小化的均一化损失值进行反向传播,将所述权重系数子集中的至少一个权重系数固定为至少一个值。对于第t次迭代,可以使用当前的已均一化的权重系数WU(t)和均一化掩码MU(t)。该步骤的目标是,通过迭代地使总损失最小化,找到一组更新的最优权重系数WU*和修剪掩码M*。具体而言,每个输入x都使用当前已均一化的权重系数WU(t),经由网络前向计算模块308,在网络中传递,产生估计的输出
Figure GDA0004133823440000097
可以基于地面实况(ground-truth)注释y和估计的输出
Figure GDA0004133823440000098
通过训练损失计算模块310计算损失
Figure GDA0004133823440000099
损失G(WU(t))的梯度可由梯度计算模块312计算。深度学习框架(诸如tensorflow或pytorch)使用的自动梯度计算方法,可以用在这里计算G(WU(t))。基于梯度G(WU(t))和均一化掩码MU(t),可以使用反向传播和权重更新模块314,通过反向传播,更新WU(t)的非固定权重系数和修剪掩码M(t)中的对应项。因此,本申请实施例可以基于确定与所述权重系数集相关联的梯度和均一化掩码,更新所述权重系数子集中的至少一个非固定权重系数。
重训练模块306可以包括一个迭代过程,在该迭代过程中,进行多次迭代来更新WU(t)的非固定部分和对应的修剪掩码M(t),例如,直到训练收敛。系统可以进行下一次迭代t+1,在下一次迭代中,给定新的均一化比率q(t+1),基于WU(t),可以计算新的均一化权重系数WU(t+1)和对应的均一化掩码MU(t+1),并且系统进行下一次迭代。
现在参考图4,描绘了图示用于压缩神经网络模型的方法400的步骤的操作流程图。在一些实现方式中,可由计算机102(图1)和服务器计算机114(图1)来执行图4的至少一个过程块。在一些实现方式中,图4中的至少一个过程块,可由与计算机102和服务器计算机114分开或包括计算机102和服务器计算机114的另一个设备或一组设备来执行。
在步骤402,方法400包括从与神经网络相关联的多维张量所对应的超级块中,识别至少一个块。
在步骤404,方法400包括对与超级块相关联的权重系数集进行均一化,其中,所述权重系数集包括所述至少一个块的权重系数。
在步骤406,方法400包括基于已均一化的权重系数集,压缩神经网络模型。
具体地,根据本申请实施例,步骤404的对所述权重系数集进行均一化可以包括:对所述权重集中的权重系数进行量化;以及在最小化与所述权重系数相关联的均一化损失值的基础上,选择权重系数子集。
所述方法400还可以包括:基于对所述最小化的均一化损失值进行反向传播,训练深度神经网络。例如,基于对所述最小化的均一化损失值进行反向传播,将所述权重系数子集中的至少一个权重系数固定为至少一个值。
根据本申请实施例,方法400例如还可以包括:基于确定与所述权重系数集相关联的梯度和均一化掩码,更新所述权重系数子集中的至少一个非固定权重系数。
在前述步骤的基础上,根据本申请实施例,方法400还可以包括:通过对所述权重系数子集进行量化和熵编码来压缩所述权重系数集。
前述已均一化的权重系数集例如包括具有相同绝对值的至少一个权重系数。
应当理解,图4仅提供一种实现方式的说明,并不意味着对可实现不同实施例的方式的任何限制。可基于设计和实现需求对所描绘的环境进行许多修改。
相应地,本申请实施例提供了一种用于压缩神经网络模型的装置,所述装置包括:识别模块,用于从与神经网络相关联的多维张量所对应的超级块中,识别至少一个块;均一化模块,用于对与所述超级块相关联的权重系数集进行均一化,其中,所述权重系数集包括所述至少一个块的权重系数;以及压缩模块,用于基于已均一化的权重系数集,压缩神经网络模型。
根据本申请实施例,所述均一化模块可以包括:量化模块,用于对所述权重集中的权重系数进行量化;以及选择模块,用于在最小化与所述权重系数相关联的均一化损失值的基础上,选择权重系数子集。
根据本申请实施例,所述装置还可以包括训练模块,所述训练模块用于基于对所述最小化的均一化损失值进行反向传播,训练深度神经网络。
根据本申请实施例的装置,可以基于对所述最小化的均一化损失值进行反向传播,将所述权重系数子集中的至少一个权重系数固定为至少一个值。
根据本申请实施例,所述装置还可以包括更新模块,用于基于确定与所述权重系数集相关联的梯度和均一化掩码,更新所述权重系数子集中的至少一个非固定权重系数。
另外,所述装置还可以包括压缩模块,用于通过对所述权重系数子集进行量化和熵编码来压缩所述权重系数集。
根据本申请实施例的装置,所述已均一化的权重系数集可以包括具有相同绝对值的至少一个权重系数。
此外,本申请实施例提供了一种用于压缩神经网络模型的计算机系统,该计算机系统可以包括:至少一个计算机可读非易失性存储介质,其被配置为存储计算机程序代码;以及至少一个计算机处理器,其被配置为访问所述计算机程序代码,并且按照所述计算机程序代码的指示进行操作,所述计算机程序代码包括:识别代码,其被配置为使得所述至少一个计算机处理器,从与神经网络相关联的多维张量所对应的超级块中,识别至少一个块;均一化代码,其被配置为使得所述至少一个计算机处理器,对与所述超级块相关联的权重系数集进行均一化,其中,所述权重系数集包括所述至少一个块的权重系数;以及压缩代码,其被配置为使得所述至少一个计算机处理器,基于已均一化的权重系数集,压缩神经网络模型。
根据本申请实施例,所述均一化代码包括:量化代码,其被配置为使得所述至少一个计算机处理器,对所述权重集中的权重系数进行量化;以及选择代码,其被配置为使得所述至少一个计算机处理器,在最小化与所述权重系数相关联的均一化损失值的基础上,选择权重系数子集。
根据本申请实施例,所述计算机系统还可以包括训练代码,所述训练代码被配置为使得所述至少一个计算机处理器,基于对所述最小化的均一化损失值进行反向传播,训练深度神经网络。
根据本申请实施例,所述计算机系统可以基于对所述最小化的均一化损失值进行反向传播,将所述权重系数子集中的至少一个权重系数固定为至少一个值。
根据本申请实施例,所述计算机系统还可以包括更新代码,所述更新代码被配置为使得所述至少一个计算机处理器基于确定与所述权重系数集相关联的梯度和均一化掩码,更新所述权重系数子集中的至少一个非固定权重系数。
根据本申请实施例,所述计算机系统还可以包括压缩代码,所述压缩代码被配置为使得所述至少一个计算机处理器,通过对所述权重系数子集进行量化和熵编码来压缩所述权重系数集。
根据本申请实施例,所述计算机系统中,所述已均一化的权重系数集包括具有相同绝对值的至少一个权重系数。
本申请实施例还提供了一种计算机设备,包括存储器和处理器,所述存储器上存储有用于压缩神经网络模型的计算机程序,所述计算机程序被配置为使得所述处理器执行上述各种可实现方式中提供的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
图5是根据说明性实施例的图1中所描绘的计算机的内部组件和外部组件的框图500。应当理解,图5仅提供一种实现方式的说明,并不意味着对可实现不同实施例的环境的任何限制。可基于设计和实现需求对所描绘的环境进行许多修改。
计算机102(图1)和服务器计算机114(图1)可包括图4所示的内部组件800A、800B和外部组件900A、900B的相应组件组。内部组件800A、800B的每组包括在至少一个总线826上的至少一个处理器820、至少一个计算机可读RAM 822以及至少一个计算机可读ROM 824、至少一个操作系统828以及至少一个计算机可读有形存储设备830。
处理器820以软件、固件或硬件和软件的组合来实现。处理器820是中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或另一种类型的处理组件。在一些实现方式中,处理器820包括能够被编程用于执行功能的至少一个处理器。总线826包括允许在内部组件800A、800B之间进行通信的组件。
服务器计算机114(图1)上的至少一个操作系统828、软件程序108(图1)和神经网络模型压缩程序116(图1)存储在相应的计算机可读有形存储设备830中的至少一个上,以用于由相应的处理器820中的至少一个,经由相应的RAM 822(其通常包括高速缓存存储器)中的至少一个执行。在图5所示的实施例中,计算机可读有形存储设备830中的每个是内部硬盘驱动器的磁盘存储设备。可替代地,计算机可读有形存储设备830中的每个是半导体存储设备,诸如ROM 824、EPROM、闪存、光盘、磁光盘、固态盘、压缩盘(CD)、数字多功能盘(DVD)、软盘、盒式磁盘、磁带和/或可存储计算机程序和数字信息的另一种类型的非易失性计算机可读有形存储设备。
每组内部组件800A、800B还包括R/W(读/写)驱动或接口832,以对至少一个便携式计算机可读有形存储设备936(诸如CD-ROM、DVD、存储棒、磁带、磁盘、光盘或半导体存储设备)进行读和写。软件程序(诸如软件程序108(图1)和神经网络模型压缩程序116(图1))可存储在相应的便携式计算机可读有形存储设备936中的至少一个上、经由相应的R/W驱动或接口832被读取并且被装载到相应的硬盘驱动器830中。
每组内部组件800A、800B还包括网络适配器或接口836(诸如TCP/IP适配卡);无线Wi-Fi接口卡;或者3G、4G或5G无线接口卡或其它有线或无线通信链路。可从外部计算机,经由网络(例如,因特网、局域网或其它广域网)和相应的网络适配器或接口836,将服务器计算机114(图1)上的软件程序108(图1)和神经网络模型压缩程序116(图1)下载到计算机102(图1)和服务器计算机114。从网络适配器或接口836,服务器计算机114上的软件程序108和神经网络模型压缩程序116被加载到相应的硬盘驱动器830中。网络可包括铜线、光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。
外部组件900A、900B的每组可包括计算机显示监视器920、键盘930和计算机鼠标934。外部组件900A、900B还可包括触摸屏、虚拟键盘、触摸板、定点设备和其它人机接口设备。内部组件800A、800B的每组还包括设备驱动器840,以与计算机显示监视器920、键盘930和计算机鼠标934进行接口。设备驱动器840、R/W驱动器或接口832以及网络适配器或接口836包括硬件和软件(存储在存储设备830和/或ROM 824中)。
应理解,尽管本公开包括对云计算的详细描述,但本文所记载的教导的实现不限于云计算环境。相反,一些实施例能够结合现在已知的或以后开发的任何其它类型的计算环境来实现。
云计算是一种服务递送模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便的按需网络访问,所述可配置计算资源可用最少的管理工作或服务提供者交互来快速地供应和释放。该云模型可包括至少五个特性、至少三个服务模型和至少四个部署模型。
云模型的特性如下:
按需自助服务:云消费者在无需与服务提供者进行人为交互的情况下,能够单方面自动地按需获得计算能力(诸如服务器时间和网络存储等)。
广泛的网络接入:能力在网络上可用并且通过标准机制获取,所述标准机制促进了通过异构瘦客户端平台或厚客户端平台(例如移动电话、膝上型电脑和PDA)的使用。
资源池:提供者的计算资源被归入资源池,以通过多租户模型服务多个消费者,其中按需将不同的物理资源和虚拟资源动态地分配和重分配。一般情况下,消费者不能控制或并不知晓所提供的资源的确切位置,但可能够在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:可迅速且有弹性地(在一些情况下自动地)供应能力,以快速地扩展并且迅速地释放以快速地缩小。对于消费者而言,可用于供应的能力往往显得是无限的,并且可在任意时候都能获取任意数量的能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源的使用。可监视、控制和报告资源的使用,从而对已利用服务的提供者和消费者双方透明。
服务模型如下:
软件即服务(Software as a Service,SaaS):提供给消费者的能力是使用提供者的在云基础架构上运行的应用。可通过瘦客户端接口(诸如网络浏览器)(例如基于网络的电子邮件)从各种客户端设备访问应用。除了有限的用户专用的应用配置设置外,消费者不管理或不控制包括网络、服务器、操作系统、存储、或甚至单个应用能力的底层云基础架构。
平台即服务(Platform as a Service,PaaS):提供给消费者的能力是在云基础架构上部署消费者创建或获取的应用,所述应用是使用提供者支持的编程语言和工具创建。消费者不管理或不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对已部署应用具有控制权,并且对应用托管环境配置可能也具有控制权。
基础架构即服务(Infrastructure as a Service,IaaS):提供给消费者的能力是供应消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其它基础计算资源。消费者既不管理也不控制底层云基础架构,但是对操作系统、存储、已部署应用具有控制权,并且对选择网络组件(例如,主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:该云基础架构单独为某个组织运行。其可由所述组织管理,也可由第三方管理,可存在于内部或外部。
社区云:该云基础架构由若干组织共享,并且支持有共同关注的问题(例如,任务、安全要求、政策和合规考虑)的特定社区。其可由所述组织管理,也可由第三方管理,可存在于内部或外部。
公共云:该云基础架构可供公众或大型产业群使用,并由出售云服务的组织拥有。
混合云:该云基础架构是由两个或更多个云(私有云、社区云或公共云)构成,所述两个或更多个云保持唯一实体但通过实现数据和应用可移植性的标准化或专用技术(例如,在云间均衡负载的云爆技术)接合在一起。
云计算环境是通过关注无国籍、低耦合、模块性和语义互用性取向的服务。云计算的核心是包括互连节点的网络的基础架构。
参考图6,描绘了示例性云计算环境600。如图6所示,云计算环境600包括一个或更多个云计算节点10,通过所述云计算节点10,诸如例如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N等云消费者使用的本地计算设备可相互通信。云计算节点10可彼此通信。在一个或更多个网络(诸如以上描述的私有云、社区云、公共云或混合云)或其组合中,它们可以物理的方式或以虚拟的方式分组(未示出)。这让云计算环境600可以提供基础架构即服务、平台即服务和/或软件即服务,云消费者不需要为之在本地计算设备上维持资源。可理解,图6所示的计算设备54A至54N的类型仅用于说明,云计算节点10和云计算环境600可在任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)上,与任何类型的计算机化设备通信。
参考图7,示出了由云计算环境600(图6)提供的一组功能抽象层700。应理解,图7所示的组件、层和功能仅用于说明,实施例不限于此。如图7所描绘的,提供了以下层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:主机61、基于RISC(Reduced Instruction Set Computer,精简指令集计算机)体系结构的服务器62、服务器63、刀片式服务器64、存储设备65以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从所述抽象层可提供以下虚拟实体的示例:虚拟服务器71、虚拟存储72、虚拟网络73(包括虚拟专用网络)、虚拟应用和操作系统74以及虚拟客户端75。
在一个示例中,管理层80可提供下面描述的功能。资源供应功能81提供用于在云计算环境内执行任务的计算资源和其它资源的动态获取。计量和定价功能82在云计算环境内对资源的使用进行成本跟踪,并且为这些资源的消耗提供帐单和发票。在一个示例中,这些资源可包括应用软件许可证。安全性为云消费者和任务提供身份认证以及为数据和其它资源提供保护。用户门户功能83为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能84提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(Service Level Agreement,SLA)计划和履行功能85为根据SLA预测未来需求的云计算资源提供预先安排和供应。
工作负载层90提供可利用云计算环境的功能性的示例。可从该层提供的工作负载和功能的示例包括:地图绘制及导航91;软件开发及生命周期管理92;虚拟教室教学提供93;数据分析处理94;交易处理95;以及神经网络模型压缩96。神经网络模型压缩96可以在一个迭代网络中,基于选择性的结构化权重均一化,压缩神经网络模型。
一些实施例可涉及在任何可能的技术细节集成水平的系统、方法和/或计算机可读存储介质。计算机可读存储介质可包括计算机可读非易失性存储介质,其上具有用于使处理器执行操作的计算机可读程序指令。
计算机可读存储介质可为有形设备,其可保存和存储用于由指令执行设备使用的指令。计算机可读存储介质可为(例如但不限于)电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下:便携式计算机磁盘、硬盘驱动器、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、机械编码装置(诸如其上记录有指令的凹槽中的穿孔卡片或凸起结构),以及前述的任何合适的组合。如在本文使用的计算机可读存储介质不被解释为是瞬时信号本身,诸如无线电波或其它自由传播的电磁波、通过波导或其它传输介质传播的电磁波(例如,通过光缆的光脉冲),或通过导线传输的电信号。
本申请描述的计算机可读程序指令可从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如,因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可包括铜传输缆线、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并且转发计算机可读程序指令以用于存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行操作的计算机可读程序代码/指令可为汇编指令、指令集体系结构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、用于集成电路的配置数据,或者以一种或多种编程语言的任何组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言(诸如SmallTalk、C++等)以及过程编程语言(诸如“C”编程语言或类似编程语言)。计算机可读程序指令可完全在用户的计算机上、部分在用户的计算机上、作为独立软件包、部分在用户的计算机上且部分在远程计算机上或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施例中,包括(例如)可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行方面或操作。
这些计算机可读程序指令可被提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器以产生机器,使得经由计算机或其它可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图块或多个块中指定的功能/动作的装置。还可将这些计算机可读程序指令存储在计算机可读存储介质中,使得其中存储有指令的计算机可读存储介质包括实现在流程图和/或框图块或多个块中指定的功能/动作的方面的指令的制造制品,其中计算机可读存储介质可指导计算机、可编程数据处理装置和/或其它设备以特定方式运行。
还可将计算机可读程序指令加载到计算机、其它可编程数据处理装置或其它设备上,使得将在计算机、其它可编程装置或其它设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其它可编程装置或其它设备上执行的指令实现在流程图和/或框图块或多个块中指定的功能/动作。
附图中的流程图和框图说明了根据各种实施例的系统、方法和计算机可读存储介质的可能实现的体系结构、功能和操作。在这点上,流程图或框图中的每个块可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的至少一个可执行指令。所述方法、计算机系统和计算机可读存储介质可包括额外块、更少的块、不同的块,或者与附图中所描绘的那些不同布置的块。在一些可替代的实现方式中,在块中指出的功能可不按照附图中指出的顺序发生。例如,连续示出的两个块实际上可同时地或基本上同时地被执行,或者所述块有时可以以相反的顺序被执行,这取决于所涉及的功能。还应注意,框图和/或流程图说明中的每个块以及框图和/或流程图说明中的块的组合可由执行指定功能或动作或者执行专用硬件和计算机指令的组合的专用基于硬件的系统来实现。
显然,本文描述的系统和/或方法可以以不同形式的硬件、固件或硬件和软件的组合来实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码不限于这些实施方案。因此,在不参考特定软件代码的情况下在本文描述了系统和/或方法的操作和行为——应当理解,可基于在本文的描述来设计软件和硬件以实现系统和/或方法。
本申请实施例中,使用选择性结构化均一化方法来均一化神经网络的权重系数,以便在后续压缩过程中改善量化和熵编码。给定一组预定义的、期望的均一化结构,可以计算均一化损失值,该均一化损失值,用于估计通过根据均一化结构对权重系数进行均一化,而引入的误差。使用迭代网络再训练/细调(refinement)过程,联合优化原始训练目标和均一化损失,使得所学习的网络权重系数保持原始性能(例如,用于分类任务的最优交叉熵损失),并且具有最优的期望均一化结构。期望的均一化结构的设计,意图通过量化和熵编码方便进一步的压缩。因此,通过本申请公开的方法、装置和计算机可读存储介质优化后的权重系数可能更适合于进一步压缩。本申请公开的方法、装置和计算机可读存储介质可以应用于原始的预训练后的DNN模型。它还可以用作另外的处理模块,以进一步压缩任何修剪后的DNN模型。
本文中使用的元件、动作或指令都不应被解释为关键的或必要的,除非明确地如此描述。此外,如本文所用,冠词“一”和“一个”旨在包括至少一个项目,并且可与“至少一个”互换使用。此外,如本文所用,术语“集”旨在包括至少一个项目(例如,相关项目、不相关项目、相关和不相关项目的组合等),并且可与“至少一个”互换使用。当仅意指一个项目时,使用术语“一个”或类似语言。此外,如本文所用,术语“具有”、“有”、“含有”等旨在是开放式术语。进一步地,短语“基于”旨在表示“至少部分地基于”,除非另外明确声明。
已出于说明的目的呈现了对各个方面和实施例的描述,但所述描述并非旨在是详尽的或限于所公开的实施例。虽然特征的组合在权利要求中陈述和/或在说明书中公开,但是这些组合也不旨在限制可能的实现方式的公开。事实上,这些特征中的许多特征可以以权利要求中未具体列举和/或说明书中未公开的方式组合。虽然下面列出的每个从属权利要求可直接从属于仅一个权利要求,但是可能的实施方案的公开包括与权利要求组中的每个其它权利要求的组合的每个从属权利要求。在不脱离所描述的实施例的范围的情况下,许多修改和变化对于本领域普通技术人员是显而易见的。本文使用的术语被选择为最佳地解释实施例的原理、实际应用或相对于市场中发现的技术的技术改进,或者使得本领域普通技术人员能够理解本文公开的实施例。

Claims (17)

1.一种用于视频图像处理的方法,其特征在于,所述方法包括:
从神经网络训练设备获取经过预训练的神经网络;
与所述神经网络相关联的权重系数集多维张量被划分为超级块,从与神经网络相关联的多维张量所对应的超级块中,识别至少一个超级块;
对所述至少一个超级块的权重系数进行均一化,其中,所述均一化是将所述至少一个超级块中的一个超级块划分为多个块,并将每个块内的所有权重系数的绝对值设置为相同,同时保持权重系数的原始正/负符号;
基于已均一化的权重系数集,压缩神经网络模型;以及
将压缩后的所述神经网络模型提供给视频处理设备,所述视频处理设备利用所述神经网络模型提取视频图像的特征描述符,并根据所述特征描述符对所述视频图像进行处理。
2.根据权利要求1所述的方法,其特征在于,进一步包括:识别所述至少一个超级块之前,
在所述多维张量所对应的超级块中的每个超级块上计算均一化损失,并且基于所述均一化损失,为所述每个超级块确定最优的均一化结构,所述最优的均一化结构表示具有最小均一化损失的、将超级块划分为多个块的划分方式。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述深度神经网络中进行前向计算;
将所述权重系数集中的均一化权重系数的值固定,通过反向传播,更新所述权重系数集中的非固定权重系数。
4.根据权利要求3所述的方法,其特征在于,将所述权重系数集中的均一化权重系数的值固定包括:
将所述权重系数集中被均一化掩码标记的均一化权重系数的值固定,其中,所述均一化掩码中的每个条目指示该条目对应的权重系数是否均一化;其中,通过反向传播,更新所述权重系数集中的非固定权重系数包括:基于所述均一化掩码和通过所述前向计算确定的损失的梯度进行反向传播,更新所述权重系数集中的至少一个非固定权重系数并更新修剪掩码中的对应项。
5.根据权利要求2所述的方法,其特征在于,识别所述至少一个超级块包括:
基于每个超级块的最小均一化损失值,对所有超级块进行排序,根据排序结果,选择所述至少一个超级块,所述至少一个超级块在所有超级块中所占的比率等于给定的均一化比率。
6.根据权利要求5所述的方法,其特征在于,进一步包括:
执行一个迭代过程,所述一个迭代过程通过多次迭代以更新所述权重系数集中未经过均一化的权重系数;
增加所述均一化比率的值,基于所述均一化比率的值更新所述权重系数集,并执行下一次迭代过程。
7.根据权利要求1至3任一项所述的方法,其特征在于,所述压缩神经网络模型包括:通过对所述权重系数集进行量化和熵编码来压缩所述权重系数集。
8.根据权利要求1至3任一项所述的方法,其特征在于,所述已均一化的权重系数集包括具有相同绝对值的至少一个权重系数。
9.一种用于视频图像处理的装置,其特征在于,所述装置包括:
获取模块,用于从神经网络训练设备获取经过预训练的神经网络;
识别模块,用于从与所述神经网络相关联的多维张量所对应的超级块中,识别至少一个超级块,其中,与所述神经网络相关联的多维张量权重系数被划分为超级块;
均一化模块,用于对所述至少一个超级块的权重系数进行均一化,其中,所述均一化是将所述至少一个超级块中的一个超级块划分为多个块,并将每个块内的所有权重系数的绝对值设置为相同,同时保持权重系数的原始正/负符号;
压缩模块,用于基于已均一化的权重系数集,压缩神经网络模型;以及
提供模块,用于将压缩后的所述神经网络模型提供给视频处理设备,所述视频处理设备利用所述神经网络模型提取视频图像的特征描述符,并根据所述特征描述符对所述视频图像进行处理。
10.根据权利要求9所述的装置,其特征在于,进一步包括:
划分模块,用于在所述识别模块识别所述至少一个超级块之前,在所述多维张量所对应的超级块中的每个超级块上计算均一化损失,并且基于所述均一化损失,为所述每个超级块确定最优的均一化结构,所述最优的均一化结构表示具有最小均一化损失的、将超级块划分为多个块的划分方式。
11.根据权利要求9所述的装置,其特征在于,还包括训练模块,用于:
在所述深度神经网络中进行前向计算;
将所述权重系数集中的均一化权重系数的值固定,通过反向传播,更新所述权重系数集中的非固定权重系数。
12.根据权利要求11所述的装置,其特征在于,所述训练模块用于:
将所述权重系数集中被均一化掩码标记的均一化权重系数的值固定,其中,所述均一化掩码中的每个条目指示该条目对应的权重系数是否均一化;
基于所述均一化掩码和通过所述前向计算确定的损失的梯度进行反向传播,更新所述权重系数集中的至少一个非固定权重系数并更新修剪掩码中的对应项。
13.根据权利要求10所述的装置,其特征在于,所述识别模块用于:
基于每个超级块的最小均一化损失值,对所有超级块进行排序,根据排序结果,选择所述至少一个超级块,所述至少一个超级块在所有超级块中所占的比率等于给定的均一化比率。
14.根据权利要求13所述的装置,其特征在于,还包括训练模块,用于:
执行一个迭代过程,所述一个迭代过程通过多次迭代以更新所述权重系数集中未经过均一化的权重系数;
增加所述均一化比率的值,基于所述均一化比率的值更新所述权重系数集,并执行下一次迭代过程。
15.根据权利要求9至11任一项所述的装置,其特征在于,所述压缩模块,还用于通过对所述权重系数集进行量化和熵编码来压缩所述权重系数集。
16.根据权利要求9至11任一项所述的装置,其特征在于,所述已均一化的权重系数集包括具有相同绝对值的至少一个权重系数。
17.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器上存储有用于压缩神经网络模型的计算机程序,所述计算机程序被配置为使得所述处理器执行权利要求1至8任一项所述的方法。
CN202110018295.5A 2020-01-10 2021-01-07 用于视频图像处理的方法、装置和计算机设备 Active CN113112012B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202062959631P 2020-01-10 2020-01-10
US62/959,631 2020-01-10
US17/086,642 US11935271B2 (en) 2020-01-10 2020-11-02 Neural network model compression with selective structured weight unification
US17/086,642 2020-11-02

Publications (2)

Publication Number Publication Date
CN113112012A CN113112012A (zh) 2021-07-13
CN113112012B true CN113112012B (zh) 2023-04-25

Family

ID=76710198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110018295.5A Active CN113112012B (zh) 2020-01-10 2021-01-07 用于视频图像处理的方法、装置和计算机设备

Country Status (1)

Country Link
CN (1) CN113112012B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108288087A (zh) * 2017-01-09 2018-07-17 三星电子株式会社 用于减少深度学习网络的权重存储位的系统和方法
CN109754063A (zh) * 2017-11-07 2019-05-14 三星电子株式会社 用于学习低精度神经网络的方法及装置
CN110580525A (zh) * 2019-06-03 2019-12-17 北京邮电大学 神经网络压缩方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10831444B2 (en) * 2016-04-04 2020-11-10 Technion Research & Development Foundation Limited Quantized neural network training and inference
US11842280B2 (en) * 2017-05-05 2023-12-12 Nvidia Corporation Loss-scaling for deep neural network training with reduced precision
US11928601B2 (en) * 2018-02-09 2024-03-12 Google Llc Neural network compression
CN109948794A (zh) * 2019-02-28 2019-06-28 清华大学 神经网络结构化剪枝方法、剪枝装置和电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108288087A (zh) * 2017-01-09 2018-07-17 三星电子株式会社 用于减少深度学习网络的权重存储位的系统和方法
CN109754063A (zh) * 2017-11-07 2019-05-14 三星电子株式会社 用于学习低精度神经网络的方法及装置
CN110580525A (zh) * 2019-06-03 2019-12-17 北京邮电大学 神经网络压缩方法及系统

Also Published As

Publication number Publication date
CN113112012A (zh) 2021-07-13

Similar Documents

Publication Publication Date Title
US11645493B2 (en) Flow for quantized neural networks
US11790212B2 (en) Quantization-aware neural architecture search
US20190340499A1 (en) Quantization for dnn accelerators
CN110766142A (zh) 模型生成方法和装置
US20200210839A1 (en) Neural network activation compression with outlier block floating-point
WO2020142192A1 (en) Neural network activation compression with narrow block floating-point
CN113826120B (zh) 神经网络的数据集相关的低秩分解
US20200125926A1 (en) Dynamic Batch Sizing for Inferencing of Deep Neural Networks in Resource-Constrained Environments
Li et al. Optimizing deep neural networks on intelligent edge accelerators via flexible-rate filter pruning
US11811429B2 (en) Variational dropout with smoothness regularization for neural network model compression
CN113557534A (zh) 深度森林模型开发和训练
US11935271B2 (en) Neural network model compression with selective structured weight unification
US11496775B2 (en) Neural network model compression with selective structured weight unification
CN114616825B (zh) 视频数据解码方法和计算机系统以及存储介质
US20210232891A1 (en) Neural network model compression with structured weight unification
US20210201157A1 (en) Neural network model compression with quantizability regularization
CN113112012B (zh) 用于视频图像处理的方法、装置和计算机设备
CN113052309A (zh) 压缩神经网络模型的方法、计算机系统以及存储介质
US20190138895A1 (en) Model matching and learning rate selection for fine tuning
CN113159312B (zh) 压缩神经网络模型的方法、计算机系统以及存储介质
CN113286143A (zh) 压缩神经网络模型的方法、计算机系统以及存储介质
US20230214705A1 (en) Model-agnostic input transformation for neural networks
US20220051102A1 (en) Method and apparatus for multi-rate neural image compression with stackable nested model structures and micro-structured weight unification

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40048703

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant