CN116187401B - 神经网络的压缩方法、装置、电子设备及存储介质 - Google Patents

神经网络的压缩方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116187401B
CN116187401B CN202310460357.7A CN202310460357A CN116187401B CN 116187401 B CN116187401 B CN 116187401B CN 202310460357 A CN202310460357 A CN 202310460357A CN 116187401 B CN116187401 B CN 116187401B
Authority
CN
China
Prior art keywords
initial
tensor
tensors
target
neural network
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
CN202310460357.7A
Other languages
English (en)
Other versions
CN116187401A (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.)
Capital Normal University
Original Assignee
Capital Normal University
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 Capital Normal University filed Critical Capital Normal University
Priority to CN202310460357.7A priority Critical patent/CN116187401B/zh
Publication of CN116187401A publication Critical patent/CN116187401A/zh
Application granted granted Critical
Publication of CN116187401B publication Critical patent/CN116187401B/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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明提供一种神经网络的压缩方法、装置、电子设备及存储介质,涉及人工智能技术领域,其中方法包括:获取初始神经网络的M个高阶张量;基于M个高阶张量,生成M个高阶张量对应的目标张量网络;目标张量网络中包括N个目标张量,N个目标张量中包括初始权重参数对应的压缩权重参数;对N个目标张量进行张量收缩处理,生成目标张量网络的张量收缩结果;张量收缩结果包括初始神经网络的更新权重参数;基于更新权重参数对初始神经网络进行训练,得到目标神经网络。通过上述方法,将表示神经网络变分参数的高阶张量写为张量网络的收缩,可以压缩初始神经网络的参数量,降低了计算机的存储与传输成本,缓解了神经网络的过拟合现象、增强了泛化能力。

Description

神经网络的压缩方法、装置、电子设备及存储介质
技术领域
本发明涉及人工智能技术领域,尤其涉及一种神经网络的压缩方法、装置、电子设备及存储介质。
背景技术
随着人工智能的发展,神经网络在计算机视觉、自然语言处理,甚至数学和物理学等领域的科学研究中都取得了惊人的成果。人们在不断提升神经网络处理复杂任务的能力时,最大的成本之一就是神经网络中的参数量快速增大。时至今日,大规模神经网络的参数已突破万亿量级,巨大的参数量虽然提升了神经网络的能力,但也使计算机针对神经网络的储存与传输成本激增、过拟合现象严重、泛化能力受损。
因此,如何降低计算机针对神经网络的存储与传输成本,并避免过拟合现象,是目前亟待解决的问题。
发明内容
针对现有技术存在的问题,本发明实施例提供一种神经网络的压缩方法、装置、电子设备及存储介质。
本发明提供一种神经网络的压缩方法,包括:
获取初始神经网络的M个高阶张量;所述M个高阶张量包括所述初始神经网络的初始权重参数,M为正整数;
基于所述M个高阶张量,生成所述M个高阶张量对应的目标张量网络;所述目标张量网络中包括N个目标张量,所述N个目标张量中包括所述初始权重参数对应的压缩权重参数,所述压缩权重参数的参数量小于所述初始权重参数的参数量,N为正整数;
对所述N个目标张量进行张量收缩处理,生成所述目标张量网络的张量收缩结果;所述张量收缩结果包括所述初始神经网络的更新权重参数;
基于所述更新权重参数对所述初始神经网络进行训练,得到目标神经网络。
可选地,所述N个目标张量通过张量指标连接;
所述对所述N个目标张量进行张量收缩处理,生成所述目标张量网络的张量收缩结果,包括:
基于所述N个目标张量之间的连接关系,确定所述N个目标张量之间的共有指标;
对每两个目标张量之间的共有指标进行求和运算,生成所述张量收缩结果。
可选地,所述基于所述M个高阶张量,生成所述M个高阶张量对应的目标张量网络,包括:
基于所述M个高阶张量,生成所述M个高阶张量对应的初始张量网络;所述初始张量网络中包括N个初始张量,所述N个初始张量中包括所述初始权重参数对应的初始压缩权重参数;
对所述N个初始张量进行张量收缩处理,生成所述初始张量网络的张量收缩结果;所述初始张量网络的张量收缩结果包括所述初始神经网络的初始更新权重参数;
基于所述M个高阶张量中的所述初始权重参数,及所述初始更新权重参数,对所述初始张量网络进行预训练,直至收敛得到所述目标张量网络。
可选地,所述基于所述M个高阶张量中的所述初始权重参数,及所述初始更新权重参数,对所述初始张量网络进行预训练,包括:
基于所述初始权重参数及所述初始更新权重参数,利用欧式距离作为第一损失函数对所述初始张量网络进行预训练;
所述第一损失函数通过以下公式(1)表示:
Figure SMS_1
(1)
其中,
Figure SMS_2
表示所述第一损失函数,/>
Figure SMS_3
表示所述初始更新权重参数,/>
Figure SMS_4
表示所述初始权重参数。
可选地,所述基于所述更新权重参数对所述初始神经网络进行训练,得到目标神经网络,包括:
基于所述更新权重参数,利用所述初始神经网络对应的损失函数对所述初始神经网络进行训练,直至收敛,得到所述目标神经网络。
本发明还提供一种神经网络的压缩装置,包括:
获取模块,用于获取初始神经网络的M个高阶张量;所述M个高阶张量包括所述初始神经网络的初始权重参数,M为正整数;
生成模块,用于基于所述M个高阶张量,生成所述M个高阶张量对应的目标张量网络;所述目标张量网络中包括N个目标张量,所述N个目标张量中包括所述初始权重参数对应的压缩权重参数,所述压缩权重参数的参数量小于所述初始权重参数的参数量,N为正整数;
处理模块,用于对所述N个目标张量进行张量收缩处理,生成所述目标张量网络的张量收缩结果;所述张量收缩结果包括所述初始神经网络的更新权重参数;
训练模块,用于基于所述更新权重参数对所述初始神经网络进行训练,得到目标神经网络。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述神经网络的压缩方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述神经网络的压缩方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述神经网络的压缩方法。
本发明提供的神经网络的压缩方法、装置、电子设备及存储介质,通过获取初始神经网络的M个高阶张量,生成包括N个目标张量的目标张量网络,将N个目标张量进行张量收缩处理,生成包括有初始神经网络的更新权重参数的张量收缩结果,基于更新权重参数对神经网络进行训练,即可得到目标神经网络;在上述方法中,其核心思想是将神经网络变分参数的高阶张量写为张量网络的收缩,因此,N个目标张量中初始权重参数对应的压缩权重参数的参数量远小于初始权重参数的参数量,计算机仅存储N个目标张量即可实现对初始权重参数的高效压缩,降低了计算机针对神经网络的存储与传输成本,缓解过拟合现象、增强神经网络的泛化能力;同时,基于N个目标张量进行张量收缩,可以还原得到近似于初始权重参数的更新权重参数,利用更新权重参数对初始神经网络进行训练,保证了目标神经网络的精度。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的神经网络的压缩方法的流程示意图之一;
图2是本发明提供的神经网络的压缩过程示意图;
图3是本发明提供的神经网络的压缩方法的流程示意图之二;
图4是本发明提供的神经网络的压缩装置的结构示意图;
图5是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于更加清晰地理解本申请各实施例,首先对一些相关的背景知识进行如下介绍。
近年来,随着人工智能的发展,神经网络在计算机视觉、自然语言处理,甚至数学和物理学等领域的科学研究中都取得了惊人的成果。人们在不断提升神经网络处理复杂任务的能力时,最大的成本之一就是神经网络中的参数量快速增大。时至今日,大规模神经网络的参数已突破万亿量级。巨大的参数量在提升神经网络能力的同时,也带来了许多严重问题,例如储存与传输成本激增、过拟合现象严重、泛化能力受损等。这些问题严重限制了该技术的实际应用。
在相关技术中,对神经网络参数进行压缩的方法例如有:模型裁剪、网络蒸馏、权值共享、张量分解等方法。其中,利用矩阵乘积算子来表示神经网络中的权重张量,可获得较高的压缩效率。然而,上述方法仍无法很好地对神经网络参数进行压缩。
因此,为了降低神经网络过于庞大的参数量、降低存储与传输成本,从而缓解过拟合现象、增强神经网络的泛化能力,本发明利用深度张量网络模型,提出了一种新的压缩神经网络参数的方法。该方法能够将神经网络中线性层、卷积层等的参数量压缩至原来参数量的数万分之一,同时在大部分情况下能增强神经网络的泛化能力,缓解过拟合现象,提升在测试集中的准确度。
下面结合图1至图3对本发明提供的神经网络的压缩方法进行具体描述。图1是本发明提供的神经网络的压缩方法的流程示意图之一,参见图1所示,该方法包括步骤101-步骤103,其中:
步骤101、获取初始神经网络的M个高阶张量;所述M个高阶张量包括所述初始神经网络的初始权重参数,M为正整数。
首先需要说明的是,本发明的执行主体可以是能够实现对神经网络进行压缩的任何电子设备,例如可以为智能手机、智能手表、台式电脑、手提电脑等任何一种。
为了降低神经网络过于庞大的参数量、降低计算机针对神经网络的存储与传输成本,缓解过拟合现象、增强神经网络的泛化能力,在本实施例中,首先需要获取初始神经网络的初始权重参数。
需要说明的是,初始权重参数是以高阶张量的形式存储于计算机中。
本发明提供的神经网络的压缩方法具有高的通用性,可用于实现对一般神经网络模型;因此,初始神经网络例如可以为全连接神经网络(Full Connect Neural Network)、卷积神经网络(Convolutional Neural Network,CNN)、循环神经网络(Recurrent NeuralNetwork,RNN)等。
实际应用中,神经网络可以表示为:
Figure SMS_5
;其中,/>
Figure SMS_6
表示神经网络的输入,/>
Figure SMS_7
表示神经网络的输出;神经网络所有的初始参数/>
Figure SMS_8
都以高阶张量的形式存储在计算机中。
步骤102、基于所述M个高阶张量,生成所述M个高阶张量对应的目标张量网络;所述目标张量网络中包括N个目标张量,所述N个目标张量中包括所述初始权重参数对应的压缩权重参数,所述压缩权重参数的参数量小于所述初始权重参数的参数量,N为正整数。
在本实施例中,由于目标张量网络是把高阶张量变形为多个低阶张量缩并的形式,因此在目标张量网络中,每一个目标张量存储的压缩权重参数的参数量远小于高阶张量中的参数量。
步骤103、对所述N个目标张量进行张量收缩处理,生成所述目标张量网络的张量收缩结果;所述张量收缩结果包括所述初始神经网络的更新权重参数。
在本实施例中,需要将目标张量网络中的N个目标张量进行张量收缩处理,得到目标张量网络的收缩结果(即初始神经网络的更新权重参数)。
本发明的目的是将初始神经网络的更新权重参数替代含有绝大部分参数的高阶张量。由于更新权重参数是基于N个目标张量进行张量收缩处理后得到的,并且,目标张量中包含的压缩权重参数的参数量远远小于高阶张量中存储的初始权重参数的参数量。
因此计算机仅存储N个目标张量,即可还原得到近似于初始权重参数的更新权重参数。也就是说,计算机通过存储N个目标张量,即可实现对神经网络参数的压缩。
步骤104、基于所述更新权重参数对所述初始神经网络进行训练,得到目标神经网络。
在得到更新权重参数之后,利用更新权重参数替代初始神经网络中的初始权重参数,并对初始神经网络进行训练,保证了目标神经网络的性能。
需要说明的是,本发明实施例中所述的神经网络的压缩方法可以适用于多种不同的应用场景,例如图像识别领域、文本处理领域、语音识别领域等等。本发明对神经网络的压缩方法的适用场景以及神经网络的类型不作限定。
本发明提供的神经网络的压缩方法,通过获取初始神经网络的M个高阶张量,生成包括N个目标张量的目标张量网络,将N个目标张量进行张量收缩处理,生成包括有初始神经网络的更新权重参数的张量收缩结果,基于更新权重参数对神经网络进行训练,即可得到目标神经网络;在上述方法中,其核心思想是将神经网络变分参数的高阶张量写为张量网络的收缩,因此,N个目标张量中初始权重参数对应的压缩权重参数的参数量远小于初始权重参数的参数量,计算机仅存储N个目标张量即可实现对初始权重参数的高效压缩,降低了计算机针对神经网络的存储与传输成本,缓解过拟合现象、增强神经网络的泛化能力;同时,基于N个目标张量进行张量收缩,可以还原得到近似于初始权重参数的更新权重参数,利用更新权重参数对初始神经网络进行训练,保证了目标神经网络的精度。
可选地,所述N个目标张量通过张量指标连接;
所述对所述N个目标张量进行张量收缩处理,生成所述目标张量网络的张量收缩结果,具体可以通过以下步骤(1)-步骤(2)实现:
步骤(1)、基于所述N个目标张量之间的连接关系,确定所述N个目标张量之间的共有指标;
步骤(2)、对每两个目标张量之间的共有指标进行求和运算,生成所述张量收缩结果。
目标张量网络中的N个目标张量之间通过张量指标连接,张量指标的个数表示该目标张量的阶数。需要说明的是,每一个张量指标还具有维数;目标张量的张量指标以及维数均可以灵活调节。
在本实施例中,首先需要基于目标张量网络中N个目标张量之间的连接关系,确定N个目标张量之间的共有指标。也就是说,需要确定出目标张量两两之间连接的张量指标。
然后针对每两个目标张量之间的共有指标进行求和运算,即可得到目标张量网络的压缩结果(即初始神经网络的更新权重参数)。
实际应用中,例如要压缩初始神经网络中存储有
Figure SMS_9
个初始权重参数的高阶张量(记为/>
Figure SMS_10
),即参数复杂度/>
Figure SMS_11
设目标张量网络中各个目标张量的指标维数均为2,显然,目标张量网络的收缩结果,即初始神经网络的更新权重参数(用
Figure SMS_12
表示)同样为含有/>
Figure SMS_13
个参数的高阶张量。本实施例的目标是将N个目标张量进行收缩,近似得到初始权重参数,即有/>
Figure SMS_14
下面结合图2对张量收缩处理的过程进行详细说明。图2是本发明提供的神经网络的压缩过程示意图,参见图2所示,神经网络至少包括输入层、卷积部分、全连接部分,在卷积部分及全连接部分处理网络初始权重参数的过程中,需要对神经网络的初始权重参数进行编码,生成对应的目标张量网络。图2中的张量网络是一种“砖墙型”张量网络结构。
在目标张量网络中包括有多个用于存储压缩权重参数的目标张量A[0]-A[14],每一个目标张量通过张量指标连接,张量指标的个数表示张量的阶数;两个目标张量的共有张量指标由连接彼此的线段表示。在计算目标张量网络的收缩时,须对目标张量的共有指标进行求和计算。
在图2中,实线表示张量指标,虚线表示目标张量网络的收缩结果(即初始神经网络的更新权重参数);每条竖着的线表示激活函数,激活函数的选择是灵活的,在本实施例中,对激活函数的类型不作具体限定,激活函数例如RELU激活函数、Sigmoid激活函数、Tanh激活函数等等;其中,图2是以激活函数是ReLu激活函数为例。
现假设要压缩含有
Figure SMS_15
个初始权重参数的高阶张量(记为/>
Figure SMS_16
),即参数复杂度
Figure SMS_17
。设目标张量网络中各个目标张量的指标维数均为/>
Figure SMS_18
,显然,目标张量网络的收缩结果(用/>
Figure SMS_19
表示)同样近似的是含有/>
Figure SMS_20
个参数的高阶张量,其指标由未收缩的线段给出,如图2右侧边界上的虚线。
在本发明的张量网络中,最主要的部分就是构成目标张量网络的2×2×2×2张量组
Figure SMS_21
Figure SMS_22
Figure SMS_23
,其中/>
Figure SMS_24
为目标张量的总数/>
Figure SMS_25
其中,2表示每一个目标张量的维数,4个2相乘表示该目标张量为4阶张量。
Figure SMS_26
中包含了目标张量网络的所有变分参数,总参数量仅为/>
Figure SMS_27
。由于/>
Figure SMS_28
与目标张量的阶数/>
Figure SMS_29
呈线性关系,因此目标张量网络的压缩权重参数的参数量/>
Figure SMS_30
要远远小于M个高阶张量中的初始权重参数的参数量/>
Figure SMS_31
在对目标张量进行收缩后,得到更新权重参数,对其进行解码,然后利用解码后的更新权重参数对初始神经网络进行训练,即可得到目标神经网络。
在上述实施方式中,通过对每两个目标张量之间的共有指标进行求和运算,可以高效压缩初始神经网络的参数量,得到初始神经网络的压缩参数;由于压缩参数的参数量要远小于初始参数的参数量,因此,计算机仅存储N个目标张量即可实现对初始权重参数的高效压缩,降低了计算机针对神经网络的存储与传输成本,缓解过拟合现象、增强神经网络的泛化能力;同时,基于N个目标张量进行张量收缩,可以还原得到近似于初始权重参数的更新权重参数,利用更新权重参数对初始神经网络进行训练,保证了目标神经网络的精度。
可选地,所述基于所述M个高阶张量,生成所述M个高阶张量对应的目标张量网络,具体可以通过以下步骤[1]-步骤[3]实现:
步骤[1]、基于所述M个高阶张量,生成所述M个高阶张量对应的初始张量网络;所述初始张量网络中包括N个初始张量,所述N个初始张量中包括所述初始权重参数对应的初始压缩权重参数;
步骤[2]、对所述N个初始张量进行张量收缩处理,生成所述初始张量网络的张量收缩结果;所述初始张量网络的张量收缩结果包括所述初始神经网络的初始更新权重参数;
步骤[3]、基于所述M个高阶张量中的所述初始权重参数,及所述初始更新权重参数,对所述初始张量网络进行预训练,直至收敛得到所述目标张量网络。
在本实施例中,为了基于M个高阶张量,生成最优的N个目标张量,首先需要对张量网络进行预训练,从而给张量网络一个良好的初始化增加张量网络的稳定性。
具体地,首先需要基于M个高阶张量生成M个高阶张量对应的初始张量网络;其中,初始张量网络中包括N个初始张量,N个初始张量中包括初始权重参数对应的初始压缩权重参数,初始压缩权重参数是随机的。
然后对N个初始张量进行张量收缩处理,生成初始张量网络的张量收缩结果,具体包括初始神经网络的初始更新权重参数;基于初始权重参数,及初始更新权重参数,利用第一损失函数对初始张量网络进行预训练。
需要说明的是,本发明对第一损失函数的类型不作具体限定,能够实现对初始张量网络进行预训练的损失函数均可作为第一损失函数。
在本实施例一种实现方式中,可以选择欧式距离作为第一损失函数,通过极小化初始权重参数与初始更新权重参数之间的距离来进行预训练。
可选地,所述第一损失函数通过以下公式(1)表示:
Figure SMS_32
(1)
其中,
Figure SMS_33
表示所述第一损失函数,/>
Figure SMS_34
表示所述初始更新权重参数,/>
Figure SMS_35
表示所述初始权重参数。
Figure SMS_36
收敛之后,即可得到包括N个目标张量的目标张量网络。
可选地,所述基于所述更新权重参数对所述初始神经网络进行训练,得到目标神经网络,具体通过以下步骤实现:
基于所述更新权重参数,利用所述初始神经网络对应的损失函数对所述初始神经网络进行训练,直至收敛,得到所述目标神经网络。
在本实施例中,需要以最小化机器学习任务的损失函数为目标,对初始神经网络的参数进行优化。
在此处可以选择与用于训练初始神经网络损失函数相同的损失函数进行优化,优化过程中的前馈过程也与初始神经网络相同,区别之处是将初始神经网络中的初始权重参数
Figure SMS_37
用更新权重参数/>
Figure SMS_38
代替。
图3是本发明提供的神经网络的压缩方法的流程示意图之二,参见图3所示,该方法包括步骤301-步骤307,其中:
步骤301、获取初始神经网络的M个高阶张量,其中,M个高阶张量包括所述初始神经网络的初始权重参数,M为正整数。
步骤302、基于M个高阶张量,生成M个高阶张量对应的初始张量网络;其中,初始张量网络中包括N个初始张量,N个初始张量中包括初始权重参数对应的初始压缩权重参数,N为正整数。
步骤303、对N个初始张量进行张量收缩处理,生成初始张量网络的张量收缩结果,其中,初始张量网络的张量收缩结果包括初始神经网络的初始更新权重参数。
步骤304、基于M个高阶张量中的初始权重参数,及初始更新权重参数,利用欧式距离作为第一损失函数对初始张量网络进行预训练,直至收敛得到目标张量网络;其中,目标张量网络中包括N个目标张量,N个目标张量中包括初始权重参数对应的压缩权重参数,压缩权重参数的参数量小于初始权重参数的参数量。
步骤305、基于N个目标张量之间的连接关系,确定N个目标张量之间的共有指标。
步骤306、对每两个目标张量之间的共有指标进行求和运算,生成张量收缩结果,其中,张量收缩结果包括初始神经网络的更新权重参数。
步骤307、基于更新权重参数,利用初始神经网络对应的损失函数对初始神经网络进行训练,直至收敛,得到目标神经网络。
本发明提供的神经网络的压缩方法,通过获取初始神经网络的M个高阶张量,生成包括N个目标张量的目标张量网络,将N个目标张量进行张量收缩处理,生成包括有初始神经网络的更新权重参数的张量收缩结果,基于更新权重参数对神经网络进行训练,即可得到目标神经网络;在上述方法中,其核心思想是将神经网络变分参数的高阶张量写为张量网络的收缩,因此,N个目标张量中初始权重参数对应的压缩权重参数的参数量远小于初始权重参数的参数量,计算机仅存储N个目标张量即可实现对初始权重参数的高效压缩,降低了计算机针对神经网络的存储与传输成本,缓解过拟合现象、增强神经网络的泛化能力;同时,基于N个目标张量进行张量收缩,可以还原得到近似于初始权重参数的更新权重参数,利用更新权重参数对初始神经网络进行训练,保证了目标神经网络的精度。
下面对本发明提供的神经网络的压缩装置进行描述,下文描述的神经网络的压缩装置与上文描述的神经网络的压缩方法可相互对应参照。图4是本发明提供的神经网络的压缩装置的结构示意图,如图4所示,该神经网络的压缩装置400包括:获取模块401、生成模块402、处理模块403及训练模块404,其中:
获取模块401,用于获取初始神经网络的M个高阶张量;所述M个高阶张量包括所述初始神经网络的初始权重参数,M为正整数;
生成模块402,用于基于所述M个高阶张量,生成所述M个高阶张量对应的目标张量网络;所述目标张量网络中包括N个目标张量,所述N个目标张量中包括所述初始权重参数对应的压缩权重参数,所述压缩权重参数的参数量小于所述初始权重参数的参数量,N为正整数;
处理模块403,用于对所述N个目标张量进行张量收缩处理,生成所述目标张量网络的张量收缩结果;所述张量收缩结果包括所述初始神经网络的更新权重参数;
训练模块404,用于基于所述更新权重参数对所述初始神经网络进行训练,得到目标神经网络。
本发明提供的神经网络的压缩装置,通过获取初始神经网络的M个高阶张量,生成包括N个目标张量的目标张量网络,将N个目标张量进行张量收缩处理,生成包括有初始神经网络的更新权重参数的张量收缩结果,基于更新权重参数对神经网络进行训练,即可得到目标神经网络;在上述方法中,其核心思想是将神经网络变分参数的高阶张量写为张量网络的收缩,因此,N个目标张量中初始权重参数对应的压缩权重参数的参数量远小于初始权重参数的参数量,计算机仅存储N个目标张量即可实现对初始权重参数的高效压缩,降低了计算机针对神经网络的存储与传输成本,缓解过拟合现象、增强神经网络的泛化能力;同时,基于N个目标张量进行张量收缩,可以还原得到近似于初始权重参数的更新权重参数,利用更新权重参数对初始神经网络进行训练,保证了目标神经网络的精度。
可选地,所述N个目标张量通过张量指标连接;
所述处理模块403,进一步用于:
基于所述N个目标张量之间的连接关系,确定所述N个目标张量之间的共有指标;
对每两个目标张量之间的共有指标进行求和运算,生成所述张量收缩结果。
可选地,所述生成模块402,进一步用于:
基于所述M个高阶张量,生成所述M个高阶张量对应的初始张量网络;所述初始张量网络中包括N个初始张量,所述N个初始张量中包括所述初始权重参数对应的初始压缩权重参数;
对所述N个初始张量进行张量收缩处理,生成所述初始张量网络的张量收缩结果;所述初始张量网络的张量收缩结果包括所述初始神经网络的初始更新权重参数;
基于所述M个高阶张量中的所述初始权重参数,及所述初始更新权重参数,对所述初始张量网络进行预训练,直至收敛得到所述目标张量网络。
可选地,所述生成模块402,进一步用于:
基于所述初始权重参数及所述初始更新权重参数,利用欧式距离作为第一损失函数对所述初始张量网络进行预训练;
所述第一损失函数通过以下公式(1)表示:
Figure SMS_39
(1)
其中,
Figure SMS_40
表示所述第一损失函数,/>
Figure SMS_41
表示所述初始更新权重参数,/>
Figure SMS_42
表示所述初始权重参数。
可选地,所述第一神经网络中的参数为所述压缩参数;
所述训练模块404,进一步用于:
基于所述更新权重参数,利用所述初始神经网络对应的损失函数对所述初始神经网络进行训练,直至收敛,得到所述目标神经网络。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行神经网络的压缩方法,该方法包括:获取初始神经网络的M个高阶张量;所述M个高阶张量包括所述初始神经网络的初始权重参数,M为正整数;基于所述M个高阶张量,生成所述M个高阶张量对应的目标张量网络;所述目标张量网络中包括N个目标张量,所述N个目标张量中包括所述初始权重参数对应的压缩权重参数,所述压缩权重参数的参数量小于所述初始权重参数的参数量,N为正整数;对所述N个目标张量进行张量收缩处理,生成所述目标张量网络的张量收缩结果;所述张量收缩结果包括所述初始神经网络的更新权重参数;基于所述更新权重参数对所述初始神经网络进行训练,得到目标神经网络。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的神经网络的压缩方法,该方法包括:获取初始神经网络的M个高阶张量;所述M个高阶张量包括所述初始神经网络的初始权重参数,M为正整数;基于所述M个高阶张量,生成所述M个高阶张量对应的目标张量网络;所述目标张量网络中包括N个目标张量,所述N个目标张量中包括所述初始权重参数对应的压缩权重参数,所述压缩权重参数的参数量小于所述初始权重参数的参数量,N为正整数;对所述N个目标张量进行张量收缩处理,生成所述目标张量网络的张量收缩结果;所述张量收缩结果包括所述初始神经网络的更新权重参数;基于所述更新权重参数对所述初始神经网络进行训练,得到目标神经网络。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的神经网络的压缩方法,该方法包括:获取初始神经网络的M个高阶张量;所述M个高阶张量包括所述初始神经网络的初始权重参数,M为正整数;基于所述M个高阶张量,生成所述M个高阶张量对应的目标张量网络;所述目标张量网络中包括N个目标张量,所述N个目标张量中包括所述初始权重参数对应的压缩权重参数,所述压缩权重参数的参数量小于所述初始权重参数的参数量,N为正整数;对所述N个目标张量进行张量收缩处理,生成所述目标张量网络的张量收缩结果;所述张量收缩结果包括所述初始神经网络的更新权重参数;基于所述更新权重参数对所述初始神经网络进行训练,得到目标神经网络。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (5)

1.一种神经网络的压缩方法,其特征在于,包括:
获取初始神经网络的M个高阶张量;所述M个高阶张量包括所述初始神经网络的初始权重参数,M为正整数;
基于所述M个高阶张量,生成所述M个高阶张量对应的目标张量网络;所述目标张量网络中包括N个目标张量,所述N个目标张量中包括所述初始权重参数对应的压缩权重参数,所述压缩权重参数的参数量小于所述初始权重参数的参数量,N为正整数;
对所述N个目标张量进行张量收缩处理,生成所述目标张量网络的张量收缩结果;所述张量收缩结果包括所述初始神经网络的更新权重参数;
基于所述更新权重参数对所述初始神经网络进行训练,得到目标神经网络;
其中,所述N个目标张量通过张量指标连接;
所述对所述N个目标张量进行张量收缩处理,生成所述目标张量网络的张量收缩结果,包括:
基于所述N个目标张量之间的连接关系,确定所述N个目标张量之间的共有指标;
对每两个目标张量之间的共有指标进行求和运算,生成所述张量收缩结果;
所述基于所述M个高阶张量,生成所述M个高阶张量对应的目标张量网络,包括:
基于所述M个高阶张量,生成所述M个高阶张量对应的初始张量网络;所述初始张量网络中包括N个初始张量,所述N个初始张量中包括所述初始权重参数对应的初始压缩权重参数;
对所述N个初始张量进行张量收缩处理,生成所述初始张量网络的张量收缩结果;所述初始张量网络的张量收缩结果包括所述初始神经网络的初始更新权重参数;
基于所述M个高阶张量中的所述初始权重参数,及所述初始更新权重参数,对所述初始张量网络进行预训练,直至收敛得到所述目标张量网络;
所述基于所述M个高阶张量中的所述初始权重参数,及所述初始更新权重参数,对所述初始张量网络进行预训练,包括:
基于所述初始权重参数及所述初始更新权重参数,利用欧式距离作为第一损失函数对所述初始张量网络进行预训练;
所述第一损失函数通过以下公式(1)表示:
Figure QLYQS_1
(1)
其中,
Figure QLYQS_2
表示所述第一损失函数,/>
Figure QLYQS_3
表示所述初始更新权重参数,/>
Figure QLYQS_4
表示所述初始权重参数。
2.根据权利要求1所述的神经网络的压缩方法,其特征在于,所述基于所述更新权重参数对所述初始神经网络进行训练,得到目标神经网络,包括:
基于所述更新权重参数,利用所述初始神经网络对应的损失函数对所述初始神经网络进行训练,直至收敛,得到所述目标神经网络。
3.一种神经网络的压缩装置,其特征在于,包括:
获取模块,用于获取初始神经网络的M个高阶张量;所述M个高阶张量包括所述初始神经网络的初始权重参数,M为正整数;
生成模块,用于基于所述M个高阶张量,生成所述M个高阶张量对应的目标张量网络;所述目标张量网络中包括N个目标张量,所述N个目标张量中包括所述初始权重参数对应的压缩权重参数,所述压缩权重参数的参数量小于所述初始权重参数的参数量,N为正整数;
处理模块,用于对所述N个目标张量进行张量收缩处理,生成所述目标张量网络的张量收缩结果;所述张量收缩结果包括所述初始神经网络的更新权重参数;
训练模块,用于基于所述更新权重参数对所述初始神经网络进行训练,得到目标神经网络;
其中,所述N个目标张量通过张量指标连接;
所述处理模块,进一步用于:
基于所述N个目标张量之间的连接关系,确定所述N个目标张量之间的共有指标;
对每两个目标张量之间的共有指标进行求和运算,生成所述张量收缩结果;
所述生成模块,进一步用于:
基于所述M个高阶张量,生成所述M个高阶张量对应的初始张量网络;所述初始张量网络中包括N个初始张量,所述N个初始张量中包括所述初始权重参数对应的初始压缩权重参数;
对所述N个初始张量进行张量收缩处理,生成所述初始张量网络的张量收缩结果;所述初始张量网络的张量收缩结果包括所述初始神经网络的初始更新权重参数;
基于所述M个高阶张量中的所述初始权重参数,及所述初始更新权重参数,对所述初始张量网络进行预训练,直至收敛得到所述目标张量网络;
所述生成模块,进一步用于:
基于所述初始权重参数及所述初始更新权重参数,利用欧式距离作为第一损失函数对所述初始张量网络进行预训练;
所述第一损失函数通过以下公式(1)表示:
Figure QLYQS_5
(1)
其中,
Figure QLYQS_6
表示所述第一损失函数,/>
Figure QLYQS_7
表示所述初始更新权重参数,/>
Figure QLYQS_8
表示所述初始权重参数。
4.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1或2所述神经网络的压缩方法。
5.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1或2所述神经网络的压缩方法。
CN202310460357.7A 2023-04-26 2023-04-26 神经网络的压缩方法、装置、电子设备及存储介质 Active CN116187401B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310460357.7A CN116187401B (zh) 2023-04-26 2023-04-26 神经网络的压缩方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310460357.7A CN116187401B (zh) 2023-04-26 2023-04-26 神经网络的压缩方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN116187401A CN116187401A (zh) 2023-05-30
CN116187401B true CN116187401B (zh) 2023-07-14

Family

ID=86452565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310460357.7A Active CN116187401B (zh) 2023-04-26 2023-04-26 神经网络的压缩方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116187401B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116894457B (zh) * 2023-09-11 2023-11-24 深存科技(无锡)有限公司 深度学习模型的网络权重存取方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110276438A (zh) * 2019-05-15 2019-09-24 长沙理工大学 一种神经网络参数压缩方法及相关装置
CN111652349A (zh) * 2020-04-22 2020-09-11 华为技术有限公司 一种神经网络的处理方法及相关设备
CN113011568A (zh) * 2021-03-31 2021-06-22 华为技术有限公司 一种模型的训练方法、数据处理方法及设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107944556B (zh) * 2017-12-12 2020-09-08 电子科技大学 基于块项张量分解的深度神经网络压缩方法
CN110263913A (zh) * 2019-05-23 2019-09-20 深圳先进技术研究院 一种深度神经网络压缩方法及相关设备
CN110428045A (zh) * 2019-08-12 2019-11-08 电子科技大学 基于Tucker算法的深度卷积神经网络压缩方法
WO2023015247A1 (en) * 2021-08-04 2023-02-09 The Regents Of The University Of California Methods and systems for determining physical properties via machine learning
CN113989576A (zh) * 2021-12-06 2022-01-28 西南大学 一种结合小波变换和张量网络的医学图像分类方法
CN115205613A (zh) * 2022-05-20 2022-10-18 中国建设银行股份有限公司 一种图像识别方法、装置、电子设备及存储介质
CN115346053A (zh) * 2022-08-25 2022-11-15 中国建设银行股份有限公司 一种图像特征提取方法、装置、电子设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110276438A (zh) * 2019-05-15 2019-09-24 长沙理工大学 一种神经网络参数压缩方法及相关装置
CN111652349A (zh) * 2020-04-22 2020-09-11 华为技术有限公司 一种神经网络的处理方法及相关设备
CN113011568A (zh) * 2021-03-31 2021-06-22 华为技术有限公司 一种模型的训练方法、数据处理方法及设备

Also Published As

Publication number Publication date
CN116187401A (zh) 2023-05-30

Similar Documents

Publication Publication Date Title
He et al. Asymptotic soft filter pruning for deep convolutional neural networks
Liu et al. Bi-real net: Enhancing the performance of 1-bit cnns with improved representational capability and advanced training algorithm
CN109671026B (zh) 基于空洞卷积及自动编解码神经网络的灰度图像降噪方法
CN109087273B (zh) 基于增强的神经网络的图像复原方法、存储介质及系统
CN107943938A (zh) 一种基于深度乘积量化的大规模图像相似检索方法及系统
CN108334945B (zh) 深度神经网络的加速与压缩方法及装置
CN105512723A (zh) 一种用于稀疏连接的人工神经网络计算装置和方法
CN116187401B (zh) 神经网络的压缩方法、装置、电子设备及存储介质
CN107944545B (zh) 应用于神经网络的计算方法及计算装置
CN109284761B (zh) 一种图像特征提取方法、装置、设备及可读存储介质
CN110929865A (zh) 网络量化方法、业务处理方法及相关产品
CN112508125A (zh) 一种图像检测模型的高效全整数量化方法
WO2021042857A1 (zh) 图像分割模型的处理方法和处理装置
CN113421187B (zh) 一种超分辨率重建方法、系统、存储介质、设备
WO2020236255A1 (en) System and method for incremental learning using a grow-and-prune paradigm with neural networks
CN110084250A (zh) 一种图像描述的方法及系统
CN114282666A (zh) 基于局部稀疏约束的结构化剪枝方法和装置
CN113837940A (zh) 基于密集残差网络的图像超分辨率重建方法及系统
Lopes et al. Deep belief networks (DBNs)
CN115862751A (zh) 基于边特征更新聚合注意力机制的量子化学性质计算方法
Qi et al. Learning low resource consumption cnn through pruning and quantization
CN112257466B (zh) 一种应用于小型机器翻译设备的模型压缩方法
CN113850298A (zh) 一种图像识别方法、装置及相关设备
CN116090425A (zh) 一种基于词替换的文本生成方法、系统及存储介质
CN112784967B (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