CN112019510A - 一种深度神经网络架构的自适应搜索方法和系统 - Google Patents
一种深度神经网络架构的自适应搜索方法和系统 Download PDFInfo
- Publication number
- CN112019510A CN112019510A CN202010739741.7A CN202010739741A CN112019510A CN 112019510 A CN112019510 A CN 112019510A CN 202010739741 A CN202010739741 A CN 202010739741A CN 112019510 A CN112019510 A CN 112019510A
- Authority
- CN
- China
- Prior art keywords
- model
- terminal
- architecture
- terminal device
- terminal equipment
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种深度神经网络架构的自适应搜索方法和系统,旨在保护数据隐私的前提下,降低计算开销和通信开销,实现深度学习从云端分载到终端,提高终端参与效率。所述方法包括:终端调度模块根据终端属性对终端分组;网络架构搜索模块搜索到若干模型架构;决策与聚合模块基于动态训练策略,控制终端组对模型架构进行短期训练测试;根据融合模型架构准确率,得到优选模型架构;优选模型架构满足资源限制,则更新资源限制,进行新一轮迭代,不满足资源限制,则停止迭代;对每轮获得的优选模型架构,进行长期训练,得到每轮对应资源限制下最优模型架构。
Description
技术领域
本发明涉及深度学习领域,特别是涉及一种深度神经网络架构的自适应搜索方法和系统。
背景技术
深度学习是机器学习的一种,目的在于建立模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本等。
目前,深度学习技术在移动端的多个不同领域落地,包括照片美化、输入法预测、购物推荐、语音识别等等,扩展了应用的服务功能,大大提升了用户体验,成为很多应用必不可少的组成部分。另一方面,移动场景也是深度学习现在非常重要的应用平台,很多深度学习技术得以在移动平台上体现价值。
然而,现在传统的深度学习模型,往往向着更加复杂、更加高运算量的方向发展,经典的卷积神经网络模型体积可达上百MB,一次推理运算量达到109级别。这些大模型由于受到资源限制的诸多约束,包括电池电量较小、计算资源有限、存储空间不足、网络带宽限制等,而不能直接运行于终端。同时,精准复杂的深度学习模型,依赖海量的真实数据参与训练调优,这往往需要大规模、甚至跨领域地采集用户私人敏感数据上传到云端被处理和使用,带来潜在泄露隐私风险。
发明内容
本发明所要解决的技术问题是提供一种深度神经网络架构的自适应搜索方法和系统,以解决现有技术中资源限制导致网络架构不能直接运行于终端中进行深度学习。
为了解决上述问题,本发明实施例第一方面提供一种深度神经网络架构的自适应搜索方法,包括云端模块、多个终端设备;所述云端模块包括:终端调度模块、网络架构搜索模块、决策与聚合模块;
所述终端调度模块对所述终端设备进行分组,以得到不同的终端设备组;
所述网络架构搜索模块输入一个预训练的复杂模型架构,基于资源限制条件,通过结构化剪枝搜索到若干第一模型架构;
所述决策与聚合模块将搜索到的第一模型架构发送至对应的终端设备组;同一终端设备组的不同终端设备接收到的第一模型架构相同;
所述决策与聚合模块基于动态训练策略,控制所有终端设备,对接收到的第一模型架构执行短期训练测试任务,完成训练任务后,得到所有终端设备相对应的第二模型架构;
所述决策与聚合模块将聚合同一终端设备组的不同终端设备的第二模型架构,得到所有终端设备组的不同融合模型架构;
根据所述所有终端设备组的融合模型架构的准确率,得到系统的优选模型架构;
所述系统的优选模型架构满足所述资源限制条件,则根据模型实际资源消耗,更新所述资源限制条件,进行新一轮的所述优选模型架构搜索的全局迭代任务;
所述优选模型架构不满足所述资源限制条件,则停止系统迭代;
针对每一轮得到的所述优选模型架构,进行长期训练,以得到相应资源限制下的最优模型架构。
可选地,所述终端调度模块对所述终端设备进行分组,以得到不同的终端设备组,还包括:
所述终端调度模块基于终端设备属性,对所述终端设备进行分组,以得到不同的终端设备组;
其中,所述终端设备属性包括所述终端设备的数据量、所述终端设备的数据分布、所述终端设备的工作状态。
可选地,所述终端调度模块基于终端设备属性,对所述终端设备进行分组,以得到不同的终端设备组,包括:
所述终端设备统计所述终端设备属性;
所述终端设备将所述终端设备属性上传至所述终端调度模块;
所述终端调度模块根据上传的所述终端设备属性,对终端设备进行分组,每个终端设备分组数据总量保持均衡、每个终端设备分组的数据分布均衡。
可选地,所述网络架构搜索模块输入一个预训练的复杂模型架构,基于资源限制条件,通过结构化剪枝搜索到若干第一模型架构,还包括:
所述网络架构搜索模块是迭代式的,在所述全局迭代任务中将资源限制条件分解为若干个逐渐收紧的资源约束,基于所述资源约束进行结构化剪枝搜索。
可选地,所述决策与聚合模块基于动态训练策略,控制所有终端设备,对接收到的第一模型架构执行短期训练测试任务,完成训练任务后,得到所有终端设备相对应的第二模型架构,包括:
所述决策与聚合模块基于动态训练策略,控制所有终端设备,对接收到的第一模型架构执行短期训练测试任务;
所述动态训练策略包括动态的云端轮数设置和提前剪枝掉队备选模型;
所述短期训练测试任务完成后,获得所有终端设备相对应的第二模型架构;
其中,所述云端轮数为所述决策与聚合模块聚合同一终端设备组的不同终端设备的第二模型架构的次数;
其中,所述动态云端轮数设置包括所述第二模型架构在所述决策与聚合模块聚合的次数随着所述优选模型架构搜索的全局迭代次数动态变化;所述提前剪枝掉队备选模型包括所述第二模型架构在预设云端轮数后,相对于其他模型架构表现最差的部分模型,提前剪枝停止当前短期训练测试任务。
可选地,所述决策与聚合模块将聚合同一终端设备组的不同终端设备的第二模型架构,得到所有终端设备组的不同融合模型架构,包括:
所述决策与聚合模块聚合同一终端设备组的不同终端设备的第二模型架构,以得到所有终端设备组的不同融合模型架构;
所述决策与聚合模块中的聚合模块包括模型聚合单元和指标聚合单元;
其中,所述模型聚合单元包括聚合同一终端设备组的不同终端设备的第二模型架构,得到本轮所述终端设备组的融合模型架构;所述指标聚合单元包括每轮短期训练测试完成后,指标聚合单元得到聚合准确率,指导提前剪枝掉队备选模型的剪枝策略。
可选地,所述决策与聚合模块基于动态训练策略,控制所有终端设备组,对各自相对应的第一模型架构执行短期训练测试任务,以得到第二模型架构;所述决策与聚合模块聚合同一终端设备组的不同终端设备的第二模型架构,以得到所有终端设备组的融合模型架构,还包括:
所述决策与聚合模块在控制终端设备进行短期训练测试任务时,所述终端设备将收集推断测试指标,所述推断测试指标反馈到所述决策与聚合模块,指导所述动态训练策略的执行。
本申请实施例第二方面提供一种深度神经网络架构的自适应搜索系统,所述系统运行时,实现本申请实施例第一方面所述的方法中的步骤。
本发明包括以下优点:在本发明中,终端调度模块根据终端属性对终端分组,网络架构搜索模块搜索到若干模型架构,决策与聚合模块将模型架构发送到对应的终端设备组,基于动态训练策略,控制终端组对模型架构进行短期训练测试,根据训练测试结果,得到优选模型架构,若优选模型架构满足资源限制,则更新资源限制,进行新一轮迭代,对每轮迭代获得的优选模型架构,进行长期训练,得到每轮最优模型架构,不满足资源限制,则停止迭代。本发明根据终端属性对终端分组,基于动态训练策略,控制终端组进行训练测试,在保证数据隐私情况下,有效降低计算开销和通信开销,实现深度学习从云端分载到终端,且在大终端数量的场景下,有利于提高终端参与效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的一实施例提出的深度神经网络架构的自适应搜索方法的流程图;
图2是本申请的终端调度模块对终端进行分组的流程图;
图3是本申请的一种滤波器级结构化剪枝示意图;
图4是本申请的一实施例提出的深度神经网络架构的自适应搜索方法的训练测试流程图;
图5是本申请的一实施例提出的深度神经网络架构的自适应搜索方法的全局迭代流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他所有实施例,都应属于本申请保护的范围。
相关技术中,深度学习技术在移动端的多个不同领域落地,包括照片美化、输入法预测、购物推荐、语音识别等等,扩展了应用的服务功能,大大提升了用户体验,成为很多应用必不可少的组成部分。另一方面,移动场景也是深度学习现在非常重要的应用平台,很多深度学习技术得以在移动平台上体现价值。
然而传统深度学习模型,往往向着更加复杂、更加高运算量的方向发展。这些大模型由于受到资源限制的诸多约束,包括电池电量较小、计算资源有限、存储空间不足、网络带宽限制等,而不能直接运行于终端。为此,本申请提供了一种深度神经网络架构的自适应搜索方法和系统,旨在保证数据隐私情况下,有效降低计算开销和通信开销,实现深度学习从云端分载到终端,提高终端参与效率。
参照图1,图1是本申请的一实施例提出的深度神经网络架构的自适应搜索方法的流程图。该方法包括云端模块、多个终端设备,其中,云端模块包括终端调度模块、网络架构搜索模块、决策与聚合模块,具体可以包括如下步骤:
步骤S101:终端调度模块对所述终端设备进行分组,以得到不同的终端设备组。
本实施例中,终端设备可以包括不同类型的硬件和软件配置的设备,包括智能手机、PAD(Portable Android Device,平板电脑)、可穿戴设备等。
在具体实施中,终端调度模块对终端设备进行分组,会有一定分组依据对终端设备进行分组。在这些实施例中,所述终端调度模块基于终端设备属性,对所述终端设备进行分组,以得到不同的终端设备组,所述终端设备属性包括所述终端设备的数据量、所述终端设备的数据分布、所述终端设备的工作状态。
示例地,参考图2,图2是本申请的终端调度模块对终端进行分组的流程图。如图2所示,步骤S101的终端调度模块对终端进行分组步骤可具体包括以下步骤:
S1011:所述终端设备统计所述终端设备属性;
S1012:所述终端设备将所述终端设备属性上传至所述终端调度模块;
S1013:所述终端调度模块根据上传的所述终端设备属性,对终端设备进行分组,每个终端设备分组数据总量保持均衡、每个终端设备分组的数据分布均衡。
具体地,步骤S1011中,终端设备统计终端设备属性,例如统计终端设备当前是否可用、终端设备的数据量和终端设备的数据分布情况,。完成步骤S1011设备属性统计后,进行步骤S1012,将统计的属性发送至终端调度模块,终端调度模块根据收到的终端设备属性对终端设备进行分组。为保证终端设备分组的每个终端设备分组的数据总量保持均衡和每个终端设备分组的数据分布均衡,抽象为如下约束优化问题:
subjectto max(dj)≤r·min(dj),j=1,2...K
其中,设备分组为{G1,G2,...GK},分组Gi的数据总量为di,r为数据量不均衡的容忍系数,控制数据量差异,由开发者指定,K为终端设备组的数量,控制终端设备的通信开销,dist()计算两个数据分组之间的相似度,采用Manhattan距离,Manhattan距离定义如下:
终端调度模块收集所有可用的空闲终端,获取其数据分布特征,包括数据量以及数据分布。针对分类问题,如k-分类问题,使用向量v来表示数据标签分布:
v=(v1,υ2,...,υk)
其中,data_numi为当前终端,k-分类问题下,分到第i类的数据量,v为数据标签的分布向量。
在获得数据分布后,首先根据数据量对终端进行从大到小排序。之后,根据数据量从大到小依次遍历终端,每次将当前终端分配到一个终端组,使得各个终端设备组和数据分布向量的平均曼哈顿距离最短,最终终端设备组的数据量和数据分布达到均衡。开发者指定分组数目K,对终端进行分组调度,每个组内可以包含一个或多个终端设备,完成步骤S1013终端设备分组。
指导终端调度模块对终端设备分组的数据为各终端设备的数据量和数据分布情况,未将终端设备数据的具体内容上传至云端,有效保护终端设备的数据隐私。
步骤S102:网络架构搜索模块输入一个预训练的复杂模型架构,基于资源限制条件,通过结构化剪枝搜索到若干第一模型架构。
本实施例中,资源限制可以包括计算开销(如MACs)、推理延迟时间、能量消耗以及内存占用等,也可以指几种资源限制的组合指标。
本实施例中,结构化剪枝算法是采用针对卷积层和全连接层,在滤波器层面上进行的结构化剪枝。
示例地,参考图3,图3是本申请的一种滤波器级结构化剪枝示意图。给定一个复杂的模型架构,网络架构搜索模块基于资源限制条件,确定滤波器的裁剪比例α。对每个滤波器,计算其L2-范数,并将滤波器按其L2-范数从大到小进行排序,其中L2-范数可根据算法的不同更换其他的度量标准,如L1-范数或F-范数等。根据裁剪比例α,将对应个数的滤波器剪枝,只保留L2-范数较大的卷积核。在下一层中,减去与剪枝滤波器相应的通道,从而产生新的矩阵,将对应权重放入复杂的模型架构中,指导搜索到若干的第一模型架构。
网络架构搜索模块除了实现基于资源约束的网络架构剪枝搜索,还包括所述网络架构搜索模块是迭代式的,在所述全局迭代任务中将资源限制条件分解为若干个逐渐收紧的资源约束,基于所述资源约束进行结构化剪枝搜索。可形式化表现为:
maximize Acc(DNNi)
subjectto Resj(DNNi)≤Resj(DNNi-1)-ΔRi,j,j=1,2,...,n
ΔRi,j=init_resiurcereduction*αi-1,j=1,2,...,n
其中DNNi表示第i轮迭代生成的模型,Acc()计算模型准确率,Resi()衡量模型在第i次资源类型上的资源消耗,ΔRi,j表示第i轮第j种资源约束,init_resiurcereduction为指定的初始被剪枝层滤波器个数。最后算法的资源约束Resj(DNNi-1)-ΔRi,j小于等于资源限制条件时,算法终止,输出一系列匹配不同资源约束的模型。为了简化问题,预设只考虑一种资源限制,即n=1。
步骤S103:所述决策与聚合模块将搜索到的第一模型架构发送至对应的终端设备组;同一终端设备组的不同终端设备接收到的第一模型架构相同;所述决策与聚合模块基于动态训练策略,控制所有终端设备,对接收到的第一模型架构执行短期训练测试任务,完成训练任务后,得到所有终端设备相对应的第二模型架构;所述决策与聚合模块将聚合同一终端设备组的不同终端设备的第二模型架构,得到所有终端设备组的不同融合模型架构。
本实施例中,动态训练策略包括动态的云端轮数设置和提前剪枝掉队备选模型。
本实施例中,所述云端轮数为所述决策与聚合模块聚合同一终端设备组的不同终端设备的第二模型架构的次数。例如当前第一模型架构为(AH1),同一终端设备组有终端设备(A1,A2,...,An),对第一模型架构进行短期训练任务得到第二模型架构为(A11,A21,...,An1),决策与聚合模块第一次聚合同一终端设备组的不同终端设备的第二模型架构,得到的融合模型架构为(AR1),此时为第一次云端轮数;若继续进行云端轮数,则此时融合模型架构(AR1)为第二轮该终端设备组的第一模型架构(AH2),对第一模型架构进行短期训练任务得到第二模型架构为(A12,A22,...,An2),决策与聚合模块第二次聚合同一终端设备组的不同终端设备的第二模型架构,得到的融合模型架构为(AR2),此时为第二次云端轮数。
本实施例中,动态的云端轮数设置是指决策与聚合模块聚合第二模型架构的次数随着全局迭代次数动态变化,随着全局迭代次数的增加,云端轮数增加。
本实施例中,全局迭代次数为基于不同资源限制的全局轮数。例如根据所有参与训练的终端设备组的训练测试结果,选出系统优选模型架构(AY0),若满足资源限制条件(T0),更新资源限制条件为(T1),该更新的资源限制条件为逐渐收紧的资源约束,进行新一轮的全局迭代任务,根据所有终端设备组的融合模型架构的准确率,选出准确率最高的系统优选模型架构(AY1),若满足资源限制条件(T1),则为第一次全局迭代;更新资源限制条件为(T2),进行新一轮的全局迭代任务,根据所有终端设备组的融合模型架构的准确率,选出准确率最高的系统优选模型架构(AY2),若满足资源限制条件(T2),则为第二次全局迭代;更新资源限制条件为(T3),进行新一轮的全局迭代任务,根据所有终端设备组的融合模型架构的准确率,选出准确率最高的系统优选模型架构(AY3),若不满足资源限制条件(T3),则停止全局迭代。
本实施例中,提前剪枝掉队备选模型指第二模型架构在预设云端轮数后,相对于其他模型架构表现最差的部分模型,提前剪枝停止当前短期训练测试任务。
参考图4,图4是本申请的一实施例提出的深度神经网络架构的自适应搜索方法的训练测试流程图。
本实施例中,如图4所示,步骤S103可具体包括以下子步骤:
子步骤S1031:所述决策与聚合模块将搜索到的第一模型架构发送至对应的终端设备组;同一终端设备组的不同终端设备接收到的第一模型架构相同;
子步骤S1032:所述决策与聚合模块基于动态训练策略,控制所有终端设备,对接收到的第一模型架构执行短期训练测试任务,完成训练任务后,得到所有终端设备相对应的第二模型架构;
子步骤S1033:所述决策与聚合模块将聚合同一终端设备组的不同终端设备的第二模型架构,得到所有终端设备组的不同融合模型架构。
示例地,在步骤S1031中,决策与聚合模块会将同一第一模型架构发送至相对应的同一终端设备组的不同终端设备。其中,对于所有的终端设备组,不同终端设备组的第一模型架构不同,同一终端设备组得到的第一模型架构相同。
在步骤S1031的模型架构发送到终端设备组后,在步骤S1032中,决策与聚合模块通过动态训练策略,控制终端设备,对各自相对应的第一模型架构进行不充分的短期训练测试任务,指导正确的搜索方向。
对于动态训练策略中的动态云端轮数设置的优化,对每一轮全局迭代动态设置云端轮数,通过如下命令行参数设置初始轮数,定期调整,控制其云端轮数从小到大变动,针对不同的数据集、不同的网络架构需调整不同的参数配置。云端轮数调整如表1命令行,设置初始云端轮数,迭代每增加1次,云端轮数增加2次。例如设置初始云端轮数为5轮,第一次迭代后,云端轮数设置为7轮;第二次迭代后,云端轮数设置为9轮;第n次迭代后,云端轮数设置为5+2n轮,直到训练的模型架构不满足逐渐收紧的资源限制条件,迭代结束为止。
表1
对于动态训练策略中的提前剪枝掉队备选模型的优化,给出表2训练决策流程。定义剪枝率α%,对于每个模型架构,待终端完成短期训练测试任务后反馈测试数据量和推断测试指标结果,待全部候选模型训练测试完成后,根据剪枝率提前停止表现最差的部分模型架构,将其直接剪枝丢弃,例如剪枝率为33%,即每个云端轮丢弃后33%的较差候选网络架构,然后对于剩余模型进行模型融合,完成本轮模型的更新。完成动态训练策略后,进入步骤S1033的模型聚合。
表2
步骤S1033中,聚合模块包括模型聚合单元和指标聚合单元,所述模型聚合单元包括聚合同一个终端组的不同终端设备的第二模型架构。具体地,基于本地数据生成的模型更新聚合为一个融合模型架构,聚合过程是基于训练数据权重的模型梯度融合:
PMi←PMi+fused_gradi
其中,train_numj,s为终端组Gj上第s号设备上的训练数据数量,gradj,s为上传的梯度更新结果,gj为终端组Gj的终端数量。
所述指标聚合单元包括每轮短期训练测试完成后,指标聚合单元得到聚合准确率,指导提前剪枝掉队备选模型的剪枝策略。具体地,指标聚合单元针对中间结果采用指标聚合的方式,代替直接的模型聚合,来指导剪枝搜索方向,对于体积为M的模型,将通信开销从O(M)减少至O(1)。对于模型架构PMi,以及它被分配到的终端组Gj,当Gj组内全部终端完成训练并将指标测试结果反馈给云端,云端进行基于权重的指标聚合:
其中,test_numj,s为终端组Gj上第s号设备上的测试数据数量,resj,s为该设备进行的指标测试结果,gj为终端组Gj的终端数量。
常用指标模型准确率,计算公式:
在每一轮云端聚合完成后,通过指标聚合得到聚合准确率,基于聚合准确率,实现提前停止掉队备选模型的剪枝策略。采用准确率下降程度(acc_degradation)来衡量架构的优劣,定义如下:
其中,prev_GM是上一次迭代的得到的全局模型,PMi为当前的候选模型,PM_iacc为聚合准确率,Res()获得模型对应的资源消耗,Acc()获得模型实际测量的准确率。
基于准确率下降程度(acc_degradation),对相对于其他模型架构表现最差的部分模型,提前剪枝停止当前训练测试任务。例如,准确率下降程度为20%,即当前模型准确率相对于上一次迭代得到的全局模型准确率下降程度达到20%,则提前剪枝停止当前训练测试任务。
此外,控制终端执行短期训练测试任务的是云端的决策与聚合模块,该模块指导动态训练策略的依据是由终端上传至云端的测试数据量和推断测试指标,例如迭代次数、终端设备数据量、得到的模型架构准确率都是由终端上传的测试数据量和推断测试指标直接或间接求解获得。因此,在实施例中,所述决策与聚合模块在控制终端设备进行短期训练测试任务时,所述终端设备将收集推断测试指标,所述推断测试指标反馈到所述决策与聚合模块,指导所述动态训练策略的执行。
步骤S104:根据所述所有终端设备组的融合模型架构的准确率,得到系统的优选模型架构。
步骤S105:所述系统的优选模型架构满足所述资源限制条件,则根据模型实际资源消耗,更新所述资源限制条件,进行新一轮的所述优选模型架构搜索的全局迭代任务;所述优选模型架构不满足所述资源限制条件,则停止系统迭代;针对每一轮得到的所述优选模型架构,进行长期训练,以得到相应资源限制下的最优模型架构。
本实施例中,步骤S105可具体包括以下子步骤:
子步骤S1051:所述系统的优选模型架构满足所述资源限制条件,则根据模型实际资源消耗,更新所述资源限制条件,进行新一轮的所述优选模型架构搜索的全局迭代任务;所述优选模型架构不满足所述资源限制条件,则停止系统迭代。
子步骤S1052:针对每一轮迭代得到的所述优选模型架构,进行长期训练,以得到相应资源限制下的最优模型架构。
示例的,参考图5,图5是本申请的一实施例提出的深度神经网络架构的自适应搜索方法的全局迭代流程图。子步骤S1051中,对于完成系统短期训练任务的优选模型架构,如果满足资源限制条件,则该优选模型架构可进一步优化,进入新一轮的全局迭代任务。为达到进一步优化模型架构的目的,网络架构搜索模块会更新资源限制条件为逐渐收紧的资源约束,基于当前更新的收紧资源约束,网络架构搜索模块进行结构化剪枝搜索到若干模型架构,进行新一轮全局迭代任务,直到多次迭代后的优选模型架构不满足更新的收紧资源约束为止。如果不满足资源限制,则该优选模型架构无更优解,停止迭代任务。
完成短期训练的优选模型架构,进入子步骤S1052,对每一轮迭代得到的优选模型架构,进行充分的长期训练,得到对应资源限制条件下的最优模型架构。
基于同一发明构思,本申请另一实施例提供一种深度神经网络架构的自适应搜索系统,该系统运行时,实现如本申请上述任一实施例所述的方法中的步骤。
本发明实施例包括以下优点:在本发明中,终端设备通过上传的终端设备数据量、数据分布和终端设备工作状态至终端调度模块用于终端设备分组,有效保护终端设备数据隐私;对终端设备进行分组,执行模型架构短期训练任务,提高了终端设备参与效率;对模型架构进行结构化剪枝搜索,实现复杂模型架构从云端分载到终端执行深度学习训练测试任务;动态训练策略显著降低模型架构在终端设备和云端模块的计算开销和通信开销。因此本发明在保护终端设备数据隐私的前提下,显著降低计算开销和通信开销,实现深度学习从云端分载到终端,提高了终端参与效率。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种深度神经网络架构的自适应搜索方法和系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种深度神经网络架构的自适应搜索方法,所述方法应用于深度学习中,其特征在于,所述方法包括云端模块、多个终端设备;所述云端模块包括:终端调度模块、网络架构搜索模块、决策与聚合模块;
所述终端调度模块对所述终端设备进行分组,以得到不同的终端设备组;
所述网络架构搜索模块输入一个预训练的复杂模型架构,基于资源限制条件,通过结构化剪枝搜索到若干第一模型架构;
所述决策与聚合模块将搜索到的第一模型架构发送至对应的终端设备组;同一终端设备组的不同终端设备接收到的第一模型架构相同;
所述决策与聚合模块基于动态训练策略,控制所有终端设备,对接收到的第一模型架构执行短期训练测试任务,完成训练任务后,得到所有终端设备相对应的第二模型架构;
所述决策与聚合模块将聚合同一终端设备组的不同终端设备的第二模型架构,得到所有终端设备组的不同融合模型架构;
根据所述所有终端设备组的融合模型架构的准确率,得到系统的优选模型架构;
所述系统的优选模型架构满足所述资源限制条件,则根据模型实际资源消耗,更新所述资源限制条件,进行新一轮的所述优选模型架构搜索的全局迭代任务;
所述优选模型架构不满足所述资源限制条件,则停止系统迭代;
针对每一轮得到的所述优选模型架构,进行长期训练,以得到相应资源限制下的最优模型架构。
2.根据权利要求1所述的方法,其特征在于,所述终端调度模块对所述终端设备进行分组,以得到不同的终端设备组,还包括:
所述终端调度模块基于终端设备属性,对所述终端设备进行分组,以得到不同的终端设备组;
其中,所述终端设备属性包括所述终端设备的数据量、所述终端设备的数据分布、所述终端设备的工作状态。
3.根据权利要求2所述的方法,其特征在于,所述终端调度模块基于终端设备属性,对所述终端设备进行分组,以得到不同的终端设备组,包括:
所述终端设备统计所述终端设备属性;
所述终端设备将所述终端设备属性上传至所述终端调度模块;
所述终端调度模块根据上传的所述终端设备属性,对终端设备进行分组,每个终端设备分组数据总量保持均衡、每个终端设备分组的数据分布均衡。
4.根据权利要求1所述的方法,其特征在于,所述网络架构搜索模块输入一个预训练的复杂模型架构,基于资源限制条件,通过结构化剪枝搜索到若干第一模型架构,还包括:
所述网络架构搜索模块是迭代式的,在所述全局迭代任务中将资源限制条件分解为若干个逐渐收紧的资源约束,基于所述资源约束进行结构化剪枝搜索。
5.根据权利要求1所述的方法,其特征在于,所述决策与聚合模块基于动态训练策略,控制所有终端设备,对接收到的第一模型架构执行短期训练测试任务,完成训练任务后,得到所有终端设备相对应的第二模型架构,包括:
所述决策与聚合模块基于动态训练策略,控制所有终端设备,对接收到的第一模型架构执行短期训练测试任务;
所述动态训练策略包括动态的云端轮数设置和提前剪枝掉队备选模型;
所述短期训练测试任务完成后,获得所有终端设备相对应的第二模型架构;
其中,所述云端轮数为所述决策与聚合模块聚合同一终端设备组的不同终端设备的第二模型架构的次数;
其中,所述动态云端轮数设置包括所述第二模型架构在所述决策与聚合模块聚合的次数随着所述优选模型架构搜索的全局迭代次数动态变化;所述提前剪枝掉队备选模型包括所述第二模型架构在预设云端轮数后,相对于其他模型架构表现最差的部分模型,提前剪枝停止当前短期训练测试任务。
6.根据权利要求1所述的方法,其特征在于,所述决策与聚合模块将聚合同一终端设备组的不同终端设备的第二模型架构,得到所有终端设备组的不同融合模型架构,包括:
所述决策与聚合模块聚合同一终端设备组的不同终端设备的第二模型架构,以得到所有终端设备组的不同融合模型架构;
所述决策与聚合模块中的聚合模块包括模型聚合单元和指标聚合单元;
其中,所述模型聚合单元包括聚合同一终端设备组的不同终端设备的第二模型架构,得到本轮所述终端设备组的融合模型架构;所述指标聚合单元包括每轮短期训练测试完成后,指标聚合单元得到聚合准确率,指导提前剪枝掉队备选模型的剪枝策略。
7.根据权利要求1所述的方法,其特征在于,所述决策与聚合模块基于动态训练策略,控制所有终端设备组,对各自相对应的第一模型架构执行短期训练测试任务,以得到第二模型架构;所述决策与聚合模块聚合同一终端设备组的不同终端设备的第二模型架构,以得到所有终端设备组的融合模型架构,还包括:
所述决策与聚合模块在控制终端设备进行短期训练测试任务时,所述终端设备将收集推断测试指标,所述推断测试指标反馈到所述决策与聚合模块,指导所述动态训练策略的执行。
8.一种深度神经网络架构的自适应搜索系统,其特征在于,所述系统运行时,实现如权利要求1至7任一所述的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010739741.7A CN112019510B (zh) | 2020-07-28 | 2020-07-28 | 一种深度神经网络架构的自适应搜索方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010739741.7A CN112019510B (zh) | 2020-07-28 | 2020-07-28 | 一种深度神经网络架构的自适应搜索方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112019510A true CN112019510A (zh) | 2020-12-01 |
CN112019510B CN112019510B (zh) | 2021-07-06 |
Family
ID=73500039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010739741.7A Active CN112019510B (zh) | 2020-07-28 | 2020-07-28 | 一种深度神经网络架构的自适应搜索方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112019510B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113962391A (zh) * | 2021-12-22 | 2022-01-21 | 鹏城实验室 | 神经网络架构搜索方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299142A (zh) * | 2018-11-14 | 2019-02-01 | 中山大学 | 一种基于进化算法的卷积神经网络结构搜索方法及系统 |
US20190251441A1 (en) * | 2018-02-13 | 2019-08-15 | Adobe Systems Incorporated | Reducing architectural complexity of convolutional neural networks via channel pruning |
CN111079921A (zh) * | 2019-11-29 | 2020-04-28 | 杭州电子科技大学舟山同博海洋电子信息研究院有限公司 | 一种基于异构分布式系统的高效神经网络训练调度方法 |
CN111160519A (zh) * | 2019-12-02 | 2020-05-15 | 上海交通大学 | 基于结构冗余检测的卷积神经网络模型剪枝方法 |
CN111342984A (zh) * | 2018-12-18 | 2020-06-26 | 电信科学技术研究院有限公司 | 一种信息处理方法、系统及装置 |
CN111382868A (zh) * | 2020-02-21 | 2020-07-07 | 华为技术有限公司 | 神经网络结构搜索方法和神经网络结构搜索装置 |
CN111444019A (zh) * | 2020-03-31 | 2020-07-24 | 中国科学院自动化研究所 | 云端协同的深度学习模型分布式训练方法及系统 |
-
2020
- 2020-07-28 CN CN202010739741.7A patent/CN112019510B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190251441A1 (en) * | 2018-02-13 | 2019-08-15 | Adobe Systems Incorporated | Reducing architectural complexity of convolutional neural networks via channel pruning |
CN109299142A (zh) * | 2018-11-14 | 2019-02-01 | 中山大学 | 一种基于进化算法的卷积神经网络结构搜索方法及系统 |
CN111342984A (zh) * | 2018-12-18 | 2020-06-26 | 电信科学技术研究院有限公司 | 一种信息处理方法、系统及装置 |
CN111079921A (zh) * | 2019-11-29 | 2020-04-28 | 杭州电子科技大学舟山同博海洋电子信息研究院有限公司 | 一种基于异构分布式系统的高效神经网络训练调度方法 |
CN111160519A (zh) * | 2019-12-02 | 2020-05-15 | 上海交通大学 | 基于结构冗余检测的卷积神经网络模型剪枝方法 |
CN111382868A (zh) * | 2020-02-21 | 2020-07-07 | 华为技术有限公司 | 神经网络结构搜索方法和神经网络结构搜索装置 |
CN111444019A (zh) * | 2020-03-31 | 2020-07-24 | 中国科学院自动化研究所 | 云端协同的深度学习模型分布式训练方法及系统 |
Non-Patent Citations (1)
Title |
---|
李江昀等: "深度神经网络模型压缩综述", 《工程科学学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113962391A (zh) * | 2021-12-22 | 2022-01-21 | 鹏城实验室 | 神经网络架构搜索方法、装置、设备及存储介质 |
CN113962391B (zh) * | 2021-12-22 | 2022-03-01 | 鹏城实验室 | 神经网络架构搜索方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112019510B (zh) | 2021-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11829874B2 (en) | Neural architecture search | |
Wang et al. | Gan slimming: All-in-one gan compression by a unified optimization framework | |
CN110366734B (zh) | 优化神经网络架构 | |
WO2019018375A1 (en) | NEURONAL ARCHITECTURE RESEARCH FOR CONVOLUTION NEURAL NETWORKS | |
CN111723910A (zh) | 构建多任务学习模型的方法、装置、电子设备及存储介质 | |
CN103761254A (zh) | 多领域服务主题匹配推荐方法 | |
CN105550746A (zh) | 机器学习模型的训练方法和训练装置 | |
CN112990423A (zh) | 人工智能ai模型生成方法、系统及设备 | |
CA3055506A1 (en) | Payment method prediction method, payment method prediction apparatus, and computer-readable media | |
CN113254840B (zh) | 人工智能应用服务推送方法、推送平台及终端设备 | |
CN107577736A (zh) | 一种基于bp神经网络的文件推荐方法及系统 | |
CN106803092B (zh) | 一种标准问题数据的确定方法及装置 | |
CN112019510B (zh) | 一种深度神经网络架构的自适应搜索方法和系统 | |
CN114417174B (zh) | 内容推荐方法、装置、设备及计算机存储介质 | |
Arouj et al. | Towards energy-aware federated learning on battery-powered clients | |
CN114580280A (zh) | 模型量化方法、装置、设备、计算机程序及存储介质 | |
CN114912030A (zh) | 权益模型训练方法、推荐方法及电子终端和计算机介质 | |
CN114511083A (zh) | 一种模型的训练方法、装置、存储介质及电子装置 | |
Gong et al. | Evolutionary computation in China: A literature survey | |
CN112231117B (zh) | 基于动态向量混合遗传算法的云机器人服务选择方法及系统 | |
CN111510473A (zh) | 访问请求处理方法、装置、电子设备和计算机可读介质 | |
CN111105127A (zh) | 一种基于数据驱动的模块化产品设计评价方法 | |
US20220261683A1 (en) | Constraint sampling reinforcement learning for recommendation systems | |
CN115907056A (zh) | 预测模型训练方法、信息预测方法及相应装置 | |
CN114723469A (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 |