大语言模型里的Transformer还可以这么用?
前言 自 LLM 诞生以来,我们见到了很多把 LLM 接到 Vision Backbone 后面的算法,那么有两个自然的问题:(1)LLM 的 Transformer 是否可以直接处理视觉 Token?(2)LLM 的 Transformer 是否可以提升处理视觉 Token 的 Performance?我们的工作回答了这两个问题(答案是 Yes)而且解释了其中的原因:在语言模型中 Pretrain 的 Transformer 可以用作视觉任务的 Encoder Layer,代码已经开源。
本文转载自PaperWeekly
作者:庞子奇
单位:UIUC
仅用于学术分享,若侵权请联系删除
欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。
【CV技术指南】CV全栈指导班、基础入门班、论文指导班 全面上线!!
论文题目:
Frozen Transformers in Language Models Are Effective Visual Encoder Layers
论文链接:
https://arxiv.org/abs/2310.12973
代码链接:
https://github.com/ziqipang/LM4VisualEncoding
LLM的Transformer可以处理视觉Token吗?
在 LLM 的加持下,很多 Vision-language Model 会直接把来自图像的 Embedding 输入给 LLM,并让 LLM 作为 Decoder 输出文字、类别、检测框等。但是在这些模型中,LLM 并不会直接处理来自图像的 Token,它们更多地是(1)处理提前设计好的语义 Token,例如 CLIP 中的 cls token;(2)处理被压缩过的 Token,例如 BLIP 里面经过 information bottleneck 的 token。
那么 LLM 是否可以直接作用于其它模态的 Token 呢,即 LLM 是否可以用作 Encoder,而不只是 Decoder 呢?
1.1 实验方法
验证这个事情非常简单,以 ViT 为例,我们只需要:
- 取出某一个 LLM 的 Transformer Layer(例如 LLaMA 的最后一个 Transformer),请注意这里只需要一个 Transformer Block 而不是整个 LLM;
- 把它加入到最后一个 Encoder Block 后面,只需要额外两个 Linear Layers 把Feature Dimensions 拉齐;
- 冻结 LLM 的 Transformer,但是正常训练其它部分。
1.2 和现在的Vision-language Model的异同
- 是否需要 Pretraining?我们的方法重在提升 Encoding 能力,所以我们既支持 Train-from-scratch,也支持 Finetune,而不是必须要依赖预训练好的 Backbones。
- 是否需要 Language?虽然我们用的是 LLM 的 Transformer,但是我们的 Framework 独立于使用 Language(比如 Prompts 或者 Alignment),而不是像 Vision-language Models 一样必须要 Language。
- 可以处理多少模态?我们的 Framework 可以泛化到多个模态和任务,而不是只能处理图像。
- Encoder 和 Decoder有什么区别?Encoder 需要直接和 Visual tokens 打交道,比如 H×W 个图像 token 的信息做 Cross-attention 去改变 cls token。
- 现在已经有这么多 Vision-language Models 了,你们的研究有什么用?首先,我们的研究和现在的 vision-language Models 不矛盾而且互相补充——现在 vision-language model 研究如何把视觉 embedding 输入给 LLM,而我们的研究聚焦如何提供更好的 embedding。
1.3 一个预训练的LLaMA Transformer在许多不同模态、任务的Encoder上都有用
在论文中,我们发现把 LLM 的 Transformer 用作视觉 Encoder 可以泛化到极其多样的场景。
- 2D 语义:图像分类(image classification)
- 点云:点云分类(point cloud classification)
- 视频:动作识别(action recognition)
- 无语义,回归任务:轨迹预测(motion forecasting)
- 2D 多模态:2D VQA 和图像搜索(2D VQA and Retrieval)
- 3D 多模态:3D VQA
在这些任务中,我们的模型不只要处理图像上像 patch 一样的 Token,还要处理
- 点云中无规则的 3D 点
- 视频中形状 T×H×W 的长方体形状的 token
- 轨迹预测里面来自 Agent 和高精地图的 Polylines
- 多模态任务中混合了图像和语言的 Token
为什么预训练的LLM Transformer有用:Information Filtering Hypothesis
虽然我们在许多任务和模态上都看到了性能的提升,但是如何解释这一点呢?我们在研究的过程中感觉如果把加了 LLM 的提升都归结于 “LLM 包含了可以泛化的知识”,其实比较偷懒而且不一定正确。所以我们研究了 Token 在加 LLM transformer 前后的变化提出了 Information Filtering 假设:
LLM Transformer 模块能够在训练的过程中筛选和目标任务相关的 Visual Tokens 并且放大他们的贡献。
这个结论是我们 paper 里面可能最重要的发现。
2.1 在ViT上的观察——LLM Transformer筛选出了前景
为什么可以这么说呢?我们看下图中我们对 ViT 的 Token Activation 的可视化:为了体现不同 Token 的贡献,我们从本身 Activation 的大小(L2-norm)和频率大小进行了可视化(做傅里叶变换后算角度的 L2-norm)。
可以看到:在有了 LLM Transformer 之后,ViT 的 Activation 能更干净地集中到前景区域,而这个性质只有在无监督学习的 ViT 中(e.g. DINO)中可以见到,在监督学习的 ViT 中很少见。
另一方面,我们对比了有/没有 LLM transformer 对于 Attention weight 的影响:普通的 ViT 的 Attention Weight 几乎是完全 Noisy 的(和 DINO 的观察吻合),在加了 LLMTransformer 之后(1)有极少的 Attention Head 体现出了干净的前景分割的样子,但是(2)它们的数量较少不足以解释 Token Activation 更显著地好。
因此,我们观察到的提升来自有用的 Feature 被放大了,这也是为什么我们称之为 information filtering hypothesis。
2.2 在其它任务的也可以筛选有用的Token
类似的 “information filtering” 现象不只在 ViT 和图像分类上有,在其它任务上,LLM Transformer 也有效地提升了对目标任务最有用的 Token。这里我们举两个例子:
- 在动作识别中,加了 LLaMA 的 Transformer 可以更好地集中到前景的手和物体(low threshold),也更多地筛选出了手和物体有实际动作的帧(high threshold)。
- 在 3D VQA 中,我们可视化了点云 Token 的大小。可以看到,那些真正和预测目标、或者问题相关的点得到了更大的关注:比如在左图中,“behind me” 的点云显著得到了更大的 Activation(颜色更亮了)。
一点Ablation Study
那么我们观察到的现象,即 LLM 的 Transformer 可以提升 Visual Encoding,是否和不同的层、LLM 有关呢?
- 多种 LLM Transformer 都可以提升 Visual Encoding。例如用 LLaMA 和 OPT 的不同 Transformer 层都会有提升,而且不同层之间也会体现不同的规律。
- 只有足够大的 LLM 才有提升 Visual Encoding 的效果。例如只有足够大的OPT才会提升 Visual Encoding 的效果。
后记
最后写一些没有写在 Paper 里面的自己的感受和思考:
在论文中最让我感到兴奋的不是结合了 LLM 在很多 Task 上都有提升,而是在我们 Information filtering 假设的分析中看到了质变:神经网络能够更好地学习到那些和任务最相关的 Token。
那么为什么会有这样的效果?我猜测是 LLM 的 Transformer 的参数矩阵,例如 FFN 的矩阵,有一些很好的性质,例如在某些情况下是一个高通滤波器。我们可以从反面思考,如果一个参数矩阵是随机初始化(低通滤波器),或者干脆就是一个单位矩阵,那么必然不可能去筛选出来有用的 Token,并且放大他们的贡献。
在尝试解释这个现象的时候,我们发现用 transfer learning 的工具来分析会非常有难度,因为我们不能保证 vision 和 language 确实在一层 transformer 之后就 align 了。
最终,一个比较合理的直觉是受到了我本科同学许逸伦 “A Theory of Usable Information Under Computational Constraints” 这篇 Paper 的启发:我们可以把 LLM Transformer 看作一种 Decipher,它提升了 Feature 的有用性,使得一层 MLP 或者 Decoder 的有限计算资源可以把 Feature 映射到和真实结果 Mutual Information 更高的空间中。事实上,这也契合我们 Information filtering 的观察。
欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。
【技术文档】《从零搭建pytorch模型教程》122页PDF下载
QQ交流群:470899183。群内有大佬负责解答大家的日常学习、科研、代码问题。
其它文章
LSKA注意力 | 重新思考和设计大卷积核注意力,性能优于ConvNeXt、SWin、RepLKNet以及VAN
CVPR 2023 | TinyMIM:微软亚洲研究院用知识蒸馏改进小型ViT
ICCV2023|涨点神器!目标检测蒸馏学习新方法,浙大、海康威视等提出
ICCV 2023 Oral | 突破性图像融合与分割研究:全时多模态基准与多交互特征学习
HDRUNet | 深圳先进院董超团队提出带降噪与反量化功能的单帧HDR重建算法
南科大提出ORCTrack | 解决DeepSORT等跟踪方法的遮挡问题,即插即用真的很香
1800亿参数,世界顶级开源大模型Falcon官宣!碾压LLaMA 2,性能直逼GPT-4
SAM-Med2D:打破自然图像与医学图像的领域鸿沟,医疗版 SAM 开源了!
GhostSR|针对图像超分的特征冗余,华为诺亚&北大联合提出GhostSR
Meta推出像素级动作追踪模型,简易版在线可玩 | GitHub 1.4K星
CSUNet | 完美缝合Transformer和CNN,性能达到UNet家族的巅峰!