深度学习笔记003-卷积神经网络基础

卷积神经网络主要解决深度学习中图像处理的问题,通过卷积,减少参数量
(因为直接拿所有像素进行全连接权值太多,不合适)。

卷积神经网络的特点是参数共享稀疏连接
参数共享: 一个像素能被多个卷积核卷积)
系数连接: 卷积后的结果只与卷积所覆盖的像素有关,与其他区域的像素点无关)

卷积神经网络中的知识点:

1.padding

padding主要是在原图像的周围补上一圈0(具体几圈可以自己设置)
通过补零,可以保证图像卷积后的输出和原图像一样;(padding=‘same’);

同时也可以保留图像边缘像素的有效信息(确保边缘像素被卷积核卷积多次)。

卷积后输出图像大小的公式:(n+2p-f+1)*(n+2p-f+1)
(n代表原图尺寸,p代表padding几个像素,f代表卷积核大小)

2.stride(步长)

步长是设置卷积核每次移动的像素点位置长度,通过设置stride我们可以将卷积后输出图像的大小控制减小成相应的大小(一般设置stride=2可将输出图像减小)

卷积后输出图像大小公式:((n+2p-f)/s)+1)*((n+2p-f)/s)+1)
(n代表原图尺寸,p代表padding几个像素,f代表卷积核大小,s代表步长)

注意: 如果出现不能整除的情况,我们向下取整

3.池化(pooling)

除了卷积层,卷积神经网络通常也使用池化层来缩减模型的大小,提高计算速度,同时提高所提取特征的鲁棒性。

  1. 两种不同类型的pooling:
    Max Pooling(常用) 和 Average Pooling(不常用)
    (例外:在深度很深的神经网络中,我们使用平均池化Average Pooling来分解规模为7×7×1000的网络的表示层,在整个空间内求平均值 得到1×1×1000)

  2. pooling的作用:
    Max Pooling:对每层channel提取卷积核中的最大数字,强化特征
    (在许多实验中,Max Pooling都取得了较好的效果)
    Average Pooling:计算卷积核中的平均值
    (也有论文说是使得图像特征更加平滑)

  3. pooling的超参数:
    虽然有超参数,但是pooling并没有参数需要学习,只是个固定的运算

    两个超参数,分别是f,s:f(filter size)代表卷积核尺寸,s(stride)代表步长
    注意: 我们在使用pooling的时候很少用到超参数padding

4.神经网络中的术语

  1. layer层(layer1,layer2…)
    一般把带有权重的层合在一起叫做一层。卷积+MaxPool合在一起是一层(因为卷积不带权值,只是一个运算)
  2. FC全连接层
    全连接层是一个标准的神经网络。
    在卷积和pool之后我们一般会在输出结果前使用几个FC全连接层,最后使用不同的分类输出(多分类使用softmax输出)

总结:

  1. 尽量不要自己设置超级参数,尽量使用别人论文里的超参,选一个在别人任务中效果很好的架构,以达到更好的效果。
  2. 随着神经网络的加深,通常高度h和宽度w都会减小,与之相反的信道channel数量会增加
  3. 常见的神经网络架构:
    输入 --> [conv+pool]×n --> [FC]×n --> 输出

你可能感兴趣的:(深度学习笔记,神经网络,深度学习,计算机视觉)