Residual Network和Inception Network网络架构介绍

Residual Network

如左图所示,随着神经网络层数的加深,虽然网络代表的函数域在不断扩大(\mathcal{F}_{1},\ldots,\mathcal{F}_{6}),但可能整体上偏离了要寻找的最优函数f^*,这也是神经网络在加深到一定层数之后训练误差很难继续减小的原因。如果可以使函数域的扩大如右图所示满足\mathcal{F}_{1} \subseteq \ldots \subseteq \mathcal{F}_{6},就可以保证函数域不断逼近最优函数f^*,从而达到增加网络的复杂度来继续减小训练误差的目的。Residual Network的核心思想是新加入的网络层在使网络变得复杂的基础上还能够实现f(x)=x的自身映射,来确保\mathcal{F}_{1} \subseteq \mathcal{F}_{2} \subseteq \ldots

典型的Residual Block如下图所示:

点击查看代码


如果输入和输出的维数不匹配,可以采用如下图所示的结构调整:

点击查看代码


利用上述建立的两个block搭建一个ResNet50模型,模型架构如下图所示:

点击查看代码




Inception Network

Inception Network的核心思想是在一个网络层上同时实现多种不同的操作,并通过1\times 1的卷积调整特征图的个数,减少参数数量。它的基本结构如下图所示:

点击查看代码


利用上述的block搭建一个GoogLeNet (Inception V1)模型,模型架构如下图所示:

点击查看代码

Leave a Comment

Your email address will not be published. Required fields are marked *