Mxnet (13): 重复元素神经网络(VGG)

1. 使用重复元素的网络(VGG)

AlexNet在LeNet的基础上增加了3个卷积层。但AlexNet作者对它们的卷积窗口、输出通道数和构造顺序均做了大量的调整。但并没有提供简单的规则以指导后来的研究者如何设计新的网络。

VGG提出了可以通过重复使用简单的基础块来构建深度模型的思路。

1.1 VGG块

经典CNN的基本构建块是以下序列:

  • 具有填充以保持分辨率的卷积层
  • 通过ReLU的获取非线性
  • max pooling层的合并层。

个VGG块由一系列卷积层组成,然后是用于空间下采样的最大池化层。作者将卷积与 3 × 3 3×3 3×3 填充为1(保持高度和宽度)且 2 × 2 2×2 2×2 最大合并步幅为2(每个块后的分辨率减半)

下面实现一个VGG块。

from d2l import mxnet as d2l
from mxnet import np, npx, gluon, autograd, init
from mxnet.gluon import nn
import plotly.graph_objs as go
npx.set_np()ctx = npx.gpu() if npx.num_gpus() > 0