卷积神经网络——李宏毅机器学习笔记

以Image Classification为例

第一个解释角度:

先将不同尺寸的image,rescale成大小一样的尺寸,再丢到model中。
下图中,我们希望Cross entropy 越小越好
卷积神经网络——李宏毅机器学习笔记_第1张图片
在计算机视角下的图片:
3 channels 对应R G B三个通道卷积神经网络——李宏毅机器学习笔记_第2张图片
随着模型参数的增多,全连接层网络的弹性越大,overfitting的风险越大
卷积神经网络——李宏毅机器学习笔记_第3张图片
那么怎么避免在做图像识别参数过多的问题?
我们没有必要考虑每一个neuron跟input的每一个dimension都有一个weight。

Observation 1:

我们并不需要观察整张图就可以辨别出图片中是一只鸟。所以我们可以使用整张图片的一小部分当成输入,就足以识别出某些特别的Pattern。
因此可以做第一个简化:
每一个neuron只考虑自己的receptive field
卷积神经网络——李宏毅机器学习笔记_第4张图片
卷积神经网络——李宏毅机器学习笔记_第5张图片
卷积神经网络——李宏毅机器学习笔记_第6张图片
一个receptive field 可以有多个neuron
卷积神经网络——李宏毅机器学习笔记_第7张图片
可以,receptive field都是可以自己设计的,但是要想想看自己为什么要这样做。

经典的做法:
卷积神经网络——李宏毅机器学习笔记_第8张图片
(1)all channels;
(2)kernel size 一般设3*3;
(3)一个receptive field对应一组neuron(例如 64 neurons)
(4)stride往往1或2;
我们往往希望Receptive field 之间有高度的重叠,因为如果两个receptive field没有重叠,而pattern出现在两个receptive field交界处,从而没有neuron去侦测他,这样就会miss掉这个pattern
(5)padding;

Observation 2:

图片中有same patterns,所以没必要在每一个pattern设置neuron,可以共享参数
卷积神经网络——李宏毅机器学习笔记_第9张图片卷积神经网络——李宏毅机器学习笔记_第10张图片
经典的做法:
卷积神经网络——李宏毅机器学习笔记_第11张图片
(1)每一个receptive field有一组参数;
(2)每一个receptive field共享参数;

卷积神经网络——李宏毅机器学习笔记_第12张图片
相比全连接层,cnn的model bias很大,但由于cnn是特别为图像设计的,所以他依然能在影像上做到很好,但影响之外的任务就不一定了。

第二个解释角度:

Another story based on filter

每一个filter去图片里抓取pattern
卷积神经网络——李宏毅机器学习笔记_第13张图片
例子:
(1)假设channel=1;
(2)假设filter中的参数已知(实际上filter中的参数是需要训练出来的);

卷积神经网络——李宏毅机器学习笔记_第14张图片
卷积神经网络——李宏毅机器学习笔记_第15张图片
对每一个filter做同样的操作
卷积神经网络——李宏毅机器学习笔记_第16张图片
将feature map可以看做一张新的图片,有64个channel,注意第二层filter的大小高度为64
卷积神经网络——李宏毅机器学习笔记_第17张图片
如果我们的filter一直设33会不会让我们的network无法看比较大范围的pattern呢?
不会
卷积神经网络——李宏毅机器学习笔记_第18张图片
左上角的这个数值,在影像上对应的是3
3的范围,下面33的范围,对应影像上55的范围。从而,也就是说叠的深度越深,所覆盖的范围越大。

Comparison of Two Stories

卷积神经网络——李宏毅机器学习笔记_第19张图片
卷积神经网络——李宏毅机器学习笔记_第20张图片
卷积神经网络——李宏毅机器学习笔记_第21张图片

Observation 3:

把奇数的column、偶数的row都拿掉,图片变为原来的1/4,但是不会影响里面是什么东西。
卷积神经网络——李宏毅机器学习笔记_第22张图片
卷积神经网络——李宏毅机器学习笔记_第23张图片
Max Pooling:选filter最大的一个
卷积神经网络——李宏毅机器学习笔记_第24张图片
卷积神经网络——李宏毅机器学习笔记_第25张图片
pooling最主要的作用是把图片变小,减少运算量,所以如果计算资源足够的话可无pooling。
卷积神经网络——李宏毅机器学习笔记_第26张图片

CNN应用:

此例子不需要Pooling
卷积神经网络——李宏毅机器学习笔记_第27张图片
虽然可以使用FCN,但是CNN效果更好
卷积神经网络——李宏毅机器学习笔记_第28张图片
48 channels:每一个位置有48个状态。
卷积神经网络——李宏毅机器学习笔记_第29张图片
卷积神经网络——李宏毅机器学习笔记_第30张图片
在这里插入图片描述
卷积神经网络——李宏毅机器学习笔记_第31张图片
CNN并不能处理影像放大缩小或旋转问题。
卷积神经网络——李宏毅机器学习笔记_第32张图片

你可能感兴趣的:(李宏毅机器学习笔记,cnn,人工智能)