使用TensorFlow官方提供的API进行模型训练,keras系列API中,存在很多算法,使用MobileNetV2进行讲解。
一. MobileNetV2简介
MobileNetV2 是由 Google 在 2018 年发布的一种轻量级深度神经网络架构,旨在优化移动设备和嵌入式设备上的图像分类和其他视觉任务的性能。它是 MobileNet 系列的第二代改进版本,相较于 MobileNetV1,引入了新的层类型和架构改进,显著提升了模型的准确性和效率。
1. 主要特性和创新点
深度可分离卷积(Depthwise Separable Convolutions):
延续了 MobileNetV1 的设计,通过深度可分离卷积来减少参数量和计算量。深度可分离卷积将标准卷积分解为深度卷积和逐点卷积两个步骤,极大地减少了计算成本。
线性瓶颈(Linear Bottlenecks):
引入了线性瓶颈层,在每个模块的输入和输出使用低维线性空间。这有助于减少模型复杂度和计算量,同时避免信息丢失。
倒残差结构(Inverted Residuals):
引入了倒残差结构,与 ResNet 中的残差模块相反,MobileNetV2 中的残差连接在高维卷积层而不是低维层之间进行。
倒残差块结构通过扩展-深度卷积-压缩的过程来捕获更多的信息。
2. 架构细节
MobileNetV2 的架构由一系列倒残差块和普通卷积层组成:
Conv2D:初始标准卷积层,通常使用 3x3 卷积核。
Bottleneck Residual Blocks:包含扩展、深度可分离卷积和线性压缩。
每个瓶颈块通常包括:1x1 卷积(扩展通道数) -> 3x3 深度卷积 -> 1x1 卷积(压缩通道数)。
引入 ReLU6 激活函数用于非线性变换。
全局平均池

最低0.47元/天 解锁文章
1301

被折叠的 条评论
为什么被折叠?



