Wang Y., Huang G., Song S., Pan X., Xia Y. and Wu C. Regularizing Deep Networks with Semantic Data Augmentation.

TPAMI.

通过data augments来对数据进行扩充, 可以有效提高网络的泛化性.

但是这些transformers通常只有一些旋转, 剪切等较为简单的变换, 想要施加更为复杂的语义不变变换(如切换背景), 可能就需要GAN等引入额外的网络来进行.

本文提出的ISDA算法是基于特征的变化进行的, 技能进行语义层面的变换, 又没有GAN等方法的计算昂贵的缺点.

主要内容

作者认为, 在最后的特征层, 通过增加一定的平移对应不同的语义上的变换.

但是, 作者也指明了, 并非所有的方向都是一个有意义的方向, 比如这个方向可能是戴上眼镜, 这个方向对于人来说是有意义的, 但是对于汽车飞机就没有意义了.

所以我们需要从一个有意义的分布中采样, 作者假设该分布是一个零均值的正态分布, 即

\[\mathcal{N}(0, \Sigma).
\]

于是乎, 现在的问题就是如何选择这个协方差矩阵\(\Sigma\).

就像之前讲的, 有些方向是否有意义与类别有关系, 所以不同的类别的样本会从不同的正态分布

\[\mathcal{N}(0, \Sigma_i),
\]

中采样.

对于每一个协方差矩阵, 作者采用online的更新方式更新:



上图是式子就是普通的协方差估计式子

\[\frac{1}{n}\sum_{i=1}^n (x_i-\mu)(x_i - \mu)^T,
\]

的online更新版本.

如果假设样本\(x\)经过encoder之后的特征为\(a\), 则其变换后的版本

\[a' \sim \mathcal{N}(a, \Sigma_y),
\]

其中\(y\)为\(x\)的类别标签. 于是一般的对应的损失函数即为

\[\mathcal{L}_{M}(M, b, \Theta) = \frac{1}{N}\sum_{i=1}^N\frac{1}{M}\sum_{m=1}^M - \log (\frac{e^{w_{y_i}^Ta_i^m+b_{y_i}}}{\sum_{j=1}^Ce^{w_{j}^Ta_i^m+b_{j}}}),
\]

当我们令\(M\)趋于无穷大的时候,

\[\mathcal{L}_{M}(M, b, \Theta) = \frac{1}{N}\sum_{i=1}^N\mathbb{E}_{a_i}- \log (\frac{e^{w_{y_i}^Ta_i+b_{y_i}}}{\sum_{j=1}^Ce^{w_{j}^Ta_i+b_{j}}}).
\]

这个式子没有显示解, 故作者退而求其次, 最小化其上界.

这个证明不难, 这里就练习一下

\[\mathbb{E}[e^{tX}]=e^{t\mu + \frac{1}{2}\sigma^2t^2}, \quad X \sim \mathcal{N}(\mu, \sigma^2).
\]

既然

\[\mathbb{E}[e^{tX}] = e^{\frac{(t\sigma^2+\mu)^2-\mu^2}{2\sigma^2}}.
\]

代码

原文代码

Regularizing Deep Networks with Semantic Data Augmentation的更多相关文章

  1. 【论文考古】联邦学习开山之作 Communication-Efficient Learning of Deep Networks from Decentralized Data

    B. McMahan, E. Moore, D. Ramage, S. Hampson, and B. A. y Arcas, "Communication-Efficient Learni ...

  2. Communication-Efficient Learning of Deep Networks from Decentralized Data

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Proceedings of the 20th International Conference on Artificial Intell ...

  3. 论文解读(GraphDA)《Data Augmentation for Deep Graph Learning: A Survey》

    论文信息 论文标题:Data Augmentation for Deep Graph Learning: A Survey论文作者:Kaize Ding, Zhe Xu, Hanghang Tong, ...

  4. paper 147:Deep Learning -- Face Data Augmentation(一)

    1. 在深度学习中,当数据量不够大时候,常常采用下面4中方法:  (1)人工增加训练集的大小. 通过平移, 翻转, 加噪声等方法从已有数据中创造出一批"新"的数据.也就是Data ...

  5. Fully Convolutional Networks for Semantic Segmentation 译文

    Fully Convolutional Networks for Semantic Segmentation 译文 Abstract   Convolutional networks are powe ...

  6. Deep Learning 8_深度学习UFLDL教程:Stacked Autocoders and Implement deep networks for digit classification_Exercise(斯坦福大学深度学习教程)

    前言 1.理论知识:UFLDL教程.Deep learning:十六(deep networks) 2.实验环境:win7, matlab2015b,16G内存,2T硬盘 3.实验内容:Exercis ...

  7. 论文笔记:Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks

    Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks ICML 2017 Paper:https://arxiv.org/ ...

  8. 【DeepLearning】Exercise: Implement deep networks for digit classification

    Exercise: Implement deep networks for digit classification 习题链接:Exercise: Implement deep networks fo ...

  9. 深度学习材料:从感知机到深度网络A Deep Learning Tutorial: From Perceptrons to Deep Networks

    In recent years, there’s been a resurgence in the field of Artificial Intelligence. It’s spread beyo ...

随机推荐

  1. 为构建大型复杂系统而生的微服务框架 Erda Infra

    作者|宋瑞国(尘醉) 来源|尔达 Erda 公众号 ​ 导读:Erda Infra 微服务框架是从 Erda 项目演进而来,并且完全开源.Erda 基于 Erda Infra 框架完成了大型复杂项目的 ...

  2. Java、Scala类型检查和类型转换

    目录 Java 1.类型检查 2.类型转换 Scala 1.类型检查 2.类型转换 Java 1.类型检查 使用:变量 instanceof 类型 示例 String name = "zha ...

  3. deque、queue和stack深度探索(下)

    deque如何模拟连续空间?通过源码可以看到这个模型就是通过迭代器来完成. 迭代器通过重载操作符+,-,++,--,*和->来实现deque连续的假象,如上图中的 finish-start ,它 ...

  4. window ntp服务

    一.确定服务端和客户端处于同一网段,能相互 Ping 通. 二.服务器端(Server)配置 1.选择一台服务器(Windows 系统)作为时间同步服务器: 2.Win + R (运行 cmd 命令行 ...

  5. linux 常用清空文件方法

    1.vim 编辑器 vim /tmp/file :1,$d  或 :%d 2.cat 命令 cat /dev/null > /tmp/file

  6. Lombok安装及Spring Boot集成Lombok

    文章目录 Lombok有什么用 使用Lombok时需要注意的点 Lombok的安装 spring boot集成Lombok Lombok常用注解 @NonNull @Cleanup @Getter/@ ...

  7. nvm命令

    1.安装node nvm install node版本 2.查看已安装版本 nvm list 3.切换node版本 nvm use node版本 4.查看版本 node -v

  8. 【Office】【Excel】将多个工作表合为一个工作表

    在工作表中按下alt+F11打开vba编辑窗口,在菜单栏中选择[插入]=>[模板],将下面的代码粘贴过去,然后运行即可 点击查看代码 Sub 合并当前工作簿下的所有工作表() On Error ...

  9. 扬我国威,来自清华的开源项目火爆Github

    前几天TJ君跟大家分享了几个有趣的Github项目(加密解密.食谱.新冠序列,各种有趣的开源项目Github上都有),其中呢,有不少是来自斯坦福大学的项目,当时TJ君就不由得想,什么时候能看到的项目都 ...

  10. CF701A Cards 题解

    Content 有一个长度为 \(n\) 的数组 \(a_1,a_2,a_3,...,a_n\),试在其中找到 \(\dfrac{n}{2}\) 对数,使得每个数对的元素的和都相等. 数据范围:\(2 ...