2019-05-29(卷积单元—更新中)

卷积神经网络的基本模块

视觉基本问题:图像分类、目标识别、目标检测、图像分割、目标分割。

卷积层

  • 卷积运算:对应位置相乘结果在相加
  • 如果不考虑反卷积(转置卷积)的话,常用的卷积方式有两种,一种是Valid,一种是SAME,下面将分情况讨论这个问题(下面特征图大小的计算场景为:n * n的图片经过f * f的卷积核以步长为s、padding为p卷积运算后特征图的大小)
  • Valid方式:这种方式的话,待处理图片不做padding处理,卷积过程中,如果图像剩余的像素数量不能够覆盖卷积核的大小,则放弃这部分像素
    特征图大小的计算:
    width =
    height =
  • SAME方式:
    这种方式卷积的卷积过程中,对图像进行了padding操作(在图像周围补一圈0),这样做是为了保证所有的像素都参与卷积,如何保证你呢?设置p(padding的圈数)为。
    特征图大小的计算方式:
    width =
    height =
    需要注意的是,SAME并不能保证卷积的输出和源图片大小相同,只有stride为1且卷积方式为SAME时卷积输出才和原图等大。SAME方式卷积特征图大小的计算方式还有一个更加通用的公式:
    width =
    height =
  • 卷积间隔(dilation):卷积对于输入数据体的空间间隔表示隔几个数据体做一次卷积
  • 分组卷积(groups):表示输出数据体深度和输入数据体深度上的联系,group = 1表示输出和输入是全链接的,group = n表示出入和输出被分为n组,每组的输入和输出是全链接的。

池化层

池化层的输入一般是圈基层,其作用是试特征具有鲁棒性,同时减少参数的数量,进而防止过拟合的发生。池化层没有参数,所以反向传播时只需对输入参数求导,不需要进行权值更新

  • 池化层的反向传播:
    • max-pooling:
      这种情况下,只有最大值对下一层有贡献,所以应该将残差传递到对应的位置,其他的位置置0,所以在进行前向计算时就应该记录下最大值在pooling窗口中的位置。
    • mean-pooling:
      这种情况下,所有值对下一层有贡献,反向传播时需要将残差分成n * n份(n为pooling的边长),分别传递到上一层即可。

激活函数

  • sigmoid函数:
    表达式:

    导数:

    总结:
    • 优点
      1、最大的优势是容易求导
      2、将值映射到0~1之间,很像概率
    • 缺点
      1、指数运算拖慢了运算速度
      2、函数输出不以0为中心,这导致了权重更新速率下降
      3、sigmoid有一个梯度饱和区,这是深度学习中梯度弥散的基本原因
  • tanh函数:
    表达式:

    导数

    总结:
    tanh是双正切函数,tanh函数和sigmoid函数比较相近的,一般在二分类问题中,隐藏层用tanh函数激活,输出层用sigmoid函数激活,不过这也不是一成不变,仍需具体问题具体分析。
    • 优点:
      1、易求导
      2、将值映射到-1~1之间
    • 缺点:
      1、和sigmoid一样,存在梯度饱和区,也会引起梯度弥散
  • ReLU函数:修正线性单元
    表达式:

    求导:
    x > 0:导数为1
    x <= 0 : 导数为0
    总结:
    • 优点:
      1、易求导
      2、输入为正数时,不存在梯度饱和区
      3、运算速度快
    • 缺点:
      1、输入小于等于0时,ReLU完全不被激活,这在前向传播时无伤大雅,甚至会降低过拟合,但是反向传播时,就会出现和sigmoid和tanh一样的问题,即:梯度弥散
      2、ReLU的输出要么是0,要么大于0,可见它也不是以0为中心,会拖慢参数更新速率
  • ELU函数
    表达式:

    图像:
    来源
13298870-24b9e593041a7279

总结:
ELU是针对ReLU的改进,从图像可以看出,为负的情况ELU仍会被激活,不过仍会有梯度饱和的问题,并带来了指数运算。

  • PReLU(Leaky ReLU)函数
    表达式

    总结:
    PReLU也是针对ReLU的一个改进,避免了ReLU在负数区死掉的问题,和ELU相比也具有一定的优势
  • softmax函数

以上所有激活函数各有优缺点,需要我们在实际中通过实验决定具体运用。

卷积层和全连接层

  • 卷积层变为全连接层,只需要把权重变化为一个巨大的矩阵,其中大部分都是0除了一些特定的区块(局部感知)很多区块的权值还相同(权值共享)
  • 全连接层变为卷积层,k=4096的全连接层,输入层大小为7 * 7 * 512,它等效为一个F = 7,P = 0, S = 1, K = 4096的卷积层,此时filter size正好为输入层的大小。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值