Xception:Deep Learning with Depthwise Separable Convolutions
在 GoogleNetv3 的基础,加入深度可分离卷积,并且实际使用时,调换通道卷积和 1x1 卷积的顺序
什么是 Xception?
- Inceptionv3 的另一种改进,主要采深度可分离卷积来替代原来的 Inceptionv3 中的卷积操作
- Inception 系列论文都在提高不同尺度特征的适应能力,通过不同的卷积核加宽模型,使得模型效果更好,上图从左到右,依次是原始 Inceptionv3 结构、并行 3 分支、分组 3 分支、所有通道一组
Xception 的网络结构?
- Xception 包含三个部分:输入部分,中间部分和结尾部分;其中所有卷积层和可分离卷积层后面都使批规范化 (Batch Normalization,BN) 处理,所有的可分离卷积层使用一个深度乘数 1(深度方向并不进行扩充)
Xception 如何使用深度可分离卷积?
- 顺序:原深度可分离卷积 (depthwise separable convolution) 先逐通道卷积,再 1x1 卷积;而 Xception 是反过来,先 1x1 卷积,再逐通道卷积
- 激活函数:原版深度可分离卷积的两个卷积之间是不带激活函数的,而 Xception 在经过 1x1 卷积之后会带上一个 Relu 的非线性激活函数