革命在2015年12月到来,与Inceptionv3大约在同一时间。 ResNet有一个简单的想法:反馈两个连续的卷积层的输出,并且也绕过输入到下一层!
在这里,他们绕过了两层,并大规模应用。 在2层之后绕过是一个关键的直觉,因为绕过单层没有给出很多改进。 而绕过2层可以认为是一个小分类器,或是Network-In-Network!这也是第一次,过百1,甚至1000层的网络被训练。具有大量图层的ResNet开始使用类似于Inception瓶颈的瓶颈层:
该层通过首先使用具有较小输出(通常是输入的1/4)的1x1卷积,然后使用3×3层,然后再次对较大数目的特征进行1x1卷积,来减少每个层处的特征的数目。像Inception模块的情况,这允许保持计算很低的同时提供丰富的特征组合。
ResNet在输入(stem)使用相当简单的初始层:7x7转换层,后面是一个pool2.与此相对比,是更复杂和更不直观的stem,如Inception V3,V4。ResNet还使用pool层和softmax作为最终分类器。
1. ResNet可以被看作是并行和串行模块,通过只考虑inout作为并行的许多模块,而每个模块的输出串联连接
2. ResNet也可以被认为是并行或串行模块的多个集合
3. 已经发现ResNet通常在相对低深度(20-30层)的block操作,这些block并行地而不是串行地在网络的整个长度上流动。
4. ResNet,当输出反馈到输入时,如在RNN中,网络可以被看作是更好的生物拟真性的皮层模型
Christian和团队再次建立了一个新版本的Inception。stem之后的Inception模块与Inception V3类似:
他们还将Inception模块与ResNet模块结合使用:
这一次虽然解决方案是,在我看来,不那么优雅并且更复杂,但也充满了较不透明的启发式。这是很难理解的选择,而且作者也很难为它们辩解。在这方面,一个干净,简单的网络,可以很容易地理解和修改的奖项现在转到ResNet上了。
SqueezeNet在最近发布。它是来自ResNet和Inception的许多概念的re-hash,毕竟,更好的架构设计将提供更小的网络大小和参数,而不需要复杂的压缩算法。
我们的团队设置将最近的架构的所有功能组合成一个非常高效和轻量的网络,使用极少的参数和计算来实现最先进的结果。这个网络架构被称为ENet,由Adam Paszke设计。我们使用它来执行像素标记和场景解析。ENet是一个编码器加解码器网络。编码器是用于分类的常规CNN设计,而解码器是设计为将类别反馈回用于分割的原始图像大小的上采样网络。这个工作只使用神经网络,没有其他算法来执行图像分割。
ENet被设计为使用从开始就尽可能的最小数量的资源。因此,它实现了这样小的占用,使得编码器和解码器网络一起仅占据具有fp16精度的0.7MB。即使在这个小尺寸,ENet实现了类似或更高其他纯神经网络解决方案的分割精度。