利索能及
我要发布
收藏
专利号: 2020114414027
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-07-29
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于快速网络架构搜索的跨任务图像分类方法,具体步骤如下:步骤1:获取用于神经网络架构搜索的多任务数据集,将数据集划分为含有训练数据的Dmtrain和含有测试数据的Dmtest,无论是Dmtrain还是Dmtest,从数据集随机采样图片组成任务集,每个任务可以看作一个任务样本实例,样本内包含N个类别,每类中有K0个训练样本,K1个测试样本,例如第一次抽的任务内是{1,3,4,6,2},下一次抽取的任务内是{9,5,8,10,

12},将N×K0个样本组成的任务训练集的集合称为支持集 N×K1个样本组成的任务测试集的集合称为查询集 Dmtrain中的单个支持集 将作为个体在单个任务内训练的训练集,Dmtrain中的单个支持集 则作为个体在单个任务内进行测试的测试集,具体数据集情况如图2所示;

步骤2:构建一个包含候选网络权重的超级网络和一个由候选网络结构编码而成的结构种群,超级网络由基本单元块堆叠而成,单元块结构如图3所示,单元块候选操作有3×3分离卷积、5×5分离卷积、7×7分离卷积、Xception结构。单元块内部则根据搜索空间设置相应的候选操作,每个单元块只选择一种候选操作,使得整个卷积神经网络会随机组成一种网络结构,在超级网络每一步优化过程中,有且仅有一个子网权重被更新,超级网络的权重更新公式如下:

Γ(A)是先验分布,采用均匀采样,W表示超级网络权重,Wa表示a结构的子网权重,子网的权重更新公式如下:

将可能生成的网络结构进行编码形成个体,此时所有个体的集合即初始结构种群;

步骤3:在多任务数据集上进行跨任务搜索,搜索结果包含元超级网络和元结构种群,搜索过程包含两个阶段,权重参数更新阶段和结构更新阶段,这两个阶段交替进行,总体搜索过程如图4所示;

步骤3‑1:权重参数更新阶段流程如图5所示,超级网络中每个单元随机选择一个候选操作,组成被优化的网络个体 其他候选操作组成的个体不会参与优化,个体权重参数Wi,超级网络权重参数W,基于步骤1,得到支持集 查询集 在个体 的训练过程中,X表示为输入数据(图片)。此时网络的预测为 在第j个任务上的损失可以表示为其中 是评估指标(不同的任务 可能不一样),个体网络对每个任务都会经过m次学习,其中m是一个较小的整数,个体 在第j个任务上按照式(1.1)更新权重:当所有个体在所有任务训练完毕后,计算所有子网络 在第m步中获得的差向量,超级网络的权重参数按照式(1.2)更新,得到适应多任务的超级网络:参数∈每轮迭代后发生衰减,衰减公式如下,其中n表示当前训练次数,N表示总训练次数;

步骤3‑2:在权重参数更新的同时,我们使用进化算法更新结构参数A,结构更新过程如图6所示,基于进化算法优化网络结构包括测试、筛选、交叉和变异和构建新种群,优化过程如图7所示,当权重参数经过几轮更新之后,我们对种群中的每个个体进行性能测试,从而保留下部分性能较好的个体用于交叉和变异,从Dmtest中随机抽取一批任务 然后让种群中的每个个体对这批任务分别进行M次更新。为了筛选出能快速收敛的个体,这里M是一个比较小的数(例如10次epoch),然后计算每个个体在这批任务上的性能。为了加快测试速度,使用随机森林模型预测种群中每个个体的正确率;

筛选:在经过测试后,每个个体都会有一个性能评分,将评分高的个体保留下来,评分低的个体则被剔除出种群中;

交叉和变异:保留下来的个体有一定概率进行交叉和变异操作,将个体的结构编码视为个体的基因,编码中的单元视为染色体,交叉操作是在保留的种群中选两个个体,两个个体的染色体某一相同位置处被切断,前后两串分别交叉组合形成两个新的染色体,变异操作则是被保留的个体在进行复制时某一部分的染色体有非常小的概率可能会突变为其他的染色体(即复制完后可能跟原来个体一模一样,也可能某一些染色体不一样);

构建新种群:在经过交叉和变异后,继续随机生成一批新的网络结构,补充到种群中维持种群数量不变,跳转到步骤3‑1;

步骤3‑2和步骤3‑3循环执行直至达到预设循环次数,最终得到对多任务具备良好适应性的超级网络和网络架构种群;

步骤4:在面对新的任务时,直接用在元数据集上搜索得到的元种群作为新任务的初始化种群,然后再基于连续进化算法对元种群进行快速的更新,得到在新任务上最优的网络结构,搜索流程如图8所示,与步骤3的操作不同的是,迁移时的种群不再随机产生新个体,而是仅有结构种群中的个体进行交叉变异得到新个体,并且每次进化之后种群的数量都会减少一半,进化到最后剩下的个体即为最优网络。

2.根据权利要求1所述的方法,其特征在于,在步骤3‑1中,引入训练并行化,如图9所示,提前将训练任务池分割成K份,设置进程数也为K,然后每个进程在获取属于当前进程的任务和相同的网络结构 后,对网络进行少量更新(每个进程的网络参数在更新时不会做跨进程梯度交流),在每个进程上的网络都学习完自身任务后,收集各个进程上网络最后一步更新的梯度,然后对梯度进行平均并分发给各个进程,用于超级网络参数更新。

3.根据权利要求1所述的方法,其特征在于,所述的方法在步骤3‑2中,引入测试并行化,如图10所示,类似训练并行化,将测试任务池平均分给K个进程,每个进程上的网络参数更新互不影响,最后仅将每个进程上获取的适应度值做平均,用作某个结构的个体适应度均值。