[027] 深度学习--学习笔记(5)CNN与ResNe的理论基础

1、CNN的提出

① 硬件设备的滞后

1980年,Yann LeCun在做手写数字识别时,以全连接层的形式构建神经网络,假设这个网络有四层,那么最终会产生236K个参数量,而且每个参数都是浮点型Float,即需要236K * 4 = 944K (Byte) 的运存空间。但当时计算机(AT&T  DSP)芯片才有256K (Byte) 的运存空间,所以这个网络无法实现运行。

② 从生物视觉获得启发

生物视觉:人观察一个画面时,总是聚焦于局部,并从多个局部构建整个画面印象。

启发:神经网络不一定把信息全部导入,只需如同生物视觉一般,每次只观察图像的一部分,通过移动观察的视角,就能获得全局信息。

③ CNN的提出

网络实现过程:在手写字母项目LeNet5中,经过Convolutions => Subsampling => Convolutions => Subsampling => Full connection => Full connection => Gaussian connections 七层网络,最终网络参数量降低到60K左右。

备注:Convolutions -- 卷积层; Subsampling -- 采样,此处将图片尺寸变小; Full connection -- 全连接层。

2、CNN的构成

① 构成:feature map(输入) => filter (kernel) (扫描的窗口) => feature map(输出) 。

② 维度关系:

  <1> 输入的维度:[channel-in, h-in, w-in]

         channel-in表示色彩通道;h-in表示图片长度方向的像素数;w-in表示图片宽度方向的像素数。

  <2> 窗口的维度:[channel-out, channel-in, h-k, w-k]

         channel-out表示窗口kernel数量。各窗口代表不同的观察意图,比如窗口1用于观察图中是否有小狗,窗口2则观察小猫;

         channel-in表示窗口kernel的通道数,它等于输入的色彩通道数。多通道最终通过求和映射到一个输出feature map;

         h-k表示窗口的长;

         w-k表示窗口的宽。

  <3> 输出的维度:[channel-out, h-out, w-out]

         channel-out表示输出feature map的层数,它等于窗口kernel的数量;

         h-out表示输出feature map的长;

         w-out表示输出feature map的宽。

3、加深对CNN的理解

① 图中所示的卷积操作:

    <1> 输入feature map的维度:[1, 5, 5];

    <2> 窗口kenel的维度:[1, 1, 3, 3];

    <3> 输出feature map的维度:[1, 3, 3]。

② 其他关键参数:

    <1> 输入图片色彩通道Input_channel,黑白照为1,彩色照为3;

    <2>  窗口通道Kernel_channel,数值与Input_channel相等;

    <3>  窗口尺寸Kernel_size,此处为3 x 3;

    <4>  移动步长Stride,此处为单像素移动,所以等于1;

    <5>  填充padding。有时想让输出与输入feature map的尺寸相同,便用某种纯色填充输出feature map的边缘,扩大其尺寸。

4、为什么叫卷积?

① 数学上的概念:卷积是两个变量在某范围内相乘后求和的结果。

② 卷积神经网络:输入feature map与窗口kernel重叠部分对应位置相乘后求和,其结果用于衡量输入feature map和kernel的相关性。

5、ResNet

① 提出背景:神经网络的层数不是越多越好,更深的网络往往意味着更高的训练误差。

② 概念:ResNet中解决深层网络梯度消失的问题的核心结构是残差网络,残差网络增加了一个identity mapping(恒等映射),把当前输出直接传输给下一层网络(全部是1:1传输,不增加额外的参数),相当于走了一个捷径,跳过了本层运算,这个直接连接命名为“skip connection”,同时在后向传播过程中,也是将下一层网络的梯度直接传递给上一层网络,这样就解决了深层网络的梯度消失问题。此处参考该博客

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值