提示:系读文章的笔记,侵删。
这篇文章是做实验途中,师兄推荐的,ICLR2022的文章,在4月29日的海报会议上。刚开始写这篇文章时,会议还未举办。文章是在21年12月份传到arxiv上的。目的是为了记录文章,感觉对自己的实验应该有所帮助。
文章链接
代码链接
提示:以下是文章正文内容,大部分是翻译过来的,侵删
深度学习的最新进展,尤其是硬件进步和大数据的推动,在计算机视觉、自然语言或强化学习等一系列计算问题上取得了令人印象深刻的结果。然而,这些改进中的许多局限于大规模管理数据集的问题,这些数据集需要大量人力来收集。此外,这些模型在轻微的分布变化和低数据状态下的通用性较差。近年来,元学习或自监督学习等新兴领域通过将深度学习扩展到半监督和少镜头领域,缩小了概念验证结果与机器学习实际应用之间的差距。我们遵循这条工作路线,探索最近引入的图像到图像翻译问题中的时空结构,以便:i)制定新的多任务少镜头图像生成基准,ii)探索图像翻译下游任务对比预训练中的数据增强。我们给出了少数镜头问题的几个基线,并讨论了不同方法之间的权衡。
从上面这段话,也看出,深度学习未来的研究应该会有一支偏向于少样本、自监督领域,记得之前吴恩达大神也是提到这一点。当然迁移学习、领域适应、领域泛化应该也是解决方法。初看摘要中的研究内容有点懵。
看到标题的我,实在是想说,学术圈的观点真的应该拼手速,你的idea很有可能随时被别人想到并实现。这个工作与我目前所做的实验和将来准备做的实验非常非常相似。
我们利用大规模风暴事件数据集中的时空结构,提出了一个新颖的多镜头多任务图像到图像的转换问题。我们为这个问题提供了几个基准,并考虑了两个优化过程(联合训练和基于梯度的MetalLearning)和两个损失函数(重建和对抗)。我们在所有这些机制中对U型网络进行了培训,介绍了每个模型的性能,并根据各种特定领域的指标进行了评估。我们讨论了每种方法的优缺点。在这个过程中,我们还探索了一种迄今为止我们所知尚未探索的训练方法:二阶梯度更新的元学习对抗性GANs。此外,我们还探索了在空间和时间域中使用各种增强来预训练U-Net编码器参数。
读完上面那段话后,现在我只先说,直接上transformer吧。
在自然图像生成的实践中,有许多训练GAN的技巧表现良好。如果这些成果扩展到我们的气象领域,将是一个有趣的研究方向。其中两种技术是将频谱归一化应用于鉴别器网络,并比鉴别器更频繁地更新生成器网络。这句话有点类似于老师跟我提到的,将海洋大气相关的专家知识用在骨干网络上,来提升模型效果。
我们还没有充分探索对抗性训练和MAML的双层优化之间的相互作用,我们相信进一步发展我们工作的这一方面也是非常有趣的。最直接的下一步可能是元学习——只是网络参数的一个子集。我想说,我也在做类似的工作。
另一个有趣的方向是将重要性抽样甚至课程学习技巧应用到培训计划中。SEVIR和我们更习惯使用的自然图像数据集之间的一个重要区别是,并非所有事件都具有同等的信息量:我们的模型可以从复杂风暴中获得的信息,可能比从平静天气中获取的信息要多得多,在平静天气中,VIL和照明帧非常稀疏,并且红外图像的变化非常小。
这里提到了课程式学习。课程式学习、自步学习(Self-paced Learning),之前没接触过,简单查了一下。在2009年的国际顶级机器学习会议ICML上,以机器学习领军人物Bengio为首的研究团队首次提出了课程式学习(Curriculum Learning)的概念,引起了机器学习领域的极大轰动。其后数十年间,众多关于课程式学习、自步学习(Self-paced Learning)的研究工作被相继提出。Curriculum Learning会根据样本的难易程度,给不同难度的训练样本分配不同的权重。初始阶段,给简单样本的权重最高,随着训练过程的持续,较难样本的权重将会逐渐被调高。这样一个对样本进行权重动态分配的过程被论文称之为课程(Curriculum),课程初始阶段简易样本居多,课程末尾阶段样本难度增加。需要注意的是,这种对Curriculum的定义是开放式的,针对不同的实际问题可以设置不同的样本难易程度评价标准。参考
2021年的TPAMI有一篇关于课程学习(Curriculum Learning)的综述,有机会拜读一下,是清华计算机院的。课程学习,感觉这个思想确实可以用在我的模型中。综述链接。
计算机视觉中的ImageNet(Deng等人,2009年)或自然语言处理中的SQuAD(Rajpurkar等人,2016年)等基准在普及深度学习技术和展示其能力方面至关重要。最近,vision中的ObjectNet(Barbu et al.,2019)等作品显示,在这些既定基准上的出色性能并不能转化为现实世界中的良好性能,在现实世界中,数据集可能结构更少或更多样化。人们对设计更具挑战性的数据集非常感兴趣,既有普遍的兴趣,也有特定领域的应用,这些数据集更接近实践者在尝试部署机器学习模型时可能遇到的实际情况。自我监督(Le Khac等人,2020年)或多任务学习(Hospedales等人,2020年)等不断增长的领域反映了这些兴趣,并为上述问题提供了有希望的解决方案。
然而,模型评估的问题仍然存在:例如,在少数镜头学习中,模型评估目前主要局限于Omniglot(Lake等人,2019年;2015年)(基本上已经饱和)、Miniimagenet(Vinyals等人,2017年)和Metadataset(Triantafillou等人,2019年)。同样,对比预训练技术通常在ImageNet上进行评估。
我们通过提出一个新的计算机视觉多任务问题来解决我们领域中的这些已知限制,并通过利用天气数据集(V eillette et al.,2020)来制定一个新的少镜头图像到图像转换问题,从分类问题转向图像生成领域。在这样做的过程中,我们使用这个数据集的时空结构来构建少量的快照任务。我们通过对比预训练进一步利用这一结构,探索新的数据扩充,并显示出样本质量的持续改善。我们的工作有三个主要贡献:
对比学习,是自监督学习中的一种方法,与生成式的自监督方法相对。著名的MoCo、SimCLR 等工作。这里又牵扯到了一个大问题,自监督学习。常见有:Generative Self-supervised Learning 生成式自监督学习、Contrastive Self-supervised Learning 对比式自监督学习、Generative-Contrastive (Adversarial) Self-supervised Learning 对比-生成式(对抗式)自监督学习。具体可以参考一下:Self-supervised Learning: Generative or Contrastive,主要介绍自监督学习在计算机视觉,自然语言处理,和图学习领域的方法,并对现有的方法进行了全面的回顾,根据不同方法的目标归纳为生成式(generative)、对比式(contrastive)和对比-生成式 / 对抗式(adversarial)三大类。最后,简要讨论了自监督学习的开放问题和未来的发展方向。清华大学唐杰组。
再看三个贡献,前两个还是很熟悉的,跟我的研究相关。最后一个就触及到我得知识盲区了。也是一个值得深挖的点。
风暴事件图像(SEVIR)(V eillette et al.,2020)是一个雷达和卫星气象学数据集。这是一个超过10000个天气事件的集合,每个事件在384 km×384 km范围内跟踪5个传感器模式,持续4小时。对事件进行均匀采样,以便每4小时有49帧,5个通道包括:i)GOES-16高级基线的1个可见光传感器和2个红外传感器(Schmit等人,2017);ii)NEXTRAD的垂直累积液态水含量(VIL);iii)GOES-16的闪电。图1显示了两种IR和VIL模式的示例。我们忽略了可见光通道,因为它通常不包含任何信息,因为可见光辐射很容易被遮挡。(V eillette等人,2020年)提出了几个可以在SEVIR上研究的机器学习问题,并为其中两个问题提供了基线:临近预报和合成天气雷达生成。在这两种情况下,他们训练U-Net模型来预测VIL信息,并用各种损失函数进行实验。
我们回顾了卫星和雷达文献中用于分析人工生成的VIL图像的常用评估指标。他们都将目标和生成的样本进行二值化后[0,255]中的任意阈值进行比较,并查看相关混淆矩阵中的计数。设H表示真阳性数,C表示真阴性数,M表示假阴性数,F表示假阳性数。(V eillette et al.,2020)定义了四个评估指标:关键成功指数(CSI)相当于联合的交点;检测概率(POD)相当于召回率;成功率(SUCR)相当于精度。
我们利用SEVIR(V eillette et al.,2020)数据集来构建多任务图像到图像转换问题,其中每个任务对应一个事件。从49个可用帧中,我们保留前Nsupport帧,以形成任务的支持集,并保留下一个查询。在接下来的实验中,我们将Nsupport=Nquery=10。为了便于讨论,我们假设我们已经将所有输入模式重新缩放到最大观测分辨率384×384,这样我们就可以将所有SEVIR视为一个简单的输入张量D1∈Nevent×Nframes×C×w×h,式中:i)Nevent=11479;ii)Nframes=Nsupport+Nquery;iii)C=4;iv)w=h=384。。四个输入通道分为三个输入模式Cin=3和一个目标Cout=1。对于联合训练,我们忽略层次数据集结构,并折叠前两个轴D2∈ RN×C×w×h,其中N=Nevent×Nframes——总帧数。
我们使用一阶或二阶梯度下降方法在使用重建或对抗目标训练的U网络上解决上述任务。请注意,在使用MAML训练GAN的情况下,我们正在为多个相关的鞍点问题寻找良好的初始化。尽管任务艰巨,我们仍然取得了良好的成绩。
下面我们介绍对抗网络的元训练回路,这是我们工作的一个新贡献。为了简单起见,我们只提供了一个SGD内环自适应步骤的变体。我们使用数据D(D∈ nEvent×Nframes×C×w×h)训练模型权重为wG的u-net生成器G和模型权重为wD的patch鉴别器。 我们使用分批交替梯度下降作为我们的优化算法,并考虑B∈ B×Nframes×C×w×h,其中B是元批量大小。每一个都可以沿第二个轴拆分为支持集和查询集,并沿第三个轴拆分为源张量(S)和目标张量(T),以创建S(support)∈ B×Nsupport×Cin×w×h,S(query)∈ B×Nquery×Cin×w×h,T(support)∈ B×Nsupport×Cout×w×h,T(query)∈ B×Nquery×Cout×w×h。对于这些张量X中的任何一个x∈ {Ssupport,Squery,T support,T query}我们把第i个任务或事件给出的四维张量称为Xi。
上面属于元学习标准的数据集划分方法,跟我的有些类似,还没有我的难。每个事件作为一个任务,按照任务取batch。此外,support和query都是10.然后图像有四个通道,前三个通道作为输入,最后一个通道作为输出。
损失函数
对于元批量中的每个任务,我们在支持集框架上评估上述损失,并使用SGD来适应该事件,以获得参数φ。然后,我们使用微调模型评估任务查询集上的相同损失。我们对元批次中的每个事件重复这两个步骤,并对初始参数执行二阶梯度更新,以优化元批次中所有事件的平均损失。算法1对该过程进行了示意性总结。重建损失的过程需要对算法1进行最小的修改。特别是,我们删除了与鉴别器D相关的每一行,并通过删除鉴别器的第一项来修改方程1。
我们使用一个32GB的Nvidia Volta V100 GPU进行实验。对于MAML优化(Arnold et al.,2020),我们使用2、3或4个事件的元批量大小。对于相应的联合训练基线,我们使用每个事件的Nsupport+Nquery框架和可比较的事件数量来保持比较公平。我们将所有SEVIR事件随机分成9169个序列、1162个验证和1148个测试任务。联合训练基线和MAML外环优化均使用Adam优化器(Kingma&Ba,2017)执行,学习率为0.0002,动量为0.5。我们调整输入模式的大小,使其分辨率均为192×192,并将目标保持在384×384。生成器的编码器有四个卷积块,解码器有五个。除最后一个解码器层外,所有生成器块都使用ReLU激活函数。最后一层使用线性激活函数来支持所有四种图像模式的z分数标准化。
我们将联合训练与MAML进行比较,MAML对每个事件使用单一的适应步骤,使用具有两个不同阈值(74和133)的天气指标评估模型性能,并在图2中总结我们的结果。我们发现,尽管使用MAML训练的U型网络在优化目标上取得了更好的性能,但这些改进并不能始终转化为特定天气评估的收益。特别是,我们发现,对特定任务进行微调会导致更高的精确度,但会导致更差的回忆和IOU。重建损失训练带来的限制,如输出模糊,仍然存在。在这种情况下,任务适应机制有助于认识到在左下角有一些风暴事件,尽管它在细粒度上预测这些低强度降水的正确形状方面不是很有效。
我们使用二阶MAML程序(在生成器和鉴别器网络上,如算法1所述)和联合训练基线训练生成性对抗网络。我们在图3中比较了整个训练过程中重建误差的演变,并注意到MAML显著有助于最小化训练目标。我们使用λ=102和η=10−4对于这个MAML曲线。接下来,我们对λ和η的所有值的气象指标进行评估,并在表1和表2中分别总结了联合训练和MAML训练的结果。 对于联合对抗训练,尤其是在使用较低阈值进行评估时,我们发现关键成功指数相当稳定,因为我们改变λ,而增加λ会导致较低的回忆率和较高的精确度。这似乎表明,将更多权重放在重建损失上将导致预测的高值VIL像素更少。
对于MAML对抗性训练,我们没有确定超参数λ和η与测试分割上气象指标值之间的任何明显趋势。我们认为,这表明在这种情况下,训练更不稳定:当优化具有梯度下降的双层纳什均衡问题时,不稳定性进一步加剧,正如我们前面所做的那样。表1和表2之间的比较表明,与重建丢失的情况类似,MAML优化会导致更高的精确度和更低的召回率。在目视检查生成的样本后,我们发现一些模型似乎表现出模式崩溃,其中生成的样本甚至不真实,而其中一些确实与地面真相相似。下面我们展示了使用MAML训练的模型在对抗性损失方面成功生成的样本示例,并注意到不同模型中真实样本的比例存在很大差异。这没有反映在任何评估指标中:我们认为这进一步强调了在图像生成中,良好的评估性能和高样本质量之间的相关性相当弱。
图4和图5比较了通过联合或基于MAML的程序对不同λ值进行对抗性损失训练的模型生成的样本。MAML模型的内部SGD学习率均为10−5.我们看到,在这种情况下,重建损失设置的直觉仍然有效,MAML固有的任务适应性使其能够正确生成关节设置遗漏的低强度VIL数据。我们还确认了上述较高λ值导致较低VIL值的趋势。
我们关注了最近在自我监督预训练方面的工作,该工作在对分类任务进行微调之前将对比学习应用于卷积网络,并提高了下游性能和数据效率。我们询问这些改进是否适用于我们的图像对图像设置。我们的场景与之前工作中的场景之间的主要区别在于,通过对比预训练,我们只能初始化一小部分参数。我们限制了在预训练阶段对U-Net编码器参数的关注,并遵循第3节中相同的网络结构。我们的实验受到了Feichtenhofer等人(2021年)进行的无监督时空表征学习大规模研究的启发。
我们特别关注MoCoV3(Chen等人,2021年),这是一种最先进的对比学习方法,因为Feichtenhofer等人(2021年)认为动量对比(MoCo)对比学习方法对时空数据最有用。培训前目标。对于来自数据集的查询帧的给定表示q,正键表示k+和负键表示k−, 损失函数增加了正对(q,k+)内表示的相似性,减少了负对(q,k+)内表示的相似性−) 分别地所有表示都在单位球面上标准化,相似性是点积(即余弦相似性,因为表示是标准化的)。损失是InfoNCE损失(Oord等人,2018),如下所示:
对于温度参数τ和预测器MLP,这是一个两层MLP,输入维度128,隐藏维度2048,输出维度128,BatchNorm和ReLU在隐藏层激活。之后(Chen等人,2021年),梯度不会通过k{1+反向传播,−} 密钥和查询的编码器表示都是在主干和投影仪(这是一个两层MLP,尺寸[256、2048、128],BatchNorm和ReLUs位于隐藏层之间,以BatchNorm结束,没有可训练的仿射参数)组合后获得的。此外,键表示的分支遵循动量更新策略θk← mθk+(1)− m) θq来自(He等人,2020),动量参数m=0.999,其中θk是关键分支中的权重,θq是查询分支中的权重。
数据扩充。我们设置的另一个困难是选择输入域不变的数据增强的问题,因为天气模式与自然图像具有不同的不变性:例如,流行的颜色抖动变换在这里不适用,因为图像到图像的转换对颜色敏感。从标准增强中,我们考虑的是:随机调整大小的作物、随机水平翻转、高斯噪声、高斯模糊、随机垂直翻转和随机旋转。我们还进一步利用SEVIR的时间结构来获得“自然”增强,我们接下来将介绍它。
自然增强。我们进一步考虑使用SEVIR的时间结构进行增强,如下所示。每个事件由49帧组成,所以我们锚定每个偶数帧作为查询帧,使用每个奇数帧作为关键帧。对于每个查询帧,为了获得q和k+,我们对该帧应用以下随机变换两次:使用scale(0.8,1.0)随机调整大小的作物;概率为0.5的随机水平翻转,概率为0.5的正态分布N(0,0.1)中采样的像素级高斯噪声,核大小为19的高斯模糊,概率为0.2的随机垂直翻转,不规则选择的角度随机旋转(−π/6, π/6). 其余的增强参数遵循Torchvision library1中的默认值。在图6中,我们展示了变换的概念可视化。获得k− 我们将上述随机变换应用于相应的关键帧一次。
训练超参数。我们的实验使用了以下架构选择:mini-batch,由3个事件组成,其中24帧用于查询,24帧用于键;基线SimCLR和SimSiam的基础学习率为0.015,以及;100个训练前阶段;标准余弦衰减学习率;5个线性热身阶段;0.0005重量衰减值;SGD配备动量0.9优化器。我们报告了通过微调从预训练中获得的检查点来重建关节训练损失的实验装置。所有参数都采用类似Pytorch的样式。
因为本人对于自监督研究不多,这里只是过一遍,在训练超参数和数据增强这里倒是可以借鉴。
在图7中,我们报告了我们的结果。首先,对于平均绝对误差,我们发现在3级增强之前,边际增益是一致的。其次,我们还对气象指标进行了评估。我们发现,尽管预训练对重建损失训练目标的影响微乎其微,但它通常在特定领域的评估标准上提供重要的收益。 我们强调了CSI133和POD133的巨大改进,这主要源于精度的显著提高。我们观察到,在4级MoCoV3增强之前,我们通过对比预训练在所有措施中都取得了改进。最后,我们展示了图8中的示例示例,发现对U-Net编码器进行预训练可以在高VIL区域获得更好的性能。
由于本人对于这里的自监督和moco还没有仔细了解过,所以需要后续了解之后再来拜读。