李宏毅机器学习-卷积神经网络

1.为什么用CNN处理图像

CNN做的事就是简化neural network的架构,用比较少的参数来做影像处理这件事。所以CNN比一般的DNN还要简单的。

为什么可以用比较少的参数可以来做影像处理这件事情
  • 在图片处理中,大部分的pattern其实要比整张的image还要小,对一个neural来说,假设它要知道一个image里面有没有某一个pattern出现,它其实是不需要看整张image,它只要看image的一小部分。
  • 样的pattern在image里面,可能会出现在image不同的部分,但是代表的是同样的含义,它们有同样的形状,可以用同样的neural,同样的参数就可以把patter侦测出来。
  • 我们知道一个image你可以做subsampling,你把一个image的奇数行,偶数列的pixel拿掉,变成原来十分之一的大小,它其实不会影响人对这张image的理解。

2.CNN架构

在这里插入图片描述

卷积(convolution)

在这里插入图片描述
在这里插入图片描述
通过filter 1检测出,左上角和左下角出现最大值。同理使用filtr 2对图像做convolution后,可以得到下面的矩阵。
在这里插入图片描述
对于彩色图像(RGB)
在这里插入图片描述
一个彩色的image就是好几个matrix叠在一起,就是一个立方体。如果要处理彩色image,这时候filter不是一个matrix,filter而是一个立方体。如果今天是RGB表示一个pixel的话,那input就是3*6 *6,那filter就是3 *3 *3。

在做convolution的话,就是将filter的9个值和image的9个值做内积(不是把每一个channel分开来算,而是合在一起来算,一个filter就考虑了不同颜色所代表的channel)

卷积vs全连接

在这里插入图片描述
卷积网络可以看作特殊的全连接网络。

max pooling

在这里插入图片描述
在这里插入图片描述
max pooling 根据filter 1和filter 2分别得到的4*4矩阵,每个矩阵将其分为4组,每一组用里面平均或者最大的数代替。** 一个filter就代表一个channel **

flatten

flatten就是将feature map拉直,给到fully connected feedforward netwwork。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
model.add(Convolution2D( 25, 3, 3)
25代表有25个filter,3 *3代表filter是一个3 *3的matrix

Input_shape=(28,28,1)
假设我要做手写数字辨识,input是28 *28的image,每个pixel都是单一颜色。所以input_shape是(1,28,28)。如果是黑白图为1(blacj/white),如果是彩色的图时为3(每个pixel用三个值来表述)。

MaxPooling2D(( 2, 2 ))
2,2表示把2*2的feature map里面的pixel拿出来,选择max value。

3.卷积神经网络学到了什么?

分析全连接层
让图像更像数字
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cifeng79

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值