入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。
✨完整代码在我的github上,有需要的朋友可以康康✨
https://github.com/tt-s-t/Deep-Learning.git
目录
一、各网络的概述
二、各网络的详细介绍
LeNet —— 卷积层(含激活函数)+ 池化层,末尾加全连接层作为判别
AlexNet —— 模块加宽,增加通道数
网络结构方面:
(1)使用ReLU作为激活函数代替了传统的Sigmoid
(2)重叠最大池化
(3)使用dropout
数据预处理方面:
图像增广,数据增强
计算性能方面:
多GPU训练
自AlexNet之后的两个方向:小卷积核和多尺度
VGG —— 加深网络深度
使用连续小卷积核代替大卷积核,在具有相同感知野的条件下,提升了网络的深度,在一定程度上提升了神经网络的效果,并且减少了参数量。
遗留问题:第一个全连接层的参数量巨大
NiN —— 抛弃全连接层
(1)使用1*1卷积代替全连接层
既可以灵活放缩通道数,增加非线性,也可以使计算参数少(简化模型),也不会改变图像空间结构,并且输入可以是任意尺寸。
(2)使用全局平均池化代替最后的全连接层
全局平均池化更原生地支持于卷积结构,并且还能大大减少参数量
在这之后的两个方向:加深网络深度和拓宽网络宽度。但这两个思路都会导致更多的参数和可能的大幅冗余(卷积核中参数没有被完全利用(多数权重都趋近0))
GooLeNet —— 加深 + Inception模块(加宽)
(1)Inception融合不同尺度的特征信息
提高准确率,不一定需要堆叠更深的层或者增加神经元个数等,可以转向研究更稀疏但是更精密的结构同样可以达到很好的效果。
(2)添加两个辅助分类器帮助训练,用于向前传导梯度
(3)使用1*n和n*1卷积核并联代替n*n卷积核
意在发掘特征图的高的特征,以及特征图的宽的特征,并减少参数量。
在特征图12-20维度上表现好,适合深层网络。
ResNet —— 残差结构
优势:
使前馈/反馈传播算法顺利进行,结构更加简单;
恒等映射的增加,使其基本不会降低网络的性能;
既利用了深层次的神经网络(网络的表征能力强)又避免了梯度消散和退化的问题
不足:
大部分网络层都在防止模型退化,而且残差不能完全解决梯度消失或者爆炸、网络退化的问题,只是起到缓解作用
应用场景是这几个网络里最广泛的。
DenseNet —— 特征重用
优势:
更少的参数数量;
保留了低层次的特征;
旁路加强了特征的重用,导致直接的监督;
缓解了梯度消失/爆炸和网络退化的问题
不足:
多次Concatnate操作,导致显存容易增加得很快
网络结构较复杂
AlexNet:
AlexNet详解_tt丫的博客-CSDN博客
VGG:
VGG详解_tt丫的博客-CSDN博客
NiN:
NiN详解_tt丫的博客-CSDN博客
GooLeNet:
GoogLeNet详解_tt丫的博客-CSDN博客
DenseNet:
DenseNet详解_tt丫的博客-CSDN博客
欢迎大家在评论区批评指正,谢谢啦~