最大值池化与均值池化比较分析
创始人
2024-06-01 15:15:59
0

1 问题

在深度学习的卷积网络过程中,神经网络有卷积层,池化层,全连接层。而池化层有最大值池化和均值池化两种情况,而我们组就在思考,最大值池化和均值池化有什么区别呢?两者的模型准确率是否有所不同?

2 方法

这是所有的代码,主要改变卷积层中的最大值池化和均值池化的相关代码即可。也就是maxpool2d和avgpool2d的应用。

class MyNet(nn.Module):
   # (5.2)定义网络有哪些层,这些层都作为成员变量
   def __init__(self) -> None:
       super().__init__()
       self.conv1=nn.Conv2d(in_channels=1,out_channels=16,
           kernel_size=3,stride=1,padding=1)
       self.conv2=nn.Conv2d(in_channels=16,out_channels=32,
           kernel_size=3,stride=1,padding=1)
       self.max_pool=nn.MaxPool2d(kernel_size=2,
           stride=2)
       #self.avg_pool=nn.AvgPool2d(kernel_size=2,stride=2)
       self.fc=nn.Linear(in_features=32*14*14,
           out_features=10)
   def forward(self, x):
       x=self.conv1(x)
       x=self.conv2(x)
       x=self.max_pool(x)
       #x=self.avg_pool(x)
       #[B,C,H,W]
       #1的目的是拉伸C,H,W,不拉伸B
       x=torch.flatten(x,1)
       out=self.fc(x)
       return out

f4aa04d0d254cd6ef104fac9fd0bbc98.png

51ec002ca54e9641cf9e7d8c7f9e3185.png1dba10385fc7fceb75cbc1617aaa3a8b.png然后我们训练了100个周期,通过比较2者的准确率和损失值来比较分析。

两者分别是均值池化和最大值池化,可以从图中看出,不论是均值池化还是最大值池化,两者的准确率都是前10个周期准确率猛增。而在10个周期之后,均值池化的准确率是基于平稳的,并且train和val的准确率是交错的。最大值池化的准确率还是在继续增长,虽然增长幅度不是太大,并且train和val的准确率是分开的,一直保持没有交错。

均值池化的test准确率为9e55a962d8a5fd69fb45d73142a35c34.png

最大值池化的test准确率为54f1e1ef7d8b3cdf5721996346c140e6.png

能够看出来,最大值池化的准确率高于均值池化的准确率。

两者分别是均值池化和最大值池化,可以看出两者的loss率其实差别不大,但是最大值池化的loss下降明显先猛烈下降然后再逐渐下降的,均值池化是先猛烈下降然后基于平稳的。99165ec67b9299131cce391f770bc290.pngdeb07a676cf8a687557dd8f2667e9b3c.png

3 结语

对于均值池化和最大值池化的比较分析,我们运用了100个周期训练模型然后画图比较准确率和loss,发现最大值池化的准确率高于均值池化的准确率,但是均值池化的准确率在训练周期较少时,准确率较高,而最大值池化的准确率在训练周期较多时,准确率较高,说明这个方法是有效的,但是本次实验并没有对一个方法进行多次训练,较少偶然性,未来我们可以继续研究多次训练之后的模型的预测准确率是否有较大差异,来验证是否具有实验偶然性。

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...