卷积神经网络的卷积层如何提取特征?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了卷积神经网络的卷积层如何提取特征?相关的知识,希望对你有一定的参考价值。
看了一些关于卷积层的介绍,还是有些不太明白的,想请教下各位:
1. 卷积层从原始图片上,提取特征,都是分成三层提取么?如是,是哪三层?
2. 卷积层的特征提取,提到的感受野,到底是个什么概念?
3. 卷积层如何能做到智能提取特征?
4. 卷积神经网络,我看很多实例都是来识别图片什么的?那意思是该算法一般也是应用于人脸识别、图像识别这块么?
特征数,不是可以自动提取的么? 你的意思是,如果觉得特征提取不好,就靠手动增加卷积层? 你这个所谓的卷积层,是否就是特征数?
另外,这个特征提取不好,是怎么看的?貌似这个没有什么显性返回吧?而是直接到池化层去了吧? 或者说是训练效果不好的话,再由人工设定特征数?
感受野是个什么概念呢?
1:不是。输入数据与卷积层的filter进行卷积,再经过激励函数送入池化层,以此可以加入三次循环,即三次卷积--》激励--》池化,由此是经过拉高图片的深度,而减少图片的张量,由此送入全连接层进行分类与回归。而此部分笼统一点可以叫做特征值。假设有三层卷积层:第一次卷积可以提取出低层次的特征。第二次卷积可以提取出中层次的特征。第三次卷积可以提取出高层次的特征。特征是不断进行提取和压缩的,最终能得到比较高层次特征,简言之就是对原式特征一步又一步的浓缩,最终得到的特征更可靠。主要依靠的filter的卷积算子,比如图像中有已知的sobel、Laplance算子等。最终在全连接层进过分类与回归得到loss后,通过反向传播层级回传,优化每一层级的参数权重和偏置。这样下一次train就是优化过的参数,一步步将参数优化到所提取的特征经过分类后可以得到正确的结果。
2:特征提取不够好,原因很多。1:样本数据太少或者不全面。2:卷积神经网络的优化,在现有的常见的CNN网络中,也有其他的卷积神经来优化算法。传统的卷积神经网络层数越多并以意味着效果更好。VGGNet深度更多,有很多卷积层和池化层。一个版本有16层,另一个版本有19层(较常用)。3:train阶段的卷积filter参数可能还需优化,filter的维度,步长,填充大小等。4:训练步数太少,当loss还没有达到低于停止的阀值就停止了训练。
3:局部感受野:在全连接的网络中,输入被描绘成纵向排列的神经元,但是在卷积网络中我们把它看成28x28(举例)的方形。输入神经元的一小片区域会被连接到下一层隐层,这个区域被称为局部感受野,然后在输入图像中移动局部感受野,每移动一次,对应一个隐层的神经元,如此重复构成隐层所有神经元。如果局部感受野是5x5的,一次移动一格,输入图像是28x28的,那么隐层有24x24个神经元。即相当于每次已一个5*5的大小对样本进行采样,再与卷积算子filter进行内积,得到的矩阵进行激励后送入池化层。
Python图像特征的音乐序列生成深度卷积网络,以及网络核心
这个项目主要涉及到两个网络,其中卷积神经网络用来提取图片表达的情绪,提取出一个二维向量。
网络结构如图:
词向量采用预训练的glove模型,d=50,其他信息包括了图片的“空旷程度”、亮度、对比度等信息,用来更好地描述图片特征。
对于图中的卷积神经网络,需要讲解的地方是:卷积核是一个一维卷积核,每一层卷积层之后都连接了池化层,做的是最大值池化,每一层之间有固定的dropout层,最后输出的向量与我们预先设定的label进行计算,损失函数定义为
\\[J(\\theta)=-\\sum_iy‘_i\\log(y_i)+\\frac{\\lambda}{2}\\|\\theta\\|^2_F\\]
式中使用了交叉熵和L2范数避免可能出现的过拟合,在实际训练中我们将会增减神经网络的层数,调整相应的超参数。
最后得到的向量我们在LSTM里进行输入。
以上是关于卷积神经网络的卷积层如何提取特征?的主要内容,如果未能解决你的问题,请参考以下文章