深度学习之卷积神经网络

目录(持续更新)

概述

卷积神经网络中激活函数Relu

卷积网络 

卷积网络架构

卷积层输出计算

池化层的输出计算

卷积神经网络的训练

卷积层的训练

Pooling层的训练



概述

卷积神经网络(CNN): 一种更适合图像、语音识别任务的神经网络结构

https://blog.csdn.net/songhao22/article/details/79349493

  • 输入层:用于数据输入
  • 卷积层:使用卷积核进行特征提取和特征映射
  • 激励层:由于卷积是一种线性运算,因此需要增加一些非线性映射
  • 池化层:进行下采样,对特征图稀疏处理,减少数据运算量
  • 全连接层:在CNN尾部进行重新拟合,减少特征信息的损失
  • 输出层:用于输出结果
  • 归一化层(Batch Normalization):在CNN中对特征的归一化,这样可有效地防止“梯度弥散”,加速网络训练
  • 切分层:对某些(图片)数据的进行分区域的单独学习
  •  融合层:对独立进行特征学习的分支进行融合

用CNN解决的问题都存在局部与整体的关系。

由低层次的特征经过组合,组成高层次的特征,并且得到不同特征之间的空间相关性

CNN特点:局部连接/权值共享/池化操作/多层次结构

    局部连接:使网络可以提取数据的局部特征

    权值共享:大大降低网络的训练难度,一个filter值提取一个特征

    池化操作与多层次结构一起,实现了数据的降维,并将低层次的局部特征组合为较高层次的特征。


卷积神经网络中激活函数Relu

Relu函数的定义:

f(x) = max(0,x)

Relu函数的图像:

Relu函数的优势:


卷积网络 

全连接网络不太适合图像处理:

  • 参数数量太多
  • 没有利用像素之间的位置信息
  • 网络层数限制

卷积网络的解决思路:

  • 局部连接:每个神经元只和上一层的一小部分神经元相连(卷积层)
  • 权值共享:一组连接可以共享同一个权重(卷积层)
  • 下采样:使用pooling来减少每层的样本数(Pooling层)

卷积网络架构

卷积神经网络示意图:

一个卷积神经网络由若干个卷积层、池化层、全连接层组成,如:

INPUT  -->  [ [CONV] * N  -->  POOL(可选) ] * M  -->  [ FC ] * K

CNN:三维的层结构

卷积神经网络每层的神经元是按照三维排列的,有宽度、高度和深度。

 

图像的大小、步幅、Filter的大小和卷积后的Feature Map大小是有一定关系的:

 

 

 

每个卷积层可以有多个filter。每个filter和原始图像进行卷积后,都可以得到一个Feature Map。因此,卷积后Feature Map的深度(个数)和卷积层的filter个数是相同的。 


卷积层输出计算

数学中的卷积和卷积神经网络中的卷积(互相关)是有区别的:

数学中的A*B的结果等于在卷积网络中将A旋转180度再与B卷积。


池化层的输出计算

Pooling层主要的作用是下采样,通过去掉Feature Map中不重要的样本,进一步减少参数数量。Pooling的方法很多,最常用的是Max PoolingMax Pooling实际上就是在n*n的样本中取最大值,作为采样后的样本值。


卷积神经网络的训练

反向传播算法步骤:


卷积层的训练


Pooling层的训练

参考:https://www.zybuluo.com/hanbingtao/note/485480

猜你喜欢

转载自blog.csdn.net/Doutd_y/article/details/82284434