台大Machine Learning 2017Fall 卷积神经网络 Convolutional Neural Network

这是台大李宏毅教师Machine Learning 2017Fall课程 关于讲述卷积神经网络 Convolutional Neural Network内容的部分。

课程主页如下:台大Machine Learning 2017Fall   感兴趣的可以去学习下,主页提供了教学ppt和教学视频。


一.首先有这样一个问题,为什么CNN非常适用于图像识别?这里给出了3个性质。

1.Some patterns are much smaller than the whole image。

图片中一些小的模式通常比整个图片小很多,例如下图中的鸟嘴。鸟嘴可以用一个神经元检测到。

台大Machine Learning 2017Fall 卷积神经网络 Convolutional Neural Network_第1张图片

2.The same patterns appear in different regions.

同样的模式可能会出现在图片的不同区域,如下图中的鸟嘴可以在图片上面和图片中间。

台大Machine Learning 2017Fall 卷积神经网络 Convolutional Neural Network_第2张图片

3.Subsampling the pixels will not change the object.

对图片像素进行Subsampling不会影响图片表示这个物体,如下图中将图片大小减半还是能看出是一个鸟。

台大Machine Learning 2017Fall 卷积神经网络 Convolutional Neural Network_第3张图片

接着给出一个做图像问题的CNN的通常网络架构,如下:

台大Machine Learning 2017Fall 卷积神经网络 Convolutional Neural Network_第4张图片

整个CNN网络架构中,大致可以由以下几个部分组成:

(1)Convolution卷积层

(2)Pooling池化层

(3)Fully ConnectedFeedforward network一个全连接的神经网络

其中convolution和pool可以重复很多次,同时对于上述的3个性质,

性质1,2是由Convolution卷积层来考虑(操作的),性质3是由Convolution卷积层来考虑(操作的)。

具体的卷积和池化是怎么做的,这里就不说明了,具体的可以参考李宏毅教师的教学录像视频。


二.接着这里介绍下,CNN和一般的全连接的神经网络的区别。

那么,对于网络层数相同的网络结构而言,CNN的所得到的function set实际上是全连接得到function set的子集,

因为CNN采用了很多减少参数的方法,目的是为了加快训练速度。

1.对于一个全连接的网络层,实际上是上一层的所有输入和下一层的所有输出都有连接边,每一个连接边都需要训练出

一个weight,这样参数就很多,如下图:

台大Machine Learning 2017Fall 卷积神经网络 Convolutional Neural Network_第5张图片

2.对于CNN,convolution可以减少训练的参数量

(1)Filter只和上一层的所有输入的部分值有连接。

(2)由Filter滑动得到不同区域和下一层的连接边的训练weight是共享数值的。

这样就从两个程度上减少了总体需要训练的参数,如下图:


台大Machine Learning 2017Fall 卷积神经网络 Convolutional Neural Network_第6张图片




你可能感兴趣的:(台大Machine,Learning,2017Fall,机器学习,Machine,Learning,卷积神经网络,Convolutional)