CN116306884B - 联邦学习模型剪枝方法、装置及非易失性存储介质 - Google Patents
联邦学习模型剪枝方法、装置及非易失性存储介质 Download PDFInfo
- Publication number
- CN116306884B CN116306884B CN202310233862.8A CN202310233862A CN116306884B CN 116306884 B CN116306884 B CN 116306884B CN 202310233862 A CN202310233862 A CN 202310233862A CN 116306884 B CN116306884 B CN 116306884B
- Authority
- CN
- China
- Prior art keywords
- pruning
- channel
- target
- convolution layer
- channels
- 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
- 238000013138 pruning Methods 0.000 title claims abstract description 206
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 238000007906 compression Methods 0.000 claims abstract description 62
- 230000006835 compression Effects 0.000 claims abstract description 62
- 238000012549 training Methods 0.000 claims description 47
- 238000012216 screening Methods 0.000 claims description 23
- 239000011159 matrix material Substances 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 14
- 230000009191 jumping Effects 0.000 claims description 9
- 238000010606 normalization Methods 0.000 claims description 5
- 238000010008 shearing Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000010845 search algorithm Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000000137 annealing Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005251 gamma ray Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种联邦学习模型剪枝方法、装置及非易失性存储介质。其中,该方法包括:确定目标学习分支中的每个卷积层中各个通道对应的剪枝指标,并依据各个通道对应的剪枝指标确定每个卷积层对应的剪枝指标顺序;确定目标学习分支的压缩率,并依据压缩率和每个卷积层对应的剪枝指标顺序确定目标学习分支的通道掩码数据,其中,压缩率用于确定每个卷积层中选择的通道数量;依据通道掩码数据,对目标学习分支的第一模型参数进行通道掩码运算,得到第二模型参数,其中,第二模型参数为剪枝后的目标学习分支的模型参数。本申请解决了由于相关技术依据全局信息确定每层剪枝比例造成的在确定剪枝比例时搜索空间大且搜索效率低的技术问题。
Description
技术领域
本申请涉及模型训练领域,具体而言,涉及一种联邦学习模型剪枝方法、装置及非易失性存储介质。
背景技术
目前相关技术中在对联邦学习模型进行训练时,为了解决在训练过程中需要传递的模型参数量过大的问题,会采用自动化搜索剪枝方法来对模型参数进行压缩。但是相关技术中的自动化搜索剪枝方法是采用全局信息引导搜索来确定的每层剪枝比列,搜索空间较大,搜索效率低。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种联邦学习模型剪枝方法、装置及非易失性存储介质,以至少解决由于相关技术依据全局信息确定每层剪枝比例造成的在确定剪枝比例时搜索空间大且搜索效率低的技术问题。
根据本申请实施例的一个方面,提供了一种联邦学习模型剪枝方法,包括:确定目标学习分支中的每个卷积层中各个通道对应的剪枝指标,并依据各个通道对应的剪枝指标确定每个卷积层对应的剪枝指标顺序,其中,目标学习分支为联邦学习模型中的任意一个学习分支模型,并且目标学习分支通过本地存储的数据集进行训练,剪枝指标用于表示各个通道在每个卷积层中的重要程度;确定目标学习分支的压缩率,并依据压缩率和每个卷积层对应的剪枝指标顺序确定目标学习分支的通道掩码数据,其中,压缩率用于确定每个卷积层中选择的通道数量;依据通道掩码数据,对目标学习分支的第一模型参数进行通道掩码运算,得到第二模型参数,其中,第二模型参数为剪枝后的目标学习分支的模型参数。
可选地,确定目标学习分支中的每个卷积层中各个通道对应的剪枝指标的步骤包括:在本地存储的数据集中随机选择部分数据,得到第一训练数据集;将第一训练数据集输入到目标学习分支中,并记录目标学习分支中各个卷积层对应的特征图;计算每个卷积层中各个通道的通道方向上的特征图的绝对值,得到第一目标统计矩阵,并计算每个卷积层中各个通道的通道方向上的特征图在缺少目标通道的情况下的绝对值,得到第二目标统计矩阵,其中,目标通道为通道方向对应的通道;对第一目标统计矩阵和第二目标统计矩阵进行二范数归一化后作差,得到各个通道对应的剪枝指标。
可选地,确定目标学习分支的压缩率,并依据压缩率和每个卷积层对应的剪枝指标顺序得到目标学习分支的通道掩码数据的步骤包括:依据压缩率和每个卷积层对应的剪枝指标顺序对每个卷积层中的通道进行筛选,得到筛选结果,其中,压缩率用于确定筛选后的通道的数量;依据筛选结果和剪枝指标顺序,得到通道掩码数据。
可选地,依据压缩率和每个卷积层对应的剪枝指标顺序对每个卷积层中的通道进行筛选,得到筛选结果的步骤包括:第一步,采用均匀剪枝策略和压缩率生成初始解,并将初始解作为当前解,以及确定初始衰减步长,并将初始衰减步长作为当前衰减步长,其中,初始解中包括在采用均匀剪枝策略下每个卷积层中保留的通道数量;第二步,依据当前解和剪枝指标顺序,确定每个卷积层中的各个通道对应的通道掩码值,其中,每个卷积层中的各个通道对应的通道掩码值为第一掩码数据;第三步,将第一掩码数据和第二训练数据集输入到目标学习分支中,并计算目标学习分支的第一损失值,其中,第二训练数据集是在本地存储的数据集中随机选择得到的数据集;第四步,依据当前解和衰减步长,确定局部邻域解;第五步,依据局部邻域解和剪枝指标排序得到第二掩码数据,并将第二训练数据集和第二掩码数据输入到目标学习分支中,并计算目标学习分支的第二损失值,其中,每个局部邻域解均对应一个第二掩码数据;第六步,在存在第二损失值小于第一损失值的情况下,确定目标邻域解,并将目标邻域解作为当前解,跳转到第二步,其中,目标邻域解为对应的第二损失值最小的局部邻域解;第七步,令当前衰减步长等于当前衰减步长减一,并在当前衰减步长为零的情况下,确定当前解为筛选结果;在当前衰减步长不为零的情况下,跳转到第四步。
可选地,通道掩码值包括第一通道掩码值和第二通道掩码值,其中,通道掩码值为第一通道掩码值的通道的权值被通道选择器保留,通道掩码值为第二通道掩码值的通道的权值被通道选择器设置为零;依据当前解和剪枝指标顺序,确定每个卷积层中的各个通道对应的通道掩码值的步骤包括:按照剪枝指标顺序,确定每个卷积层中各个通道的通道排列顺序,其中,通道的剪切指标越大,通道在通道排列顺序中的序号越小;依据各个通道在通道排列顺序中的序号和当前解中的通道数量,确定各个通道对应的通道掩码值,其中,序号小于通道数量的通道对应的通道掩码值为第一通道掩码值,序号不小于通道数量的通道对应的通道掩码值为第二通道掩码值。
可选地,依据当前解和衰减步长,确定局部邻域解的步骤包括:依据当前解和衰减步长,确定第一目标卷积层和第二目标卷积层,其中,第一目标卷积层在当前解中对应的权值不为零的通道数量加上衰减步长小于第一目标卷积层中的全部通道的通道数量,第二目标卷积层在当前解中对应的权值不为零的通道数量大于衰减步长;依据第一目标卷积层和第二目标卷积层,确定局部邻域解。
可选地,依据通道掩码数据,对目标学习分支的第一模型参数进行通道掩码运算,得到第二模型参数的步骤之后,联邦学习模型剪枝方法还包括:压缩并发送第二模型参数至联邦学习模型的中央聚合器,并获取中央聚合器发送的第三模型参数,将第三模型参数作为目标学习分支的模型参数,其中,第三模型参数为中央聚合器依据各个学习分支模型发送的第二模型参数进行加权求和计算后得到的模型参数。
根据本申请实施例的另一方面,还提供了一种联邦学习模型剪枝装置,包括:排序模块,用于确定目标学习分支中的每个卷积层中各个通道对应的剪枝指标,并依据各个通道对应的剪枝指标确定每个卷积层对应的剪枝指标顺序,其中,目标学习分支为联邦学习模型中的任意一个学习分支模型,并且目标学习分支通过本地存储的数据集进行训练,剪枝指标用于表示各个通道在每个卷积层中的重要程度;处理模块,用于确定目标学习分支的压缩率,并依据压缩率和每个卷积层对应的剪枝指标顺序确定目标学习分支的通道掩码数据,其中,压缩率用于确定每个卷积层中选择的通道数量;计算模块,用于依据通道掩码数据,对目标学习分支的第一模型参数进行通道掩码运算,得到第二模型参数,其中,第二模型参数为剪枝后的目标学习分支的模型参数。
根据本申请实施例的另一方面,还提供了一种非易失性存储介质,非易失性存储介质中存储有程序,其中,在程序运行时控制非易失性存储介质所在设备执行联邦学习模型剪枝训练方法。
根据本申请实施例的另一方面,还提供了一种电子设备,包括:存储器和处理器,处理器用于运行存储在存储器中的程序,程序运行时执行联邦学习模型剪枝方法。
在本申请实施例中,采用确定目标学习分支中的每个卷积层中各个通道对应的剪枝指标,并依据各个通道对应的剪枝指标确定每个卷积层对应的剪枝指标顺序,其中,目标学习分支为联邦学习模型中的任意一个学习分支模型,并且目标学习分支通过本地存储的数据集进行训练,剪枝指标用于表示各个通道在每个卷积层中的重要程度;确定目标学习分支的压缩率,并依据压缩率和每个卷积层对应的剪枝指标顺序确定目标学习分支的通道掩码数据,其中,压缩率用于确定每个卷积层中选择的通道数量;依据通道掩码数据,对目标学习分支的第一模型参数进行通道掩码运算,得到第二模型参数,其中,第二模型参数为剪枝后的目标学习分支的模型参数的方式,通过确定目标学习分支中每个卷积层中各个通道对应的剪枝指标,并依据剪枝指标确定目标学习分支的通道掩码数据和模型参数,达到了提高剪枝效率的目的,从而实现了高效压缩待传输的模型参数的技术效果,进而解决了由于相关技术依据全局信息确定每层剪枝比例造成的在确定剪枝比例时搜索空间大且搜索效率低技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的一种计算机终端的结构示意图;
图2是根据本申请实施例提供的一种联邦学习模型剪枝方法的流程示意图;
图3是根据本申请实施例提供的一种联邦学习模型训练场景的场景示意图;
图4是根据本申请实施例提供的一种联邦学习模型训练流程的流程示意图;
图5是根据本申请实施例提供的一种联邦学习模型剪枝装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
目前随着数据的采集和存储技术不断提升,各行各业拥有的数据规模不断增加。这些数据往往具有大量可挖掘的价值来指导社会行业的生产生活,例如为商业领域的发展产生预测性的指导方案、为科学研究提供权威的模型参考、为社会组织提供全面的治理分析等。可见,数据的价值日益突出,数据本身已经成为了数据拥有者重要的甚至绝密的资产。由于部分数据资源具有资产属性,导致该部分数据不能进行开放性地流通,数据持有者对数据内容有高保密的要求,从而导致了高价值的数据犹如孤岛一般存放在持有者本地。为了应对数据孤岛,联邦学习技术被提出来。该技术可以进行数据不出本地的模型聚合训练,对于打破数据孤岛,释放数据价值具有重要的意义。
联邦学习是一种新兴的分布式模型训练方法,将隐私资源限制在本地模型仅传输隐式数据。联邦学习包括一个中央聚合器和多个学习分支。每个学习分支将本地模型的隐式参数传输到中央聚合器,聚合器接受多个学习分支的隐式参数并聚合更新到聚合器的本地模型,然后聚合器再将自己的本地模型参数反馈到多个学习分支。因此,每个学习分支仅通过聚合器共享的本地模型能够实现从其他学习分支的数据集中受益,无需显式地访问其他分支的隐私数据。然而,联邦学习在训练过程中需要足够的网络资源保证数据传输的完整性和安全性,但通常由于网络资源的限制而导致联邦学习模型的训练成效受限。具体地,联邦学习传输的数据特征规模庞大,各子节点与主节点的数据传输质量直接决定联邦学习是否能够成功训练,数据传输效率会间接影响联邦学习的训练速度。此外,在数据传输过程中,需要使用加密协议保证数据的安全性,这会带来额外的数据开销。因此,联邦学习传递模型参数过多导致的通信开销巨大的现象急待解决。
为了解决深度神经网络模型参数量大导致联邦学习在中央聚合器与各学习分支的训练受限于网络通信的问题,通常会采用模型压缩技术来减少模型参数量。具体而言,可以将模型压缩技术融入到联邦学习模型的各个分支模型中,减少各分支模型参数的传输数据,从而提高训练效率。相关技术中为了实现对分支模型的压缩,需要采用自动化搜索剪枝方法来确定分支模型中每个卷积层的剪枝比例。但是相关技术中在确定剪枝比例时需要使用全局信息引导搜索或强化学习来自动确定每层剪枝的比例。因此,存在搜索空间较大、搜索效率较低的问题。为了解决该问题,本申请实施例中提供了相关的解决方案,以下详细说明。
根据本申请实施例,提供了一种联邦学习模型剪枝方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现联邦学习模型剪枝方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为BUS总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的联邦学习模型剪枝方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的联邦学习模型剪枝方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
在上述运行环境下,本申请实施例提供了一种联邦学习模型剪枝方法,如图2所示,该方法包括如下步骤:
步骤S202,确定目标学习分支中的每个卷积层中各个通道对应的剪枝指标,并依据各个通道对应的剪枝指标确定每个卷积层对应的剪枝指标顺序,其中,目标学习分支为联邦学习模型中的任意一个学习分支模型,并且目标学习分支通过本地存储的数据集进行训练,剪枝指标用于表示各个通道在每个卷积层中的重要程度;
在确定剪枝指标之前,首先可以对目标学习分支使用本地数据集进行训练。在训练时,可以采用随机梯度下降法来更新目标学习分支的模型参数,例如模型的权重。具体训练公式如下式所示:
上式中,wk,t与wk,t-1分别表示第k个学习分支在第t次与t-1次迭代中的本地模型的参数;Dk,t表示第t次迭代中使用的训练数据集。γt表示本地模型迭代的学习率;为损失函数F(wk,t-1,Dk,t)关于wk,t-1的梯度。
需要说明的是,确定剪枝指标顺序的意义是可以通过剪切指标排序来限制剪枝搜索算法的搜索空间,从而提高效率。联邦学习中各学习分支的本地模型有n个卷积层,每一卷积层对应的通道数量为[c1,c2,…,cn]。自动化网络剪枝第k个学习本地模型的压缩率为αk∈[0,1]。限制搜索空间与所有搜索空间的对比如下式:
计算出本地模型中所有通道的剪枝指标后,通道按照剪枝指标进行层内排序,得到具有优先级的通道剪枝顺序rk,t,其中,k表示第k个学习分支,t表示第t次迭代。
在步骤S202所提供的技术方案中,确定目标学习分支中的每个卷积层中各个通道对应的剪枝指标的步骤包括:在本地存储的数据集中随机选择部分数据,得到第一训练数据集;将第一训练数据集输入到目标学习分支中,并记录目标学习分支中各个卷积层对应的特征图;计算每个卷积层中各个通道的通道方向上的特征图的绝对值,得到第一目标统计矩阵,并计算每个卷积层中各个通道的通道方向上的特征图在缺少目标通道的情况下的绝对值,得到第二目标统计矩阵,其中,目标通道为通道方向对应的通道;对第一目标统计矩阵和第二目标统计矩阵进行二范数归一化后作差,得到各个通道对应的剪枝指标。
需要说明的是,学习分支中的每个卷积层均与一个对应的激活层连接。卷积层输出的第一特征图再经过激活层的处理后,所得到的第二特征图即为上文中的各个卷积层对应的特征图。可以看出,激活层仅用于对卷积层输出的第一特征图进行进一步处理,被激活层处理后得到的第二特征图中的通道与卷积层中的通道仍是一一对应的。
在一个实际应用场景中,确定各个通道对应的剪枝指标的流程如下:
第一步,随机选取部分本地训练集其中,k表示第k个学习分支,t表示第t次迭代;
第二步,将训练集输入到本地模型中并记录本地模型所有激活层输出的特征图Ak,t,i,j,j∈[1,ci],并计算沿着通道方向求特征图的绝对值作为该特征图的统计矩阵Ak,t,i和沿着通道方向求缺少第j个通道的特征图统计矩阵其中Ak,t,i和/>的计算方法如下式:
在上述公式中,Ak,t,i,j表示当前学习分支(第k个学习分支)本地模型第t次迭代中第i层卷积层的第j个通道;ci表示本地模型第i卷积层的通道数量;Ak,t,i表示沿着通道方向第t次迭代中本地模型第i层卷积层的绝对值和。
第三步,将两个统计矩阵进行二范数归一化后作差的二范数就作为当前学习分支本地模型第i层卷积层的第j个通道的剪枝指标γk,t,i,j,具体计算公式如下:
在上述公式中,γk,t,i,j剪枝指标的数值大小表示第j个通道在第i层卷积层的重要程度,值越大表示该通道所在层的作用越重要。
步骤S204,确定目标学习分支的压缩率,并依据压缩率和每个卷积层对应的剪枝指标顺序确定目标学习分支的通道掩码数据,其中,压缩率用于确定每个卷积层中选择的通道数量;
在步骤S204所提供的技术方案中,确定目标学习分支的压缩率,并依据压缩率和每个卷积层对应的剪枝指标顺序得到目标学习分支的通道掩码数据的步骤包括:依据压缩率和每个卷积层对应的剪枝指标顺序对每个卷积层中的通道进行筛选,得到筛选结果,其中,压缩率用于确定筛选后的通道的数量;依据筛选结果和剪枝指标顺序,得到通道掩码数据。
具体地,在依据压缩率和剪枝指标顺序对通道进行筛选(也就是剪枝)时,可以使用通道剪枝指标排序rk,t作为局部邻域产生的引导信息,以及衰减步长dk,t实现从粗粒度到细粒度的自动化网络剪枝搜索。联邦学习中各学习分支本地模型搜索到的通道数量结果为c′=[c′1,c′2,...,c′n],其中c′n表示第n个卷积层中保留的通道数量,并且满足如下公式:
之后可以将自动化剪枝搜索算法将均匀剪枝策略的解作为初始解通过剪枝排序指标rk,t和衰减步长sk,t进行本地模型卷积层之间(由通道选择器实现)的通道屏蔽与选择,观察本地模型在部分训练集的损失是否降低。如果搜索过程中本地模型的损失降低,那么选择损失降低最多的操作;否则,衰减步长减1,直到为0搜索算法停止。搜索算法的搜索结果c*和剪枝指标排序rk,t组合得到本地模型中没有被剪掉的通道掩码数据mk,t。
作为一种可选地实施方式,依据压缩率和每个卷积层对应的剪枝指标顺序对每个卷积层中的通道进行筛选,得到筛选结果的步骤包括:
第一步,采用均匀剪枝策略和压缩率生成初始解,并将初始解作为当前解,以及确定初始衰减步长,并将初始衰减步长作为当前衰减步长,其中,初始解中包括在采用均匀剪枝策略下每个卷积层中保留的通道数量;
具体地,用均匀剪枝策略产生的初始解c0作为当前解,可以表示为c-=c0,具体公式如下所示:
其中,上述公式中的表示初始解中的第i个卷积层对应的通道数量。
第二步,依据当前解和剪枝指标顺序,确定每个卷积层中的各个通道对应的通道掩码值,其中,每个卷积层中的各个通道对应的通道掩码值为第一掩码数据;
需要说明的是,通道掩码值包括第一通道掩码值和第二通道掩码值,其中,通道掩码值为第一通道掩码值的通道的权值被通道选择器保留,通道掩码值为第二通道掩码值的通道的权值被通道选择器设置为零;依据当前解和剪枝指标顺序,确定每个卷积层中的各个通道对应的通道掩码值的步骤包括:按照剪枝指标顺序,确定每个卷积层中各个通道的通道排列顺序,其中,通道的剪切指标越大,通道在通道排列顺序中的序号越小;依据各个通道在通道排列顺序中的序号和当前解中的通道数量,确定各个通道对应的通道掩码值,其中,序号小于通道数量的通道对应的通道掩码值为第一通道掩码值,序号不小于通道数量的通道对应的通道掩码值为第二通道掩码值。
具体地,可以将当前解c-和剪枝指标从大到小排序rk,t组合得到本地模型的通道掩码数据mk,t。如果第i层第j个通道的排序位置I(rk,t,i,j)大于等于当前层的通道数量那么对应的通道掩码数据为0(也就是第二通道掩码值);否则,对应的通道掩码数据为1(也就是第一通道掩码值)。如下公式所示:
上述公式中,mk,t,i,j∈{0,1}表示本地模型第i层第j个通道的掩码数据。如果值为1,通道选择器将保留该通道的权值;否则,通道选择器将该通道的权值置为0。
第三步,将第一掩码数据和第二训练数据集输入到目标学习分支中,并计算目标学习分支的第一损失值,其中,第二训练数据集是在本地存储的数据集中随机选择得到的数据集;
具体地,可以将训练集dk,t和通道掩码数据mk,t输入到本地模型中计算模型的损失值fk,t,损失函数如下:
上式中,l表示由用户定义的具体类型的损失函数;nk,t表示训练集dk,t的数量;符号⊙表示掩码运算,即权重wk,t为使用通道掩码mk,t生成剪枝权重。
第四步,依据当前解和衰减步长,确定局部邻域解;
作为一种可选地实施方式,依据当前解和衰减步长,确定局部邻域解的步骤包括:依据当前解和衰减步长,确定第一目标卷积层和第二目标卷积层,其中,第一目标卷积层在当前解中对应的权值不为零的通道数量加上衰减步长小于第一目标卷积层中的全部通道的通道数量,第二目标卷积层在当前解中对应的权值不为零的通道数量大于衰减步长;依据第一目标卷积层和第二目标卷积层,确定局部邻域解。
具体地,局部邻域解产生的方式是互不相同的两个卷积层之间组合,如果满足以下条件:当前解某一通道数量加上衰减步长小于模型本身的通道数量,并且另一通道数量大于衰减步长,那么就会产生新解,如下式所示:
具体地,假设目标学习分支中共有n个卷积层,在生成局部邻域解时,可以从n个卷积层中依次选择两个不同的卷积层(i,j)作为一对卷积层组合。需要注意的是,卷积层组合(i,j)和卷积层组合(j,i)为不同的卷积层组合。
在确定卷积层组合时,可以选择双重循环遍历的方式。具体而言,第一重按顺序遍历从1到n,在遍历到第i个卷积层时(1≤i≤n),此时可以进行第二重遍历从1到n,假设遍历到第j(1≤j≤n,并且j≠i)个卷积层,当第i个卷积层和第j个卷积层不同时,第i个卷积层和第j个卷积层就形成一组卷积层组合。以此遍历得到所有卷积层组合(i,j)。
在得到了所有的卷积层组合后,可以有顺序地产生互不相同的两个卷积层组合。接下来,遍历所有组合结果(i,j),满足并且/>的条件,就执行:第i个卷积层增加sk,t个通道,第j个卷积层减少sk,t个通道。执行后产生新的通道数量就是邻域解。如果不满足条件,就遍历下一个组合,直到遍历完所有组合,从而得到全部的邻域解。
第五步,依据局部邻域解和剪枝指标排序得到第二掩码数据,并将第二训练数据集和第二掩码数据输入到目标学习分支中,并计算目标学习分支的第二损失值,其中,每个局部邻域解均对应一个第二掩码数据;
具体地,可以将邻域解c+和剪枝指标排序rk,t组合得到本地模型的通道掩码数据并将训练集dk,t′和通道掩码数据mk,t输入到本地模型中计算当前模型的损失值/>邻域解的损失值如下:
第六步,在存在第二损失值小于第一损失值的情况下,确定目标邻域解,并将目标邻域解作为当前解,跳转到第二步,其中,目标邻域解为对应的第二损失值最小的局部邻域解;
第七步,令当前衰减步长等于当前衰减步长减一,并在当前衰减步长为零的情况下,确定当前解为筛选结果;在当前衰减步长不为零的情况下,跳转到第四步。
具体地,可以记录产生所有邻域解的损失值判断是否存在小于当前解的损失值fx,t。如果存在且能够找到最小损失值/>那么当前解就接受损失值对应的邻域操作,并将最小损失的邻域解c*作为步骤B2的当前解c-=c*,并跳转到第二步。否则,衰减步长sk,t减1,跳转到第四步,直到衰减到0搜索停止。具体公式如下所示:
步骤S206,依据通道掩码数据,对目标学习分支的第一模型参数进行通道掩码运算,得到第二模型参数,其中,第二模型参数为剪枝后的目标学习分支的模型参数。
具体地,在得到搜索结果c*后,可以将搜索结果c*和剪枝指标排序rk,t组合得到本地模型中没有被剪掉的通道掩码数据将掩码数据输入到本地模型,即表示当前自动化剪枝搜索算法在压缩率为αk搜索出的最佳通道配置的本地模型。该压缩率也是联邦学习中中央聚合器与各学习分支的数据传输率,即通道掩码数据/>保证当前传输的数据是本地模型中最重要前100αk%的数据。
之后可以让联邦学习中各学习分支本地模型训练生成的权重wk,t进行通道掩码运算,得到剪枝后的本地模型权重具体计算公式如下:
在步骤S206所提供的技术方案中,依据通道掩码数据,对目标学习分支的第一模型参数进行通道掩码运算,得到第二模型参数的步骤之后,联邦学习模型剪枝方法还包括:压缩并发送第二模型参数至联邦学习模型的中央聚合器,并获取中央聚合器发送的第三模型参数,将第三模型参数作为目标学习分支的模型参数,其中,第三模型参数为中央聚合器依据各个学习分支模型发送的第二模型参数进行加权求和计算后得到的模型参数。
具体地,如图3所示,在各个学习分支通过自动化剪枝搜索并进行掩码计算得到本地模型剪枝权重后,可以将联邦学习模型中各学习分支本地模型剪枝权重/>进行压缩,并将压缩后的剪枝权重/>通过无线网络传输到中央聚合器。图3中的分支k和分支K分别代表联邦学习模型中不同的学习分支。之后中央聚合器会对接受到的所有学习分支的剪枝权重/>进行解压缩并计算模型权重每个位置的加权求和权重/>具体计算公式如下:
上式中表示模型第i层第j个卷积的权重。
在计算完成后,中央聚合器将加权求和权重传输给各学习分支,学习分支将平均权重更新到本地模型的权重,完成联邦学习的一次迭代过程。此时各个学习分支的损失函数F(wk,t,Dk,t)可通过下式计算:
在一个实际应用场景中,通过本申请对联邦学习模型进行训练的完整流程如图4所示,包括以下步骤:
步骤S402,各学习分支接受第t-1轮训练过程中中央聚合器生成的权重,并使用本地数据集开始第t轮训练;
步骤S404,随机选取部分本地数据集中的数据输入模型并记录中间层数据,然后计算剪枝指标顺序作为搜索的引导信息;
步骤S406,根据引导信息和当前解生成邻域解,并评估网络损失,之后选择最佳邻域解并降低衰减步长,直到步长为零,从而确定最终的搜索结果;
步骤S408,自动化网络依据搜索结果和剪枝指标顺序进行剪枝,得到掩码数据;
步骤S410,使用本地模型权重和搜索结果进行掩码运算,得到剪枝后的剪枝权重;
步骤S412,将压缩后的剪枝权重通过无线网络传输到中央聚合器;
步骤S414,中央聚合器将所有分支发送的剪枝权重进行加权求和;
步骤S416,中央聚合器将加权求和后得到的模型权重传输给各个学习分支,学习分支将接收到的模型权重更新到本地模型中,完成联邦学习的第t轮迭代。
通过上述步骤,基于禁忌搜索算法的局部邻域搜索机制和模拟退火算法的退火温度的思想,提出一种基于引导信息(通过引导信息限制局部邻域的产生)和衰减步长(实现从粗粒度到细粒度的搜索)实现的深度神经网络搜索,考虑到剪枝结构之间的跨层联系及剪枝结构在模型中的整体影响,该算法的搜索效率和模型压缩比例都较高。此外,本申请构建了联邦学习与自动化网络剪枝搜索的一种联系,各分支的传输数据比例与自动化网络搜索的压缩比例一致,即联邦学习中本地模型的传输数据就是自动化剪枝搜索出的剪枝模型的数据。特别地,由于本地模型结构与剪枝模型结构是有差异的,剪枝模型的数据需要保留原模型的结构,仅将剪枝的结构置为0,这样就不会产生本地模型与剪枝模型因结构差异而产生的数据对齐问题。具体地,剪枝模型的数据压缩比例由超参数α∈(0,1)控制,联邦学习中学习分支可以根据隐私情况由超参数向量[α1,α2,...,αn]控制。总之,本申请提出一种能够融入到联邦学习中的自动化网络剪枝搜索方法,构建了联邦学习与模型压缩之间的联系,减少联邦学习中本地模型传输的数据,同时增加联邦学习中各分支隐私数据的可控性。
另外,本申请基于禁忌搜索算法的局部邻域搜索机制和模拟退火算法的温度衰减策略的思想,提出一种将网络结构的剪枝指标排序作为引导信息来限制局部邻域的产生、实现衰减步长从粗粒度搜索到细粒度的搜索,该自动化网络剪枝搜索算法大幅度减少了搜索空间,提升了搜索效率。而且本申请中通过一个超参数构建了联邦学习中隐私共享比例与网络剪枝程度之间的联系,通过超参数压缩率减少联邦学习中本地模型传输的数据,同时增加联邦学习中各分支隐私数据的可控性。最后本申请中还在网络剪枝结构中构建了一种通道选择器,通过通道剪枝指标排序和通道剪枝数量配置能够确定通道掩码数据,进而通过通道选择器快速实现预剪枝模型,从而提高剪枝搜索效率。
本申请实施例提供了一种联邦学习模型剪枝装置,图5是该装置的结构示意图,如图5所示,该装置包括:排序模块50,用于确定目标学习分支中的每个卷积层中各个通道对应的剪枝指标,并依据各个通道对应的剪枝指标确定每个卷积层对应的剪枝指标顺序,其中,目标学习分支为联邦学习模型中的任意一个学习分支模型,并且目标学习分支通过本地存储的数据集进行训练,剪枝指标用于表示各个通道在每个卷积层中的重要程度;处理模块52,用于确定目标学习分支的压缩率,并依据压缩率和每个卷积层对应的剪枝指标顺序确定目标学习分支的通道掩码数据,其中,压缩率用于确定每个卷积层中选择的通道数量;计算模块54,用于依据通道掩码数据,对目标学习分支的第一模型参数进行通道掩码运算,得到第二模型参数,其中,第二模型参数为剪枝后的目标学习分支的模型参数。
在本申请的一些实施例中,排序模块50确定目标学习分支中的每个卷积层中各个通道对应的剪枝指标的步骤包括:在本地存储的数据集中随机选择部分数据,得到第一训练数据集;将第一训练数据集输入到目标学习分支中,并记录目标学习分支中的各个卷积层对应的特征图;计算每个卷积层中各个通道的通道方向上的特征图的绝对值,得到第一目标统计矩阵,并计算每个卷积层中各个通道的通道方向上的特征图在缺少目标通道的情况下的绝对值,得到第二目标统计矩阵,其中,目标通道为通道方向对应的通道;对第一目标统计矩阵和第二目标统计矩阵进行二范数归一化后作差,得到各个通道对应的剪枝指标。
在本申请的一些实施例中,处理模块52确定目标学习分支的压缩率,并依据压缩率和每个卷积层对应的剪枝指标顺序得到目标学习分支的通道掩码数据的步骤包括:依据压缩率和每个卷积层对应的剪枝指标顺序对每个卷积层中的通道进行筛选,得到筛选结果,其中,压缩率用于确定筛选后的通道的数量;依据筛选结果和剪枝指标顺序,得到通道掩码数据。
在本申请的一些实施例中,处理模块52依据压缩率和每个卷积层对应的剪枝指标顺序对每个卷积层中的通道进行筛选,得到筛选结果的步骤包括:第一步,采用均匀剪枝策略和压缩率生成初始解,并将初始解作为当前解,以及确定初始衰减步长,并将初始衰减步长作为当前衰减步长,其中,初始解中包括在采用均匀剪枝策略下每个卷积层中保留的通道数量;第二步,依据当前解和剪枝指标顺序,确定每个卷积层中的各个通道对应的通道掩码值,其中,每个卷积层中的各个通道对应的通道掩码值为第一掩码数据;第三步,将第一掩码数据和第二训练数据集输入到目标学习分支中,并计算目标学习分支的第一损失值,其中,第二训练数据集是在本地存储的数据集中随机选择得到的数据集;第四步,依据当前解和衰减步长,确定局部邻域解;第五步,依据局部邻域解和剪枝指标排序得到第二掩码数据,并将第二训练数据集和第二掩码数据输入到目标学习分支中,并计算目标学习分支的第二损失值,其中,每个局部邻域解均对应一个第二掩码数据;第六步,在存在第二损失值小于第一损失值的情况下,确定目标邻域解,并将目标邻域解作为当前解,跳转到第二步,其中,目标邻域解为对应的第二损失值最小的局部邻域解;第七步,令当前衰减步长等于当前衰减步长减一,并在当前衰减步长为零的情况下,确定当前解为筛选结果;在当前衰减步长不为零的情况下,跳转到第四步。
在本申请的一些实施例中,通道掩码值包括第一通道掩码值和第二通道掩码值,其中,通道掩码值为第一通道掩码值的通道的权值被通道选择器保留,通道掩码值为第二通道掩码值的通道的权值被通道选择器设置为零;处理模块52依据当前解和剪枝指标顺序,确定每个卷积层中的各个通道对应的通道掩码值的步骤包括:按照剪枝指标顺序,确定每个卷积层中各个通道的通道排列顺序,其中,通道的剪切指标越大,通道在通道排列顺序中的序号越小;依据各个通道在通道排列顺序中的序号和当前解中的通道数量,确定各个通道对应的通道掩码值,其中,序号小于通道数量的通道对应的通道掩码值为第一通道掩码值,序号不小于通道数量的通道对应的通道掩码值为第二通道掩码值。
在本申请的一些实施例中,处理模块52依据当前解和衰减步长,确定局部邻域解的步骤包括:依据当前解和衰减步长,确定第一目标卷积层和第二目标卷积层,其中,第一目标卷积层在当前解中对应的权值不为零的通道数量加上衰减步长小于第一目标卷积层中的全部通道的通道数量,第二目标卷积层在当前解中对应的权值不为零的通道数量大于衰减步长;依据第一目标卷积层和第二目标卷积层,确定局部邻域解。
在本申请的一些实施例中,依据通道掩码数据,对目标学习分支的第一模型参数进行通道掩码运算,得到第二模型参数的步骤之后,联邦学习模型剪枝装置还用于:压缩并发送第二模型参数至联邦学习模型的中央聚合器,并获取中央聚合器发送的第三模型参数,将第三模型参数作为目标学习分支的模型参数,其中,第三模型参数为中央聚合器依据各个学习分支模型发送的第二模型参数进行加权求和计算后得到的模型参数。
需要说明的是,上述联邦学习模型剪枝装置中的各个模块可以是程序模块(例如是实现某种特定功能的程序指令集合),也可以是硬件模块,对于后者,其可以表现为以下形式,但不限于此:上述各个模块的表现形式均为一个处理器,或者,上述各个模块的功能通过一个处理器实现。
本申请实施例提供了一种非易失性存储介质。非易失性存储介质中存储有程序,其中,在程序运行时控制非易失性存储介质所在设备执行如下联邦学习模型剪枝训练方法:确定目标学习分支中的每个卷积层中各个通道对应的剪枝指标,并依据各个通道对应的剪枝指标确定每个卷积层对应的剪枝指标顺序,其中,目标学习分支为联邦学习模型中的任意一个学习分支模型,并且目标学习分支通过本地存储的数据集进行训练,剪枝指标用于表示各个通道在每个卷积层中的重要程度;确定目标学习分支的压缩率,并依据压缩率和每个卷积层对应的剪枝指标顺序确定目标学习分支的通道掩码数据,其中,压缩率用于确定每个卷积层中选择的通道数量;依据通道掩码数据,对目标学习分支的第一模型参数进行通道掩码运算,得到第二模型参数,其中,第二模型参数为剪枝后的目标学习分支的模型参数。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种联邦学习模型剪枝方法,适用于计算机终端,其特征在于,包括:
确定目标学习分支中的每个卷积层中各个通道对应的剪枝指标,并依据所述各个通道对应的剪枝指标确定所述每个卷积层对应的剪枝指标顺序,其中,所述目标学习分支为所述联邦学习模型中的任意一个学习分支模型,并且所述目标学习分支通过本地存储的数据集进行训练,所述剪枝指标用于表示所述各个通道在所述每个卷积层中的重要程度;
确定所述目标学习分支的压缩率,并依据所述压缩率和所述每个卷积层对应的所述剪枝指标顺序确定所述目标学习分支的通道掩码数据,其中,所述压缩率用于确定所述每个卷积层中选择的通道数量;
依据所述通道掩码数据,对所述目标学习分支的第一模型参数进行通道掩码运算,得到第二模型参数,其中,所述第二模型参数为剪枝后的所述目标学习分支的模型参数;
压缩并发送所述第二模型参数至所述联邦学习模型的中央聚合器。
2.根据权利要求1所述的联邦学习模型剪枝方法,其特征在于,所述确定目标学习分支中的每个卷积层中各个通道对应的剪枝指标的步骤包括:
在本地存储的数据集中随机选择部分数据,得到第一训练数据集;
将所述第一训练数据集输入到所述目标学习分支中,并记录所述目标学习分支中的各个卷积层对应的特征图;
计算所述每个卷积层中各个通道的通道方向上的所述特征图的绝对值,得到第一目标统计矩阵,并计算所述每个卷积层中各个通道的通道方向上的所述特征图在缺少目标通道的情况下的绝对值,得到第二目标统计矩阵,其中,所述目标通道为所述通道方向对应的通道;
对所述第一目标统计矩阵和所述第二目标统计矩阵进行二范数归一化后作差,得到所述各个通道对应的所述剪枝指标。
3.根据权利要求1所述的联邦学习模型剪枝方法,其特征在于,所述确定所述目标学习分支的压缩率,并依据所述压缩率和所述每个卷积层对应的所述剪枝指标顺序得到所述目标学习分支的通道掩码数据的步骤包括:
依据所述压缩率和所述每个卷积层对应的所述剪枝指标顺序对所述每个卷积层中的通道进行筛选,得到筛选结果,其中,所述压缩率用于确定筛选后的所述通道的数量;
依据所述筛选结果和所述剪枝指标顺序,得到所述通道掩码数据。
4.根据权利要求3所述的联邦学习模型剪枝方法,其特征在于,所述依据所述压缩率和所述每个卷积层对应的所述剪枝指标顺序对所述每个卷积层中的通道进行筛选,得到筛选结果的步骤包括:
第一步,采用均匀剪枝策略和所述压缩率生成初始解,并将所述初始解作为当前解,以及确定初始衰减步长,并将所述初始衰减步长作为当前衰减步长,其中,所述初始解中包括在采用均匀剪枝策略下所述每个卷积层中保留的通道数量;
第二步,依据所述当前解和所述剪枝指标顺序,确定所述每个卷积层中的各个通道对应的通道掩码值,其中,所述每个卷积层中的各个通道对应的通道掩码值为第一掩码数据;
第三步,将所述第一掩码数据和第二训练数据集输入到所述目标学习分支中,并计算所述目标学习分支的第一损失值,其中,所述第二训练数据集是在本地存储的数据集中随机选择得到的数据集;
第四步,依据所述当前解和所述衰减步长,确定局部邻域解;
第五步,依据所述局部邻域解和所述剪枝指标排序得到第二掩码数据,并将所述第二训练数据集和所述第二掩码数据输入到所述目标学习分支中,并计算所述目标学习分支的第二损失值,其中,每个所述局部邻域解均对应一个第二掩码数据;
第六步,在存在所述第二损失值小于所述第一损失值的情况下,确定目标邻域解,并将所述目标邻域解作为所述当前解,跳转到第二步,其中,所述目标邻域解为对应的所述第二损失值最小的所述局部邻域解;
第七步,令所述当前衰减步长等于所述当前衰减步长减一,并在所述当前衰减步长为零的情况下,确定所述当前解为所述筛选结果;在所述当前衰减步长不为零的情况下,跳转到第四步。
5.根据权利要求4所述的联邦学习模型剪枝方法,其特征在于,所述通道掩码值包括第一通道掩码值和第二通道掩码值,其中,所述通道掩码值为所述第一通道掩码值的所述通道的权值被通道选择器保留,所述通道掩码值为所述第二通道掩码值的所述通道的权值被所述通道选择器设置为零;所述依据所述当前解和所述剪枝指标顺序,确定所述每个卷积层中的各个通道对应的通道掩码值的步骤包括:
按照所述剪枝指标顺序,确定所述每个卷积层中各个通道的通道排列顺序,其中,所述通道的剪切指标越大,所述通道在所述通道排列顺序中的序号越小;
依据所述各个通道在所述通道排列顺序中的序号和所述当前解中的通道数量,确定所述各个通道对应的所述通道掩码值,其中,所述序号小于所述通道数量的通道对应的所述通道掩码值为所述第一通道掩码值,所述序号不小于所述通道数量的通道对应的所述通道掩码值为所述第二通道掩码值。
6.根据权利要求4所述的联邦学习模型剪枝方法,其特征在于,所述依据所述当前解和所述衰减步长,确定局部邻域解的步骤包括:
依据所述当前解和所述衰减步长,确定第一目标卷积层和第二目标卷积层,其中,所述第一目标卷积层在所述当前解中对应的权值不为零的通道数量加上所述衰减步长小于所述第一目标卷积层中的全部通道的通道数量,所述第二目标卷积层在所述当前解中对应的权值不为零的通道数量大于所述衰减步长;
依据所述第一目标卷积层和所述第二目标卷积层,确定所述局部邻域解。
7.根据权利要求1所述的联邦学习模型剪枝方法,其特征在于,在所述依据所述通道掩码数据,对所述目标学习分支的第一模型参数进行通道掩码运算,得到第二模型参数的步骤之后,所述联邦学习模型剪枝方法还包括:
获取所述中央聚合器发送的第三模型参数,将所述第三模型参数作为所述目标学习分支的模型参数,其中,所述第三模型参数为所述中央聚合器依据各个所述学习分支模型发送的所述第二模型参数进行加权求和计算后得到的模型参数。
8.一种联邦学习模型剪枝装置,适用于计算机终端,其特征在于,包括:
排序模块,用于确定目标学习分支中的每个卷积层中各个通道对应的剪枝指标,并依据所述各个通道对应的剪枝指标确定所述每个卷积层对应的剪枝指标顺序,其中,所述目标学习分支为所述联邦学习模型中的任意一个学习分支模型,并且所述目标学习分支通过本地存储的数据集进行训练,所述剪枝指标用于表示所述各个通道在所述每个卷积层中的重要程度;
处理模块,用于确定所述目标学习分支的压缩率,并依据所述压缩率和所述每个卷积层对应的所述剪枝指标顺序确定所述目标学习分支的通道掩码数据,其中,所述压缩率用于确定所述每个卷积层中选择的通道数量;
计算模块,用于依据所述通道掩码数据,对所述目标学习分支的第一模型参数进行通道掩码运算,得到第二模型参数,其中,所述第二模型参数为剪枝后的所述目标学习分支的模型参数;
所述联邦学习模型剪枝装置还用于压缩并发送所述第二模型参数至所述联邦学习模型的中央聚合器。
9.一种非易失性存储介质,其特征在于,所述非易失性存储介质中存储有程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至7中任意一项所述的联邦学习模型剪枝方法。
10.一种电子设备,其特征在于,包括:存储器和处理器,所述处理器用于运行存储在所述存储器中的程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的联邦学习模型剪枝方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310233862.8A CN116306884B (zh) | 2023-03-03 | 2023-03-03 | 联邦学习模型剪枝方法、装置及非易失性存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310233862.8A CN116306884B (zh) | 2023-03-03 | 2023-03-03 | 联邦学习模型剪枝方法、装置及非易失性存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116306884A CN116306884A (zh) | 2023-06-23 |
CN116306884B true CN116306884B (zh) | 2024-02-06 |
Family
ID=86790048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310233862.8A Active CN116306884B (zh) | 2023-03-03 | 2023-03-03 | 联邦学习模型剪枝方法、装置及非易失性存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116306884B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111738401A (zh) * | 2019-03-25 | 2020-10-02 | 北京三星通信技术研究有限公司 | 模型优化方法、分组压缩方法、相应的装置、设备 |
CN112396179A (zh) * | 2020-11-20 | 2021-02-23 | 浙江工业大学 | 一种基于通道梯度剪枝的柔性深度学习网络模型压缩方法 |
CN114444676A (zh) * | 2020-11-04 | 2022-05-06 | 顺丰科技有限公司 | 模型通道剪枝方法、装置、计算机设备和存储介质 |
CN114492831A (zh) * | 2021-12-23 | 2022-05-13 | 北京百度网讯科技有限公司 | 联邦学习模型的生成方法及其装置 |
CN114492837A (zh) * | 2022-01-18 | 2022-05-13 | 京东科技信息技术有限公司 | 联邦模型训练方法及装置 |
CN114611705A (zh) * | 2020-11-23 | 2022-06-10 | 华为技术有限公司 | 数据处理方法、机器学习的训练方法及相关装置、设备 |
WO2022126706A1 (zh) * | 2020-12-19 | 2022-06-23 | 中国科学院深圳先进技术研究院 | 一种个性化联邦学习加速方法、装置 |
CN115564062A (zh) * | 2022-09-26 | 2023-01-03 | 南京理工大学 | 一种基于模型剪枝和传输压缩优化的联邦学习系统及方法 |
WO2023005085A1 (zh) * | 2021-07-29 | 2023-02-02 | 浪潮电子信息产业股份有限公司 | 一种神经网络的剪枝方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210383197A1 (en) * | 2020-06-04 | 2021-12-09 | EMC IP Holding Company LLC | Adaptive stochastic learning state compression for federated learning in infrastructure domains |
US11842260B2 (en) * | 2020-09-25 | 2023-12-12 | International Business Machines Corporation | Incremental and decentralized model pruning in federated machine learning |
-
2023
- 2023-03-03 CN CN202310233862.8A patent/CN116306884B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111738401A (zh) * | 2019-03-25 | 2020-10-02 | 北京三星通信技术研究有限公司 | 模型优化方法、分组压缩方法、相应的装置、设备 |
CN114444676A (zh) * | 2020-11-04 | 2022-05-06 | 顺丰科技有限公司 | 模型通道剪枝方法、装置、计算机设备和存储介质 |
CN112396179A (zh) * | 2020-11-20 | 2021-02-23 | 浙江工业大学 | 一种基于通道梯度剪枝的柔性深度学习网络模型压缩方法 |
CN114611705A (zh) * | 2020-11-23 | 2022-06-10 | 华为技术有限公司 | 数据处理方法、机器学习的训练方法及相关装置、设备 |
WO2022126706A1 (zh) * | 2020-12-19 | 2022-06-23 | 中国科学院深圳先进技术研究院 | 一种个性化联邦学习加速方法、装置 |
WO2023005085A1 (zh) * | 2021-07-29 | 2023-02-02 | 浪潮电子信息产业股份有限公司 | 一种神经网络的剪枝方法、装置、设备及存储介质 |
CN114492831A (zh) * | 2021-12-23 | 2022-05-13 | 北京百度网讯科技有限公司 | 联邦学习模型的生成方法及其装置 |
CN114492837A (zh) * | 2022-01-18 | 2022-05-13 | 京东科技信息技术有限公司 | 联邦模型训练方法及装置 |
CN115564062A (zh) * | 2022-09-26 | 2023-01-03 | 南京理工大学 | 一种基于模型剪枝和传输压缩优化的联邦学习系统及方法 |
Non-Patent Citations (1)
Title |
---|
一种用于卷积神经网络压缩的混合剪枝方法;靳丽蕾;杨文柱;王思乐;崔振超;陈向阳;陈丽萍;;小型微型计算机系统(第12期);38-43 * |
Also Published As
Publication number | Publication date |
---|---|
CN116306884A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109754105B (zh) | 一种预测方法及终端、服务器 | |
EP3822880A1 (en) | Load prediction method and apparatus based on neural network | |
US20240330708A1 (en) | Model training method and face recognition method based on adaptive split learning-federated learning | |
Akgündüz et al. | An adaptive genetic algorithm approach for the mixed-model assembly line sequencing problem | |
EP4350572A1 (en) | Method, apparatus and system for generating neural network model, devices, medium and program product | |
CN113361680A (zh) | 一种神经网络架构搜索方法、装置、设备及介质 | |
CN114648267B (zh) | 一种自动化立体仓库调度路径的优化方法及系统 | |
CN104937544A (zh) | 计算回归模型 | |
CN109788489A (zh) | 一种基站规划方法及装置 | |
CN113408797A (zh) | 流转量预测多时序模型生成方法、信息发送方法和装置 | |
Bi et al. | A preference-based multi-objective algorithm for optimal service composition selection in cloud manufacturing | |
CN109754359A (zh) | 一种应用于卷积神经网络的池化处理的方法及系统 | |
CN108009437A (zh) | 数据发布方法和装置及终端 | |
CN108106624A (zh) | 一种多人预约调度路径规划方法及相关装置 | |
CN111008873B (zh) | 一种用户确定方法、装置、电子设备及存储介质 | |
CN114492849A (zh) | 一种基于联邦学习的模型更新方法及装置 | |
CN117076523B (zh) | 一种用于本地的数据时序存储方法 | |
CN116306884B (zh) | 联邦学习模型剪枝方法、装置及非易失性存储介质 | |
CN118095410A (zh) | 神经网络架构搜索的联邦学习参数高效微调方法及装置 | |
CN111814044A (zh) | 一种推荐方法、装置、终端设备及存储介质 | |
CN116224126A (zh) | 一种电动汽车锂离子电池健康状态估计方法及系统 | |
EP4276714A1 (en) | Operations research optimization method and apparatus, and computing device | |
CN112507676B (zh) | 能源报表生成方法、装置、电子设备和计算机可读介质 | |
CN114611015A (zh) | 交互信息处理方法、装置和云服务器 | |
CN114723976A (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 |