什么是残差网络(Residual Networks,ResNets)?
随着层数的增多,训练集上的效果变差?这被称为退化问题(degradation problem),原因是随着网络越来越深,
训练变得原来越难,网络的优化变得越来越难。理论上,越深的网络,效果应该更好;
但实际上,由于训练难度,过深的网络会产生退化问题,效果反而不如相对较浅的网络。
而残差网络就可以解决这个问题的,残差网络越深,训练集上的效果会越好。
残差网络通过加入 shortcut connections,变得更加容易被优化。包含一个 shortcut connection 的几层网络被称为一个残差块(residual block)
图 残差块
def forward(self, x):