QDD基础网络系列(2)——ReXet

好像真的没有办法做到每周一更的博客了,上班的时间真的是身不由己,而且最近好像有点松懈,对于paper的阅读也一直没有坚持下来,这几个月我尽量保持每月两更博客,等回所之后会逐渐恢复正常。

今天给大家推荐的是一个实践之中发现很好用的网络,ReXet,大家平时在选择backbone的时候,res50,vgg16这些会是比较常用的网络,对于一些比较复杂的网络往往大家会默认视而不见,理由无非是trick太多,不容易训练,网络太过复杂运行缓慢。但是实践出真知,在mask这种巨大的网络中,一个renxt50和resnet50所消耗的时间几乎差不多,今天给大家带来的就是这个网络。

完结,每次巨废的前言。

URL:https://arxiv.org/pdf/1611.05431.pdf

一 概要

一个用于图片分类的简单,高效的网络框架。

Renxt通过重复一系列拓扑结构相同的cardinality构成。作者通过实验证明增加cardinality比增加深度和广度更加有效。我们的方法表明cardinality是一个除了宽度和高度之外也很重要的维度。

二 Renxt和resnet之间的区别

QDD基础网络系列(2)——ReXet_第1张图片

通过这张图的对比,我们可以简单的看出ResNet和ResNeXt之间的区别。上图展示的分别是这两个网络的一个block。resnet是一个通道,而resNeXt则是通过设置cardinality的数值为32,通过32和相同模块的并联,然后每个小分支使用更加简单的结构,仅仅使用1×1的卷积核四个,然后第二层是3×3的卷积核4个,最后是1×1的卷积核256个。通过这样大大减少了网络的复杂度,使用更多相同拓扑的结构组装起来。这样的化,就可以轻易的进行网络的扩充作用且不需要进行任何特殊化的设计工作。

三 网络结构

网络的设计借鉴了resnet的思想,才用了高度模块化的设计工作。

QDD基础网络系列(2)——ReXet_第2张图片

这些模块才用相同的拓扑结构,并且在设计的过程中,符合VGG以及Resnet设计过程中的两个简单原则:1 相同大小的模块,参数共享 2 每次下采样才用的参数大小为2.

这里先复习一下简单神经元的概念

这个是最简单的神经单元描述模型,

QDD基础网络系列(2)——ReXet_第3张图片

x代表输入,w1代表权重。

然后在这里,我们采用一种称为Aggregated Transformations转换的方式

每个Ti(x)可以代表任何一个方程,当然也可以代表上述的这种单元模块。而C就是本文中一直强调的cardinality的数值。

Ti(x)的设计方法可以是多样的,在文中为了追求简单,我们采用了一样的模式。作者一共提供了三种可供选择的模块设计

QDD基础网络系列(2)——ReXet_第4张图片

复杂度对比计算

对于图一左侧的残差网络计算浮点数可以表示为:

256 · 64 + 3 · 3 · 64 · 64 + 64 · 256 ≈ 70k

但是同比ResneXT的计算,我们可以发现参数量为:

C · (256 · d + 3 · 3 · d · d + d · 256)

当C=32,d=4的时候,参数也是70k,但是这时候模型的效果是要远远优于resnet50模型的。

好了好了,心不静,今天就只写一篇了。

 

学术交流可以关注我的公众号,后台留言,粉丝不多,看到必回。卑微小钱在线祈求

你可能感兴趣的:(深度学习——CNN,QDD基础网络)