李宏毅深度学习--卷积神经网络

李宏毅深度学习–卷积神经网络

本文主要基于以下参考资料:
开源文档:https://datawhalechina.github.io/leeml-notes
视频地址:https://www.bilibili.com/video/BV1Ht411g7Ef

下面这张图展示了CNN的全过程:
李宏毅深度学习--卷积神经网络_第1张图片

- convolution 卷积

stride表示步长,也就是每次挪动的距离,stride=1表示每次移动一格,每行移动到末端就往下移动一格继续从左开始往右挪动。每次计算image矩阵中得到的红框矩阵与filter 1的内积,最终可以得到下图右下角的4*4矩阵。这个矩阵叫feature map。
李宏毅深度学习--卷积神经网络_第2张图片

  • filter的作用: 可以检测某种模式是否存在
    filter 1 可以检测有没有连续的1连续出现。观察上述得到的4*4的矩阵,就可以发现(1,1)与(4,1)处等于3,因此说明原矩阵中左上角和左下角的两个地方有连续的1出现,如下图蓝色斜线所示。
    不同的filter用于检测不同的模式,在每一层神经网络中,可以包含多个filter(滤波器),每个filter可以得到一个feature map。
    李宏毅深度学习--卷积神经网络_第3张图片
    filter 2检测是否存在竖直的连续出现的3个1,最终检测到右下角出现模式二。
    李宏毅深度学习--卷积神经网络_第4张图片
  • filter 的维度由输入层的维度决定,每一维的大小取决于要检测的模式
    如果是彩色图片,那么图片的像素矩阵应该是3维的,因此每一个filter也应该是3维(层)的。
    李宏毅深度学习--卷积神经网络_第5张图片
  • CNN VS 完全连接神经网络
    李宏毅深度学习--卷积神经网络_第6张图片
    其实相当于是输入层中某些值的权重为0,完全连接神经网络是输入层的每个值都有非0的权重,因此CNN是Not fully connected。此外,由于共用同一个filter,因此同一层神经网络中的每个神经元给输入值的权重分布是一样的。
    李宏毅深度学习--卷积神经网络_第7张图片

- MAX Pooling

对于每一张图片,即使从像素矩阵中抽取一部分信息,也不改变图片原始形状,这是max pooling得以应用的原因。
李宏毅深度学习--卷积神经网络_第8张图片
选择框框中每4个值中最大的那一个,具体框框的大小可以视具体情况决定。
李宏毅深度学习--卷积神经网络_第9张图片
最终得到下面的值。有多少个filter,得到新的image矩阵就有多少维。
李宏毅深度学习--卷积神经网络_第10张图片

- Flatten

flatten其实就是把filter输出的多维矩阵拉成一个数组的过程,最终传递给全连接前馈神经网络,后面就是之前学的DNN的部分。
李宏毅深度学习--卷积神经网络_第11张图片

  • CNN in Keras
    李宏毅深度学习--卷积神经网络_第12张图片
    第二次卷积的filter的参数个数=2533=225个,上一轮max pooling得到的是251313的pixel矩阵,因此filter也应该是25维的。
    李宏毅深度学习--卷积神经网络_第13张图片
  • CNN的完整架构
    在DNN的基础上,最开始进行一次图片压缩。图片压缩由多次convoluntion和max pooling组成。
    李宏毅深度学习--卷积神经网络_第14张图片
  • what does CNN learn
    李宏毅深度学习--卷积神经网络_第15张图片
    部分学习资料
    在这里插入图片描述
    下图左边部分人眼根本无法分辨是数字,但却是CNN学习到的内容。对CNN加以限制,如下图右边所示公式(其中加号应该为减号),约束像素的值要尽量小,最终得到下图右方的图片。
    李宏毅深度学习--卷积神经网络_第16张图片
  • deep dream
    夸大现在看到的东西
    李宏毅深度学习--卷积神经网络_第17张图片
    取得的效果
    李宏毅深度学习--卷积神经网络_第18张图片
  • deep style
    filter 之间的关系决定图片的风格,filter的模式决定图片内容形状。deep style从原图片中学习filter的模式,从想要转化的风格图片中获取filter之间的关系,最终找到一个同时满足上面两个要求的filter。

李宏毅深度学习--卷积神经网络_第19张图片

  • CNN应用在下围棋上
    当图片的某些特性存在时,才可以使用CNN
    李宏毅深度学习--卷积神经网络_第20张图片
    李宏毅深度学习--卷积神经网络_第21张图片
    但实际上在playing go上没有使用max pooling。
  • 后续的学习资料
    李宏毅深度学习--卷积神经网络_第22张图片

你可能感兴趣的:(机器学习理论,神经网络,卷积)