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

来源:互联网 发布:全球变暖 知乎 编辑:程序博客网 时间:2024/05/21 06:53

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

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


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

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

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


2.The same patterns appear in different regions.

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


3.Subsampling the pixels will not change the object.

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


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


整个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,这样参数就很多,如下图:


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

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

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

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






阅读全文
0 0
原创粉丝点击