P8机器学习笔记--李宏毅(卷积神经网络CNN)

目录

一、第一种理解方法

1.receptive filed(感受野) stride(滑动距离)

2.共享参数 以及filter

3.只用全链接或者用参数共享和感受野的差别

二、第二种理解方法

1.用filter遍历整张图片

​编辑2.feature map 

三、两个方法总结

四、最大池化理解

五、根据类型选择是否用卷积层

六、CNN不能处理图片放大缩小或者旋转 


一、第一种理解方法

现在我们要识别一张猫

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第1张图片

固定一张图片的大小作为输入

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第2张图片 

这个彩色图片有3个channels(RGB)每一个都是100*100把它拉直丢到network里去

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第3张图片 

但是这样子呢每一个neural接收的参数实在是太多了,我们让每一个neural识别特定的部分

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第4张图片

1.receptive filed(感受野) stride(滑动距离)

我们设定一个感受野(receptive field )3*3大小这个感受野可以左右上下滑动,滑动距离为stride,当滑出去了就用padding进行填充

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第5张图片

 

这个27维度的向量最为neural的输入。receptive field的大小以及形状都能自定义,并且说同一个receptive filed可能有多个neural守卫 

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第6张图片

 这里有两个neural它们都是侦测鸟嘴的只是守备的范围不一样,那我需要在每个侦测范围都放一个侦测鸟嘴的neural吗,这样做的话会不会参数量过多呢?:

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第7张图片

2.共享参数 以及filter

所以我们让这两个neural共享weight参数,这两个neural只是输入不同:

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第8张图片

 每一个守望野会有很多neurons每一组公用参数的neural就叫做filter:

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第9张图片

3.只用全链接或者用参数共享和感受野的差别

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第10张图片

*当只用全连接时,该模型弹性较大容易overfitting但是有可能适用于公用任务

*当使用感受野和共享参数用卷积层时,加了一些限制,弹性变差,可能会导致model bias但是说呢会让在特定任务上表现更好

二、第二种理解方法

另一种解释方法是,卷积层里面有许多filter,大小是3*3*channel,要去里面抓pattern 

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第11张图片

我们假设是一个黑白图片,一个channel,filter里面的值是未知参数是经过gradient descent计算出来的:

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第12张图片

1.用filter遍历整张图片

然后进行计算

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第13张图片 

这个filter就在意的是主对角线上的特征 

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第14张图片2.feature map 

然后一直算,经历64个filter,就有64堆数字,这个就是feature map,这个feature map你可以看作是一个新的map:

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第15张图片

 作为下一个卷积层的输入,你可以叠许多卷积层:

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第16张图片

这样每一层叠加就会让看到更大的范围在第二层的3*3相当于在第一层更大的范围:

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第17张图片 

这个就解释了第一个方法里的filters的共用参数是怎么运行的 

三、两个方法总结

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第18张图片

第一个方法是思想,第二个方法是运行 

四、最大池化理解

在图片影像识别中,把大的图片缩小不会影响小的图片是什么

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第19张图片

最大池化就是在每个小区域里选一个最大的:

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第20张图片 

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第21张图片 

 这样就可以减少计算的压力:

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第22张图片

影像辨识大概就是这样,经过卷积层把它拉直最后传入全连接神经网络

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第23张图片 

 但是说用池化不一定是好的,你得考虑忽略掉某些东西时会不会有不好的效果。比如说围棋,你拿掉一些横排或者竖排肯定是对局势影响是不同得所以在阿尔法狗中都是full卷积层。

五、根据类型选择是否用卷积层

图片识别是观察某一部分特征,而围棋也是观测局部特征,所以可以选择卷积层。

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第24张图片

六、CNN不能处理图片放大缩小或者旋转 

当我们把图片放大时同样得图片机器可能不认识,这时候我们需要数据增强(data augument)。把每张图片截下来放大让cnn看过不同大小的pattern

P8机器学习笔记--李宏毅(卷积神经网络CNN)_第25张图片

 

你可能感兴趣的:(机器学习李宏毅,机器学习,cnn,人工智能,神经网络,深度学习)