人工智能学习07--pytorch13--GoogleNet网络详解+pytorch搭建

在这里插入图片描述
在这里插入图片描述
像AlexNet、VGG这种网络,都是串行结构。将一系列卷积层和池化下采样层进行串联。

左边:inception结构初始版本:
在上一层输出之后,将所得到的特征矩阵同时输入四个分支当中进行处理。
在这里插入图片描述
将所得到的四个分支的特征矩阵按照深度进行拼接,得到输出特征矩阵。
在这里插入图片描述
第一个分支:卷积核大小为1x1的卷积核
第二个分支:……3x3……
第三个分支:……5x5……
第四个分支:池化核为3x3的最大池化下采样
每个分支得到不同尺度的特征矩阵,矩阵高维度、宽维度相同,否则无法沿深度方向拼接。

右边:inception加上一个降维的结构:
多了三个1x1的卷积层,均起到降维的作用。
减少特征矩阵的深度–>减少卷积参数–>减少计算量
在这里插入图片描述
降维:
深度512
特征矩阵的深度由卷积核的个数决定的
在这里插入图片描述
在这里插入图片描述

辅助分类器
两个辅助分类器的结构一模一样
S和V表示卷积、池化的步距
(辅助分类器:避免梯度消失、模型融合、正则化)
在训练过程中用到的,在预测过程中删除掉的
参数对比
在这里插入图片描述

pytorch搭建

模板1 卷积
在这里插入图片描述

模板2 inception结构
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

模板3 辅助分类器
在这里插入图片描述
在这里插入图片描述
googlenet
①结构
在这里插入图片描述
在这里插入图片描述
②正向传播
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

训练train

与之前的AlexNet、VGG基本上一样
有两点不同:
1、定义模型部分
在这里插入图片描述
2、损失函数
在之前的网络中只有一个输出,到那时在googlenet网络中有三个输出(两个辅助分类器)。
在这里插入图片描述

预测

载入模型
在这里插入图片描述
训练过程漫长,不演示了。

猜你喜欢

转载自blog.csdn.net/AMWICD/article/details/129844966