教师-学生网络下Self-Ensembing with GAN-based Data Augmentation for Domain Adaption in Sematic Segmentation

1. Abstract

  • 基于深度学习的语义分割有着固有的缺陷:需要大量的数据
  • 本文引入self-ensembling,想基于无监督下的领域自适应来解决数据问题,但通过self-ensembling中微调过的人工数据难以缩减语义分割中巨大的领域距离(Domain Gap)
  • 为此,本文提出一个由两部分组成的框架
    • 首先,基于GAN提出一个数据增强方法,能有效促进领域的对齐(Domain Alignment)
    • 其次,基于增强后的数据,将self-ensembling运用到分割网络中以提升模型的能力

2. Introduction

  • 语义分割的任务:给图像中的每个像素点都分类。

  • 大量基于深度学习的算法能够获得较好的效果,但过于依赖数据。为避免人工标注的繁琐和耗时,研究人员利用计算机图形学得到合成数据及所对应的分割标签。而合成数据训练得到的分割模型难以媲美使用真实数据训练得到的,因为存在了称之为领域迁移(Domain Shift)的分布不同(Distribution Difference)。

  • Unsupervised domain adaptation通过将标记过的数据集中的知识迁移到未标记过的数据集,来解决Domain Shift的问题。

    • 最近的方法多集中在对齐源数据和目标数据中抽取到的特征。如基于对抗训练,通过域混肴(Domain Confusion)来最小化领域之间的差异(Domain Discrepancy)。
    • 然而,对抗方法也有缺陷,为了对齐两个不同领域的全局分布可能会造成负迁移(Negative Transfer),即将目标特征对齐到了源特征中错误的语义分类。通俗点说,就是将天空的特征或者风格,迁移到了马路上。特别是,数据集中的某个类别比较稀少,更容易产生负迁移。
  • 为解决负迁移,本文引入了self-ensembling

    • self-ensembling由学生网络和教师网络组成
      • 学生网络被迫基于老师提供的目标数据,做出协同的预测
      • 教师网络的参数是学生网络的均值,所以教师在目标数据上做的预测可以看作是学生的伪标签
    • 虽然self-ensembling在图像分类上有很好的效果,若想用于成功对齐领域,它需要大力调节过的人工增强数据。此外,虽然self-ensembling得到的几何变化较大的数据能有效用于分类,它并不适合于语义分割中的Domain Shift。
  • 为改进self-ensembling,本文设计了新的数据增强方法

    • 基于GAN,生成能够保留语义内容的增强图像。因为未保留语义内容的图像,将会破坏分割的性能,由于增强后的图像和作为源标签的图像在像素上的不匹配
    • 为解决上述问题,该方法于生成器中加入了语义约束(Semantic Constraint),来保留全局和局部的结构。
    • 此外,本文提出了目标导向的生成器,能够基于目标领域抽取的风格信息来生成图片。这样,该方法生成的图像又能保留语义信息,又能只迁移目标图像的风格。
  • 大多数Image-to-Image Translation都是依赖于不同形式的Cycle-Consistency

    • 有两个限制
      • 需要多余的模块,比如两个生成器
      • 若是数据不平衡的话,源领域和目标领域的约束过于强烈。也就是说,不管怎么生成,就那几种图像,类似于Model Collapse吧
    • 而本文的方法由于它的设计,就不需要考虑Cycle-consistency了
  • 整个模型的框架如下图所示
    在这里插入图片描述

    • 步骤一,给定有标签的合成数据及无标签的真实数据,生成带有标签的增强数据(我认为,这里的标签就是源标签)
    • 步骤二,作者将关键信息写到了这里,使用两个分割网络作为教师和学生,以使用Self-ensembling算法。这两个网络都使用了合成数据、增强后的数据以及真实数据。在训练过程中,教师网络会将知识迁移到学生网络中。

3. Proposed Method

​ 提升self-ensembling用于语义分割的兼容性的方法是,基于GAN增强后的数据来对齐源领域和目标领域之间的表达,而不是self-ensembling用于分类中的几何转变。为了这个目的,本文设计了以下的模型。

3.1 Target-guided generator

  • TGCF-DA的模型图如下所示
    在这里插入图片描述

    • 基于假设,图像表达可被分为两部分:内容和图像,设计了以上结构
      • 使用Souce Encoder来抽取源图像的内容表达
      • 再使用Target Encoder来抽取目标图像的风格表达
    • 为了结合源图像的内容和目标图像的风格,使用AdaIN算法
  • 根据上面的设计,生成器G得到的图像将会在保留源图像内容的同时,迁移目标图像的风格。也就是改变源图像,如GTA5的虚拟风格,变成现实风格。最后,将生成图像作为fake data,目标领域作为real data,输入判别器。

3.2 Semantic constraint

  • 由于没有使用Cycle-consistency,本文使用Semantic Constriant来约束生成图像的语义信息。具体的做法如下
    • 设定一个预训练好的分割模型,本文使用的是FCN-8s
    • 将生成的图像输入得到分割后的掩码
    • 分割后的掩码和源图像的标签做交叉熵
  • 这个做法类似于相当于风格迁移中,计算内容损失的做法。

3.3 Target-guided and cycle-free data augmentation

  • 本文对于GAN框架的构建如下

    • Discriminator的构建是基于Hpix2pix的,详见原文中的参考文献

    • 使用LSGAN的损失作为对抗损失,并基于spectral normalization的方法稳定GAN的训练

      L G A N ( G , D ) = E ( x s , s t ) ∼ ( P S , P T ) [ D ( G ( s s , s t ) ) 2 ] + E x t ∼ P t [ ( D ( x t ) − 1 ) 2 ] . L_{GAN}(G, D) = E_{(x_s, s_t)\thicksim(P_S, P_T)}[D(G(s_s, s_t))^2] + E_{x_t\thicksim P_t}[(D(x_t) - 1)^2]. LGAN(G,D)=E(xs,st)(PS,PT)[D(G(ss,st))2]+ExtPt[(D(xt)1)2].

  • 对抗损失能够保证G生成的新图像在视觉上和目标图像相似。由于分割模型 f s e g f_{seg} fseg固定了,可以联合训练生成器和判别器来优化总损失

    L T G C F − D A = L G A N + λ L s e m L_{TGCF-DA} = L_{GAN} + \lambda L_{sem} LTGCFDA=LGAN+λLsem

  • 经过上述损失预训练后的生成器,将被用来合成增强数据,为后续的self-ensembling做准备。

3.4 Self-ensembling

  • 构建了教师网络 f T f_T fT和学生网络 f S f_S fS。步骤t中,教师网络的参数 t i t_i ti由学生网络根据下列公式计算得到

    t i = α t i − 1 + ( 1 − α ) s i t_i = \alpha t_{i-1} + (1 - \alpha)s_i ti=αti1+(1α)si

  • 在训练的过程中,每个mini-batch都会包含以下数据

    • source samples 源样本
    • augmented samples 增强样本
    • target samples 目标样本
  • 源样本和增强样本将会被用来计算监督损失 L s u p L_{sup} Lsup,即对于语义分割的交叉熵。这个损失函数能使得学生网络,对于源数据和增强数据,都产生语义上更加精准的预测。

  • 一致性损失 L c o n L_{con} Lcon是学生网络和教师网络生成的预测图的均方差

    L c o n ( f S , f T ) = E x t ∼ P T [ ∣ ∣ σ ( f S ( x t ) ) − σ ( f T ( x t ) ) ∣ ∣ 2 ] L_{con}(f_S, f_T) = E_{x_t \thicksim P_T}[||\sigma (f_S(x_t)) - \sigma (f_T(x_t))||^2] Lcon(fS,fT)=ExtPT[σ(fS(xt))σ(fT(xt))2]

    这里的 σ \sigma σ是softmax函数,用来计算预测图的概率

  • 总体的损失如下

    L t o t a l = L s u p + δ c o n L c o n L_{total} = L_{sup} + \delta_{con} L_{con} Ltotal=Lsup+δconLcon

    这里的 δ c o n \delta_{con} δcon是一致性损失的权重

3.5 Data augmentation for target samples

​ 看到这一块内容,稍微有些迷糊,特别是作者的第一句话:这里的对于目标样本的数据增强和TGCF-DA并不相关,差点就被带偏了,不知道理解到什么地方了。不过仔细看了一下后面的内容,得到如下理解

  • 这里对target samples增强是为了在self-ensembling中计算consistency loss。对于目标样本的随机数据增强,是为了强迫学生网络针对相同的目标样本得到不同的预测,以更好的训练学生和教师网络。
  • 根据前文,常规self-ensembling中的几何变换对于像素级别的预测任务并无帮助。因此,本文在目标样本中注入高斯噪声,并分别喂给学生和教师网络。此外,对于网络参数还是用了Dropout。
  • 因此,学生网络在目标样本有扰动的情况下,还必须得产生和教师网络一致的预测,这也变相了提升了模型的性能。

4. Experiments

​ 在做实验之前,作者略微详细的介绍了用到的数据集如:GTA5,Cityscapes等。对于实验的配置,作者说的很详细,建议详细阅读。比如TGCF-DA的具体构造,生成器和判别器都是挑了比较好的结构,一起一些超参数的设置。此外,还讲了self-ensembling中,对于分割网络的选择,选择哪一层计算损失等。

4.1 Experimental results

  • 作者将自己的方法与CycleGAN,MCD,DCAN等一堆方法进行比较。该实验首先在GTA5或者SYNTHIA数据集上,训练分割网络,并在Cityscapes的验证集上验证。实验得结果如下表所示
    在这里插入图片描述

    • 表中的Self-Ensembling,代表着由源数据和目标数据(未加入增强数据)训练得到的分割网络的性能
    • 表中的TGCF-DA表明由源数据、目标数据、TGCF-DA生成的增强数据,共同训练的分割网络
    • 表中的**Ours(TGCF-DA + SE)**表明结合了TGCF-DA和Self-Enembling方法,得到的分割网络
    • 表中的mIoU*代表的是,13个常见类别的mIoU,因为数据集中有些类别出现次数不多。但具体是哪13个类并没有讲,可能会在作者提供的附件里
    • 表中的Source Only声明了只在源数据集上训练的分割模型的效果
    • 表中的Target Only声明了在监督设定下训练的分割模型的效果
  • 作为刚接触Domain Adaption的小白,对于这个实验一直耿耿于怀。首先是对于表中的Baseline(Source Only)的不理解,其次是对Target Only的不了解。经反复思考后,理解如下

    • **Baseline(Source Only)**既然都说了是Source Only,而且文中又把增强后的数据叫做Augmented Data。对应上面的表格,Baseline应该指的就是GTA5和SYNTHIA中的原始训练集,训练得到的分割模型,那效果肯定差。

    • 接下来一系列的方法,CycleGAN,MCD,DCAN等,应该都是使用进行Domain Shift后的数据配合原始的mask标签,来训练分割网络,那为什么效果会差呢?根据文中的描述,原因有二

      • 首先是,经过Domain Shift图像的内容结构可能被破坏了,导致原始的mask标签不匹配,从而产生语义上的损失。如,车子经过domain shift之后形状变了,但对应的mask掩码标签却没变,那效果肯定差
      • 其次是,负迁移造成的影响,有些类别过于稀疏,在Domain Shift的时候导致转换有误,如,前面的例子,将马路的知识迁移到了天空上
    • 然后就是纯Self-Ensembling方法了,效果有一定提升,但是没本文方法提升的多。但作者在前文就指出原始的Self-Ensembling适用于分类网络,但却不太适用于分割网络。我理解是:由于Self-Ensembling是通过形变原始数据得到增强数据,来提升分类模型的性能;而在分割网络中,形变原始数据会导致其和mask标签不匹配,破坏了内容结构,所以效果变差

    • 最后就是文中提到的两个方法

      • 先是只使用了TGCF-DA,效果提升一般,和已有方法区别不大。这说明,抛弃Cycle Consistency,理想化的将图像分为content和style,并通过AdaIN方法进行结合等一系列操作,并没有达到作者预期的效果。我觉得作者可能一开始只提出了这个方法,做了实验之后发现效果居然没有好太多,再考虑将Self-ensembling的方法加入来提升网络的性能。不过,这个方法还是很有创意,巧妙地将任意风格迁移和GAN结合在了一起,值得我思考。

      • 然后就是TGCF-DA + Self-ensembling,效果简直超神,顺利毕业。原理就是,通过TGCF-DA预训练模型生成增强数据,然后配合学生、老师网络进行训练,最后得到一个更好的分割模型。如下图
        在这里插入图片描述

4.2 Ablation studies

  • 首先,做了Self-Ensembling的消融实验,如下图
    在这里插入图片描述

    • 在上一实验的表格中,就发现纯Self-Ensembling效果很差
    • 这就说明了,主要的功劳并不在Self-Ensembling的应用上,而是TGCF-DA + Self-Ensembling上
  • 其次,做了TGCF-DA的消融实验

    • 在上一实验表格中,发现TGCF-DA能有效提升分割模型的效果。
    • 其次,通过图示风格模型的mIOU,发现纯Self-Ensembling在第8个epoch就达到了极大值,继续训练效果变差,而TGCF-DA + Self-Ensembling效果持续上升,说明二者结合才是王道。也从侧面说明了TGCF-DA的重要性
  • **在消融实验中,作者想表明TGCF-DA + Self-Ensembling结合的重要性,并将主要功劳放在TGCF-DA上。但正如我前文所说,TGCF-DA的效果和其他方法相差不多,那是否将其他方法和Self-Ensembling结合,也会得到更好的效果呢?**不过,这也是我鸡蛋里挑骨头了,本文主要的贡献已经很多了,就比如TGCF-DA + Self-Ensembling结合训分割模型,提升性能,也是本文的卖点。

5. Analysis

​ 在这块内容,作者可视化了几个模块的结果,并进行进一步的分析。

5.1 Visualizaton

  • 首先是对于Self-Ensembling中间结果的可视化,如下图
    在这里插入图片描述

    • 图中表明,教师网络能够很好的指导学生网络进行训练。
    • 此外,根据热力图可以发现,consistency loss在训练中会逐渐关注到物体的轮廓,从而微调轮廓提升预测的效果。
  • 其次是,可视化自己的增强数据
    在这里插入图片描述

    • 根据作者的描述,大多数方法都扰乱了物体的轮廓
    • 甚至,有的方法发生了“负迁移”,就是将天空迁移到了马路上,但作者在这里没提“负迁移”,提了一个叫“spills over”的概念,我思索一下就是“负迁移”。
    • 从而,得出自己的方法计算得快,在视觉程度上效果还好。

5.2 Analysis of self-ensembling with per-class IoUs

  • 为了更好的理解self-ensembling,作者比较了在使用self-ensembling下,不同类别精度的提升情况,如下图
    在这里插入图片描述

  • 可以看到,每个类别提升的程度不同。作者人为原因是各个类别数据的不平衡。数据越多的类,提升的效果也越明显。在Self-ensembling中,这个效果会越明显。因为学生网络持续学习到教师网络的预测,那么将会不断的在稀少类别上做出错误的预测。这也印证了作者说的:教师网络的预测是学生网络的伪标签。

  • 这一块实验个人感觉精华就是:类别下拥有的数据越多,提升性能越大

6. Conclusion

  • 作者在文章的结尾,还解释了各种超参数的设计和原因,若是对文章感兴趣的朋友可以自行阅读。
  • 那么,我在看完这篇文章后,总结如下
    • Domain Adaption可以通过迁移真实数据的知识到虚拟数据中,获得增强后的数据,以缓解基于深度学习的语义分割任务中,对于大量标注数据的需求。
    • 但是,现有的Domain Adaption方法有以下问题
      • 生成的增强图像内容信息损失,如结构紊乱,和源数据的标签不匹配了
      • 生成的增强图像发生了“负迁移”,导致知识迁移的位置不正确,如“天空”迁移到“马路”上
      • 现有的Domain Shift方法大多基于Cycle-consistency,参数多耗时耗力
    • 故本文提出了基于GAN的数据增强方法TGCF-DA
      • 两个Encoder,一个抽取源数据的内容,另一个抽取目标数据的风格
      • 抽取到的内容和风格通过AdaIN结合在一起构成Generator,生成fake图像
      • fake图像,和目标数据集中的图像作为Discriminator的输入,更新Generator
    • 但仅用TGCF-DA生成的增强数据训练分割网络和其他的方法效果差不多,故本文又引入了Self-ensembling来训练分割网络。稍微不同的是,原始的Self-ensembling改变图像的形状,但本文是给图像注入高斯噪音。因为改变几何形状会破坏图像和mask标签的匹配性
    • 最后,TGCF-DA + Self-ensembling的结合,在实验上取得了令人瞩目的效果
  • 我认为本文的亮点如下
    • TGCF-DA网络的构造,结合了GAN+任意风格迁移,很新颖
    • TGCF-DA + Self-ensembling,说白了就是将Domain Shit方法和Self-ensembling方法结合在一起。
  • 我认为本文未解释清楚的就是,没有做实验证明, 其他的Domain Shift方法和Self-ensembling结合在一起,是否也会得到很好的效果

最后,感谢本文作者的贡献,respect! 本文的github.io版请走传送门

注:本文为作者原创,转载需注明出处!

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Autoencoder-based data augmentation can have a significant influence on deep learning-based wireless communication systems. By generating additional training data through data augmentation, the performance of deep learning models can be greatly improved. This is particularly important in wireless communication systems, where the availability of large amounts of labeled data is often limited. Autoencoder-based data augmentation techniques can be used to generate synthetic data that is similar to the real-world data. This can help to address the problem of overfitting, where the deep learning model becomes too specialized to the training data and performs poorly on new, unseen data. By increasing the diversity of the training data, the deep learning model is better able to generalize to new data and improve its performance. Furthermore, autoencoder-based data augmentation can also be used to improve the robustness of deep learning models to channel variations and noise. By generating synthetic data that simulates different channel conditions and noise levels, the deep learning model can be trained to be more resilient to these factors. This can result in improved performance in real-world wireless communication scenarios, where channel conditions and noise levels can vary widely. In conclusion, autoencoder-based data augmentation can have a significant influence on deep learning-based wireless communication systems by improving the performance and robustness of deep learning models.

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值