数据增强:AlignMixup: Improving Representations By Interpolating Aligned Features阅读笔记

—————————————————————————————————————————————————————————————

AlignMixup: Improving Representations By Interpolating Aligned Features

—————————————————————————————————————————————————————————————

一、 先验知识

1.正则化

在数学与计算机科学中,尤其是在机器学习和逆问题领域中,正则化(英语:regularization)是指为解决适定性问题或过拟合加入额外信息的过程。
在机器学习和逆问题的优化过程中,正则项往往被加在目标函数当中。

常见的正则化方法有L1、L2正则化。

2.数据增强

简单的说数据增强就是对输入数据进行一些列的变化产生新的输入数据,用来丰富或者得到高质量的数据集。好的数据集将会提高模型性能,可以提高模型泛化能力和不变性。
下图为常见的数据增强方法(分别为单个图片几何变换、两张图片A、B利用公式 m i x r mix_r mixr= r A + ( 1 − r ) B rA+(1-r)B rA+(1r)B混合输入)
在这里插入图片描述

在这里插入图片描述

最近在读一篇数据增强的综述,读完之后系统性更新数据增强的相关内容。

3.最优传输理论

简单的说已知A和B、以及他们之间的距离、A的总量等于B的总量。现在需要找到一种最优传输方案来把A的所有东西传输给B。
根据描述可以看出如果利用数学工具的话便必然设计最优化理论以及针对该问题的数学模型的建立。

最优传输 (Optimal transport) 和 sinkhorn 迭代这篇博客对于最优传输理论的相关介绍写的挺全的,推荐阅读。以便理解本篇论文中使用的方法。
下面我结合本篇论文涉及到的最优传输理论案例来进行进一步说明。

  • 问题描述
    已知图片 A A A A ′ A' A,现在要将图片 A A A和图片 A ′ A' A进行对齐(align),咋办?
    按照我们的所学知识,是不是首先把A和A’利用矩阵表示出来。其次该数学方法最好能得到一个变化矩阵 R R R使得 A R AR AR便得到和 A A A‘对齐后的矩阵,以及 A ′ A' A R T R^T RT
    这个 R R R该如何设计?这便可以利用最优传输理论了。

  • 最优化问题求解
    现阶段,对于最优传输理论的求解常见的是利用skinhorn算法求得该问题的近似解。skinhorn算法是一个迭代算法便于编程计算,同时在原问题的基础上增加了一个熵正则使得求出来的解不再稀疏(见公式8)。
    在这里插入图片描述
    为啥添加熵正则,网上解释的原因是:1.增加了熵正则便于进行求解;2.不加熵正则,一方面太难求解且计算量大,另一方面求出的解较为稀疏(特征值部分为0),且添加熵正则后解分布较为光滑和均衡(举个例子,高中学过的线性规划也是一个典型的最优化问题,求出的最优解往往是定点,这边导致部分维度为0;熵越大概率分布越均匀,添加了约束便于使得解的分布趋向于均匀)

4.自动编码器

自动编码器是一个包含Encoder+Decoder的神经网络,它的输出要和输入一样,这样便可以利用样本和重构损失函数进行训练。
在这里插入图片描述

肯定有人疑问输入和输出都一样,那这个模型有啥设计的目的?这样设计便于得到一个具有良好性能的Encoder,Encoder的输出往往很有用。

二、论文内容

1.出发点

数据增强具有可以提高模型泛化能力以及学习不变性等优点。现阶段对单个图像做变化在对抗训练数据的记忆和对抗样本的敏感性方面帮助不大。故需要进行两幅或者多幅图像的融合,当仅使用mix进行混合时仅仅只是图片简单的堆叠且得到的图片很不自然,如果采用随机混合会导致模型学习到不相关的特征(因为label也随之变化,由于混合是随机的便会导致得到的label可能不包含我们所需要的特征,训练时用label进行约束便会导致学习到不相关的特征)。有人提出了流行混合用来固定模式,更进一步,有人提出了利用自动编码器来进行数据增强,但是该方法计算代价大且模型较为复杂同时在大数据集上的表现不如简单的混合。
据此本文作者提出了对齐(连续变化)图像/浅层特征 的方法,该方法的动机是变形的想法作为一种自然的方式插值图像,其中一个图像可以变形到另一个,在一个连续的方式。

2.方法

Alignmixup
论文主要利用最优传输理论来进行图像/特征对齐,然后将对齐后的图像 /特征 利用公式 m i x r mix_r mixr= r A + ( 1 − r ) A ′ rA+(1-r)A' rA+(1r)A得到新的图像进行计算。

注: 本篇论文不仅只是对输入图像进行对齐混合,而是对通过Encoder得到的特征也进行的对齐混合。

下图为对齐+混合示意图,A和A’可以是输入图像也可以是通过神经网络提取到的浅层特征。 首先把特征或者图片从c x w x h reshape成c x r,其中r=w x h。这样便转化为可以使用最优传输距离的形式,然后利用2范数计算出代价矩阵M,之后利用Sinkborn算法计算得到最优分配矩阵 P ∗ P^* P。然后通过公式 R = r P ∗ R=rP^* R=rP得到转换矩阵R。在模型训练过程中可以通过随机数任选
在这里插入图片描述
在这里插入图片描述
作为混合后的结果输入进网络。

在这里插入图片描述
下图为利用alignmixup混合图像的可视化结果。从图中可以看到保留图像2的姿态和图像1的纹理,这与现有的混合方法不同。
在这里插入图片描述
损失函数为
在这里插入图片描述
论文源码中的损失函数部分如下

criterion = nn.CrossEntropyLoss()
def mixup_criterion(criterion, pred, y_a, y_b, lam):
	return lam * criterion(pred, y_a) + (1 - lam) * criterion(pred, y_b)

Alignmixup/AE
这是实验中作者后加的一个结构,简单的说就是在网络训练过程中设置两个模式:clean(没有混合)和不是clean(有特征混合)。新加入的便是clean这个模式,在该模式中原本网络通过一部分神经网络(即Encoder)得到浅层特征后又添加了embedding层和decoder层,这样便形成了一个自编码器结构,当然该结构训练需要利用训练自编码器的常用损失函数——重构损失。不是clean模式还是按照Alignmixup之前的训练流程。
关于这两个模式的选择作者在伪代码中给出的是利用随机数。源码中也没有看到clean模式的使用。

算法流程图

实验中混合输入的是一个Batchsize里面的两张图片的特征。
在这里插入图片描述

三、实验结果

实验结果较多且很多角度对我来说很新奇,论文中已经有详细说明,故在此不介绍。

参考文献

机器学习正则化方法 – Regularization
如何理解Sinkhorn算法?
最优传输 (Optimal transport) 和 sinkhorn 迭代
数据增强(Data Augmentation)常用方法汇总
什么是潜在表示?
神经网络中对抗攻击的基本概念和FGSM/PGD算法原理
最优传输理论
简单易懂的自动编码器

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值