卷积神经网络

    xiaoxiao2022-07-12  149

    卷积神经网络(CNN)

    卷积神经网络结构: 输入层,卷积层, 池化层(又称采样层),全连接层,输出层

    卷积层负责提取特征,采样层负责特征选择

    卷积与池化

    卷积的主要作用:

    降维( dimension reductionality )加入非线性。提升网络的表达能力;跨通道信息交互(channel 的变换)

    卷积运算运用三个重要的思想来帮助改进机器学习系统 :稀疏交互(sparse interactions)、参数共享(parameter sharing)、等变表示(equivariant pepresentations)

    卷积层的卷积运算主要包含了三个重要的思想:稀疏交互sparse interactions、参数共享parameter sharing 、等变表示equivariant representation 。

    传统的神经网络使用矩阵乘法来建立输入与输出的连接关系。其中,参数矩阵中每一个单独的参数都描绘了一个输入单元与一个输出单元之间的交互,这其实就意味着每一个输出单元与每一个输入单元都产生交互 ,but 卷积网络具有稀疏交互的特征 。然后呢,呵呵,举个例子:当处理一张图像时,输入的图像可能包含成千上万个像素点 ,但是我门可以通过只占用几十个到上百个像素点的核来检测一些小的有意义的特征 ,比如说图像的边缘。。。。这么一来呢,我们所需存储的参数就减少了,那么统计效率也就蹭蹭地上去了。参数共享:是指 在一个模型的多个函数中使用相同的参数。卷积运算中的参数共享保证了我们只需要学习一个参数集合,而不是对于每一个位置都需要需学习一个单独的参数集合。平移等变:参数共享的特殊形式使得神经网络具有平移等变的性质。If一个函数满足输入改变,输出也以同样的方式改变的这一性质,我们就说它是等变的(equivariant).特别的是:如果函数f(x)和g(x)满足这个性质: f(g(x))=g(f(x)),那么我们就说f(x)对于g(x)具有等变性。卷积对于一些变换不是天然等变的,比如说图像的缩放或者旋转变换的呢,需要其他机制来处理。

    池化的动机

    一般来说池化的作用是减小图片的大小并保留原始的特征。以上述输入数据为例,这个输入数据可能是某次卷积的结果,我们可以把它看做是某个特征的集合。如果某个区域有个较大的数字,那么意味着它可能检测到了一个特征。每个部分可能都检测到了一个特征。比如左上角第一个可能是一个垂直线,右上角黄色区域可能是一个猫的耳朵。那么MaxPooling的结果就是保留任何区域的最大数值,来保存这个特征。

    但是吴恩达也承认,这种解释只是一个解释,是不是真的也不确定。最重要的原因可能还是大量的实验表明,池化的效果确实很好。

    池化的有个特点是尽管它有超参数,即上述滤波器的大小和步长,但是却无法使用梯度下降学习,这两个参数一旦确定,其MaxPooling的结果也就确定了。

    参考:https://www.jianshu.com/p/e3824e8fd115 http://www.huaxiaozhuan.com/深度学习/chapters/5_CNN.html https://www.datalearner.com/blog/1051550716998963 https://zhuanlan.zhihu.com/p/31657315

    最新回复(0)