LeNet5模型与全连接模型的差异

Posted 算法与编程之美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeNet5模型与全连接模型的差异相关的知识,希望对你有一定的参考价值。

1 问题

深度学习训练过程中,有很多的训练模型,我们组就在思考LeNet模型与之前运用的全连接模型在训练精度损失与验证精度损失上有什么差别?

2 方法

这是LeNet模型的主要代码,对数据进行两成卷积与两次池化之后再建立三成全连接即可。

class MyNet(nn.Module):
   def __init__(self):
       super().__init__()
       self.conv1 = nn.Conv2d(
           in_channels=1,
           out_channels=6,
           kernel_size=5,
           stride=1,
           padding=0
       )
       self.avg_pool_1 = nn.AvgPool2d(2)
       self.conv2 = nn.Conv2d(
           in_channels=6,
           out_channels=16,
           kernel_size=5,
           stride=1,
           padding=0
       )
       self.avg_pool_2 = nn.AvgPool2d(2)
       self.fc1 = nn.Linear(
           in_features=256,  
           out_features=120
       )
       self.fc2 = nn.Linear(
           in_features=120,
           out_features=84
       )
       self.fc3 = nn.Linear(
           in_features=84,
           out_features=10
       )
   def forward(self, x):
       x = self.conv1(x)
       x = self.avg_pool_1(x)
       x = self.conv2(x)
       x = self.avg_pool_2(x)
       x = torch.flatten(x, 1)  # ! [B,C,H,W]
       x = self.fc1(x)
       x = self.fc2(x)
       out = self.fc3(x)
       return out
LeNet模型结果如下:

全连接模型结果如下:

3 结语

 对于LeNet模型与全连接模型结果比较分析,我训练了50个周期来相比较,可发现LeNet模型相比于全连接模型训练精度与验证精度上升地更快,且验证损失的下降也更快,说明LeNet模型有着更高的训练效率,能够运用更少的周期达到更高的精度与更少的损失。

以上是关于LeNet5模型与全连接模型的差异的主要内容,如果未能解决你的问题,请参考以下文章

:全连接神经网络

Pytorch入门实战二:LeNetAleNetVGGGoogLeNetResNet模型详解

LeNet5详细原理(含tensorflow版源码)

keras库的安装及使用,以全连接层和手写数字识别MNIST为例

运行时获取 ResNet 模型全连接层的输入

对于图像分类任务,相对于全连接的DNN,CNN模型的主要优点有哪些?