总结与归纳:深度神经网络中的数据融合方法
数据融合是一个重要的方法,有时候我们想结合多个东西在一起的时候就需要用到融合方法。深度学习中也不例外,我们经常会将两个或多个数据融合在一起。数学上,我们可以定义成:
y=f(x1,x2,...,xn)y=f(x_1, x_2, ..., x_n)y=f(x1,x2,...,xn)
于是,我们说:
1.这个公式里面fff应该是怎样的一个函数或者变换呢?
2.变换之后x,yx,yx,y之间又会是怎样的关系?
3。这样的变换有什么好处,有什么条件,又有什么缺陷或者限制呢?
以下本文将讨论这些问题,并且为了简化,我们假设只有两个输入x1,x2x_1,x_2x1,x2和一个输出yyy。
相加 add
最简单的一类应该就属于直接相加了,直接将按照元素输入相加即可。用数学表示就是:
y=f(x1,x2)=x1+x2y=f(x_1,x_2)=x_1+x_2y=f(x1,x2)=x1+x2
要求:相加数据的维度要相等。这个条件是显然可见的,而且相加后数据维度不变。
好处:相加不改变梯度的变化。操作也比较简单快速。
参考【6】就是利用这个方法的典型。
限制: 我们可以想象使用这个方法的限制,这些限制不如数据维度要相等这么直接。首先,两个输入x1,x2x_1,x_2x1,x2应该是有相同含义或者相似含义的,或者说输入和输出之间是对应的。在ResNet中,就假设其中一个输入可能为0,而输入可能就是其中一个输出。含义相似这里可以先不讨论,看到后面可能就明白了。因为我也难以定义出来。
此外,我们还要知道直接相加也意味着两个输入需要有同样的范围,而且重要性是相等的。
非线性相加(结合注意力机制)
我们说有时我们想两者具有不相等的重要性,这时候加权就来了。用数学表示就是
y=f(x1,x2)=α∗x1+β∗x2y=f(x_1,x_2)=\alpha*x_1+\beta*x_2y=f(x1,x2)=α∗x1+β∗x2
要求,这里和上面直接相加相同。
好处:输入之间可以具有不同的重要性,甚至可以使用自学习机制来确定其重要程度。
例子:可以查看参考【1】,其框架如下图,图中U^,U~\hat U, \tilde UU^,U~分别表示具有不同感受野的特征图(不同filter可能会有不同感受野),然后通过一个注意力机制分配不同的权重,这篇论文旨在自动选择不同感受野的特征。最后相加起来。
限制:我们看这里的相加对象就是一个相同含义的,都是特征图,但是感受野不同。
相乘 multiply
有待更新。
相连 concatenate
除了相加之外,还有一个就是堆叠了。用数学表示是这样的:
y=f(x1,x2)=x1⊕x2y=f(x_1,x_2)=x_1 \oplus x_2y=f(x1,x2)=x1⊕x2,假设x1,x2x_1,x_2x1,x2的维度分别是(B,C1,H,W)和(B,C2,H,W),并且我们按照第二个维度进行堆叠,yyy就变成了(B,C1+C2,H,W)这样的维度。
要求:我们可以看到,输入之间除了堆叠的那个维度不同,其他维度需要相同,否则无法进行堆叠。对比上两个方法来说,这个方法放松了一个要求,就是可以有一个维度不一样。这样就更加灵活了。
好处:一般来说,加法是concatenate方法的特殊形式。因为我们融合特征图之后都会做新的卷积,堆叠方法是wX=w(x1⊕x2)=w1x1⊕w2x2wX=w(x_1\oplus x_2)=w_1x_1\oplus w_2x_2wX=w(x1⊕x2)=w1x1⊕w2x2 其中(w=w1⊕w2)(w=w_1\oplus w_2)(w=w1⊕w2). 假如堆叠方法中w1,w2w_1,w_2w1,w2相等,它就退化成了相加。
限制:显然的,这个方法要求有更多的内存。但是我们可以结合不同维度的东西。比如参考【3】中,随机噪声这个输入的维度比图像的维度可以低很多。实际上在实际过程中,降低了对内存的需求。
我们看到这里,依然是要求输入之间是有相同含义的,下面开始介绍一些不同含义的。
上图可以参考【5】,这里的作用是将不同位置的特征结合起来生成新的特征,主要是想保存好前面的低维特征,不至于损失太多。
统计数据融合(normalization)
假如结合的数据是不同类型的应该怎么办呢?比如下面这个例子,一个输入是特征图,另一个输入是我们想要归一化这个特征图的统计数据。(想到batch normalization 中我们需要计算均值和方差来加快训练)。下面这个例子是instance normalization(不知道什么是instance normalization没有关系,只需要知道一个输入是特征图,一个输入是可以均值和方差)。可以参考论文【4】.μ,σ\mu, \sigmaμ,σ分别是均值和方差。
要求:某一个维度可以不相等,其他维度必须相等。
好处:可以实现不同含义的数据进行融合。这里均值和方差表示图像的风格,输入特征图表示图像的内容。下面这张图(参考论文【4】)就表示什么是内容,什么是风格。
限制:这种方法利用统计指标进行了融合,可以改变一个输入的统计指标,通常我们用统计指标来表示一些条件来作用在特征图上。下面第二张图(参考论文【2】)更是融合了三个条件,特征图,随机变量和标签。还有另一篇文章也同样采用了这个方法,见下面第三张图,可参考论文【9】。这里我们还可以看到一个输入完全改变了另一个输入的统计指标,假如我们想只改变部分内容的风格呢?
具有空间位置的统计数据融合(normalization)
上面最后一个方法中,原始统计值是一维的,我们将他们编码后变成三维,但是这样无法表示空间信息。所以,假如我们直接将统计值变成三维的是否可以表示空间位置呢?
论文【7】给出了答案。
如上图,统计值γ,β\gamma, \betaγ,β分别表示方差和均值,但是他们都是三维的,直接乘以或加到特征图上,可以表示空间信息了。
写道这里我们可以发现,使用统计值的方法可以进一步放宽对输入的要求,并且可以通过这个方法来控制特征图。
参考文献
1: Selective Kernel Networks
2: Large Scale GAN Training for High Fidelity Natural Image Synthesis
3: Toward Multimodal Image-to-Image Translation
4: Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization
5: Image-to-Image Translation with Conditional Adversarial Networks
6: Deep Residual Learning for Image Recognition
7: Semantic Image Synthesis with Spatially-Adaptive Normalization
8: EXEMPLAR GUIDED UNSUPERVISED IMAGE-TOIMAGE TRANSLATION WITH SEMANTIC CONSISTENCY
9: A Style-Based Generator Architecture for Generative Adversarial Networks
为何要点赞?
如果本文解决了你的困惑,不妨点个赞鼓励一下。
整理不易,且看且珍惜。
不管你信不信,也不管你同不同意,实际上,你的每一次点赞都标志着你自身的进步。而打赏乃是点赞的高级形式
曾经有无数个点赞的机会,但是我都没有好好珍惜,假如时光可以倒流,我一定为他们也为自己点赞。
总结与归纳:深度神经网络中的数据融合方法相关推荐
- 深度神经网络中处理数据和训练模型的一些技巧
深度神经网络中处理数据和训练模型的一些技巧 1 数据预处理 1.1 中心化 1.2 标准化 1.3 PCA 1.4 白噪声 1.5 小结 2 权重初始化 2.1 全0初始化 2.2 随机初始化 2.3 ...
- [综述类] 一文道尽深度学习中的数据增强方法(上)
今天带来一次有关于深度学习中的数据增强方法的分享. 00 什么是数据增强 在深度学习项目中,寻找数据花费了相当多的时间.但在很多实际的项目中,我们难以找到充足的数据来完成任务. 为了要保证完美地完成项 ...
- 深度学习阅读导航 | 05 基于光照感知深度神经网络的多光谱数据融合行人检测
文章目录 摘要 一.引言 二.相关研究 2.1 可见光和热感行人检测 2.2 多光谱行人检测 三.我们的方法 3.1 建议模型概述 3.2 光照全连接神经网络(IFCNN) 3.3 光照感知双流深度卷 ...
- 深度学习中的数据增强方法
对于较深层次的深度神经网络,其性能会随着训练数据的提升而进一步提升. 目前深度学习方法广泛采用的数据增强方法,主要有: multi-scale:多尺度: translate:平移,[-6, -6],左 ...
- 深度学习中图片数据增强方法
简 介: 在深度学习中需要对图像进行不同的处理.本文对比了基于Numpy以及Paddle.vision.transforms函数中对于图片处理的效果. 关键词: 图像预处理,cv2,paddle #m ...
- 【技术综述】深度学习中的数据增强方法都有哪些?
很多实际的项目,我们都难以有充足的数据来完成任务,要保证完美的完成任务,有两件事情需要做好:(1)寻找更多的数据.(2)充分利用已有的数据进行数据增强,今天就来说说数据增强. 作者 | 言有三 编辑 ...
- 深度学习中常用数据预处理方法
数据归一化处理,比较简单公式为 (x-min)/(max-min),主要目的是将数据的范围缩小至0-1之间,因而对数据绝对值的大小不敏感 2.数据标准化处理,也比较简单,公式为(x-avg)/sigm ...
- 如何系统性掌握深度学习中的数据使用
数据是深度学习系统的输入,对深度学习的发展起着至关重要的作用,但是又容易被很多人忽视,尤其是缺少实战的理论派. 今天便来谈谈这个问题,同时介绍一个好的学习社区供大家讨论与提升. 文/编辑 | 言有三 ...
- 【技术综述】深度学习中的数据增强(下)
文章首发于微信公众号<有三AI> [技术综述]深度学习中的数据增强(下) 今天带来深度学习中的数据增强方法的下篇.我们将从以下几个方向入手.1,介绍一下什么是无监督的数据增强方法.2,简单 ...
- gan 总结 数据增强_深度学习中的数据增强(下)
言有三 毕业于中国科学院,计算机视觉方向从业者,有三工作室等创始人 编辑 | 言有三 今天带来深度学习中的数据增强方法的下篇.我们将从以下几个方向入手.1,介绍一下什么是无监督的数据增强方法.2,简单 ...
最新文章
- Knockout应用开发指南(完整版) 目录索引
- linux 内核编译 错误 fatal error: linux/compiler-gcc6.h: No such file or directory
- 改善企业互联网安全性的方法—Vecloud微云
- 2014-05-08 总结(补充)
- 代码同步工具_可以多重连接的数据库管理工具
- ubuntu 14 nginx php,ubuntu14.04安装nginx+php5-fpm
- 程序员必读的涨薪指南
- Spark团队开源新项目MLflow发布0.2版本,内置TensorFlow集成
- 基于OpenCV的多目标动态检测与跟踪
- NOI2014 起床困难综合症
- 微软苏州研发人员将达4500人!第二幢楼今天开建!
- 搭建邮件系统与使用第三方邮件发送平台优劣详解
- linux类mac桌面,让Linux Mint看起来更像Mac桌面的主题
- IE代理服务器没有响应 浏览器无法打开网页解决方法
- 陈松送:22个免费发布视频的平台
- 简单几步教你如何看k线图图解
- 中投民生:“巨无霸”上市估值2000亿美金直接超越茅台
- 吴恩达机器学习笔记第一周
- 计算机一个远程控制用户怎么回事,电脑不能被远程控制怎么办
- Git之一次Push的回滚之旅