CNN不同领域的共性 & 1X1卷积核
2017-08-08 22:45
162 查看
CNN最成功的应用是在CV领域,现阶段也广泛应用于NLP和Speech领域。
1)在这个看似不相关的领域,其相似性在哪里?CNN通过什么手段抓住了其中的共性?
CNN就是一个超级N-Gram,而N-Gram就是考虑局部统计信息的语言模型。
CNN应用的条件一般是要求卷积对象有局部相关性,而文本是符合这个条件的。卷积的过程实际上是一种模式匹配的过程,在CV的人脸识别中一个卷积核匹配的可能是眼镜或者鼻子等局部部位,而对于NLP的文本分类任务,一个卷积核匹配的则是特定的关键词或关键短语。后面提取出来的特征实际上就是表示句子中是否出现过这样的关键词或者关键短语,相当于低维空间的词袋模型,这样的特征信息对文本分类任务自然是非常有用的。
![](http://img.blog.csdn.net/20170808224335357?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTIwNDQ4Nw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20170808224350559?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTIwNDQ4Nw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
CNN的核心是来提取localrepeating
feature,只要数据存在这种local repeating feature,CNN就可以用。语言中存在这种repeating
feature了,语言和图像的唯一区别就是,语言是1D的,但是图像是2D的,假定kerneldize是2,对1D的东西,只有2个数据点,但是2D的情况下,就有4个,所以整体来说,CNN对图片这种2D的数据表现更好一些,可能这也是CNN在图像上首先获得突破的原因。
2)CNN的卷积核大小如果是1,此时卷积有什么作用?
1X1卷积核就是对输入的一个比例缩放,因为1X1卷积核只有一个参数,这个核在输入上滑动,就相当于给输入数据乘以一个系数。
1×1的卷积大概有两个方面的作用吧:
1. 实现跨通道的交互和信息整合
2. 进行卷积核通道数的降维和升维,即改变通道数。原图像 3*64*64的rgb,通过5个1X1卷积核就变成了5*64*64.用5个卷积核代替了原来RGB三通道的表示方法。这通常用在网络比较靠后的位置,大概是为了学习高层特征的表达吧。
1.在NIN的结构中,论文的想法是利用MLP代替传统的线性卷积核,从而提高网络的表达能力。文中同时利用了跨通道pooling的角度解释,认为文中提出的MLP其实等价于在传统卷积核后面接cccp层,从而实现多个feature
map的线性组合,实现跨通道的信息整合。而cccp层是等价于1×1卷积的,因此NIN的caffe实现,就是在每个传统卷积层后面接了两个cccp层(其实就是接了两个1×1的卷积层)。
2. 进行降维和升维是在GoogLeNet里。对于每一个Inception模块(如下图),原始模块是左图,右图中是加入了1×1卷积进行降维的。虽然左图的卷积核都比较小,但是当输入和输出的通道数很大时,乘起来也会使得卷积核参数变的很大,而右图加入1×1卷积后可以降低输入的通道数,卷积核参数、运算复杂度也就跟着降下来了。 http://blog.csdn.net/u011534057/article/details/53408682
1)在这个看似不相关的领域,其相似性在哪里?CNN通过什么手段抓住了其中的共性?
CNN就是一个超级N-Gram,而N-Gram就是考虑局部统计信息的语言模型。
CNN应用的条件一般是要求卷积对象有局部相关性,而文本是符合这个条件的。卷积的过程实际上是一种模式匹配的过程,在CV的人脸识别中一个卷积核匹配的可能是眼镜或者鼻子等局部部位,而对于NLP的文本分类任务,一个卷积核匹配的则是特定的关键词或关键短语。后面提取出来的特征实际上就是表示句子中是否出现过这样的关键词或者关键短语,相当于低维空间的词袋模型,这样的特征信息对文本分类任务自然是非常有用的。
CNN的核心是来提取localrepeating
feature,只要数据存在这种local repeating feature,CNN就可以用。语言中存在这种repeating
feature了,语言和图像的唯一区别就是,语言是1D的,但是图像是2D的,假定kerneldize是2,对1D的东西,只有2个数据点,但是2D的情况下,就有4个,所以整体来说,CNN对图片这种2D的数据表现更好一些,可能这也是CNN在图像上首先获得突破的原因。
2)CNN的卷积核大小如果是1,此时卷积有什么作用?
1X1卷积核就是对输入的一个比例缩放,因为1X1卷积核只有一个参数,这个核在输入上滑动,就相当于给输入数据乘以一个系数。
1×1的卷积大概有两个方面的作用吧:
1. 实现跨通道的交互和信息整合
2. 进行卷积核通道数的降维和升维,即改变通道数。原图像 3*64*64的rgb,通过5个1X1卷积核就变成了5*64*64.用5个卷积核代替了原来RGB三通道的表示方法。这通常用在网络比较靠后的位置,大概是为了学习高层特征的表达吧。
1.在NIN的结构中,论文的想法是利用MLP代替传统的线性卷积核,从而提高网络的表达能力。文中同时利用了跨通道pooling的角度解释,认为文中提出的MLP其实等价于在传统卷积核后面接cccp层,从而实现多个feature
map的线性组合,实现跨通道的信息整合。而cccp层是等价于1×1卷积的,因此NIN的caffe实现,就是在每个传统卷积层后面接了两个cccp层(其实就是接了两个1×1的卷积层)。
2. 进行降维和升维是在GoogLeNet里。对于每一个Inception模块(如下图),原始模块是左图,右图中是加入了1×1卷积进行降维的。虽然左图的卷积核都比较小,但是当输入和输出的通道数很大时,乘起来也会使得卷积核参数变的很大,而右图加入1×1卷积后可以降低输入的通道数,卷积核参数、运算复杂度也就跟着降下来了。 http://blog.csdn.net/u011534057/article/details/53408682
相关文章推荐
- 关于CNN网络中1X1卷积核降维或升维的理解
- CNN中1x1卷积的用处和优点
- CNN 中, 1X1卷积核到底有什么作用呢?
- CNN 中, 1X1卷积核到底有什么作用呢
- CNN 中, 1X1卷积核到底有什么作用呢?
- 卷积神经网络入门一种全卷积神经网络(LeNet),从左至右依次为卷积→子采样→卷积→子采样→全连接→全连接→高斯连接测试 最后,为了检验 CNN 能否工作,我们准备不同的另一组图片与标记集(不能在训练
- (原)CNN中的卷积、1x1卷积及在pytorch中的验证
- CNN 中1X1卷积核的作用
- CNN的超参数 & 宽卷积和窄卷积的理解及tensorflow中的实现
- CNN中,1X1卷积核到底有什么作用呢?
- CNN 中, 1X1卷积核到底有什么作用呢?
- CNN 中, 1X1卷积核到底有什么作用呢?
- 空格&nbsp在不同浏览器中显示距离不一致问题解决方法
- (随用随总结)Linux下面的特殊权限&不同的文件类型
- 深度卷积网络CNN与图像语义分割
- C语言和C++的几点不同之处,const,register,三目运算符,&引用
- 深度卷积网络CNN与图像语义分割
- IEEE 2013部分图像视频领域国…
- CNN之卷积计算层
- 解决html中 在不同浏览器中占位大小不统一的问题