神经网络与深度学习课程总结(第二周)

本文概述了卷积神经网络(CNN)的发展历史,从早期的Hubel-Wiesel研究到LeNet-5,再到AlexNet引入深度结构和dropout。文章详细介绍了CNN的基本概念,包括卷积、填充、步长、多通道处理和池化操作。同时,它还涵盖了图像识别和检测领域的应用,以及关键算法如BP在CNN中的应用。
摘要由CSDN通过智能技术生成

一、卷积神经网络基础

由于全连接网络有着以下的问题:链接权过多,算的慢,难收敛,同时可能进入局部极小值,也容易产生过拟合。对于算的慢问题,可以减少权值连接,每一个节点只连到上一层的少数神经元,即局部连接网络。对于权值过多极易产生过拟合的问题,可以信息分层处理,每一层在上层提取特征的基础上获取进行再处理,得到更高级别的特征。由此,我们得到了“深度”学习中的卷积神经网络(CNN)基础。

1.进化史

 卷积神经网络的发展,最早可以追溯到1962年,Hubel和Wiesel对猫大脑中的视觉系统的研究。Hubel和Wiesel记录了猫脑中各个神经元的电活动。他们使用幻灯机向猫展示特定的模式,并指出特定的模式刺激了大脑特定部位的活动。他们通过这些实验系统地创建了视觉皮层的地图。

93e7d409b3524616b18d9a97736a0e52.png

 

1980年,日本科学家福岛邦彦在论文《Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position》提出了一个包含卷积层、池化层的神经网络结构。1998年,在这个基础上,Yann Lecun在论文《Gradient-Based Learning Applied to Document Recognition》中提出了LeNet-5,将BP算法应用到这个神经网络结构的训练上,就形成了当代卷积神经网络的雏形。

 

原始的CNN效果并不算好,而且训练也非常困难。直到2012年,Imagenet图像识别大赛中,Hinton组的论文《ImageNet Classification with Deep Convolutional Neural Networks》中提到的Alexnet引入了全新的深层结构和dropout方法,一下子把error rate从25%以上提升到了15%,颠覆了图像识别领域。

 

顺着Alexnet的思想,Lecun组2013年提出一个Dropconnect,把error rate提升到了11%。而NUS的颜水成小组则提出了Network in Network,NIN的思想是CNN原来的结构是完全可变的,然后加入了一个1*1conv层。Network in Network的思想是CNN结构可以大胆去变化,由此,Inception和VGG在2014年把网络加深到了20层左右,图像识别的error rate也大幅提升到6.7%,接近人类的5.1%。

 

2015年,MSRA的任少卿、何凯明、孙剑等人,尝试把identity加入到神经网络中。最简单的Identity却出人意料的有效,直接使CNN能够深化到152层、1202层等,error rate也降到了3.6%。后来,ResNeXt, Residual-Attention,DenseNet,SENet等也各有贡献,各自引入了Group convolution,Attention,Dense connection,channelwise-attention等,最终Imagenet上error rate降到了2.2%。

 

而在图像检测中,任少卿等人优化了先前的R-CNN, fast R-CNN方法。他们通过其他方法提出region proposal,然后用CNN去判断是否是object的方法,由此提出了faster R-CNN方法。Faster R-CNN的主要贡献是使用和图像识别相同的CNN feature,不仅可以识别图片是什么东西,还可以用来识别图片在哪个位置。

 

随着人们的深入研究,CNN结构越来越复杂,而CNN突飞猛进的发展,又引发其他领域很多变革。

 

2.基本概念

CNN的基本思想是用卷积获得图形的特征,一般是用一个3乘3的卷积矩阵,如图所示的卷积矩阵是【1 0 1;0 1 0;1 0 1】,与图像上相应的格子相乘后得到的数就是卷积输出(我们需要的图形“特征”)。

 

62d82202edae478889626153444714dd.png

 常用的几个步骤:

选择卷积矩阵:一般选择常用的卷积矩阵,比如高斯卷积矩阵【1 2 1;2 4 2;1 2 1】等。

填充(Padding),也就是在矩阵的边界上填充一些值,以增加矩阵的大小方便与卷积矩阵进行卷积,通常用0或者复制边界像素来进行填充。

设置步长:也就是根据图像的大小和卷积矩阵的大小,决定卷积的次数。卷积过程一般是从左往右,从上到下,所得到的结果一般也是一个矩阵数据。

对于多输入通道,卷积核的通道数和输入通道数相同,在每一个通道上进行互相关运算后,把所有通道的值加起来就是输出的值。而对于多输出通道,则是各个通道分开独立进行计算,不同通道采用不同的卷积核。

在通过卷积得到图形的特征矩阵图后,还要进行池化操作(池化的思想是使用局部统计特征,如均值或最大值,解决特征过多问题)

如果使用均值,就是平均池化(average pooling):计算图像区域的平均值作为该区域池化后的值。如果使用最大值,就是最大池化(max pooling):选图像区域的最大值作为该区域池化后的值。

3.卷积神经网络的构成:

由多个卷积层和下采样层构成,后面可连接全连接网络

卷积层:𝑘个滤波器

下采样层:采用mean或max

后面:连着全连接网络

学习算法: 

b8378c65720a45419c71676db21dbce8.png

8f1edcd597ea494099c644482affc6a9.png 卷积NN的BP算法:下采样层

如果当前是卷积层,下一层为下采样层,误差如何从下采样层回传

假设为2*2核平均池化

卷积NN的BP算法:卷积层+卷积层

 

8dd27e90625f42a8aa61bd2fef25cb65.png

 

卷积NN的BP算法:卷积层+全连接层

e51cd196cdd2448eaa5cc69358934daa.png

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值