DL课程:CNN及相关应用案例代码

以下是我的学习笔记,以及总结,如有错误之处请不吝赐教。

前面介绍了MLP、RNN以及相关案例,本文主要介绍一种新的神经网络:CNN卷积神经网络。

CNN卷积神经网络:

卷积神经网络相比RNN多了很多层级,主要包括以下几个层次:input layer数据输入层、conv卷积计算层、Activation layer激励层、pooling layer池化层、FC layer全连接层、Batch Normalization层。

  • 数据输入层/ Input layer有三种常见数据处理方式:
    去均值:把输入数据各个维度都中心化到0;

    归一化:幅度归一化到同样的范围 ;

    PCA/白化 :用PCA降维、白化是对数据每个特征轴上的幅度归一化;

  • 卷积计算层/ CONV layer 作用是:局部关联,每个神经元看做一个filter滤波器。窗口(receptive field)滑动,filter对局部数据计算;涉及概念:深度/depth、步长/stride、填充值/zero-padding

    卷积层参数共享机制的性质:
    ①假设每个神经元连接数据窗的权重是固定的;
    ②固定每个神经元连接权重,可以看做模板,每个神经元只关注一个特性;
    ③需要估算的权重个数减少:一层1亿减少至3.5万;
    ④一组固定的权重和不同窗口内数据做内积即卷积。

  • 激励层:把卷积层输出结果做非线性映射,前面介绍DNN时就详细讲过,没看的可以查看:DL课程:MLP、DNN、Wide&deep model及相关案例代码

    激励层主要有以下几点注意事项:
    ①CNN慎用sigmoid!
    ②首先试RELU,因为快,但要小心点;
    ③如果2失效,请用Leaky ReLU或者Maxout ;
    ④某些情况下tanh倒是有不错的结果,但是很少。
  • 池化层 / Pooling layer:夹在连续的卷积层中间,主要作用是压缩数据和参数的量,减小过拟合:

    主要包括:Max pooling和average pooling:

  • 全连接层 / FC layer :就是普通的所有神经元都有权重连接的层,通常接在卷积神经网络的尾部。
  • 典型的CNN结构为:

  • 卷积神经网络优缺点
    优点:①共享卷积核,优化计算量;②无需手动选取特征,训练好权重,即得特征;③深层次的网络抽取图像信息丰富,表达效果好;
    缺点:①需要调参,需要大样本量,GPU等硬件依赖;②物理含义不明确
  • 损失函数、优化算法以及正则化参考与上面一样。

CNN发展:

  • LeNet,这是最早用于数字识别的CNN :

  • AlexNet,2012 ILSVRC比赛远超第2名的CNN,比LeNet更深,用多层小卷积层叠加替换单大卷积层:

  • ZF Net,2013 ILSVRC比赛冠军 :

  • GoogLeNet,2014 ILSVRC比赛冠军:

  • VGGNet,2014 ILSVRC比赛中的模型,图像识别略差于GoogLeNet,但是在很多图像转化学习问题(比如object detection)上效果很好 :

  • ResNet,即Deep Residual Learning network,是2015ILSVRC比赛冠军,结构修正(残差学习)以适应深层次CNN训练,比VGG还要深8倍,主要是有一个快速通道与后面的神经元直连,因此可以在BP时计算梯度为相加的形式,不会产生梯度弥散:

具体案例代码:欢迎关注我的github


To be continue......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值