论文阅读:Regularizing Deep Networks with Semantic Data Augmentation

  • 动机
  • 特征空间的语义变换
  • Implicit semantic data augmentation (ISDA)
    • 1. 选择合适的语义方向
    • 2.优化一个loss的上界
    • 算法
    • ISDA用于半监督学习
  • 实验

paper
code


动机

图像的语义信息 (semantic information) 是指与图像内容有关的信息,如图片的背景、图片中物体的颜色、视角等。图像中常用的数据增广 (Data Augmentation, DA) 方式,如剪裁、翻转、旋转等,都不涉及语义信息的变换,无法发挥出DA真正的作用。而其他涉及语义信息的DA方式,如GAN,先对每个类训练一个GAN,然后可以用generator生成无数多的样本,这些样本就相当于是在语义信息层面做DA得到的。然而GAN的训练是比较复杂的,也依赖于数据量,因此这种DA方式并不简单。

而这篇文章提出的ISDA,在特征空间进行增广,实现语义信息的变换,而且通过估计每个类的分布,巧妙地把DA问题体现在一个loss函数上,几乎不引入额外的开销。下面我们来讨论一下这篇文章。


特征空间的语义变换

由于特征是经过一个deep network得到的,包含了丰富的语音信息(如颜色、视角、背景等),因此要实现语义的变换,可以在特征空间中进行。这里先介绍一下在特征空间中的语义变换。

如上图所示,在特征空间中不同语义信息的方向是不同的。中间的点为原始样本得到的特征,朝蓝色箭头方向是改变视角,绿色箭头方向是改变背景,而红色箭头是改变颜色。


而且,不同类别具有不同的语义信息。如上图,假设有一个person的类,那肯定getting order、wearing glasses这些方向对该类更有用,而这些方向对car这个类是毫无意义的,car朝这些方向进行增广并不会有任何好处,反而只会增加网络的负担。因此需要先对每个类选择合适的语义方向。

之前的工作提出采用人工标注的方法来选择语义方向,如下图所示:

假设我们要改变颜色,那么可以先找一组蓝色的样本输入网络,得到一组特征;再找一组红色样本输入网络,同样可以得到一组特征。然后分别对两组特征取均值,即得到蓝色样本的均值和红色样本的均值;最后把蓝色样本的均值转成红色样本的均值,就实现了颜色的转换。
这个想法很简单,但是实现起来非常费时费力,而且也无法定义所有语义的变换。

Implicit semantic data augmentation (ISDA)

这篇文章首先提出了基于类分布来选择语义方向的方法,然后通过优化一个loss的上界达到语义信息增广的目的。

1. 选择合适的语义方向

对于某个特征aia_iai​,对其进行augmentation其实就是对aia_iai​加一个扰动,也就是说可以在aia_iai​的“附近”进行采样,但是这个“附近”应该如何定义比较合适呢?作者提出可以估计类分布,然后在分布里面进行随机采样。
假设每个类都是一个高斯分布,aia_iai​的label为yiy_iyi​,类内协方差为Σyi\Sigma_{y_i}Σyi​​,那么我只需要在N(ai,Σyi)N(a_i, \Sigma_{y_i})N(ai​,Σyi​​)分布中进行随机采样,就可以得到对aia_iai​的增广特征a~i\widetilde{a}_iai​。由于Σyi\Sigma_{y_i}Σyi​​是由该类的样本估计得到的,所以只有对该类有意义的语义方向才会被保留,而在其他没有意义的方向上都接近于0,达到选择语义方向的目的。

而类内协方差的估计,采用每个mini-batch实时更新。第jjj类的协方差在第ttt个batch的更新为:

分布内随机采样:


这里的λ\lambdaλ控制augmentation的强度,ttt为当前的iteration数。训练初期方差估计不准确,λ\lambdaλ要小一点,随着训练进行,λ\lambdaλ慢慢增大。

2.优化一个loss的上界

对于特征aia_iai​,若直接在分布中随机采样M次,得到{(ai1,yi),...,(aiM,yi)}i=1N\{(a_i^1,y_i), ..., (a_i^M,y_i)\}_{i=1}^N{(ai1​,yi​),...,(aiM​,yi​)}i=1N​,那么CE loss为:

当M很大的时候,假设M->∞,相当于计算M个样本loss的期望:


利用Jensen不等式可推得其上界:

此时只需要优化该上界,就可以达到DA的目的,而不需要真的随机采样出M多个样本,节约了开销。而且由于这种DA方式最终只体现在loss上,因此可以和别的DA方式相结合!

算法

ISDA用于半监督学习

对于labeled数据就是计算前面的上界。
而对于unlabeled数据xiUx_i^UxiU​,先输入网络得到其特征aiUa_i^UaiU​和概率输出piUp_i^UpiU​,然后按照下式进行增强:

即在其伪标签y~iU\widetilde{y}_i^Uy​iU​的类分布中进行随机采样,得到a~iU\widetilde{a}_i^UaiU​。
然后把a~iU\widetilde{a}_i^UaiU​输入分类器得到概率输出p~iU\widetilde{p}_i^Up​iU​, 计算KL-divergence:

把piUp_i^UpiU​当作常数,展开,并利用Jensen不等式可得:




即对于unlabeled数据,优化该上界即可。

因此在半监督学习中,总的优化目标为

其中第三项为正则化。


实验

这篇文章在有监督图像分类、半监督图像分类、图像分割都做了实验,性能提升还是比较明显的。还和其它DA方式和loss进行了比较,也是有明显的优势。另外还有ablation study和可视化,感兴趣的可以到原作中查看。

论文阅读:Regularizing Deep Networks with Semantic Data Augmentation相关推荐

  1. 【论文阅读】Squeeze-and-Attention Networks for Semantic Segmentation(CVPR2020)

    论文题目:Squeeze-and-Attention Networks for Semantic Segmentation(用于语义分割的挤压-注意网络) 下载链接:https://arxiv.org ...

  2. 《Communication-Efficient Learning of Deep Networks from Decentralized Data》论文阅读

    4.29 天气:阴. 看论文看不懂,所以找回来这篇经典的FedAvg看看. AISTATS 2017. <Communication-Efficient Learning of Deep Net ...

  3. 【论文阅读】Deep Compositional Captioning: Describing Novel Object Categories without Paired Training Data

    [论文阅读]Deep Compositional Captioning: Describing Novel Object Categories without Paired Training Data ...

  4. 论文笔记 Communication-Efficient Learning of Deep Networks from Decentralized Data

    论文题目:<Communication-Efficient Learning of Deep Networks from Decentralized Data> 时间:联邦学习由谷歌在20 ...

  5. 阅读笔记(Communication-Efficient Learning of Deep Networks from Decentralized Data)

    阅读笔记(Communication-Efficient Learning of Deep Networks from Decentralized Data) 动机 联邦平均 实验结果 MINIST优 ...

  6. 论文阅读:Spectral Networks and Deep Locally Connected Networks on Graphs

    论文阅读:Spectral Networks and Deep Locally Connected Networks on Graphs 目录 Abstract 1 Introduction 1.1 ...

  7. 联邦学习开山之作:Communication-Efficient Learning of Deep Networks from Decentralized Data 带你走进最初的联邦学习 论文精读

    原文链接:Communication-Efficient Learning of Deep Networks from Decentralized Data (mlr.press) 该论文是最早提出联 ...

  8. Communication-Efficient Learning of Deep Networks from Decentralized Data 论文笔记

      本文出自论文Communication-Efficient Learning of Deep Networks from Decentralized Data,本文提出了一种基于迭代模型平均的深层网 ...

  9. 论文阅读笔记(15):Deep Subspace Clustering with Data Augmentation,深度子空间聚类+数据增强

    论文阅读笔记(15):Deep Subspace Clustering with Data Augmentation,深度子空间聚类+数据增强 摘要 1 介绍 2 相关工作 带增强的聚类方法 具有一致 ...

最新文章

  1. 游戏开发论坛_OPPO开发者大会前瞻:见证OPPO智能服务新生态
  2. pandas数据索引之loc、iloc、ix详解及实例
  3. python list是一个有序列表 这个与java的list是无序的列表 具有明显不同,一定要注意
  4. 如何用Curl 来post xml 数据
  5. CRM WEB UI 04明细界面添加按钮
  6. 【python图像处理】彩色映射
  7. 我写的一个给time_t赋值的小函数
  8. MAX232和PL2303、CH340的区别
  9. 交互式数据包处理程序 Scapy 用法
  10. HDU 1828:Picture(扫描线+线段树 矩形周长并)
  11. 大学python考试会挂科吗_学姐含泪劝告:4个“最难学”的大学专业,考试“挂科”是常态...
  12. 使用iPhone系统设置开发者,进行弱网测试
  13. 2019年又一位华为工程师倒下了
  14. pymol Windows安装
  15. awk基础教程详细版
  16. xrander/cvt自定义分辨率
  17. 【React】React介绍环境搭建
  18. python伪装浏览器https_Selenium中通过修改User-Agent标识将PhantomJS伪装成Chrome浏览器...
  19. 51单片机实战教程(六 网线测试治具设计)
  20. 微信支付商户与服务商区别

热门文章

  1. animate cc开发html5游戏,使用Create.js与Adobe Animate CC制作H5落地页动画
  2. 服务器Linux环境下安装Matlab2018b
  3. AIOC4专业版快速修复CAD文件关联,双击dwg文件没反应
  4. win7计算机未连接网络,Win7无线网络显示未连接但可以上网的解决办法
  5. 卷积神经网络超详细介绍1
  6. java数组实现五子棋
  7. P3669 [USACO17OPEN]Paired Up S 贪心+双指针
  8. wps怎么减少行间距_wps怎么设置行距_wps的行间距在哪怎么调整单倍行距及1.5倍行距_wps文字_office之家...
  9. itext设置字体间距_word打印技巧:几个节省纸张的打印设置方法
  10. Jmeter的元件使用介绍:前置处理器详解