残差网络可以使得上千层的网络结构设计成为可能,但并不是只有残差网络可以做到,FractalNet(分形网络)便是如此。
分形是一个数学概念,指的是具有以非整数维形式填充空间的形态特征,也就是说它的有效维度不是整数。不过我们这里可以不用关注它的数学定义,而是关注它的,分形几何结构的一部分具有和整体相似的结构,即自相似,如下图形:
分形网络,顾名思义也是这样的特点了,局部的结构和全局相似,如下图:
可以看到包含了各种长度不同的子路径,从左到右:
第一列路径只有一条,长度l。
第二列路径两条,长度l/2。
第三列路径四条,长度l/4。
第二列路径八条,长度l/8。
它与残差网络的不同之处在于,绿色模块表示的非线性变换,即下一层不可能直接得到上一层的信号,而是经过了变换。
这样的一种包含了不同深度的子网络,与之前提过的stochastic depth有异曲同工之妙,它也可以被看作是不同深度的网络的ensemble。
作者们通过随机丢弃某些深度的方法也做了实验,丢弃的样例如下:
上面展示了两种路径,训练时混合使用。
Global: 只选择一条路径,且是同一列,这条路径就是独立的强预测路径。
Local:包含多个路径,但是保证每一层至少要有一个输入。
那么结果如何呢?
如上,与各种网络进行了对比,性能很好。在添加了drop-path技术后,还有极大提升,并且单独只拿出其中最深的一条路径所得的网络,都有接近最好的模型的性能。
与残差网络的相关研究一样,分形网络的研究也表明路径的有效长度才是训练深度网络的真正影响因素,不论是分形网络,还是残差网络,都拥有更短的有效的梯度传播路径,从而使得深层网络训练更不容易过拟合。
[1] Larsson G, Maire M, Shakhnarovich G. Fractalnet: Ultra-deep neural networks without residuals[J]. arXiv preprint arXiv:1605.07648, 2016.