lecture3 卷积神经网络(CNN)

一、导入:图片分类

输入:一样尺寸的图像
在这里插入图片描述

1. 机器识别图像原理

怎样输入一张图片呢

  • 对于机器来说,一张图片是3维的tensor(tensor是维度>2的矩阵)
  • 3维分别是长宽(这张图片的Pixel(像素)数目)和channel(R G B三种颜色)
  • 所以一张图片就是100x100x3个数值组成的,把他们拉成一排,组成一个向量。
  • 向量里面每一维就是某个像素某个颜色的强度

在这里插入图片描述

2. 全连接网络问题 —overfitting

每一个神经元都要都要看完整的图片,如果有1000个Neuron,第一层的weight有3x10^7,非常大
但是过多的参数,模型弹性过大—模型可选择的函数多—函数较为复杂—容易过拟合

在这里插入图片描述

3. 简化方法

(1) 感受野

一个神经元只需要局部信息就可以确定图片类型
下图识别鸟只需要将其各个pattern给各个神经元
在这里插入图片描述
确定一个receptive field(感受野)作为一个神经元的输入,再将其结果作为下一个神经元的输入

在这里插入图片描述

特点

  • Receptive Field之间可以重叠
  • 两个不同的神经元可以守备同一个receptive field
  • 一个神经元可以不全考虑3个channel
  • receptive field可以不是正方形

在这里插入图片描述

一般设定方式

  • 考虑它所有的channels(3)
  • 只讲高和宽 kernel size(图中eg:3x3)
  • 一个感受野可以有多个神经元守备
  • stride(步幅)通常设为1或2
  • 移动到旁边没有足够的值了,需要padding(补值)一般为0
  • 最终感受野会覆盖整个图片

在这里插入图片描述

(2)参数共享

同一个pattern可能出现在图片的不同感受野,而不同感受野的神经元的作用是一样的
在每个范围都放一个侦测鸟嘴的Neuron,会导致参数太多了
在这里插入图片描述

在不同的receptive filed共享参数
这两个Neuron的weight是完全一样的,但他们的输入是不一样的,输出也不一样

在这里插入图片描述

比如:
两个感受野都由64个Neuron来守护
两个感受野里面的Neuron一一对应来共用一组参数,这组参数叫做filter i

在这里插入图片描述
引出卷积层
在这里插入图片描述

(3)pooling(池化)- Max pooling

作用:pooling做的事情就是把图片变小,减少计算量

  • Pooling是可有可无的

每个filter扫过图片后会产生一组数字
将这组数字分组,再在每个组里面选择最大值作为代表(最大池化)
在这里插入图片描述
可能卷积几次中穿插一次池化
在这里插入图片描述

二、卷积层是什么

第二种方式引出CNN的方式
什么叫做Convolutional Layer(卷积层)呢

里面有很多的Filter(滤波器/卷积核)
Filter来抓取图片里的一个pattern

在这里插入图片描述

每一个Filter都进行滑动卷积,stride设为1

在这里插入图片描述

一个Filter能得到一组数字,64个就能得到64组数字,组成Feature map Feature
map就可以看成是另外一张新的图片,有64个channel

在这里插入图片描述
如果要将第一层的结果“图片”当作第二层的输入
第二层Convolution的Filter高度也等于64(相当于channel数)

两种方式比较而言
前者里面Neuron共用的参数其实就是后者里面的Filter
在这里插入图片描述

权值共享其实就是将Filter扫过一张图片(convolution
其实就是不同感受野的神经元可以共享一个Filter

在这里插入图片描述

二、CNN架构

Flatten是将矩阵拉直成向量
再传入全连接神经网络里面
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值