深度学习日记——Day1 卷积神经网络

卷积神经网络

    • 深度学习与人工智能、机器学习的关系
    • 卷积神经网络基础
      • 边缘检测
        • 垂直过滤器和水平过滤器
      • Padding
        • Valid and Same convolutions(卷积方法)
        • 卷积步长 S(Strided convoluton)
        • Summary of convolution
      • RGB卷积(三维)
    • 单层卷积神经网络
      • Summary of notation
    • 简单卷积网络示例
    • Pooling 池化层
      • Max pooling
      • Average pooling
    • Fully connected 全连接层
      • Neural network example:
    • Why convolutions 为什么选用卷积
      • Gradient descent 梯度下降法

深度学习与人工智能、机器学习的关系

深度学习日记——Day1 卷积神经网络_第1张图片
深度学习并非是2012年才出现,早在1989年就已经设计出了世界上第一个真正意义上的卷积神经网络,直到2012年才重回研究者的视野。
深度学习是一种可以通过学习人类预先提供的训练数据与标签,通过自我学习训练样本和标签来对网络卷积层中的参数进行不断调整,自主学习输入和输出之间的潜在规律,达到预测效果的网络。

卷积神经网络基础

边缘检测

  • 用卷积运算实现垂直边缘检测示例
    深度学习日记——Day1 卷积神经网络_第2张图片

左边6*6的矩阵代表左亮右暗的图片,实际像素会更大

中间3*3代表垂直过滤器(filter,或者叫卷积核)

右边是经垂直过滤器处理后的新图片。在这张图片中很明显能看到中间的一条线,这就是垂直边缘,当左边图片像素变大到1000*1000时,就能很清晰的表明左图的垂直边缘(Vertical edge)

垂直过滤器和水平过滤器

深度学习日记——Day1 卷积神经网络_第3张图片
如果将中间一行的 1 & -1 变为 2 & -2,就成为了sobel filter,其实大可将这些数字都看成参数,再使用反向传播求得各种不同过滤器的参数。(反向传播我也还没看到那去,下面应该会讲到)

Padding

待解决的问题
1.图像在卷积后越缩越小
2.图像边缘的大部分信息丢失
解决方法——padding(填充像素)

Valid and Same convolutions(卷积方法)

  • 无Padding
    “Valid” s :n * n (卷积*) f * f ==》 n-f+1
    尺寸说明: 原图 过滤器 输出
  • 有Padding,使一致
    “Same” s:n+2p * n+2p (卷积*) f * f ==》 n+2p-f+1
    =》 p = (f-1) / 2 (f一般为奇数)
    尺寸说明: 原图 过滤器 输出

卷积步长 S(Strided convoluton)

卷积时过滤器每次移动的步数
公式变为 (n+2p-f) / s +1 :商不为整数就向下取整

Summary of convolution

深度学习日记——Day1 卷积神经网络_第4张图片
数学家更习惯叫这个操作为互相关(Cross-correlation),即需要镜像过滤器矩阵后再相乘。但在机器学习领域不需要镜像操作也能有相同的效果,且简化了代码。

RGB卷积(三维)

  • 三维输出成一维,3 * 3 * 3 = 27个数相加
    深度学习日记——Day1 卷积神经网络_第5张图片

  • 多重过滤器,过滤不同的特征(p=0,s=1)
    深度学习日记——Day1 卷积神经网络_第6张图片

单层卷积神经网络

具体做法是运用线性函数,再加上偏差,然后应用激活函数Relu最后通过神经网络的一层,把一个6x6x3的维度a[0]演化为一个4x4x2的维度a[1],这就是卷积神经网络的一层。
Practice:
深度学习日记——Day1 卷积神经网络_第7张图片
解:
3x3x3+1(偏差b)=28
28*10=280
所以无论图片怎么变,参数始终只有280个。

Summary of notation

深度学习日记——Day1 卷积神经网络_第8张图片
理解某一层卷积层的工作原理就可以叠加起来理解深度卷积。

简单卷积网络示例

深度学习日记——Day1 卷积神经网络_第9张图片
从上示例一层一层构建卷积层,最终输出了 7 * 7 * 40 = 1960个特征,各参数在上节有说明。
深度学习日记——Day1 卷积神经网络_第10张图片
最后是将这1960个特征平整化为一个长向量填充到softmax回归函数中 (下接全连接层,这也是学了后面才知道的)

深度学习日记——Day1 卷积神经网络_第11张图片
卷积神经网络不仅有卷积层,还有池化层全连接层

Pooling 池化层

  • Hyperparameters: f = 2 , s = 2(常用超级参数,效果相当于高宽缩减一半)
  • 没有权重和参数,所以常常和卷积层共计一个Layer。

Max pooling

深度学习日记——Day1 卷积神经网络_第12张图片
依次是9、2、6、3 。

Average pooling

深度学习日记——Day1 卷积神经网络_第13张图片

Fully connected 全连接层

Neural network example:

深度学习日记——Day1 卷积神经网络_第14张图片
FC3就是全连接层,因为Layer2平整化的400个神经元跟FC3中的120个神经元是全连接的,是“简单卷积网络示例”这一节中的例子的扩充
Example 试着自己算一算~~
深度学习日记——Day1 卷积神经网络_第15张图片

Why convolutions 为什么选用卷积

  • Parameter sharing 参数共享
    A feature detector (such as a verticaledge detector) that’s useful in one part of the image is probablyuseful in another part of the image.
    1.在输入图片的不同区域使用同样的参数以提取特征
    2.即使减少参数,也能获得相同量的输出
  • Sparsity of connections 联系稀疏性
    In each layer, each output valuedepends only on a small number of inputs.

神经网络可以通过这两种机制减少参数以预防过度拟合。

  • 此外卷积层还具有平移不变的属性,即横移几个像素点图像仍然清晰。

Gradient descent 梯度下降法

深度学习日记——Day1 卷积神经网络_第16张图片

今天的学习就到这里啦,看完记得要复习一下,前面不少备注都是学完后面的再加上去的,温故而知新

你可能感兴趣的:(深度学习,深度学习,cnn,神经网络)