当前位置: 首页 > news >正文

AlexNet,VGG,Inceptions, ResNet, MobileNet对比

以下是几种经典卷积神经网络(CNN)架构的对比与关键特性分析:

AlexNet(2012)

model = Sequential([Conv2D(96, (11,11), strides=4, activation='relu', input_shape=(227,227,3)),MaxPooling2D((3,3), strides=2),Conv2D(256, (5,5), padding='same', activation='relu'),MaxPooling2D((3,3), strides=2),Conv2D(384, (3,3), padding='same', activation='relu'),Conv2D(384, (3,3), padding='same', activation='relu'),Conv2D(256, (3,3), padding='same', activation='relu'),MaxPooling2D((3,3), strides=2),Flatten(),Dense(4096, activation='relu'),Dense(4096, activation='relu'),Dense(1000, activation='softmax')
])

  • 首个深层CNN,5个卷积层+3个全连接层
  • 使用ReLU激活函数提升训练速度
  • 引入Dropout防止过拟合

VGG(2014)

def VGG_block(num_convs, filters):block = Sequential()for _ in range(num_convs):block.add(Conv2D(filters, (3,3), padding='same', activation='relu'))block.add(MaxPooling2D((2,2), strides=2))return block

  • 统一使用3x3小卷积核堆叠
  • 典型配置VGG16/VGG19(16/19层)
  • 参数量大(138M),全连接层占比高

Inception系列(2014-2016)

def Inception_module(x, filters):branch1 = Conv2D(filters[0], (1,1), padding='same', activation='relu')(x)branch2 = Conv2D(filters[1], (1,1), padding='same', activation='relu')(x)branch2 = Conv2D(filters[2], (3,3), padding='same', activation='relu')(branch2)branch3 = Conv2D(filters[3], (1,1), padding='same', activation='relu')(x)branch3 = Conv2D(filters[4], (5,5), padding='same', activation='relu')(branch3)branch4 = MaxPooling2D((3,3), strides=1, padding='same')(x)branch4 = Conv2D(filters[5], (1,1), padding='same', activation='relu')(branch4)return concatenate([branch1, branch2, branch3, branch4])

  • 多尺度并行卷积(1x1,3x3,5x5)
  • 引入1x1卷积降维减少计算量
  • v3加入BN层,v4结合ResNet思想

ResNet(2015)

def residual_block(x, filters, strides=1):shortcut = xx = Conv2D(filters, (3,3), strides=strides, padding='same')(x)x = BatchNormalization()(x)x = ReLU()(x)x = Conv2D(filters, (3,3), padding='same')(x)x = BatchNormalization()(x)if strides != 1 or shortcut.shape[-1] != filters:shortcut = Conv2D(filters, (1,1), strides=strides)(shortcut)shortcut = BatchNormalization()(shortcut)x = Add()([x, shortcut])return ReLU()(x)

  • 残差连接解决梯度消失问题
  • 典型结构ResNet50/101/152
  • 使用Bottleneck结构(1x1-3x3-1x1)

MobileNet(2017)

def depthwise_separable_conv(x, filters, strides):x = DepthwiseConv2D((3,3), strides=strides, padding='same')(x)x = BatchNormalization()(x)x = ReLU()(x)x = Conv2D(filters, (1,1), padding='same')(x)x = BatchNormalization()(x)return ReLU()(x)

  • 深度可分离卷积降低计算量
  • 宽度乘子调整模型大小
  • v2引入倒残差结构和线性瓶颈
  • v3加入SE模块和h-swish激活

这些架构的发展趋势表现为:网络深度增加(AlexNet 8层 → ResNet 152层)、计算效率提升(标准卷积 → 深度可分离卷积)、模块化设计(Inception/Residual块)、准确率与速度的平衡(MobileNet系列)。实际应用中需根据计算资源和精度要求选择合适的架构。

相关文章:

  • Windows提权技术完全指南:从基础到高级实战
  • Catsxp 从Edge商店安装扩展
  • 香港国际金融通道中的资金行为建模探索
  • 数据库MySQL基础(3)
  • Elasticsearch中的文档(Document)介绍
  • Android apk装机编译类型: verify、speed-profile, speed与启动耗时
  • 2025年大模型平台落地实践研究报告|附75页PDF文件下载
  • Elasticsearch索引(Index)介绍,它与数据库中的表有什么区别?
  • Cursor 工具项目构建指南: Web Vue-Element UI 环境下的 Prompt Rules 约束(new Vue 方式)
  • 浅析EXCEL自动连接PowerBI的模板
  • AI基础知识(LLM、prompt、rag、embedding、rerank、mcp、agent、多模态)
  • Spring Boot 从Socket 到Netty网络编程(上):SOCKET 基本开发(BIO)与改进(NIO)
  • OpenCV C++ 学习笔记(六):绘制文本、几何绘图、查找/绘制轮廓
  • EasyRTC嵌入式音视频通信SDK音视频功能驱动视频业务多场景应用
  • 数据标注与大模型的双向赋能:效率与性能的跃升
  • RPG21.创建敌人的AttributeSet,创建角色的GameplayEffect
  • 【Rust 高级trait】Rust trait的一些高级用法解密
  • 【算法深练】分组循环:“分”出条理,化繁为简
  • Paraformer分角色语音识别-中文-通用 FunASR
  • 数控矫平机:深潜技术内核与智造前沿
  • 极简风格 网站/电话营销
  • 中卫网站网站建设/实体店怎么引流推广
  • 外边做一个网站要多少钱/长沙做优化的公司
  • 重庆平台网站建设推荐/上海网络营销seo
  • 网站做支付宝花呗分期/seo监控
  • 生日快乐软件制作app/深圳seo优化排名