李宏毅2022机器学习笔记(5)——CNN

将一张映像输入到模型中,得到该映像的类别,其中y向量中每一个值代表该映像是该类型的可能性。

 图片如何输入?

 在电脑中,一个彩色图片由三个通道组成(RGB),将该向量写开,则向模型组输入该向量

 要对图像特征进行观察,定义一些显著的特征,从而识别出图像的实体。neuro负责判断其对应的patterns是否出现。

在CNN中每个neuro有一个自己的receptive field,每个neuro只负责自己receptive field中的事情。

 

 例如上图将neuro负责的receptive field展开成一个 3*3*3的向量,将 该27位向量作为输入进行处理,并将输出给下一层。

receptive field可以有重叠,多个neuro可守卫同一个receptive field。receptive field大小可以不一,可以任意设计

 最经典的all channels

超出边界外的叫做padding,超出部分补数。整张图,每个地方都被receptive field扫过

 在不同的图像中,同样的pattern可能出现在图片的不同区域。neuro在对数据的处理时所作的操作都是相同的,不同的是所守卫的receptive field不同。每个receptive field并不需要都有一个对应pattern的neuro,只需要共享参数便可以解决这个问题。

如下图,两个neuro共享参数,即两个neuro的w完全一致。虽然两个neuro完全一致,但因为输入不同会得到不同的输出

 因此不能让两个receptive field完全一致的neuro共享参数。

Fully connected layer会观察整个图像,加入receptive field后限制了neuro的弹性,neuro加入参数共享后会变成convolutional layer,此时model bias会更大,但model bias大不一定是件坏事。当model bias较小,model的灵活度太高时,更容易overfitting的情况。

Fully connected layer灵活度高,可以做各种事情各种变化。convolutional layer灵活度低,专门为图像设计,在图像处理上会做更好。

 CNN的另一种解释

图像通过卷积层抓取图像的pattern,卷积层里有很多filter向图片中抓取pattern,下图设filter大小为3*3*channel

 下面我们来看filter如何抓取pattern,下面我们设channel=1,得到如下右边两个filter,左边为图像。

 接下来使用filter1对图像pattern进行抓取。将filter1放在图像左上角,并与左上角九个值进行相乘并相加得到3

 接下来将filter移动stride步,并继续与图像中九个值相乘相加,算出来是-1

以此类推,将全部 图像中全部值都扫过一遍,得到以下结果。

观察filter1发现,filter1对角线全为1,估当img中也出现对角线三个1 时值最大

 同理使用filter2抓取图像中的pattern,得到如下结果,有几组filter就可以得到多少组数据。我们将这些数据统一称为feature map。

 当一个图像通过一次卷积层,便可得到一个feature map。其中feature map的channel数主要由filter的个数决定。feature map仍可以继续深层次进行卷积。下图中filter1为64个,为了扫到feature map中全部的数值,filter2的高度也必须是64

 下图中不同neuro共用参数实际上就是将filter扫过一整张图。

 pooling

在处理图像问题时,我们还常用到pooling方法,如下图,将一个图片缩小,仍能看出它是一只鸟

 pooling有很多种类,例如下图中max pooling中。将filter卷积后的数据每2*2进行一个分组。选取每一组中最大的数为代表。

 一般在实训中convolution往往和pooling交替使用,pooling主要负责将convolution的feature map缩小。

 CNN的整个过程如下图,将图片进行convolution和pooling,之后将得到的feature map进行flatten,flatten是将多维数据展开成一维数组。之后将一位数组放在fully connected layers中进行训练,之后经过一个softmax得到该图片否类型。

 

 CNN不能处理图像放大缩小或旋转的问题

 

 

 

 

 

**

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值