七月算法--12月机器学习在线班-第十九次课笔记-深度学习--CNN

时间:2021-11-10 14:24:22

七月算法--12月机器学习在线班-第十九次课笔记-深度学习--CNN

七月算法(julyedu.com)12月机器学习在线班学习笔记http://www.julyedu.com

1,卷积神经网络-CNN 基础知识

   三个要点

    1: 首先将输入数据看成三维的张量(Tensor)

    2: 引入Convolution(卷积)操作,单元变成卷积核,部分连接共享权重

    3:引入Pooling(采样)操作,降低输入张量的平面尺寸

1.1 张量(Tensor)

   高,宽度,深度,eg:彩色图像:rgb,3个深度,图像的大小是160高度,320,

   (3,160,320)一个三维张量

七月算法--12月机器学习在线班-第十九次课笔记-深度学习--CNN

1.2 卷积操作:

       一维信号的卷积:

      卷积核:1,0,-1

七月算法--12月机器学习在线班-第十九次课笔记-深度学习--CNN

       如图步长stride:2 具体的操作是于卷积核对应位置相乘后续相加即 0*1+1*0+2*(-1)=-2这就是第一个数据和卷积核相乘相加得到的-2;后面一次类推

那么3D-张量的卷积操作如下:

 

1.3 3D-张量的卷积操作

   nn.Spatisl Convolution(3,2,3,3) 第一个3,是输入图像的深度为3,第一个数字2是两个卷积核,后面的3,3,是生成图像的大小3*3的,一共有2张图。

   卷积操作在深度上面不滑动,为了后面的共享全连接

    如下图,将蓝色的部分和对应红色的部分相乘后香蕉,之后再将三个卷积核对应操作得到的数值全部相加,可以得到数值9,这也就是3维张量的卷积操作,

    Padding:1在左右都加上0,其中为了能更好的适应卷积的操作需要将图像的边缘一周全部加上0,为了尺寸的方便。 (3,5,3,3, 1,1 1,1)后面两个都是补0操作。

    Bias:偏移量,每个卷积核都带有一个,b0[:,:,0]

 

   特征是由深度网络学习出来的,而不是提取出来的

 

七月算法--12月机器学习在线班-第十九次课笔记-深度学习--CNN

 

 

 

 

 

 

 

 

1.4 卷积后的激活函数

       三种:ReLU LeakReLU ELU

七月算法--12月机器学习在线班-第十九次课笔记-深度学习--CNN 七月算法--12月机器学习在线班-第十九次课笔记-深度学习--CNN

 

1.5 Pooling操作

      对应区域,按照规则,求最大,或者求平均如下图,为了调整尺寸,深度不减少,但是可以将H*W处理的尺寸降下来。

七月算法--12月机器学习在线班-第十九次课笔记-深度学习--CNN

 

 

 

 

 

1.6 Batched Normalisation

       将一组图像调整成0均值,调整偏移量offset

 

七月算法--12月机器学习在线班-第十九次课笔记-深度学习--CNN

 

 

 

 

 

2 卷积网络设计

   针对图像识别的卷及网络设计

2.1 tips

    1, 尽量使用3x3尺寸的卷积核,甚至更小(2x2或者1x1), stride取1(除去第一层可以采用稍大尺寸的卷积核),后面的层次采取较密集的滑动

       2, 使用Pooling(2x2)对网络进行1/4下采样

      3, 采用多层次架构,采用残差结构实现更深的网络

2.2 Pattern设计

1, [CONV-RELU-POOL]xN+[FC一RELU]xM+SOFTMAX 卷积CONV, RELU的激活函数,降维到1/4,重复N,

2, [CONV-RELU一CONV-RELU一POOL]xN+[FC一RELU]xM+SOFTMAX 卷积两次降维一次,(注意最后一层FC,不采用ReLU激活函数)

七月算法--12月机器学习在线班-第十九次课笔记-深度学习--CNN

        输入图像 224*224*3

        第一层

  1,(3,3,3)一共有64个卷积核,1728个权重, 第一个3是深度,第二个3*3是卷积核的大小,输出224*224*64,(人工指定)会输出64张图。

    2,输入224*224*64,之后深度变为64,参数:(3*3*64)36864个权重,因为有64个深度

            3,poling3一次,将图片大小变为112*112*64 ,由3.2M变为800K

                  ……

            FC进行全连接

 

3 残差网络

    3.1复杂网络结构的BP计算

         1,核心:依然是链式规则

七月算法--12月机器学习在线班-第十九次课笔记-深度学习--CNN七月算法--12月机器学习在线班-第十九次课笔记-深度学习--CNN

 

 

 

        2,利用框架搭建网络

       3,对自己实现的结构,严格用,数值计算验证

          跑一边epoch

4, 卷积网络中的正则化

      1,训练时,对图像增加随机噪声,

      2,在257x257图像中,随机采样224x224的子图

      3,图像采用随机左右镜像

      4,在FC层之间使用Dropout技术,可以用用残差的网络

      5,尝试BN,残差结构

       (Waifu2X实验示例)