一、CNN概论
如图所示:人工智能
最大,此概念也最先问世;然后是机器学习
,出现的稍晚;最后才是深度学习
。其中CNN,RNN,GANs,RL
是深度学习中非常典型的算法,如下表所示:
Algorithm | 简介 | 应用场景 |
---|---|---|
CNN | CNN擅长图片的处理 | 图片分类、目标定位监测、目标分割、人脸识别、骨骼识别 |
RNN | RNN能有效处理序列数据 | 文本生成、语音识别、机器翻译、生成图像描述、视频标记 |
GANs | 通过生成模型和判别模型“博弈”进行学习 | |
RL | 通过强化高分策略进尝试学习 |
二、CNN的model分析
2.1 LeNet5
🍀 意义:普遍认为,卷积神经网络的出现开始于LeCun等提出的LeNet网络,可以说LeCun等是CNN的缔造者,而LeNet则是LeCun等创造的CNN经典之作。
2.2 AlexNet
论文: 《ImageNet Classification with Deep Convolutional Neural Networks》
🎄 简介:AlexNet是2012年ISLVRC 2012(ImageNet Large Scale Visual Recognition Challenge)竞赛的冠军网络,分类准确率从传统的70%提升到80%。它是由Hinton和他的学生Alex Krizhevsky设计的。也是在那年之后,深度学习开始迅速发展。 🎄 结构: AlexNet使用了8层卷积神经网络,前5层是卷积层,剩下的3层是全连接层
🎄 意义: (1)首次利用GPU进行网络加速训练。 (2)使用了ReLU激活函数,而不是传统的Sigmoid激活函数以及Tanh激活函数。 (3)使用LRN(Local Response Normalization)局部响应归一化。 (4)在全连接层的前两层中使用了Dropout随机失活神经元操作,以减少过拟合。
2.3 VggNet
论文: 《Very deep convolutional networks for large-scale image recognition》
🌿 简介: VGG在2014年由牛津大学著名研究组VGG(Visual Geometry Group)提出,斩获改年ImageNet竞赛中Localization Task第一名和Classification Task第二名。
🌿 结构: VGG由5层卷积层、3层全连接层、softmax输出层构成,层与层之间使用max-pooing分开,所有隐层的激活函数都采用ReLU函数。VGG的作者认为两个3 × 3的卷积堆叠获得的感受野大小,相当一个5 × 5的卷积;而三个3 * 3卷积的堆叠获取的感受野相当于7 * 7的卷积。
🌿 意义: (1)通过堆叠多个3 × 3的卷积核替代大尺度卷积核(减少所需参数) (2)证明了增加网络的深度能够在一定程度上影响网络的最终性能
2.4 GoogleNet
论文: 《Going deeper with convolutions》
🌵 简介: GoogleNet在2014年由Google团队提出,斩获当前ImageNet竞赛中Classification Task第一名。在这之前的AlexNet、VGG等结构都是通过增大网络的深度(层数)来获得更好的训练效果,但层数的增加会带来很多负作用,比如overfit、梯度消失、梯度爆炸等。与VGGNet模型相比较,GoogleNet模型的网络深度已经达到22层
(如果只计算有参数的层,GoogleNet网络有22层,算上池化层有27层)。 ,而且在网络架构中引入了Inception单元
,从而进一步提升模型整体的性能。虽然深度达到22层,但大小却比AlexNet和VGG小很多。
🌵结构:
(2) Inception module with dimension reductions
人们在Naive Inception基础上,为了减少参数量来减少计算量,开发了在GoogleNet模型中使用的Inception单元(Inception V1), 这种方法可以看作是一个额外的1 × 1卷积层再加上一个ReLU层。 如下所示:
judiciously reducing dimension wherever the compu- tational requirements would increase too much otherwise. This is based on the success of embeddings: even low di- mensional embeddings might contain a lot of information about a relatively large image patch.
(二)辅助分类器 根据实验数据,发现神经网络的中间层也具有很强的识别能力,为了利用中间层抽象的特征,在某中间层中添加含有多层的分类器。如下图所示:
最后的损失函数为:
loss = loss_2 + 0.3 × loss_1 + 0.3 × loss_0
(三)GoogleNet模型 GoogleNet网络有22层深(包含pool层,有27层深),结构如下图所示:
🌵意义:
(1)引用Inception结构(融合不同尺度的特征信息) (2)使用1 × 1的卷积核进行降维以及映射处理 (3)添加两个辅助分类器帮助训练 (4)丢弃全连接层,使用平均池化层(大大减少模型参数)
2.5 ResNet
论文:《Deep Residual Learning for Image Recognition》
🌷 意义:
(1)提出了超深的网络结构(突破1000层)
(2)提出residual模块
(3)使用Batch Normalization加速训练(丢弃dropout)