李宏毅机器学习笔记(四)CNN

Convolutional Neural Network(P17)

Why CNN for Image?

  • 当我们直接用一般的fully connected的feedforward network来做图像处理的时候,往往会需要太多的参数
  • CNN做的事情其实是,来简化这个neural network的架构,我们根据自己的知识和对图像处理的理解,一开始就把某些实际上用不到的参数给过滤掉
  • 虽然CNN看起来,它的运作比较复杂,但事实上,它的模型比DNN还要更简单,我们就是用prior knowledge,去把原来fully connected的layer里面的一些参数拿掉,就变成CNN

满足CNN的三个特性:

  • 一些模式(pattern)远比整张图像小得多,一个神经元只需要发现这些模式,而不需要看整张图像。如:人脸识别中,一些负责识别眼睛,一些负责识别鼻子,一些负责识别嘴巴等等。将一些小区域与少量参数相关联。
  • 同样的模式可能出现在图像的不同区域。如:人脸识别中,鼻子在图上的位置可能不同,可能在正中间,可能偏上,也可能偏下。用同一组的参数做几乎同样的事情。
  • 对图片做下采样,不会改变图中的物体。下采样让图像变小,减少参数。

卷积层针对特性1和特性2,最大池化(Max Pooling)层针对特性3。

The whole CNN structure

整体的 CNN 如下所示:
一张图像多次经过卷积层+池化层,然后展平,通过一个全连接的前向传播神经网络(分类器)来进行分类。
在这里插入图片描述

Convolution

卷积(convolution)操作中有一些过滤器(filter),也被称为卷积核,相当于神经网络中的神经元,需要被学习。
过滤器就是一些矩阵,它负责提取图像中的特征,进行特征映射(feature map)
在这里插入图片描述
在这里插入图片描述

Max Pooling

最大池化层下采样
在这里插入图片描述
在这里插入图片描述

Convolution + Max Pooling

做完一次convolution加一次max pooling,我们就把原来66的image,变成了一个22的image;至于这个2*2的image,它每一个pixel的深度,也就是每一个pixel用几个value来表示,就取决于你有几个filter,如果你有50个filter,就是50维,像下图中是两个filter,对应的深度就是两维

所以,这是一个新的比较小的image,它表示的是不同区域上提取到的特征,实际上不同的filter检测的是该image同一区域上的不同特征属性,所以每一层channel(通道)代表的是一种属性,一块区域有几种不同的属性,就有几层不同的channel,对应的就会有几个不同的filter对其进行convolution操作
在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值