李宏毅机器学习课程总结(4)

卷积神经网络(Convolutional Neural Networks, CNN)

        卷积神经网络是深度学习网络中的一种,被广泛应用在影像处理中。其实对于图像处理方面的问题,使用全连接前馈网络也能实现近似的效果,但是CNN较全连接前馈网络更进一步简化了神经网络的构架,是人们通过图像处理的特征和总结出来的经验进行简化的,具体特征是:①有一些纹理比整张图片小得多,某些纹理并不需要看整张图片就能够被识别出来;②一张图片中同样的纹理可能出现在图片不同的区域,识别一个纹理可以共用一个参数;③图片可以被缩小,并不会影响识别结果。

       CNN处理过程可以概括为:输入图片->卷积->最大池->卷积->最大池->...->降维(Flatten)->全连接前馈网络->识别结果,其中具体经过多少次卷积和池化的过程是在设计网络阶段就已经决定了的。

卷积层

       卷积层中的参数是由一组滤波器(Filter)组成,每个滤波器实质是一个矩阵。这个滤波器矩阵不一定是二维的,滤波器矩阵可能还会有“深度”,具体“深度”等于输入图片的“深度”,例如黑白图片的“深度”为1,彩色图片的深度为3(RGB)。滤波器在运算时,会“划过”输入图片的每一个位置,计算内积,在“划过”图片的过程中,在横向移动和纵向移动时一次运动几个像素点是提前定好的。一个图片有一个滤波器计算出来的所有内积根据位置组合成一个新的矩阵,通过所有滤波器得到的新的矩阵集合,称为Feature Map。有多少滤波器,Feature Map就有多少层。一个滤波器计算出来的内积值越大,说明在图片中这个位置的纹理与滤波器所识别的越接近。

       卷积层可以看做是全连接层中一些神经元减少了一些输入,所以卷积层就减少了参数的使用,同时使用同一个滤波器相当于全连接层中多个神经元共享了一组参数。因此卷积层减少了很大的计算量,效率高于全连接层。

       需要注意的是,每一个滤波器是有深度的,如果前一组卷积和池化的输出矩阵有深度,则这一卷积层中的滤波器就会有对应的深度,所以最后的输出的矩阵的层数,依旧只依赖于有多少个滤波器,并不依赖于上一组的输出。

最大池

       最大池把卷积层输出的矩阵集合分块,每块的宽高需要事先定好,保留每一块中的最大值或者取平均值,将没被选中的元素删除,这样就能得到新的且较小的图片。所以,每通过一次卷积和池化操作,就能得到更小的图片,这些越来越小的图片可以理解为是网络自己认为需要从原始图片中提取出来的特征。

降维和全连接前馈网络

       降维就是将输入的Feature Map拉直成一个向量,输入到全连接前馈网络里进行最后的分类运算,输出为识别成每个类别的概率。

一些细节

       每个滤波器的激活度(Degree of the activation)是它计算出来的矩阵汇总每个元素值之和,如果想要找到一张输入图片,使得这个滤波器的激活度最大,那么这张图片一定是遍布着某种同样的纹理,这个纹理即使这个滤波器所要识别的纹理。之所以会重复遍布满整张图片,是因为滤波器识别的是一个区域,当一张图片所有的区域都是这个纹理时,这个滤波器的激活度最大。

       而如果是最后的全连接前馈网络中的一个神经元,如果想要找到一张输入图片,使得这个神经元的输出最大,此时这张图片会是一整张完整的图像,不再会是遍布满某个纹理的图片,因为到最后阶段,已经是在经过多次缩小后的整张图片上进行运算。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值