IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> ConvNeXt -> 正文阅读

[人工智能]ConvNeXt

ConvNeXt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-joTcP64v-1650164682676)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/2c930934-c41f-4bdb-8df9-dc15e9f3fc23/Untitled.png)]

注:以下笔记参考原论文以及这个博客做了简化。
在这里插入图片描述

Macro Design

  • Changing stage ratio: 在ResNet中,一般conv4_x(stage3)堆叠的block数最大,ResNet50中,各个stage堆叠的block数大约为(3,4,6,3),比例为1:1:2:1。Swin Transformer中stage3的比例更高,故将ResNet的堆叠次数从(3,4,6,3)调整为(3,3,9,3),和Swin-T有相似的FLOPs,调整后,准确率由78.8%上升到79.4%
  • Changing stem to "Patchify”:ResNet中的下采样是采用stride为2的7x7的卷积层以及stride为2的最大池化下采样共同组成。Transformer中一般都是通过一个stride等于kernel_size的卷积层实现下采样,看起来就像是把一个patch通过上述的卷积层下采样为1个像素,下采样倍数等于kernel_size。替换后准确率从79.4%提升到79.5%,并且FLOPs也降低了。

ResNeXt-ify

  • ResNeXt中使用了组卷积使得其在FLOPs和accuracy上做到了比较好的平衡。这里ConvNeXt中直接使用了MobileNet中提出的depthwise-conv替换ResBkock中的3x3卷积。同时作者将通道数从64变成了96,最终准确率达到了80.5%

Inverted Bottleneck

  • 作者认为Transformer block中的MLP模块与MobileNetV2中的Inverted bottlenect结构类似,都是两头细中间粗的结构。ConvNeXt最终将结构从下图a修改为c,b为MobileNetV2使用的Inverted bottleneck。作者采用Inverted bottleneck后在较小的模型上准确率从80.5%提升到了80.6%,在较大模型上准确率从81.9%提升到82.6%,并且FLOPs由小幅度降低

在这里插入图片描述

Large kernel size

由于Transformer中一般都是做全局的self-attention,比如vision transformer,而且Swin Transformer中也有7x7的窗口大小。但是目前主流的神经网络都是采用3x3大小的窗口,因为之前VGG中提到堆叠多个3x3卷积层可以替代更大的卷积层,且3x3卷积层的优化比较高效。

  • Moving up depthwise convolution: 将1x1conv→depthwise conv → 1x1conv变为depthwise conv→1x1conv→1x1conv,准确率下降到79.9%,同时FLOPs也减小了
  • Increasing kernel size修改depth wise的卷积核为7x7,同时作者尝试过其他尺寸的卷积核,包括3,5,7,9,11发现到7时准确率就达到了饱和。并且准确率从79.9%(3x3)增长到80.6%(7x7)

Macro Design

主要关注更细小的差异,比如激活函数以及Normalization等

  • Relu→GRELU:将Relu激活函数换成GELU激活函数,准确率没有明显变化
  • fewer activation:使用更少的激活函数,一般卷积网络中会在卷积层或者全连接层后面都接一个激活函数,但是Transformer中MLP只在第一个全连接层后跟了GELU激活函数。作者在ConvNeXt中也减少了激活函数,depthwise conv→1x1conv + GELU→1x1conv,准确率从80.6%上涨到81.3%
  • Fewer normalization layers:作者在ConvNeXt中只在7x7的depthwise conv后面使用了Normalization,准确率上升了0.1%,到达81.4%
  • Substitute BN with LN:使用layer norm替换batch norm,准确率上升了0.1%,到达81.5%
  • Separate downsampling layers:原ResNet中stage2-stage4中的下采样是通过将主分支的3x3卷积步距设置为2,捷径分支上1x1的卷积层步距设置为2进行的。Swin Transformer中是通过一个单独的patch merging实现的,ConvNeXt中作者单独使用了一个下采样层,通过一个Layer norm加上一个卷积核大小为2,stride为2的卷积层组成最终准确率提升到82.0%
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-18 17:43:23  更:2022-04-18 17:47:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:45:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码