CN112818207A - 网络结构搜索方法、装置、设备、存储介质及程序产品 - Google Patents
网络结构搜索方法、装置、设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN112818207A CN112818207A CN202110215895.0A CN202110215895A CN112818207A CN 112818207 A CN112818207 A CN 112818207A CN 202110215895 A CN202110215895 A CN 202110215895A CN 112818207 A CN112818207 A CN 112818207A
- Authority
- CN
- China
- Prior art keywords
- network
- searched
- participant
- target
- parameters
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000012549 training Methods 0.000 claims abstract description 75
- 230000004927 fusion Effects 0.000 claims abstract description 25
- 238000013145 classification model Methods 0.000 claims description 35
- 238000004364 calculation method Methods 0.000 claims description 27
- 238000004891 communication Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012935 Averaging Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 15
- 238000007792 addition Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010801 machine learning 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种网络结构搜索方法、装置、设备、存储介质及程序产品,所述方法包括从所述待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络;将所述部分网络发送给所述目标参与方,以供所述目标参与方对所述部分网络进行本地训练得到本地参数更新信息并返回;对从各参与方接收到的本地参数更新信息进行全局融合得到全局参数更新信息,根据所述全局参数更新信息对所述待搜索网络中的参数进行更新,其中,所述参数包括模型参数和/或结构参数。本发明实现了计算资源较少的参与方也可以参与大型模型的横向联邦学习,从而能够获得预测准确率更高的模型。
Description
技术领域
本发明涉及联邦学习技术领域,尤其涉及一种网络结构搜索方法、装置、设备、存储介质及程序产品。
背景技术
随着人工智能的发展,人们为解决数据孤岛的问题,提出了“联邦学习”的概念,使得联邦双方在不用给出己方数据的情况下,也可进行模型训练得到模型参数,并且可以避免数据隐私泄露的问题。横向联邦学习,也称为特征对齐的联邦学习(feature-alignedfederated learning),目标是利用各方有限的数据,在保障数据安全的前提下,共同训练一个全局模型,各方持有的模型与全局模型相同。
目前,对于很多机器学习任务,模型越大往往性能越好,比如对于卷积神经网络(CNN),越深越宽的模型,经过充分训练后,准确率越高,模型越大在训练过程中需要消耗的计算资源也越大。
然而,在横向联邦场景下,各个参与方的本地计算资源是不同的,若有参与方的计算资源少,则各方只能进行小型模型的训练,从而限制了联邦学习训练得到的全局模型的性能。因此,如何能够在部分参与方计算资源少而不能进行大模型训练的情况下,共同训练一个全局大模型,是一个亟待解决的问题。
发明内容
本发明的主要目的在于提供一种网络结构搜索方法、装置、设备、存储介质及程序产品,旨在解决如何能够在部分参与方计算资源少而不能进行大模型训练的情况下,共同训练一个全局大模型的问题。
为实现上述目的,本发明提供一种网络结构搜索方法所述方法应用于应用于参与横向联邦学习的协调方,所述协调方与参与横向联邦学习的各参与方通信连接,所述协调方部署有待搜索网络,所述方法包括以下步骤:
从所述待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络;
将所述部分网络发送给所述目标参与方,以供所述目标参与方对所述部分网络进行本地训练得到本地参数更新信息并返回;
对从各参与方接收到的本地参数更新信息进行全局融合得到全局参数更新信息,根据所述全局参数更新信息对所述待搜索网络中的参数进行更新,其中,所述参数包括模型参数和/或结构参数。
可选地,所述从所述待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络的步骤包括:
根据目标参与方的计算资源信息计算得到所述目标参与方可容纳模型大小占所述待搜索网络的模型大小的目标比例;
根据所述目标比例从所述待搜索网络中随机选取出部分网络,其中,所述部分网络的模型大小占所述待搜索网络的模型大小的比例小于或等于所述目标比例。
可选地,所述根据所述目标比例从所述待搜索网络中随机选取出部分网络的步骤包括:
对于所述待搜索网络中的各节点,根据所述目标比例确定所述节点对应的保留边数,其中,所述保留边数占所述节点在所述待搜索网络中的全部后接边边数的比例小于或等于所述目标比例;
从所述节点在所述待搜索网络中的全部后接边中随机选取保留后接边,其中,所述保留后接边的边数为所述保留边数;
将所述待搜索网络中由各所述节点对应的所述保留后接边所连接的部分作为部分网络。
可选地,所述根据所述目标比例从所述待搜索网络中随机选取出部分网络的步骤包括:
对于所述待搜索网络中的各个网络模块,从所述网络模块中节点连接边上的各并列操作中随机选取保留操作,得到由所述保留操作所连接的保留模块,其中,所述保留模块的操作计算量占所述网络模块的操作计算量的比例小于或等于所述目标比例;
将各所述保留模块组成的网络作为部分网络。
可选地,所述对从各参与方接收到的所述本地参数更新信息进行全局融合得到全局参数更新信息的步骤包括:
从各参与方发送的所述本地参数更新信息中获取所述待搜索网络中参数对应的信息组,其中,所述信息组包括各参与方中部分参与方发送的本地参数更新值,所述部分参与方为被分发的部分网络中包括所述参数的参与方;
对所述信息组中的本地参数更新值进行平均得到所述参数对应的全局参数更新值;
将所述待搜索网络中各参数对应的所述全局参数更新值作为全局参数更新信息。
为实现上述目的,本发明提供一种图像分类方法,所述方法应用于参与横向联邦学习的协调方,所述协调方与参与横向联邦学习的各参与方通信连接,所述协调方部署有待搜索网络,所述方法包括:
联合各所述参与方对所述待搜索网络进行多轮网络结构搜索得到目标图像分类模型,其中,在各轮网络结构搜索中所述协调方从所述待搜索网络中选取与所述参与方的计算资源大小相匹配的部分网络分发给所述参与方,以供所述参与方对所述部分网络进行本地训练;
采用所述目标图像分类模型对待分类图像数据进行分类处理,得到所述待分类图像数据的分类结果。
可选地,所述联合各所述参与方对所述待搜索网络进行多轮网络结构搜索得到目标图像分类模型,其中,在各轮网络结构搜索中所述协调方从所述待搜索网络中选取与所述参与方的计算资源大小相匹配的部分网络分发给所述参与方,以供所述参与方对所述部分网络进行本地训练的步骤包括:
从所述待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络;
将所述部分网络发送给所述目标参与方,以供所述目标参与方对所述部分网络进行本地训练得到本地参数更新信息并返回;
对从各参与方接收到的本地参数更新信息进行全局融合得到全局参数更新信息,根据所述全局参数更新信息对所述待搜索网络中的参数进行更新,其中,所述参数包括模型参数和/或结构参数;
检测更新参数后的待搜索网络是否满足预设网络条件;
若满足,则基于更新参数后的待搜索网络确定目标图像分类模型;
若不满足,则返回所述从所述待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络的步骤。
为实现上述目的,本发明提供一种网络结构搜索装置,所述装置部署于参与横向联邦学习的协调方,所述协调方与参与横向联邦学习的各参与方通信连接,所述协调方部署有待搜索网络,所述装置包括:
选取模块,用于从所述待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络;
发送模块,用于将所述部分网络发送给所述目标参与方,以供所述目标参与方对所述部分网络进行本地训练得到本地参数更新信息并返回;
融合模块,用于对从各参与方接收到的本地参数更新信息进行全局融合得到全局参数更新信息,根据所述全局参数更新信息对所述待搜索网络中的参数进行更新,其中,所述参数包括模型参数和/或结构参数。
为实现上述目的,本发明提供一种图像分类装置,所述装置部署于参与横向联邦学习的协调方,所述协调方与参与横向联邦学习的各参与方通信连接,所述协调方部署有待搜索网络,所述装置包括:
搜索模块,用于联合各所述参与方对所述待搜索网络进行多轮网络结构搜索得到目标图像分类模型,其中,在各轮网络结构搜索中所述协调方从所述待搜索网络中选取与所述参与方的计算资源大小相匹配的部分网络分发给所述参与方,以供所述参与方对所述部分网络进行本地训练;
分类模块,用于采用所述目标图像分类模型对待分类图像数据进行分类处理,得到所述待分类图像数据的分类结果。
为实现上述目的,本发明还提供一种网络结构搜索设备,所述网络结构搜索设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的网络结构搜索程序,所述网络结构搜索程序被所述处理器执行时实现如上所述的网络结构搜索方法的步骤。
为实现上述目的,本发明还提供一种图像分类设备,所述图像分类设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的图像分类程序,所述图像分类程序被所述处理器执行时实现如上所述的图像分类方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有网络结构搜索程序,所述网络结构搜索程序被处理器执行时实现如上所述的网络结构搜索方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有图像分类程序,所述图像分类程序被处理器执行时实现如上所述的图像分类方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的网络结构搜索方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的图像分类方法的步骤。
现有横向联邦学习过程中在各个参与方本地部署相同的全局模型,部分参与方的计算资源较少时各参与方只能联合训练小型的全局模型。相比于现有方案,在本发明中,通过在协调方设置待搜索网络,利用搜索网络的结构可变的特点,由协调方从待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络发送给目标参与方进行本地训练,也即,计算资源较少的参与方则发送待搜索网络中的小部分网络,计算资源较多的参与方则发送待搜索网络中的大部分或全部网络,并由协调方将各参与方本地训练得到的本地参数更新信息进行融合得到全局参数更新信息,再根据全局参数更新信息对待搜索网络的参数进行更新,使得在横向联邦学习过程中,参与方无论计算资源是多还是少都可以参与训练,并且协调方设置的待搜索网络的大小也没有限制,从而实现了计算资源较少的参与方也可以参与大型模型的横向联邦学习,从而能够获得预测准确率更高的模型。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的结构示意图;
图2为本发明网络结构搜索方法第一实施例的流程示意图;
图3为本发明实施例涉及的一种横向联邦学习框架示意图;
图4为本发明实施例涉及的一种协调方与参与方进行横向联邦学习的交互示意图;
图5为本发明实施例涉及的一种协调方和参与方的硬件设备结构示意图;
图6为本发明实施例涉及的一种待搜索网络的结构示意图;
图7为本发明实施例涉及的一种待搜索网络中网络模块的结构示意图;
图8为本发明实施例涉及的一种节点之间的连接操作示意图;
图9为本发明网络结构搜索装置较佳实施例的功能示意图模块图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
需要说明的是,本发明实施例网络结构搜索设备可以是智能手机、个人计算机和服务器等设备,在此不做具体限制,网络结构搜索设备可以是参与横向联邦学习的协调方,协调方部署有待搜索网络。
如图1所示,该网络结构搜索设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对网络结构搜索设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及网络结构搜索程序。其中,操作系统是管理和控制设备硬件和软件资源的程序,支持网络结构搜索程序以及其它软件或程序的运行。在图1所示的设备中,用户接口1003主要用于与客户端进行数据通信;网络接口1004主要用于与参与横向联邦学习的各参与方通信连接建立通信连接;处理器1001可以用于调用存储器1005中存储的网络结构搜索程序,并执行以下操作:
从所述待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络;
将所述部分网络发送给所述目标参与方,以供所述目标参与方对所述部分网络进行本地训练得到本地参数更新信息并返回;
对从各参与方接收到的本地参数更新信息进行全局融合得到全局参数更新信息,根据所述全局参数更新信息对所述待搜索网络中的参数进行更新,其中,所述参数包括模型参数和/或结构参数。
进一步地,所述从所述待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络的步骤包括:
根据目标参与方的计算资源信息计算得到所述目标参与方可容纳模型大小占所述待搜索网络的模型大小的目标比例;
根据所述目标比例从所述待搜索网络中随机选取出部分网络,其中,所述部分网络的模型大小占所述待搜索网络的模型大小的比例小于或等于所述目标比例。
进一步地所述根据所述目标比例从所述待搜索网络中随机选取出部分网络的步骤包括:
对于所述待搜索网络中的各节点,根据所述目标比例确定所述节点对应的保留边数,其中,所述保留边数占所述节点在所述待搜索网络中的全部后接边边数的比例小于或等于所述目标比例;
从所述节点在所述待搜索网络中的全部后接边中随机选取保留后接边,其中,所述保留后接边的边数为所述保留边数;
将所述待搜索网络中由各所述节点对应的所述保留后接边所连接的部分作为部分网络。
进一步地所述根据所述目标比例从所述待搜索网络中随机选取出部分网络的步骤包括:
对于所述待搜索网络中的各个网络模块,从所述网络模块中节点连接边上的各并列操作中随机选取保留操作,得到由所述保留操作所连接的保留模块,其中,所述保留模块的操作计算量占所述网络模块的操作计算量的比例小于或等于所述目标比例;
将各所述保留模块组成的网络作为部分网络。
进一步地所述对从各参与方接收到的所述本地参数更新信息进行全局融合得到全局参数更新信息的步骤包括:
从各参与方发送的所述本地参数更新信息中获取所述待搜索网络中参数对应的信息组,其中,所述信息组包括各参与方中部分参与方发送的本地参数更新值,所述部分参与方为被分发的部分网络中包括所述参数的参与方;
对所述信息组中的本地参数更新值进行平均得到所述参数对应的全局参数更新值;
将所述待搜索网络中各参数对应的所述全局参数更新值作为全局参数更新信息。
本发明实施例还提出一种图像分类设备,网络结构搜索设备可以是参与横向联邦学习的协调方,协调方与参与横向联邦学习的各参与方通信连接,协调方部署有待搜索网络。所述图像分类设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的图像分类程序,所述图像分类程序被所述处理器执行时实现如下步骤:
联合各所述参与方对所述待搜索网络进行多轮网络结构搜索得到目标图像分类模型,其中,在各轮网络结构搜索中所述协调方从所述待搜索网络中选取与所述参与方的计算资源大小相匹配的部分网络分发给所述参与方,以供所述参与方对所述部分网络进行本地训练;
采用所述目标图像分类模型对待分类图像数据进行分类处理,得到所述待分类图像数据的分类结果。
进一步地,所述联合各所述参与方对所述待搜索网络进行多轮网络结构搜索得到目标图像分类模型,其中,在各轮网络结构搜索中所述协调方从所述待搜索网络中选取与所述参与方的计算资源大小相匹配的部分网络分发给所述参与方,以供所述参与方对所述部分网络进行本地训练的步骤包括:
从所述待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络;
将所述部分网络发送给所述目标参与方,以供所述目标参与方对所述部分网络进行本地训练得到本地参数更新信息并返回;
对从各参与方接收到的本地参数更新信息进行全局融合得到全局参数更新信息,根据所述全局参数更新信息对所述待搜索网络中的参数进行更新,其中,所述参数包括模型参数和/或结构参数;
检测更新参数后的待搜索网络是否满足预设网络条件;
若满足,则基于更新参数后的待搜索网络确定目标图像分类模型;
若不满足,则返回所述从所述待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络的步骤。
基于上述的结构,提出网络结构搜索方法的各实施例。
参照图2,图2为本发明网络结构搜索方法第一实施例的流程示意图。需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本发明网络结构搜索方法应用于参与横向联邦学习的协调方,所述协调方与参与横向联邦学习的各参与方通信连接,所述协调方部署有待搜索网络,参与方和协调方可以是智能手机、个人计算机和服务器等设备。在本实施例中,网络结构搜索方法包括:
步骤S10,从所述待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络;
在本实施例中,在协调方部署一个搜索网络作为全局模型,搜索网络中各个参数是初始化设置的,需要经过多轮网络结构搜索来更新,故在各实施例中也将搜索网络称为待搜索网络。
其中,搜索网络是指用于进行网络结构搜索(NAS)的网络,预先可根据DARTS(Differentiable Architecture Search,可微结构搜索)方法设计。搜索网络中设置了多个节点,在各节点之间设置连接边,或在连接边上的多个操作,例如卷积操作、池化操作等。多个连接边可以设置为一组可选连接边,也即为每个连接边设置一个结构参数,各个连接边的结构参数的和为1,通过网络结构搜索过程,对连接边的结构参数进行不断更新,最终网络结构搜索结束后,可根据连接边的结构参数的大小,来选取保留哪些连接边,从而得到最优的网络结构。一个连接边上的多个操作也可以是一组可选操作,也即,为每个操作设置一个结构参数,各个操作的结构参数的和为1,通过网络结构搜索过程,对各个操作的结构参数进行不断更新,最终网络结构搜索结束后,可根据各操作的结构参数的大小,来选取保留哪些操作,从而得到最优的网络结构。也即,搜索网络中的参数包括各个操作中的模型参数外,还包括连接边或操作对应的结构参数。也即,可以简单地理解为搜索网络中在输入层到输出层的中间设置了多条连接路径,每条路径都有对应的结构参数,通过自动化的训练过程,使得各个结构参数逐渐能够体现出各条路径对模型性能的作用大小,最后通过结构参数即可选择对模型性能作用大的路径进行保留,得到最合适的网络结构,从而完成网络结构搜索的过程。
协调方与各个参与方联合对待搜索网络进行多轮网络结构搜索,也即对待搜索网络中的结构参数和模型参数进行多轮更新。根据协调方采用的网络结构搜索方法不同,协调方可以预先设置各轮网络结构搜索时需要更新的参数的类型,也即,各轮网络结构搜索时所更新的参数可以是结构参数和/或模型参数。在本实施例中,对网络结构搜索方法并不限制,故并不限制更新结构参数和模型参数的顺序。例如,可以在前几轮网络结构搜索时对结构参数进行更新,后几轮网络结构搜索时对模型参数进行更新。又如,可以每一轮网络结构搜索时都是对结构参数和模型参数一起更新。
在一轮网络结构搜索过程中,协调方从待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络发送给目标参与方。其中,协调方可将部分参与方作为目标参与方,也即,当各个参与方中的部分参与方计算资源足够训练整个待搜索网络时,协调方可以在各轮网络结构搜索过程中,将整个待搜索网络发送给这部分参与方,而不是只发送待搜索网络的一部分,故协调方只将计算资源不足够训练整个待搜索网络的部分参与方作为目标参与方。或者,协调方也可将全部参与方都作为目标参与方,其中,对于计算资源足够训练整个待搜索网络的参与方,待搜索网络中与该参与方的计算资源匹配的部分网络就是待搜索网络本身,故协调方将待搜索网络整个作为部分网络发送给该参与方,也即,部分网络可以理解为是小于或等于待搜索网络的。
具体地,协调方获取与目标参与方的计算资源大小相匹配的部分网络的方式有多种,在本实施例中并不做限制。例如,从待搜索网络中的各组可选连接边中选取部分连接边保留,或从各组可选操作中选取部分操作保留,并计算训练保留下的网络所需的内存大小,若小于目标参与方的内存大小,则可将保留下的网络作为目标参与方的部分网络。需要说明的是,协调方选取部分网络时保证从待搜索网络的输入层到输出层,至少有一条连通的路径,也即中间不会出现断开连接的情况。
需要说明的是,协调方分别针对各个参与方选取部分网络,由于是分别独立选取的,选取得到的各个参与方的部分网络可能相同也可能不同;一个参与方在多轮网络结构搜索时被分发到的部分网络也是分别独立选取的,因此各个部分网络可能相同也可能不同。在一实施方式中,协调方可以采用随机选取的方式从待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络,以使得各个参与方在各轮网络结构搜索中获得的部分网络具有随机性,从而使得各个参与方都能够采用各自的本地训练数据集对待搜索网络的各个部分进行充分训练。
步骤S20,将所述部分网络发送给所述目标参与方,以供所述目标参与方对所述部分网络进行本地训练得到本地参数更新信息并返回;
协调方将针对目标参与方选取的部分网络发送给目标参与方。参与方在接收到部分网络之后,对部分网络进行本地训练,得到本地参数更新信息。
具体地,各个参与方中预先可以设置用于对待搜索网络进行网络结构搜索的训练数据集,训练数据集中可包括多条训练数据,训练数据集中的每条训练数据可分别对应一个标签数据;根据模型训练任务不同,训练数据和标签数据不同;例如,当模型训练任务是对图像进行分类时,训练数据是图像数据,对应的标签数据是该图像数据的真实类型;当模型训练任务是对文本进行分类时,训练数据是文本数据,对应的标签数据是该文本数据的真实类型。可以理解的是,各个参与方的训练数据集的样本维度是不相同的。
参与方对接收到的部分网络进行本地训练的具体过程可以是:参与方先将训练数据集输入到部分网络进行处理得到网络输出;再根据训练数据集对应的标签数据和网络输出计算损失函数;根据损失函数计算得到本地参数更新信息;本地参数更新信息可以是损失函数相对于部分网络中参数的梯度值,也可以是更新后部分网络中的参数;其中,参数是指本轮网络结构搜索时需要更新的参数,可以是结构参数和/或模型参数。
需要说明的是,参与方可在各轮网络结构搜索中采用不同的数据集。具体地,参与方可将本端数据集划分为多个小的训练集(也可称为数据批),每轮采用一个小数据集参与联合更新模型参数和/或结构参数,或者,参与方也可以是每轮联合参数更新前,从总的数据集中进行有放回的采样一批数据来参与该轮的联合参数更新。
各个参与方将各自本地训练得到的本地参数更新信息发送给协调方。
步骤S30,对从各参与方接收到的本地参数更新信息进行全局融合得到全局参数更新信息,根据所述全局参数更新信息对所述待搜索网络中的参数进行更新,其中,所述参数包括模型参数和/或结构参数。
协调方接收各个参与方发送的本地参数更新信息。协调方对各本地参数更新信息进行全局融合,得到全局参数更新信息。具体地,全局融合可以是对各个本地参数更新信息进行平均或加权平均。可以理解的是,部分网络是待搜索网络的一部分,所以部分网络中的参数也是待搜索网络中参数的一部分,因此,参与方发送的本地参数更新信息是待搜索网络中部分参数的本地参数更新信息。协调方对于待搜索网络中的各个参数,将各本地参数更新信息中该参数对应的本地参数更新值进行全局融合,即得到该参数对应的全局参数更新值,将各个参数对应的全局参数更新值作为全局参数更新信息。
协调方根据全局参数更新信息对待搜索网络中的参数进行更新。具体地,当全局参数更新信息是各个参数的参数值时,将待搜索网络中各个参数的值对应更新为全局参数更新信息中的参数值。当全局参数更新信息是各个参数的梯度值时,根据各个梯度值对应计算得到待搜索网络中各个参数更新后的参数值,具体计算方法可参照梯度下降算法,在本实施例中不进行详细赘述。其中,参数包括模型参数和/或结构参数;具体地,若本轮网络结构参数需要更新的参数类型是模型参数,则各参与方发送是模型参数对应的本地参数更新信息,协调方融合得到的也是模型参数对应的全局参数更新信息,根据全局参数更新信息更新的是待搜索网络中的模型参数;若本轮网络结构参数需要更新的参数类型是结构参数,则各参与方发送是结构参数对应的本地参数更新信息,协调方融合得到的也是结构参数对应的全局参数更新信息,根据全局参数更新信息更新的是待搜索网络中的结构参数;若本轮网络结构参数需要更新的参数类型是结构参数和模型参数,则各参与方发送是模型参数和结构参数对应的本地参数更新信息,协调方融合得到的也是模型参数和结构参数对应的全局参数更新信息,根据全局参数更新信息更新的是待搜索网络中的模型参数和结构参数。
在一轮网络结构搜索后,协调方将更新参数后的待搜索网络作为下一轮网络结构搜索的基础,开始下一轮网络结构搜索。进一步地,协调方可以设置一个循环结束条件,当检测到满足结束条件时结束网络结构搜索。例如,结束条件可以设置为达到一个最大轮次。
进一步地,在对待搜索网络进行网络结构搜索结束后,协调方可以根据待搜索网络得到目标模型,或者将待搜索网络发送给各个参与方,以供各个参与方根据待搜索网络确定目标模型。具体地,协调方或参与方可以根据待搜索网络中的结构参数选取保留的连接边和/或操作,将保留下的连接边和操作所连接的网络作为目标网络,再将目标网络直接作为目标模型,或再采用训练数据对目标网络进行模型训练后得到目标模型。在一实施方式中,可以将一组可选连接边中结构参数最大的连接边保留,或将一组可选操作中结构参数最大的操作保留;在另一实施方式中,可以将一组可选连接边中结构参数大于一阈值的连接边保留,或将一组可选操作中结构参数大于一阈值的操作保留。
进一步地,在得到目标模型后,协调方或参与方可采用目标模型完成模型预测任务。例如,当模型预测任务是对图像进行分类时,训练数据集中的训练数据是图像,根据训练数据集训练得到的目标模型可以用于对新的图像进行图像分类得到分类结果。
现有横向联邦学习过程中在各个参与方本地部署相同的全局模型,部分参与方的计算资源较少时各参与方只能联合训练小型的全局模型。相比于现有方案,在本实施例中,通过在协调方设置待搜索网络,利用搜索网络的结构可变的特点,由协调方从待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络发送给目标参与方进行本地训练,也即,计算资源较少的参与方则发送待搜索网络中的小部分网络,计算资源较多的参与方则发送待搜索网络中的大部分或全部网络,并由协调方将各参与方本地训练得到的本地参数更新信息进行融合得到全局参数更新信息,再根据全局参数更新信息对待搜索网络的参数进行更新,使得在横向联邦学习过程中,参与方无论计算资源是多还是少都可以参与训练,并且协调方设置的待搜索网络的大小也没有限制,从而实现了计算资源较少的参与方也可以参与大型模型的横向联邦学习,从而能够获得预测准确率更高的模型。
在一实施方式中,如图3所示,协调方Server设置待搜索网络作为全局模型,采用α表示结构参数,w表示模型参数,(αG,wG)表示待搜索网络,A1、…、AN为N个参与方。在一轮网络结构搜索过程中,协调方从(αG,wG)中选取与参与方A的计算资源大小相匹配的部分网络(αi,wi)发送给参与方A(对应图3中的③),(αi,wi)是(αG,wG)的子集,也即(αi,wi)∈(αG,wG);参与方对部分网络进行本地训练,返回本地参数更新信息给协调方(对应图3中的①),协调方对各个参与方返回的本地参数更新信息进行融合得到全局参数更新信息,并根据全局参数更新信息对(αG,wG)中的α和/或w进行更新(对应图3中的②)。
在一实施方式中,如图4所示,为协调方与参与方联合进行多轮网络结构搜索的交互示意图,第t轮:协调方从待搜索网络中选取部分网络i.t发送给参与方Ai,其中,i是参与方的序号,t是轮次;各参与方对接收到的部分网络进行本地训练返回本地参数更新信息;协调方对各个本地参数更新信息进行融合得到全局参数更新信息,根据全局参数更新信息对待搜索网络的参数进行更新,以实现对待搜索网络的一轮更新。
在一实施方式中,如图5所示,为协调方与参与方联合进行网络结构搜索的硬件设备结构示意图。协调方和参与方可以是不同的硬件设备,协调方与参与方通过互联网网络进行输出传输。
进一步地,基于上述第一实施例,提出本发明网络结构搜索方法第二实施例,在本实施例中,所述步骤S10包括:
步骤S101,根据目标参与方的计算资源信息计算得到所述目标参与方可容纳模型大小占所述待搜索网络的模型大小的目标比例;
在本实施例中,协调方可以获取各参与方的计算资源信息,根据目标参与方的计算资源信息计算得到目标参与方可容纳模型大小占待搜索网络的模型大小的比例(以下称为目标比例以示区分)。其中,计算资源信息可以是参与方的内存大小,那么协调方可以计算训练待搜索网络所需要的内存大小,将目标参与方的内存大小除以训练待搜索网络所需要的内存大小得到目标比例;或者,计算资源信息可以是参与方的内存能够执行的加法或乘法的次数,协调方统计训练待搜索网络所需要执行的加法或乘法的次数,将目标参与方的内存能够执行的加法或乘法的次数除以训练待搜索网络所需要执行的加法或乘法的次数得到目标比例;或者,计算资源信息可以是参与方的内存所能够执行的模型中操作的数量,例如卷积核大小,协调方可以统计待搜索网络中操作数量,将目标参与方的内存所能够执行的模型中操作的数量除以待搜索网络中操作数量得到目标比例。
步骤S102,根据所述目标比例从所述待搜索网络中随机选取出部分网络,其中,所述部分网络的模型大小占所述待搜索网络的模型大小的比例小于或等于所述目标比例。
协调方在计算得到目标参与方对应的目标比例后,可根据目标比例从待搜索网络中随机选取出部分网络,使得该部分网络的模型大小占待搜索网络的模型大小的比例小于或等于该目标比例。具体地,协调方根据目标比例进行随机选取部分网络的方式有多种,例如,协调方可以随机地保留待搜索网络中的部分连接边和/或操作,并计算保留下来的连接边和操作所连接的网络的模型大小,检测该模型大小占待搜索网络的模型大小的比例是否小于或等于该目标比例,若不是,则协调方在保留下的网络中再次随机选取部分连接边和/或操作进行保留,再进行检测,如此迭代循环,直到检测到保留下的网络的模型大小占待搜索网络模型大小的比例小于或等于该目标比例时,将保留下的网络作为要发送给目标参与方的部分网络。其中,模型大小可以采用训练模型所需的内存大小、训练模型所需要执行的加法和乘法的数量、模型中操作的数量或训练模型所需的时长来表示。
进一步地,在一实施方式中,所述步骤S102包括:
步骤S1021,对于所述待搜索网络中的各节点,根据所述目标比例确定所述节点对应的保留边数,其中,所述保留边数占所述节点在所述待搜索网络中的全部后接边边数的比例小于或等于所述目标比例;
待搜索网络中包括多个顺次连接的网络模块,每个网络模块设置一个输入节点和一个输出节点,输入节点和输出节点之间设置多个中间节点,对除输出节点外的节点,可以设置多条连接边(或称后接边)分别连接后面的节点,也即,对于输出节点外的节点,每个节点可以对应至少一条后接边。如图6所示,为一种待搜索网络的结构示意图,block1~block4是四个网络模块,w1、α1、…、w4、α4为四个网络模块分别对应的模型参数和结构参数,blockc是输出层,w1,c是输出层的模型参数。图7为图6中网络模块的结构示意图,网络模块中包括输入节点和输出节点,以及输入节点和输出节点之间的三个中间节点,并设置了给个节点之间的连接边,每条连接边设置了对应的结构参数。需要说明的是,本实施例中的待搜索网络的结构不限于图4和图5中所示的结构。
协调方对于待搜索网络中的各个节点,可以根据目标比例确定该节点对应的保留边数,具体地,协调方可以将节点的全部后接边边数乘以目标比例,得到一个最大可保留边数,再选取一个小于或等一该最大可保留边数的边数作为该节点对应的保留边数。例如,一个节点与后面四个节点设置了连接边,也即该节点的全部后接连接边边数是4,目标比例是0.5,则计算得到最大可变留边数为2,则协调方可以选取1或2作为该节点的保留边数。需要说明的是,对于只有一个后接边的节点,则可以直接确定该节点的保留边数为1,也即,对于每一个节点,协调方都至少保留该节点以后面节点的一条连接边。
步骤S1022,从所述节点在所述待搜索网络中的全部后接边中随机选取保留后接边,其中,所述保留后接边的边数为所述保留边数;
协调方在确定各个节点对应的保留边数后,从节点在待搜索网络中的全部后接边中随机选取保留后接边,保留后接边的边数即为该节点对应的保留边数。例如,节点的全部后接边有4条,保留边数为2,则从4条后接边中随机选取2条作为保留后接边。
步骤S1023,将所述待搜索网络中由各所述节点对应的所述保留后接边所连接的部分作为部分网络。
协调方在对各个节点确定保留后接边后,将待搜索网络中由各节点对应的保留后接边所述连接的部分作为部分网络,也即,相当于是将待搜索网络中除保留后接边以外的其他连接边删除,余下的部分作为部分网络。
需要说明的是,由于各个节点的保留边数占其全部后接边边数的比例都小于或等于目标比例,使得最终保留下的整个部分网络的模型大小占待搜索网络模型大小的比例小于或等于目标比例,从而获得与目标参与方的计算资源大小相匹配的部分网络。
在本实施例中,通过协调方计算目标参与方可容纳模型大小占待搜索网络的模型大小的目标比例,并根据目标比例对各个节点的后接边进行部分保留以获得部分网络,使得协调方只需要对各节点的后接边按照一定数量进行随机选择,即可获得与目标参与方的计算资源大小相匹配的部分网络,从而提高了协调方从待搜索网络中确定部分网络的效率,从而提高了横向联邦学习的学习效率,节省协调方的计算资源。
进一步地,在一实施方式中,所述步骤S102包括:
步骤S1024,对于所述待搜索网络中的各个网络模块,从所述网络模块中节点连接边上的各并列操作中随机选取保留操作,得到由所述保留操作所连接的保留模块,其中,所述保留模块的操作计算量占所述网络模块的操作计算量的比例小于或等于所述目标比例;
待搜索网络中两节点之间的连接边上可以设置多个并列的操作,例如,如图8所示,为一种节点之间的连接操作示意图,该图中两个节点之间设置了4个并列的操作,分别是3*3卷积(conv)、7*7卷积、3*3池化(pool)和激活函数(identity)。协调方对于各个节点连接边,可以从该节点连接边上的各并列操作中随机选取保留操作。对于各个网络模块,协调方可以将该网络模块中由保留操作所连接的部分作为保留模块,也即相当于是将网络模块中除保操作以外的其他操作删除,余下的部分作为保留模块。协调方计算保留模块的操作计算量占该网络模块的操作计算量的比例,若该比例大于目标比例,则再对该保留模块中的各连接边上的操作进行随机选取部分保留,再计算保留模块的操作计算量占该网络模块的操作计算量的比例是否小于或等于目标比例,如此循环迭代,直到保留模块的操作计算量占该网络模块的操作计算量的比例小于或等于目标比例为止。其中,网络模块的操作计算量可以采用该网络模块中操作的数量、训练该网络模块所需执行的加法和乘法的次数或训练该网络模块所需的时长来表示。
需要说明的是,对于只设置了一个操作的连接边,可直接将该连接边上的该操作保留,也即,对于连接边,协调方都至少保留该连接边上的一个操作。
步骤S1025,将各所述保留模块组成的网络作为部分网络。
协调方在确定各个网络模块对应的保留模块后,协调方将各个保留模块所组成的网络作为部分网络。需要说明的是,由于保留模块的操作计算量占其对应的网络模块的操作计算量的比例都小于或等于目标比例,使得最终保留下的整个部分网络的模型大小占待搜索网络模型大小的比例小于或等于目标比例,从而获得与目标参与方的计算资源大小相匹配的部分网络。
在本实施例中,通过协调方计算目标参与方可容纳模型大小占待搜索网络的模型大小的目标比例,并根据目标比例从各个连接边上的并列操作随机选择保留操作,协调方只需要保证各个保留模块的操作计算量占其对应的网络模块的操作计算量的比例小于或等于该目标比例,即可获得与目标参与方的计算资源大小相匹配的部分网络,从而提高了协调方从待搜索网络中确定部分网络的效率,从而提高了横向联邦学习的学习效率,节省协调方的计算资源。
进一步地,基于上述第一和/或第二实施例,提出本发明网络结构搜索方法第三实施例,在本实施例中,所述步骤S30中对从各参与方接收到的所述本地参数更新信息进行全局融合得到全局参数更新信息的步骤包括:
步骤S301,从各参与方发送的所述本地参数更新信息中获取所述待搜索网络中参数对应的信息组,其中,所述信息组包括各参与方中部分参与方发送的本地参数更新值,所述部分参与方为被分发的部分网络中包括所述参数的参与方;
参与方对接收到的部分网络进行本地训练,得到本地参数更新信息,本地参数更新信息包括部分网络中各参数对应的本地参数更新值。由于协调方发送给参与方的部分网络是待搜索网络中的一部分,其中的参数也是待搜索网络中的一部分参数,所以发送的本地参数更新信息中也只包括待搜索网络中一部分参数所对应的本地参数更新值,那么协调方对待搜索网络中的各个参数,从被分发的部分网络中包括该参数的部分参与方发送的本地参数更新信息中获取该参数的本地参数更新值,得到该参数对应的信息组。
步骤S302,对所述信息组中的本地参数更新值进行平均得到所述参数对应的全局参数更新值;
协调方获取到各个参数对应的信息组后,对每个参数的信息组,将该信息组中的各个本地参数更新值进行平均,得到该参数对应的全局参数更新值。其中,对信息组中的各个本地参数更新值进行平均可以是直接进行平均,也可以是加权平均。若采用加权平均的融合方式,则本地参数更新值对应的权重值可以是发送该本地参数更新值的参与方的训练样本量占该信息组中全部本地参数更新值的发送方的总训练样本量的比例。其中,训练样本量即训练数据集中训练数据的条数。
在一实施方式中,各参与方可将各自的训练样本量发送给协调方,协调方根据各参与方的训练样本量在各轮网络结构搜索时动态计算各个本地参数更新值对应的权重,也即,每一轮网络结构搜索发送给各参与方的部分网络是不同的,所以每一轮网络结构搜索时参数的信息组中本地参数更新值的发送方是不同的,因此,协调方需要动态地计算权重。
步骤S303,将所述待搜索网络中各参数对应的所述全局参数更新值作为全局参数更新信息。
协调方在计算得到待搜索网络中各个参数对应的全局参数更新值后,将各个全局参数更新值作为全局参数更新信息,也即,采用各个全局参数更新值来更新各个参数。
在本实施例中,对各个参与方对各自的部分网络进行本地训练得到本地参数更新信息,协调方从各本地参数更新信息中获得待搜索网络中各个参数对应的信息组,再对信息组中的各本地参数更新值进行平均,得到各个参数对应的全局参数更新值,在根据全局参数更新值更新各个参数,使得在各个参与方本地仅对待搜索网络的部分网络进行训练时,也能够对各个参与方的本地参数更新信息进行全局融合,从而使得计算资源较少了参与方也能够通过仅训练部分网络的方式来参与大型模型的横向联邦学习,提高了训练得到的模型的预测准确度。
进一步地,基于上述第一、第二和/或第三实施例,提出本发明图像分类方法第四实施例,在本实施例中,所述图像分类方法应用于参与横向联邦学习的协调方,协调方与参与横向联邦学习的各参与方通信连接,协调方部署有待搜索网络,参与方和协调方可以是智能手机、个人计算机和服务器等设备。在本实施例中,所述图像分类方法包括:
步骤A10,联合各所述参与方对所述待搜索网络进行多轮网络结构搜索得到目标图像分类模型,其中,在各轮网络结构搜索中所述协调方从所述待搜索网络中选取与所述参与方的计算资源大小相匹配的部分网络分发给所述参与方,以供所述参与方对所述部分网络进行本地训练;
在本实施例中,协调方联合各个参与方对待搜索网络进行多轮网络结构搜索得到目标网络结构。具体地,协调方与参与方可以按照上述第一、第二或第三实施例中的网络结构搜索方法进行多轮网络结构搜索。其中,待搜索网络的输出层可以设置为二分类器或多分类器,用于对图像进行二分类或多分类,各个参与方本地的训练数据集是图像数据集,并包括各个图像数据对应的分类标签。
在进行多轮网络结构搜索后,协调方根据待搜索网络得到目标图像分类模型,或者将待搜索网络发送给参与方,由参与方根据待搜索网络得到目标图像分类模型。具体地,协调方或参与方可以从多轮网络结构搜索后的待搜索网络中的结构参数选取保留的连接边和/或操作,将保留下的连接边和操作所连接的网络作为目标网络,再将目标网络直接作为目标图像分类模型,或再采用训练数据对目标网络进行模型训练后得到目标图像分类模型。
步骤A20,采用所述目标图像分类模型对待分类图像数据进行分类处理,得到所述待分类图像数据的分类结果。
协调方或参与方在得到目标图像分类模型后,对于新的图像数据,可以将该图像作为待分类图像数据,采用目标图像分类模型对待分类图像数据进行分类处理,得到待分类图像数据的分类结果。
在本实施例中,通过在协调方设置待搜索网络,利用搜索网络的结构可变的特点,在各轮网络结构搜索过程中,由协调方从待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络发送给目标参与方进行本地训练,也即,计算资源较少的参与方则发送待搜索网络中的小部分网络,计算资源较多的参与方则发送待搜索网络中的大部分或全部网络,使得当待搜索网络较大时,计算资源较少的参与方也能够参与训练,从而增加了对大型图像分类模型的训练样本量,进而提高了采用多轮网络结构搜索得到的目标图像分类模型进行图像分类的准确度。
进一步地,在一实施方式中,所述步骤A10包括:
步骤A101,从所述待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络;
步骤A102,将所述部分网络发送给所述目标参与方,以供所述目标参与方对所述部分网络进行本地训练得到本地参数更新信息并返回;
步骤A103,对从各参与方接收到的本地参数更新信息进行全局融合得到全局参数更新信息,根据所述全局参数更新信息对所述待搜索网络中的参数进行更新,其中,所述参数包括模型参数和/或结构参数;
具体地,协调方与参与方进行一轮网络结构搜索的过程可参照上述第一实施例中的步骤S10~S30中的网络结构搜索过程,在本实施例中不进行详细赘述。
步骤A104,检测更新参数后的待搜索网络是否满足预设网络条件;
协调方在根据全局参数更新信息对待搜索网络中的参数进行更新后,检测更新参数后的待搜索网络是否满足预设网络条件。其中,预设网络条件可以是预先设置的一个条件,例如,可以设置为待搜索网络的损失函数收敛、网络结构搜索的轮次达到一定轮次或网络结构搜索的时长达到一定时长。
步骤A105,若满足,则基于更新参数后的待搜索网络确定目标图像分类模型;
协调方检测到更新参数后的待搜索网络满足预设网络条件时,可以基于更新参数后的待搜索网络确定目标图像分类模型。具体地,协调方可以从多轮网络结构搜索后的待搜索网络中的结构参数选取保留的连接边和/或操作,将保留下的连接边和操作所连接的网络作为目标网络,再将目标网络直接作为目标图像分类模型,或者将目标网络作为全局模型,再与各参与方进行横向联邦学习,得到目标图像分类模型。需要说明的是,协调方将目标网络作为全局模型再次联合各参与方进行横向联邦学习时,可以检测各个参与方可容纳模型大小是否都大于该目标网络的模型大小,若都大于,则可以联合各个参与方进行常规的横向联邦学习,得到目标图像分类模型;若有部分参与方的可容纳模型大小小于该目标网络的模型大小,则在横向联邦学习的每轮模型参数更新过程中,协调方可以选取目标网络的部分网络发送给可容纳模型大小小于该目标网络模型大小的参与方,以使得该参与方也能够参与训练,从而提高最终获得的目标图像分类模型的图像分类准确度。
步骤A106,若不满足,则返回所述步骤A101。
若协调方检测到更新参数后的待搜索网络不满足预设网络条件,则返回执行步骤A101,也即进行下一轮网络结构搜索。
此外本发明实施例还提出一种网络结构搜索装置,参照图9,所述装置部署于横向联邦学习的参与方,各参与方与协调方通信连接,各参与方设置有相同结构的搜索网络,所述装置包括:
选取模块10,用于从所述待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络;
发送模块20,用于将所述部分网络发送给所述目标参与方,以供所述目标参与方对所述部分网络进行本地训练得到本地参数更新信息并返回;
更新模块,用于对从各参与方接收到的本地参数更新信息进行全局融合得到全局参数更新信息,根据所述全局参数更新信息对所述待搜索网络中的参数进行更新,其中,所述参数包括模型参数和/或结构参数。
进一步地,所述选取模块10包括:
第一计算单元,用于根据目标参与方的计算资源信息计算得到所述目标参与方可容纳模型大小占所述待搜索网络的模型大小的目标比例;
选取单元,用于根据所述目标比例从所述待搜索网络中随机选取出部分网络,其中,所述部分网络的模型大小占所述待搜索网络的模型大小的比例小于或等于所述目标比例。
进一步地,所述选取单元包括:
第一确定子单元,用于对于所述待搜索网络中的各节点,根据所述目标比例确定所述节点对应的保留边数,其中,所述保留边数占所述节点在所述待搜索网络中的全部后接边边数的比例小于或等于所述目标比例;
第一选取子单元,用于从所述节点在所述待搜索网络中的全部后接边中随机选取保留后接边,其中,所述保留后接边的边数为所述保留边数;
第二确定子单元,用于将所述待搜索网络中由各所述节点对应的所述保留后接边所连接的部分作为部分网络。
进一步地,所述选取单元包括:
第二选取子单元,用于对于所述待搜索网络中的各个网络模块,从所述网络模块中节点连接边上的各并列操作中随机选取保留操作,得到由所述保留操作所连接的保留模块,其中,所述保留模块的操作计算量占所述网络模块的操作计算量的比例小于或等于所述目标比例;
第三确定子单元,用于将各所述保留模块组成的网络作为部分网络。
进一步地,所述更新模块30包括:
获取单元,用于从各参与方发送的所述本地参数更新信息中获取所述待搜索网络中参数对应的信息组,其中,所述信息组包括各参与方中部分参与方发送的本地参数更新值,所述部分参与方为被分发的部分网络中包括所述参数的参与方;
计算单元,用于对所述信息组中的本地参数更新值进行平均得到所述参数对应的全局参数更新值;
确定单元,用于将所述待搜索网络中各参数对应的所述全局参数更新值作为全局参数更新信息。
本发明网络结构搜索装置的具体实施方式的拓展内容与上述网络结构搜索方法各实施例基本相同,在此不做赘述。
此外本发明实施例还提出一种图像分类装置,所述装置部署于参与横向联邦学习的协调方,所述协调方与参与横向联邦学习的各参与方通信连接,所述协调方部署有待搜索网络,所述装置包括:
搜索模块,用于联合各所述参与方对所述待搜索网络进行多轮网络结构搜索得到目标图像分类模型,其中,在各轮网络结构搜索中所述协调方从所述待搜索网络中选取与所述参与方的计算资源大小相匹配的部分网络分发给所述参与方,以供所述参与方对所述部分网络进行本地训练;
分类模块,用于采用所述目标图像分类模型对待分类图像数据进行分类处理,得到所述待分类图像数据的分类结果。
进一步地,所述搜索模块包括:
选取单元,用于从所述待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络;
发送单元,用于将所述部分网络发送给所述目标参与方,以供所述目标参与方对所述部分网络进行本地训练得到本地参数更新信息并返回;
更新单元,用于对从各参与方接收到的本地参数更新信息进行全局融合得到全局参数更新信息,根据所述全局参数更新信息对所述待搜索网络中的参数进行更新,其中,所述参数包括模型参数和/或结构参数;
检测单元,用于检测更新参数后的待搜索网络是否满足预设网络条件;
确定单元,用于若满足,则基于更新参数后的待搜索网络确定目标图像分类模型;
返回单元,用于若不满足,则返回所述从所述待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络的步骤。
本发明图像分类装置的具体实施方式的拓展内容与上述图像分类方法各实施例基本相同,在此不做赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述存储介质上存储有网络结构搜索程序,所述网络结构搜索程序被处理器执行时实现如上所述的网络结构搜索方法的步骤。本发明还提出一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的网络结构搜索方法的步骤。本发明网络结构搜索设备、计算机可读存储介质和计算机产品的各实施例,均可参照本发明网络结构搜索方法各实施例,此处不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述存储介质上存储有图像分类程序,所述图像分类程序被处理器执行时实现如上所述的图像分类方法的步骤。本发明还提出一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的图像分类方法的步骤。本发明图像分类设备、计算机可读存储介质和计算机产品的各实施例,均可参照本发明图像分类方法各实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (11)
1.一种网络结构搜索方法,其特征在于,所述方法应用于参与横向联邦学习的协调方,所述协调方与参与横向联邦学习的各参与方通信连接,所述协调方部署有待搜索网络,所述方法包括以下步骤:
从所述待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络;
将所述部分网络发送给所述目标参与方,以供所述目标参与方对所述部分网络进行本地训练得到本地参数更新信息并返回;
对从各参与方接收到的本地参数更新信息进行全局融合得到全局参数更新信息,根据所述全局参数更新信息对所述待搜索网络中的参数进行更新,其中,所述参数包括模型参数和/或结构参数。
2.如权利要求1所述的网络结构搜索方法,其特征在于,所述从所述待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络的步骤包括:
根据目标参与方的计算资源信息计算得到所述目标参与方可容纳模型大小占所述待搜索网络的模型大小的目标比例;
根据所述目标比例从所述待搜索网络中随机选取出部分网络,其中,所述部分网络的模型大小占所述待搜索网络的模型大小的比例小于或等于所述目标比例。
3.如权利要求2所述的网络结构搜索方法,其特征在于,所述根据所述目标比例从所述待搜索网络中随机选取出部分网络的步骤包括:
对于所述待搜索网络中的各节点,根据所述目标比例确定所述节点对应的保留边数,其中,所述保留边数占所述节点在所述待搜索网络中的全部后接边边数的比例小于或等于所述目标比例;
从所述节点在所述待搜索网络中的全部后接边中随机选取保留后接边,其中,所述保留后接边的边数为所述保留边数;
将所述待搜索网络中由各所述节点对应的所述保留后接边所连接的部分作为部分网络。
4.如权利要求2所述的网络结构搜索方法,其特征在于,所述根据所述目标比例从所述待搜索网络中随机选取出部分网络的步骤包括:
对于所述待搜索网络中的各个网络模块,从所述网络模块中节点连接边上的各并列操作中随机选取保留操作,得到由所述保留操作所连接的保留模块,其中,所述保留模块的操作计算量占所述网络模块的操作计算量的比例小于或等于所述目标比例;
将各所述保留模块组成的网络作为部分网络。
5.如权利要求1至4任一项所述的网络结构搜索方法,其特征在于,所述对从各参与方接收到的所述本地参数更新信息进行全局融合得到全局参数更新信息的步骤包括:
从各参与方发送的所述本地参数更新信息中获取所述待搜索网络中参数对应的信息组,其中,所述信息组包括各参与方中部分参与方发送的本地参数更新值,所述部分参与方为被分发的部分网络中包括所述参数的参与方;
对所述信息组中的本地参数更新值进行平均得到所述参数对应的全局参数更新值;
将所述待搜索网络中各参数对应的所述全局参数更新值作为全局参数更新信息。
6.一种图像分类方法,其特征在于,所述方法应用于参与横向联邦学习的协调方,所述协调方与参与横向联邦学习的各参与方通信连接,所述协调方部署有待搜索网络,所述方法包括:
联合各所述参与方对所述待搜索网络进行多轮网络结构搜索得到目标图像分类模型,其中,在各轮网络结构搜索中所述协调方从所述待搜索网络中选取与所述参与方的计算资源大小相匹配的部分网络分发给所述参与方,以供所述参与方对所述部分网络进行本地训练;
采用所述目标图像分类模型对待分类图像数据进行分类处理,得到所述待分类图像数据的分类结果。
7.如权利要求6所述的图像分类方法,其特征在于,所述联合各所述参与方对所述待搜索网络进行多轮网络结构搜索得到目标图像分类模型,其中,在各轮网络结构搜索中所述协调方从所述待搜索网络中选取与所述参与方的计算资源大小相匹配的部分网络分发给所述参与方,以供所述参与方对所述部分网络进行本地训练的步骤包括:
从所述待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络;
将所述部分网络发送给所述目标参与方,以供所述目标参与方对所述部分网络进行本地训练得到本地参数更新信息并返回;
对从各参与方接收到的本地参数更新信息进行全局融合得到全局参数更新信息,根据所述全局参数更新信息对所述待搜索网络中的参数进行更新,其中,所述参数包括模型参数和/或结构参数;
检测更新参数后的待搜索网络是否满足预设网络条件;
若满足,则基于更新参数后的待搜索网络确定目标图像分类模型;
若不满足,则返回所述从所述待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络的步骤。
8.一种网络结构搜索装置,其特征在于,所述装置部署于参与横向联邦学习的协调方,所述协调方与参与横向联邦学习的各参与方通信连接,所述协调方部署有待搜索网络,所述装置包括:
选取模块,用于从所述待搜索网络中选取与目标参与方的计算资源大小相匹配的部分网络;
发送模块,用于将所述部分网络发送给所述目标参与方,以供所述目标参与方对所述部分网络进行本地训练得到本地参数更新信息并返回;
融合模块,用于对从各参与方接收到的本地参数更新信息进行全局融合得到全局参数更新信息,根据所述全局参数更新信息对所述待搜索网络中的参数进行更新,其中,所述参数包括模型参数和/或结构参数。
9.一种网络结构搜索设备,其特征在于,所述网络结构搜索设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的网络结构搜索程序,所述网络结构搜索程序被所述处理器执行时实现如权利要求1至5中任一项所述的网络结构搜索方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有网络结构搜索程序,所述网络结构搜索程序被处理器执行时实现如权利要求1至5中任一项所述的网络结构搜索方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的网络结构搜索方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110215895.0A CN112818207A (zh) | 2021-02-26 | 2021-02-26 | 网络结构搜索方法、装置、设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110215895.0A CN112818207A (zh) | 2021-02-26 | 2021-02-26 | 网络结构搜索方法、装置、设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112818207A true CN112818207A (zh) | 2021-05-18 |
Family
ID=75864002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110215895.0A Pending CN112818207A (zh) | 2021-02-26 | 2021-02-26 | 网络结构搜索方法、装置、设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112818207A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113570027A (zh) * | 2021-06-24 | 2021-10-29 | 华为技术有限公司 | 用于生成神经网络模型的方法、装置、系统、设备、介质和程序产品 |
CN114465722A (zh) * | 2022-01-29 | 2022-05-10 | 深圳前海微众银行股份有限公司 | 信息处理方法、装置、设备、存储介质及程序产品 |
WO2024017001A1 (zh) * | 2022-07-21 | 2024-01-25 | 华为技术有限公司 | 模型的训练方法及通信装置 |
-
2021
- 2021-02-26 CN CN202110215895.0A patent/CN112818207A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113570027A (zh) * | 2021-06-24 | 2021-10-29 | 华为技术有限公司 | 用于生成神经网络模型的方法、装置、系统、设备、介质和程序产品 |
WO2022268203A1 (zh) * | 2021-06-24 | 2022-12-29 | 华为技术有限公司 | 用于生成神经网络模型的方法、装置、系统、设备、介质和程序产品 |
CN114465722A (zh) * | 2022-01-29 | 2022-05-10 | 深圳前海微众银行股份有限公司 | 信息处理方法、装置、设备、存储介质及程序产品 |
CN114465722B (zh) * | 2022-01-29 | 2024-04-02 | 深圳前海微众银行股份有限公司 | 信息处理方法、装置、设备、存储介质及程序产品 |
WO2024017001A1 (zh) * | 2022-07-21 | 2024-01-25 | 华为技术有限公司 | 模型的训练方法及通信装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112818207A (zh) | 网络结构搜索方法、装置、设备、存储介质及程序产品 | |
Kuang et al. | Offloading decision methods for multiple users with structured tasks in edge computing for smart cities | |
CN111860864A (zh) | 纵向联邦建模优化方法、设备及可读存储介质 | |
CN111522669A (zh) | 横向联邦学习系统优化方法、装置、设备及可读存储介质 | |
CN111310932A (zh) | 横向联邦学习系统优化方法、装置、设备及可读存储介质 | |
CN109597965B (zh) | 基于深度神经网络的数据处理方法、系统、终端及介质 | |
CN106445473B (zh) | 一种容器部署方法及装置 | |
CN107529656B (zh) | 一种社交网络社区的划分方法及服务器 | |
CN110309923A (zh) | 横向联邦学习方法、装置、设备及计算机存储介质 | |
CN111222628A (zh) | 循环神经网络训练优化方法、设备、系统及可读存储介质 | |
CN115208812B (zh) | 业务处理方法及装置、设备、计算机可读存储介质 | |
Hassani et al. | Context-aware recruitment scheme for opportunistic mobile crowdsensing | |
CN113220356A (zh) | 一种移动边缘计算中的用户计算任务卸载方法 | |
CN112686370A (zh) | 网络结构搜索方法、装置、设备、存储介质及程序产品 | |
CN111797999A (zh) | 纵向联邦建模优化方法、装置、设备及可读存储介质 | |
CN107209746A (zh) | 模型参数融合方法及装置 | |
CN112948885B (zh) | 实现隐私保护的多方协同更新模型的方法、装置及系统 | |
US20230281513A1 (en) | Data model training method and apparatus | |
US20240265307A1 (en) | Model training method and device | |
CN113238867A (zh) | 一种基于网络卸载的联邦学习方法 | |
CN105300398A (zh) | 获取地点信息的方法、装置和系统 | |
CN112700003A (zh) | 网络结构搜索方法、装置、设备、存储介质及程序产品 | |
CN115018019A (zh) | 基于联邦学习的模型训练方法及系统、存储介质 | |
CN114118403A (zh) | 神经网络架构搜索方法、装置、存储介质及电子设备 | |
CN116781788A (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 |