1. 各网络层对比
VGG: 可以通过重复使用简单的基础块来构建深度模型;
- NiN
LeNet、AlexNet和VGG在设计上的共同之处: 先以由卷积层构成的模块充分抽取空间特征,再以由全连接层构成的模块来输出分类结果。
其中,AlexNet和VGG对LeNet的改进主要在于如何对这两个模块加宽(增加通道数)和加深;
而NiN提出了另外一个思路,即串联多个由卷积层和“全连接”层构成的小网络来构建一个深层网络。
1. NiN重复使用由卷积层和代替全连接层的1×11×1卷积层构成的NiN块来构建深层网络.
2. NiN去除了容易造成过拟合的全连接输出层,而是将其替换成输出通道数等于标签类别数的NiN块和全局平均池化层。
> 全局平均池化层即窗口形状等于输入空间维形状的平均池化层.
- GoogleLeNet
GoogLeNet吸收了NiN中网络串联网络的思想,并在此基础上做了很大改进.
1. GoogleNet中的基础卷积块叫做Inception块.
2. Inception块中可以自定义的超参数为每个层的输出通道数, 我们以此来控制模型复杂度;
3. GoogLeNet将多个设计精细的Inception块和其他层串联起来。其中Inception块的通道数分配之比
是在ImageNet数据集上通过大量的实验得来的.
4. GoogLeNet和它的后继者们一度是ImageNet上最高效的模型之一:在类似的测试精度下,它们的计算复杂度往往更低。
- 批量归一化
批量归一化(batch normalization)层,它能让较深的神经网络的训练变得更加容易。
1. 对于浅层模型,数据标准化预处理(如使样本处于均值为0,标准差为1的分布)就足够有效。
2. 在模型训练时,批量归一化利用小批量上的均值和标准差,不断调整神经网络中间输出,
从而使整个神经网络在各层的中间输出的数值更稳定。
3. 对全连接层、卷基层以及预测和训练时的批量归一化均有所不同。
- 残差网络(ReNet)
1. 残差块通过跨层的数据通道从而能够训练出有效的深度神经网络。
2. ResNet深刻影响了后来的深度神经网络的设计。
- 稠密链接网络(DenseNet)
1. 在跨层连接上,不同于ResNet中将输入与输出相加,DenseNet在通道维上连结输入与输出。
2. 稠密层与过渡层联合使用,过渡层用来控制模型复杂度;
2. 循环神经网络
循环神经网络的从零实现(歌词创作)
(未完持续…)