APP下载

基于改进的最大均值差异算法的深度迁移适配网络

2020-11-30郑宗生胡晨雨姜晓轶

计算机应用 2020年11期
关键词:源域台风卷积

郑宗生,胡晨雨*,姜晓轶

(1.上海海洋大学信息学院,上海 201306;2.国家海洋信息中心,天津 300171)

(∗通信作者电子邮箱1105814265@qq.com)

0 引言

迁移学习作为一种新的机器学习框架,放宽了训练和测试数据必须服从同概率分布的前提条件,旨在将源环境中学到的知识运用到相关环境,以辅助新任务的完成,在一定程度上提高了机器学习模型的泛化能力[1]。如今,迁移学习在计算机视觉、文本分类、自然语言处理等领域均有广泛应用[2-4]。目前国内外学者对迁移学习算法的研究主要致力于:在半监督迁移学习[5]中,最大限度地利用源域中有标注样本,解决目标域中少量未标注样本的问题,以减少数据标注成本。如Wang 等[6]提出基于知识迁移的算法,通过构建两个域中潜在的同构特征空间来学习域不变模型。Khan等[7]通过计算两域概率密度比值给源域样本赋权重,筛选源域样本辅助目标域训练。大多数迁移学习算法均是建立在两域样本的特征空间和边缘概率分布差异较小的前提下,当源域和目标域样本间的域差异较大时,如何利用迁移学习算法在小样本目标域上构建出良好的模型成为研究的重点。

随着深度卷积神经网络(Deep Convolutional Neural Network,DCNN)在自动分析和图像特征识别方面不断取得卓越成果[8-10],迁移学习广泛地与卷积神经网络相结合,基于参数的迁移学习算法通过共享模型结构或先验参数以实现目标任务。近期研究显示,DCNN 通过处理样本间变量的解释性因素,并根据特征与不变因素的关联程度将其逐层提取,从而能够学习到更多可迁移的特征[11]。Yosinski 等[12]通过逐层分析AlexNet网络的特征迁移能力,得出影响网络迁移能力的两个关键因素:1)卷积层间脆弱的互适应性;2)高层全连接层中神经元的特化性。针对全连接层的特化性,Long 等[13]提出深度适配网络(Deep Adaptation Network,DAN),保留AlexNet卷积层间脆弱的互适应性,对全连接层进行逐层适配从而进一步减小源域和目标域样本间的差异,提高网络迁移能力。AlexNet 网络中互适应层数较少,模型迁移能力不受影响,然而深度卷积神经网络中的互适应卷积层数较多,在两域样本差异[11]较大的情况下,保留层间的互适应性,势必会降低迁移模型在小样本目标域上的性能。

针对跨领域建模问题,域差异是基于参数迁移算法的主要障碍,领域适配[14]集中解决当样本取自不同但相关的域所存在的概率分布差异问题。最大均值差异(Maximum Mean Discrepancy,MMD)[15]作为一种度量概率分布差异的准则,是基于特征的迁移算法常用的适配方法。它利用核学习方法将样本投射到高维的再生核希尔伯特空间(Reproducing Kernel Hilbert Space,RKHS)中,通过对样本嵌入到RKHS 中分布的无偏估计,度量两域样本在RKHS 中的分布距离,显式地减少两域的边缘概率分布,使其在RKHS 中的分布更加相似。如Pan 等[16]提出了最大均值差异嵌入(Maximum Mean Discrepancy Embedding,MMDE)的核学习方法,在最小化MMD 距离的同时最大化核嵌入方差,通过核主成分分析(Kernel Principal Component Analysis,KPCA)得到数据的领域不变嵌入特征。Long 等[17]提出基于联合MMD 的适配正则化框架,重点解决条件分布概率的适配问题,并通过RKHS 中的表出定理给出模型的凸优化解。在DAN 中,Long等[17]将多核MMD作为多层适配的指标,通过显式地减小两域在全连接层间的分布差异,增强特征迁移能力。传统MMD算法对样本计算核嵌入无偏估计的时间复杂度为O(n2),然而深度卷积网络中参数众多、当源域和目标域样本在数量级和维度上较庞大时,传统MMD算法消耗较多计算时间,占用大量存储空间,造成资源浪费。

台风是一种破坏力极强的灾害性天气,对台风的强度等级预测一直是国内外研究的热点。传统的数据预报模型、Dvorak分析法计算过程复杂且需要大量专业知识,主观性强,增加了分析误差。对于复杂的气象云图,浅层卷积网络特征提取不充分,分类效果不佳。深层卷积网络开发难度大,在台风云图数据样本小的情况下,过拟合现象严重。针对上述问题,郑宗生等[18]引入了迁移学习思想,通过迁移模型参数微调再训练的方法,构建了适用于台风小样本数据集的迁移预报模型T-typCNNs。以T-typCNNs 模型为基础,本文提出一种基于模型和特征迁移算法相结合的多层卷积适配(Multi-Convolution Adaptation,MCA)深度迁移框架。该框架利用L-MMD 度量算法对T-typCNNs 中存在的大量互适应卷积层(即微调自适应层)进行逐层领域适配,减小两域样本的分布差异和网络层间脆弱的互适应性对T-typCNNs 模型迁移能力的影响。此外,对于台风和ImageNet 样本在RKHS 中的核平均嵌入方式,L-MMD 算法采用线性的无偏估计,在样本数量较多、网络层数较深的情况下,降低计算的时间复杂度。实验证明,对于监督迁移学习,MCA 深度迁移框架中基于L-MMD正则项的CE-MMD 损失函数在T-typCNNs 模型上的收敛速度更快,L-MMD算法较其他度量算法的分类精度更高。

1 MCA深度迁移框架设计

T-typCNNs 模型[18]是在ResNet50 网络基础上构建的台风预报迁移模型。该模型迁移了ResNet50 整体卷积层结构,并根据适配出的最佳迁移层数,冻结前110 层所对应的权重参数,剩余层参数在台风数据集上作自适应微调,最后自定义一个全连接层和Softmax分类层。

在T-typCNNs 模型基础上,本文提出的MCA 深度迁移框架对自适应卷积层参数的更新规则增加了约束,具体结构如图1所示。图1中:C1~Cm是T-typCNNs中冻结的部分卷积层,Cm+1~Clast是剩余的网络自适应层。将源域样本(ImageNet 子数据集)和目标域样本分别输入到ResNet50 网络(冻结整体网络层参数不更新)和T-typCNNs 模型中,分别提取第Cm+1~Clast层的特征图表示,并将两域在每个自适应卷积层间的最大均值差异作为参数更新的规则,构建出基于T-typCNNs模型的MCA深度迁移框架。

图1 MCA深度迁移框架Fig.1 Deep transfer framework of MCA

2 基本理论

2.1 传统T-typCNNs模型损失函数

T-typCNNs 在利用残差δ 进行反向传播时,对自适应层参数进行微调,使得损失值在迭代中不断减小,直至模型趋于收敛。T-typCNNs模型的损失函数定义为:

其中:L(·)是交叉熵函数;nt是目标域样本数是网络整体参数是样本的原始输入是样本对应的标签;θ(·)代表T-typCNNs 模型,对于网络中的自适应卷积层,每层l 通过卷积操作和激活函数学习一组非线性映射其中分别是第l 层的权重和偏置,是样本在第l 层的特征图表示。在反向传播过程中,交叉熵函数仅利用标签维度的残差δ 对网络层参数进行更新,使得模型收敛速度慢且分类精度不高。

2.2 度量算法MMD

在领域适配学习中,源域Ds样本定义为{x1,x2,…,xns}并服从分布p,ns是源域样本数。目标域Dt中样本定义为{y1,y2,…,ynt}并服从分布q,nt是目标域样本数。函数φ:χ →Hk将样本映射到高维RKHS,其中χ是样本的特征空间。不同域在RKHS 中的分布情况——核平均嵌入(kernel mean embedding)可以有效匹配。对于核平均嵌入的无偏估计,通过计算样本映射到RKHS 中的期望值得到,其中φ(xi)是样本xi通过高维函数映射到RKHS 的表示形式。

最大均值差异(MMD)旨在通过高维映射函数找到两个域样本在RHKS中期望差值的上确界。即:

RKHS 是一个完备的高维内积空间,φ(xi)和φ(yi)的点积运算可以用核函数k(xi,yi)计算,一般选择径向基函数(Radial Basic Function,RBF)中表示无穷维的高斯核:

其中:σ是高斯核的带宽。式(1)可以写成:

从式(3)可以看出,当p=q 时,显然MMD2(p,q)=0;当p ≠q时,寻找使得MMD2(p,q)最小化的映射函数k(·),使得两域样本在RKHS 中的概率分布在φ(·)表示下更为相似,减少在RKHS 中的分布差异。两域样本在数量和维度上都很庞大,对样本嵌入到RKHS 进行无偏估计时,传统MMD 算法的时间复杂度为O(n2),会消耗较多计算时间,占用大量存储空间,造成资源浪费。

针对上述问题,在Long 等[17]提出的DAN 中,对样本嵌入到RKHS 中的无偏估计进行改进。定义一个四元组该四元组分别包括两个源域样本和目标域样本,四元组上计算出的MMD为:

以zi为单位,两域总体样本间的MMD定义为:

从式(5)可以看出,DAN 中计算核平均嵌入的时间复杂度为O(n),在保证领域间样本充分适配的同时,减轻了计算负担;在不影响模型性能的前提下,缩短了训练时间。然而,DAN 中的线性嵌入法是基于源域和目标域数据拥有相同的特征空间、细微的概率分布差异、样本数量级相当的前提下,然而当域差异(domain discrepancy)较大时,此改进的核平均嵌入算法无法充分适配两域样本和显式地减小域分布差异。

3 改进算法

3.1 改进的领域适配算法L-MMD

T-typCNNs冻结了部分卷积层,即在误差反向传播过程中此部分参数不更新,仅需要考虑自适应微调的卷积层参数变化。源域样本和目标域样本在第l 卷积层的特征图表示为卷积得到的特征图依旧服从原始输入的概率分布。为了方便叙述,以每个mini-batch 为单位,分别表示源域和目标域中一个batchsize的样本数量,即且ns≫nt。分别表示源域和目标域样本在第l卷积层的特征图表示,即代表网络中自适应层的第一个卷积层,Clast代表最后一个自适应卷积层,即T-typCNNs的瓶颈层。

T-typCNNs 在误差反向传播过程中以batchsize 为单位更新权重参数,样本的第i 个batchsize 在第l 卷积层中呈元组形式:

L-MMD 算法利用核函数将样本嵌入到RKHS 空间,并对样本分布进行无偏估计,将时间复杂度降低到O(n)。源域和目标域总样本MMD在第l卷积层的无偏估计可以表示为:

3.2 基于L-MMD算法的CE-MMD损失函数及推导

定义2针对2.2.1节中传统交叉熵函数存在的不足,提出一种新的损失函数CE-MMD,即在反向传播过程中添加L-MMD正则项,将残差δ和两个域样本间的分布差异共同作为更新网络参数的指标,在迭代训练中CE-MMD 损失值不断减小的同时模型趋于收敛。改进后的CE-MMD损失函数定义为:

其中λ是惩罚因子。

根据最大均值差异嵌入(Maximum Mean Discrepancy Embedding,MMDE)[19],可以将改进后的简化成:

其中Kss、Ktt和Kst(Kts)分别是源域、目标域和跨域的核矩阵。核矩阵KσL 是维度为(ns+nt)×(ns+nt)的半正定矩阵。

由于L-MMD核嵌入算法的时间复杂度为O(n),导致核矩阵K 中出现大量的0,稀疏性降低了计算的复杂度,但同时容易出现奇异矩阵,使得K的逆矩阵无法计算,最终导致误差反向传播的过程中网络参数无法更新。为了减少此现象发生,将K 加上一个同样维度的单位矩阵I,最终核矩阵调整为K=

证明 下面推导CE-MMD损失函数在反向传播中更新参数的过程,以一个mini-batch 在T-typCNNs 中的随机梯度下降(Stochastic Gradient Descent,SGD)为例:

其中:f 是T-typCNNs 的激活函数ReLU,fl(x)=max(0,x),所以当

4 实验与分析

本文实验环境为Windows 10 操作系统,CPU intel Xeon X5650 2.67 GHz,内存为16 GB,实验基于Tensorflow 的Keras框架。实验主要包括3个部分:

1)为证明所提出的MCA 深度迁移框架对台风等级分类的实用性,将基于MCA 框架的T-typCNNs 模型性能与原始T-typCNNs模型作对比;

2)对CE-MMD 损失函数中的参数(惩罚因子λ 和单位矩阵系数α)取值作探讨,分析参数灵敏度对模型性能的影响;

3)为证明L-MMD 算法的可行性,将L-MMD 算法与应用广泛的度量算法Bregman 差异[20]和KL(Kullback-Leibler)散度[21]作对比。

4.1 数据集构建

本文所构建的目标域样本由日本国立情报学研究所(National Institute of Informatics,NII)提 供,取 自“GMS-5”“GOES-9”“MTSAT-1R/-2”和“Himawari-8”多个气象卫星在西北太平洋上空拍摄的10 000多景高分辨率台风云图。依照国际台风分类标准,根据台风中心风速将红外云图分为5 类:热带低压、热带风暴、强热带风暴、台风和强台风,如表1所示。

表1 台风等级标准 单位:m·s-1Tab.1 Typhoon grade standards unit:m·s-1

台风云图数据集采用5 类标签标记,每类图像2 500 张,总样本12 500 张。其中10 000 张为训练集,占20%;2 500 张为测试集,部分云图样本如图2所示。由于T-typCNNs模型输入为224×224 分辨率的三通道图像,本文首先对气象云图重采样,然后将单通道灰度图像扩增成RGB 三通道。为减少两域样本数量及内容的差异引发的过拟合问题,对图像进行增强和归一化处理,通过随机旋转、缩放、偏移和翻转等进行数据扩增。

图2 台风数据集部分样本Fig.2 Samples of typhoon datasets

Yosinski 等[12]依据类别标签的语义信息,将ImageNet 数据集中1 000 个类别的100 多万张彩色图像平均划分成两个子数据集,即449 类的自然图片(ImageNet-449)和551 类的人造图片(ImageNet-551)。由于MCA 深度迁移框架以TtypCNNs 模型为基础,该模型迁移的ResNet50 网络是在ImageNet 数据集上建立的,所以本文在ImageNet-449 和ImageNet-551 子数据集中每类随机抽取50 张图片,最终分别构建了22 450和27 550个源域样本。

4.2 基于MCA深度迁移框架的台风等级分类

实验将台风数据集的批数量batchsize 设置为64,源域数据集ImageNet-499 和ImageNet-551 的批数量batchsize 分别 设置为143 和176,以确保两域样本的遍历次数相同。采用随机梯度下降法,微调自适应卷积层的超参数设置:学习率为1E -4,学习动量为0.9。CE-MMD 函数中带宽参数σ 采取中值规则、惩罚因子λ=1.5、单位矩阵I 的系数α=1。将基于MCA 深度迁移框架的模型与T-typCNNs 对比,在台风数据集上迭代200次后的测试精度如图3所示。

图3 MCA深度迁移模型与T-typCNNs测试精度对比Fig.3 Test accuracy comparison of MCA deep transfer model and T-typCNNs

从图3 可以看出,基于MCA 深度迁移框架的模型在源域ImageNet-449 或ImageNet-551 上分别在迭代32 次和41 次后均趋于稳定,测试精度达到93.68%和92.73%,比T-typCNNs模型平均提高了2.55 个百分点,且收敛速度更快。分析原因,T-typCNNs 模型在冻结前110 层后,剩余卷积层参数利用残差在台风数据集上作自适应调整。然而该模型迁移的是ResNet50 整体网络结构,剩余卷积层间存在脆弱的互适应性影响了迁移效果。针对此问题,MCA 深度迁移框架中CEMMD 损失函数在残差反向传播的过程中,添加了L-MMD 正则项,在减少两域分布差异的同时提高了T-typCNNs 模型在台风数据集上的适配程度。表2将基于MCA深度迁移框架分别与T-typCNNs、文献[18]中自建的浅层卷积神经网络CNN_8、InceptionV3、VGG16 模型在冻结最佳迁移层参数后的训练和测试精度进行对比。

表2 MCA深度迁移网络模型和其他模型的性能对比单位:%Tab.2 Model performance comparison of MCA deep transfer network models and other models unit:%

4.2.1 参数灵敏度分析

CE-MMD 损失函数中存在两个参数,分别是惩罚因子λ和单位矩阵系数α。实验将研究λ 和α 的取值对模型性能的影响。以ImageNet-449 源域样本为例,图4(a)刻画了当λ ∈{0.5,0.7,1,1.3,1.5,1.7,2,2.5,3}对模型分类精度的影响;图4(b)展示了当α ∈{0.5,1,1.5,2,2.5}时,模型的准确率变化,其余各训练参数不变。

由图4(a)可见,CE-MMD 函数对惩罚因子λ 灵敏度较高,当λ=1.5 时,模型取得最佳分类精度93.22%,λ 过小或者过大,精度均有所下降,波动振幅在3.1 个百分点。由于惩罚因子决定了两域的融合程度,如果λ 太小,L-MMD 正则项没有约束作用,导致适配效果不佳;如果λ 太大,两域的样本点在RKHS 中的距离太近,使得模型学习到了退化的特征表示[20],一定程度上影响模型性能。从图4(b)可以看出,当λ 取固定值后,单位矩阵系数α对模型精度的灵敏度不高,波动振幅在0.1个百分点。

图4 参数λ和α的灵敏度分析Fig.4 Sensitivity analysis of parameters λand α

4.2.2 L-MMD度量算法及对比实验

为了验证L-MMD 算法的可行性,将其他应用广泛的度量算法Breman 差异、KL 散度作为交叉熵损失函数的添加正则项,与CE-MMD函数进行对比,其他训练参数不变。

由图5 可见,模型使用L-MMD 作为正则项的CE-MMD 损失函数,在训练时收敛速度最快且获得最小损失值0.047,而Bregman 差异和KL 散度作为度量算法时训练出的模型性能均不佳。对照表3,使用L-MMD 算法的模型训练精度高达93.22%,训练精度均比其余算法提高大约11.76 个百分点和8.05个百分点。分析原因,虽然Bregman 差异和KL 散度都是经典的度量方法,但计算的是一种信息损失/增益,不适用于在线学习模型。在一个批数量batchsize中的样本数量有限的前提下,利用Bregman 差异和KL 散度度量并不准确。L-MMD算法适用于处理服从某种概率分布下的数据分布差异,能直观地反映样本总体的分布信息和全局结构信息,计算简单有效。在获得更高模型精度的同时,L-MMD 算法单次迭代的训练时间比传统MMD 算法节省约89 s,充分证明了该算法的可行性。

图5 不同度量算法的模型损失值对比Fig.5 Comparison of model loss values of different measurement algorithms

表3 不同度量算法模型的性能对比Tab.3 Performance comparison of different measurement algorithms

5 结语

本文提出了一种MCA 深度迁移框架,迁移DCNN 整体网络结构并冻结部分卷积层参数不更新,剩余自适应层参数依据源域和目标域样本的分布差异进行多层领域适配,缓解了卷积层间脆弱的互适应性对模型迁移性能的影响,并成功提高了气象领域小样本台风数据等级分类模型的性能。对于MCA深度迁移框架,有以下两点总结:

1)基于L-MMD 算法的CE-MMD 损失函数:L-MMD 算法是度量概率分布差异的准则,CE-MMD 函数将L-MMD 算法作为正则项添加到交叉熵损失函数中,在残差反向传播的过程中使得模型收敛速度更快,精度更高。与传统的MMD算法时间复杂度O(n2)相比,L-MMD 将时间复杂度减小到了O(n)。基于MCA深度迁移框架的T-typCNNs台风等级分类模型的训练精度可达97.36%,测试精度可达93.22%,同比原始T-typCNNs 模型的精度提高了2.27 个百分点和2.08 个百分点,比冻结最佳迁移层数后的InceptionV3和VGG16模型的测试精度高出5.83个百分点和10.51个百分点。

2)为了验证MCA 深度迁移框架的可行性,对CE-MMD 损失函数中的两个参数:惩罚因子λ 和单位矩阵系数α 作了灵敏度分析,并将L-MMD 算法其他度量算法Bregman 差异、KL散度、传统MMD 算法作对比。实验表明,MCA 框架中的CEMMD函数收敛最快,且模型准确率比Bregman差异和KL散度高出11.76 个百分点和8.05 个百分点。L-MMD 算法在模型单次迭代的训练时间比传统MMD算法节省89 s。

在MCA 深度迁移框架中,CE-MMD 损失函数中的惩罚因子在本文中设置为固定值,如何依据L-MMD 正则项计算出的两域分布差异,对每一层惩罚因子λ 的取值做自适应调整是下一步研究的重点。

猜你喜欢

源域台风卷积
基于全卷积神经网络的猪背膘厚快速准确测定
台风过韩
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
基于参数字典的多源域自适应学习算法
台风来了
从映射理论视角分析《麦田里的守望者》的成长主题
台风天外出小心