神经网络模型2——MobileNet(轻量级)

文章目录

  • 一、网络模型
  • 二、模型特点:采用depthwise separable convolution——深度可分离卷积,以减少模型的参数。


一、网络模型

MobileNet模型一个**轻量级**的深层神经网络,训练快,运行起来也不卡

如下就是MobileNet的结构:
神经网络模型2——MobileNet(轻量级)_第1张图片

二、模型特点:采用depthwise separable convolution——深度可分离卷积,以减少模型的参数。

如下这张图就是depthwise separable convolution的结构:
神经网络模型2——MobileNet(轻量级)_第2张图片

对于一个正常卷积而言: 假设有一个3×3大小的卷积层,其输入通道为16、输出通道为32。具体为,32个3×3大小的卷积核会遍历16个通道中的每个数据,最后可得到所需的32个输出通道,所需参数为: 16(输入通道数)×3×3(卷积核大小)*32(卷积核个数=输出通道数)=4608个。

应用深度可分离卷积:用16个3×3大小的卷积核分别遍历16通道的数据,得到了16个特征图谱。在融合操作之前,接着用32个1×1大小的卷积核遍历这16个特征图谱(即利用1*1的卷积对16个特征图进行通道的缩放),所需参数为:
16(输入通道数)×1×1(卷积核大小)×32(输出通道数)+=656个。??(16×3×3×16+16×1×1×32)

Conv dw是分层卷积,在其之后都会接一个1x1的卷积进行通道处理
利用AveragePooling代替VGG的全连接层,没有参数量。
用Keras中的DepthwiseConv2D层实现深度可分离卷积,然后再利用1x1卷积调整channels数。
model.summary()可以看模型的结构

你可能感兴趣的:(目标检测,神经网络,深度学习,python)