• 卷积神经网络——李宏毅机器学习笔记


    以Image Classification为例

    第一个解释角度:

    先将不同尺寸的image,rescale成大小一样的尺寸,再丢到model中。
    下图中,我们希望Cross entropy 越小越好
    在这里插入图片描述
    在计算机视角下的图片:
    3 channels 对应R G B三个通道在这里插入图片描述
    随着模型参数的增多,全连接层网络的弹性越大,overfitting的风险越大
    在这里插入图片描述
    那么怎么避免在做图像识别参数过多的问题?
    我们没有必要考虑每一个neuron跟input的每一个dimension都有一个weight。

    Observation 1:

    我们并不需要观察整张图就可以辨别出图片中是一只鸟。所以我们可以使用整张图片的一小部分当成输入,就足以识别出某些特别的Pattern。
    因此可以做第一个简化:
    每一个neuron只考虑自己的receptive field
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    一个receptive field 可以有多个neuron
    在这里插入图片描述
    可以,receptive field都是可以自己设计的,但是要想想看自己为什么要这样做。

    经典的做法:
    在这里插入图片描述
    (1)all channels;
    (2)kernel size 一般设3*3;
    (3)一个receptive field对应一组neuron(例如 64 neurons)
    (4)stride往往1或2;
    我们往往希望Receptive field 之间有高度的重叠,因为如果两个receptive field没有重叠,而pattern出现在两个receptive field交界处,从而没有neuron去侦测他,这样就会miss掉这个pattern
    (5)padding;

    Observation 2:

    图片中有same patterns,所以没必要在每一个pattern设置neuron,可以共享参数
    在这里插入图片描述在这里插入图片描述
    经典的做法:
    在这里插入图片描述
    (1)每一个receptive field有一组参数;
    (2)每一个receptive field共享参数;

    在这里插入图片描述
    相比全连接层,cnn的model bias很大,但由于cnn是特别为图像设计的,所以他依然能在影像上做到很好,但影响之外的任务就不一定了。

    第二个解释角度:

    Another story based on filter

    每一个filter去图片里抓取pattern
    在这里插入图片描述
    例子:
    (1)假设channel=1;
    (2)假设filter中的参数已知(实际上filter中的参数是需要训练出来的);

    在这里插入图片描述
    在这里插入图片描述
    对每一个filter做同样的操作
    在这里插入图片描述
    将feature map可以看做一张新的图片,有64个channel,注意第二层filter的大小高度为64
    在这里插入图片描述
    如果我们的filter一直设33会不会让我们的network无法看比较大范围的pattern呢?
    不会
    在这里插入图片描述
    左上角的这个数值,在影像上对应的是3
    3的范围,下面33的范围,对应影像上55的范围。从而,也就是说叠的深度越深,所覆盖的范围越大。

    Comparison of Two Stories

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    Observation 3:

    把奇数的column、偶数的row都拿掉,图片变为原来的1/4,但是不会影响里面是什么东西。
    在这里插入图片描述
    在这里插入图片描述
    Max Pooling:选filter最大的一个
    在这里插入图片描述
    在这里插入图片描述
    pooling最主要的作用是把图片变小,减少运算量,所以如果计算资源足够的话可无pooling。
    在这里插入图片描述

    CNN应用:

    此例子不需要Pooling
    在这里插入图片描述
    虽然可以使用FCN,但是CNN效果更好
    在这里插入图片描述
    48 channels:每一个位置有48个状态。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    CNN并不能处理影像放大缩小或旋转问题。

  • 相关阅读:
    杰理之关于提升 BLE 传输速率说明【篇】
    table多行表头渲染时出现位置错乱问题
    FPGA——SPI总线详解(概念)
    Python爬虫技术系列-06requests完成yz网数据采集V01
    TikTok社交心理学:短视频如何连接人心
    撤销和重做实现-第二部分(命令模式)
    [ 2024春节 Flink打卡 ] -- 理论基础
    2023版Idea创建JavaWeb时,右键new没有Servlet快捷键选项
    C++Day2
    贪心算法—Problem F
  • 原文地址:https://blog.csdn.net/overload_/article/details/128023825