李宏毅2021春季机器学习课程笔记5:Convolutional Neural Network(CNN)

1. Convolutional Neural Network(CNN)

CNN大多数应用于影像方面,例如给机器一张图片,让机器识别图片中是什么东西。
一般首先要假设图形的大小都是一样的,再进行训练,目标用独热码的一个vector来 y y y表示。在这里插入图片描述
首先,我们要先将影像转化为电脑能看懂的形式。
对于电脑来说,一张图片就是一个三维的Tensor。
在这里插入图片描述
这三维分别是宽和高以及通道数(RGB),宽和高代表了像素的数量。我们的输入都是向量,所以我们要把它拉成一个向量。
在这里插入图片描述
这样的话,输入就是100x100x3的向量,这样如果一层有1000个Neuron,第一层的weight就会有很多。这样对于全连接层来说,很容易产生over fitting。
在这里插入图片描述

对于影像来说,其实在过程中需要检测到有没有出现一些有用的形态特征(pattern)。在这里插入图片描述

就算是人类,在观察这张图片的时候,也是抓取了图片中很像鸟嘴的特征进行判断。

1.1 Neuron Version

我们基于图片的这种特性,对方法进行两方面的简化:

  1. 使用感受野
    在这里插入图片描述

所以,我们可以设定一些感受野,一个神经元只需要关注这一个小的区域就可以了,它的输入只需要是这个感受野里的数值。
不同的感受野之间也可以重叠,一个感受野也可以有多个神经元进行观察。具体的感受野形状、尺寸大小。通道等参数,可以自己根据对问题的理解自己设定。

在这里插入图片描述大多数时候,都选择三通道,我们把感受野的尺寸(kernel size)设置为3x3,一般同一个感受野会有一组神经元去检测它,步长一般设置为2。
当超出了图片的范围时一般会做padding来补值。

  1. 参数共享
    在这里插入图片描述
    我们通过让各个神经元共享参数实现对全图的检测,不论特征出现在图中哪个地方都会被检测到。

    在这里插入图片描述
    所以其实最后只有一组神经元的参数被每一个receptive field所共用,这些神经元公用的参数被称为filter

Receptive Field + Parameter Sharing = Convolutional Layer

1.2 Filter Version Story

在这里插入图片描述
假设Filter的数值已知,如图所示,其实这个filter就是在对角线出现三个1的时候数值最大,这也是找一种特征。
在这里插入图片描述

经过64个filter内积后得到的结果,拼接起来其实也可以看作一张特殊的“图片”,有64个通道。
这时候第二次的Convolution层的filter就需要是3x3x64的尺寸。
在这里插入图片描述
在第二层的卷积层,如果用的还是3x3的filter,其实已经可以获得原图片中5x5的区域特征了,所以不用担心3x3的无妨获得较大范围的特征。只要层数越深,检测到的范围就会越大!
在这里插入图片描述

卷积层与神经网络的关系
每个Filter就是各个感受野上对应神经元共享的一组参数,Filter的个数就说明了感受野上有多少个神经元在进行观测。

1.3 Pooling

在这里插入图片描述
把大图片变小,并没有参数,只是一个操作。Max Pooling就是选择一个范围内最大的值。
在这里插入图片描述
实际上我们把Pooling结合到卷积操作后,但有时候会造成一些“损伤”。
近年来很多时候都用Full-Cov,不用Pooling。因为pooling是用来减少计算量,而随着算力资源的发展就慢慢不需要了。
在这里插入图片描述
在分类问题中最后把卷积后的结果拉直成一个向量(Flatten操作),经过一个全连接层、softmax这些分类的基本步骤就完 成了。
在这里插入图片描述
我们可以发现在Alpha Go中并没有用到pooling,所以网络一定要根据情况进行设计,炼丹也要讲究方法。

除此之外,分享一个大佬的博客,从各个角度将卷积讲的十分透彻https://www.cnblogs.com/LittleHann/p/6792511.html

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值