查看原文
其他

模型训练新方法 iTPN:全局统一架构,代价更小、性能更优

田运杰 OpenMMLab 2023-09-21


本文来自社区投稿,作者:田运杰


由中国科学院大学研究人员发表在 2023 年 CVPR 上的 iTPN 网络模型,通过为上下游任务设计一个统一的框架,大大提升了正确率和训练速度。


由自然语言处理领域引入到计算机视觉领域的 ViT 架构由于其优秀的性能表现,已经成为了计算机视觉的核心模型。而另一方面,掩模预训练方法(MIM)是近年来发现的一个有效提升模型训练效率和速度的重要方法。如何将这两者结合起来,并在图像分类,目标识别,图像分割等下游任务上取得最佳性能(SOTA),是近期研究人员重点关注的一个课题。


然而,实现这个课题的关键阻碍是上游预训练任务和下游的识别任务之间的结构差别(transfer gap)。具体来说是下游的识别任务往往需要图像的多尺度的特征,但绝大多数的预训练任务是基于单一尺度特征的模型(plain ViT)实现的。


统一 backbone,有用但有缺陷


针对传递差别的问题,研究人员也做了一定程度的尝试。其中比较常用的思路是通过对编码器(encoder)和掩码策略进行修改,统一上下游任务的主干网络(backbone)来学习多尺度视觉特征,提升预训练效果。


然而,这类尝试也会带来一些问题。因为在这种思路中,下游识别任务的主干网络(backbone)的参数与上游预训练任务共享,但是下游识别任务的连接网络(neck)的参数却是随机初始化的。这样的情况就不能保证下游识别任务的主干网络(backbone)和连接网络(neck)之间互相匹配,带来训练效果和训练速

度上的损失。


iTPN:全局统一架构


那该如何解决这个问题呢?中国科学院大学的研究人员提出了全局预训练网络架构——Integrally Pre-Trained Transformer Pyramid Networks(iTPN)


论文地址:https://arxiv.org/pdf/2211.12735.pdf

代码地址:https://github.com/sunsmarterjie/iTPN

iTPN 通过引入特征金字塔结构来联系上下游任务的连接网络(neck),同时优化更新掩模训练方法,实现了一个上下游结构统一的网络模型。


其基本思路是,首先通过在上游预训练任务的网络中插入一个特征金字塔结构,并在下游识别任务中复用该特征金字塔,来统一上下游任务的连接网络(neck)。



其次,为了更好地对特征金字塔进行预训练,iTPN 在掩蔽图像模型(MIM)的基础上提出了一种新的掩蔽特征模型(MFM)任务来提升网络性能。


具体实现


iTPN 的关键问题是如何设计可供上下游任务共用的连接网络(neck)。iTPN 选取多尺度 ViT 结构模型 HiViT 作为基础网络(backbone),利用 HiViT 的多尺度结构导出特征金字塔,同时在特征金字塔的不同层之间,通过上采样和加和的方式进行连接,构造出可反映不同尺度特征的连接网络(neck),大大提升了整个网络对图像特征的感知能力



而在预训练设计方面,iTPN 提出的 MFM 将随机掩模后的原始图像输入一个运动平均主干网络,计算多尺度的目标特征图,然后使用特征金字塔各个阶段的输出学习重建对应的目标特征图来完成预训练任务。同时,还可以将 MFM 中运动平均主干网络的更换为预先训练过的网络模型(如 CLIP)来吸收学习信息,以获得更好的性能表现。



概括的说,iTPN 的主要贡献是使用特征金字塔作为连接网络(neck)来完成上游预训练过程并复用于下游的识别任务,从而最大限度地减少了上下游任务之间的传递差别(transfer gap),并设计了 MFM 以更好地完成预训练任务。这样的网络设计使 iTPN 在如 ImageNet-1K 的主流视觉识别任务中取得了优越的性能,并为之后的网络设计引出了一个新方向——为上下游任务设计一个统一的学习框架。




在原版 iTPN 的基础上, 作者进一步提出更先进的 Fast-iTPN。Fast-iTPN 在更小训练代价的情况下, 实现更先进的性能:Fast-iTPN-B 在 ImageNet-1K 数据集上精度达到 88.7%(已知全球最高 base 模型性能); 仅仅使用 ImageNet-1K 数据的情况下, Fast-iTPN-L(3 亿参数量)在 ImageNet-1K 数据上精度达到 89.5%(同训练量下全球最高 large 性能)。另外 Fast-iTPN 在下游任务中也有突出表现:Fast-iTPN-B 在 ADE20K 上实现 57.5 mIoU,在 COCO2017 上实现 57.8 mAP。


代码地址: https://github.com/sunsmarterjie/iTPN



参考资料:

https://arxiv.org/pdf/2211.12735.pdf

https://blog.csdn.net/ncTimTang/article/details/129255721


Diffusion Model 详解:直观理解、数学原理、PyTorch 实现

2023-06-19

OpenMMLab 开源课题邀你共同突破 | GLCC 编程夏令营再次启航

2023-06-15

DINOv2:无需微调,填补 SAM 的空白,支持多个下游任务

2023-06-13

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存