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