深度学习模型演进:6个里程碑式CNN架构

张开发
2026/4/19 3:21:20 15 分钟阅读

分享文章

深度学习模型演进:6个里程碑式CNN架构
深度学习模型演进6个里程碑式CNN架构​目录1. LeNet90/98诞生于1990年在手写体字符识别领域创造性的引入了卷积神经网络的基本操作意义重大可以说是现代卷积神经网络的发展起点。1.1思路引入卷积层池化层等结构1.2 网络结构输入图像分辨率28x28结构1卷积层15x5 ---输出4个24×24大小的特征图2池化层1平均池化层 2x23卷积层25x5 ---输出12个8x8大小的特征图4池化层22x25全连接层 ----输出1.3 LeNet-5诞生于1998年在LeNet初期版本上迭代进化而来。卷积核大小为5x5。输入是32X32像素的图像利用CNN提取特征并进行分类输出0~9个类别。层数7层不含输入包括3层卷积层2层池化层2层全连接层输入图片大小32x32代码# # 创建Reshape层class Reshape(torch.nn.Module):def forward(self, x):return x.view(-1, 1, 28, 28) # 批量数不变通道数变为1尺寸为28*28方法2nn.SequentialLeNet nn.Sequential(Reshape(),nn.Conv2d(1, 6, kernel_size5, padding2), nn.Sigmoid(),nn.AvgPool2d(kernel_size2, stride2),nn.Conv2d(6, 16, kernel_size5), nn.Sigmoid(),nn.AvgPool2d(kernel_size2, stride2),nn.Flatten(),nn.Linear(16 * 5 * 5, 120), nn.Sigmoid(),nn.Linear(120, 84), nn.Sigmoid(),nn.Linear(84, 10))用于测试方法2每一层输出格式的代码X torch.rand(size(1, 1, 28, 28), dtypetorch.float32)for layer in LeNet:X layer(X)print(layer.class.name, output shape: \t, X.shape)2. AlexNet (63.3% - 2012) 论文ImageNet Classification with Deep Convolutional Neural Networks效果ImageNet top-1 accuracy 63.3%AlexNet是第一个深度学习架构它是由深度学习先锋之一——Geoffrey Hinton和他的同事们共同研究并引入的。AlexNet是一个看似简单但功能非常强大的网络架构它为现在深度学习的突破性研究铺平了道路。下图是AlexNet架构从分解图中我们可以看出AlexNet其实就是一个简单的架构其中的卷积层和聚积层相互叠加最顶部的是全连接层。早在二十世纪八十年代AlexNet模型就已经被概念化描述了。AlexNet区别于其他模型的关键在于它的任务规模以及它用于训练的GPU规模。在八十年代用于训练神经网络的是CPU。而AlexNet率先使用GPU将训练的速度提高了十倍左右。虽然AlexNet现在有些过时了但它仍然是运用神经网络完成各种任务的起点。不管是完成计算机视觉任务还是语音识别任务都仍然需要AlexNet。代码class AlexNet(nn.Module):definit(self, num_classes: int 1000) - None:super(AlexNet, self).init()self.features nn.Sequential(nn.Conv2d(3, 64, kernel_size11, stride4, padding2),nn.ReLU(inplaceTrue),nn.MaxPool2d(kernel_size3, stride2),nn.Conv2d(64, 192, kernel_size5, padding2),nn.ReLU(inplaceTrue),nn.MaxPool2d(kernel_size3, stride2),nn.Conv2d(192, 384, kernel_size3, padding1),nn.ReLU(inplaceTrue),nn.Conv2d(384, 256, kernel_size3, padding1),nn.ReLU(inplaceTrue),nn.Conv2d(256, 256, kernel_size3, padding1),nn.ReLU(inplaceTrue),nn.MaxPool2d(kernel_size3, stride2),)self.avgpool nn.AdaptiveAvgPool2d((6, 6))self.classifier nn.Sequential(nn.Dropout(),nn.Linear(256 * 6 * 6, 4096),nn.ReLU(inplaceTrue),nn.Dropout(),nn.Linear(4096, 4096),nn.ReLU(inplaceTrue),nn.Linear(4096, num_classes),之前有个学员和你一样纠结要不要系统学AI。后来跟着课程学完现在已经拿到了AI相关岗位的offer。想获取学习路线图扫码加企业微信备注领资料我发给你。大家好我是资深AI讲师与学习规划师。专注计算机视觉教学与算法研发过去三年我帮超过2500名有Python 基础的入门者从像素是什么到独立跑通CV项目。今天这篇长文完全按零基础实战体系撰写从图像本质到经典算法、再到OpenCV工具链和完整项目一条龙给你讲透可直接复现的CV专业指南。适合人群大学生、转行者、开发者只要会Python基础就能跟上。读完你就能掌握图像处理4大经典算法并拥有一个可直接写进简历的实战项目为方便大家学习 这里给大家整理了一份系统学习资料包 需要的同学 根据下图指示自取就可以

更多文章