【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记(googlenet)

googlenet

【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记(googlenet)_第1张图片
注意:每个分支所得的特征矩阵高和宽必须相同

1.inception块的引入

(1)alexnet引入ReLu(缓解梯度消失),隐层全连接层后加入了丢弃层
(2)vgg出现卷积层组合成块(通过堆叠三个33卷积核来代替55卷积核需要的参数)
(3)nin模型出行1*1卷积,丢弃全连接层
(4)googlenet全部结合,inception块,从四个路径从不同层面抽取信息,然后在输出通道维合并(要保证输入核输出的特征矩阵高和宽相同)
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记(googlenet)_第2张图片
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记(googlenet)_第3张图片
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记(googlenet)_第4张图片

2.inception块(高宽不变,只改变通道数)带来的好处

(1)增加模块内部的多样性
(2)参数个数变少了
(3)计算量变低了

3.googlenet

(1)googlenet中有5段,9个inception块
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记(googlenet)_第5张图片
(2)inception有各种后续变种(常用的是v3)
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记(googlenet)_第6张图片
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记(googlenet)_第7张图片
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记(googlenet)_第8张图片
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记(googlenet)_第9张图片

4.总结

框架整体设计思想:
(1)通道数增加,大小减半的快一些
(2)后边大小就减半减半减半
(3)通道数增加到1024
1*1的卷积核是怎么实现降维的作用呢?
11卷积核的个数=输出的通道数
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记(googlenet)_第10张图片
辅助分类器
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记(googlenet)_第11张图片
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记(googlenet)_第12张图片
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记(googlenet)_第13张图片
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记(googlenet)_第14张图片
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记(googlenet)_第15张图片
注意:要保证输入核输出的特征矩阵高和宽相同!!!!
一些小问题:
1.一般2的倍数在gpu上好算一些
2.一般不要动架构,可以把所有通道数都减半,可以把输入输出拉宽或窄一些
3.3
3改成31 13是为了降低计算量(减1/3)
4.怎么调参数:imgnet的小子集上调,把输入输出改小,数据集改小,排个序(然后挑一个)
5.Imgnet1024输出很合适 2000类、3000也可以

你可能感兴趣的:(深度学习,pytorch)