多模态入门
AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE
https://arxiv.org/pdf/2010.11929
code
这里还是先参考解读文章: 再读VIT,还有多少细节是你不知道的
对一个图像做拆分,从patch->token
例如对于224*224*3的图片,分割为196个16*16*3的小块patch
1.预处理
对于其中一个patch做预处理得到1*1*768的张量
这里用展平或者别的拉平方式都不好,使用CNN转换(768个16*16*3的卷积核)
2.将patch变成token,也就是embedding
196*768的输入经过nn.Linear()的矩阵(768*n)变成196*n,得到了embedding, n可以理解为词向量维度,这里n是768
注意: 这里和bert一样都需要加一个token \
3.加位置编码
编码位置信息的方式差别不大
4.预训练
5.微调 —> 论文中讲的很简略
这里微调的图片分辨率更高,多出来很多token,需要对他们进行2D插值位置编码
具体流程经过参考这篇文章: ViT 微调时关于position embedding如何插值(interpolate)的详解
原因: 还未完全理解
Learning Transferable Visual Models From Natural Language Supervision
https://arxiv.org/pdf/2103.00020
code
先了解视觉编码器
参考文章: CLIP系列Paper解读
关键点
1.没有对图片采取文本预测的训练方式,而是图片文本配对的方式,大大提升了训练效率
2.对于n个图片文本对,先进行都向量归一化然后计算余弦相似度,分别从行列求概率,然后应用交叉熵进行平均操作
3.小细节: 使用线性投射层,不做数据增强,temperature超参数设置为学习标量
Visual Instruction Tuning
https://arxiv.org/abs/2304.08485
之前阅读到很多训练文章用到了基座为LLaVa的模型,这里就来看一下模型框架和训练流程
这里参考文章: LLaVA 论文解读
Improved Baselines with Visual Instruction Tuning
https://arxiv.org/pdf/2310.03744
LLaVA-1.5
Multimodal Foundation Models: From Specialists to General-Purpose Assistants
https://arxiv.org/pdf/2309.10020
总结调查性论文,后面有空过一下
Qwen2-VL: Enhancing Vision-Language Model’s Perception of the World at Any Resolution
https://arxiv.org/pdf/2409.12191
code
动态分辨率,M-ROPE
提出的问题
1.固定大小的分辨率 —> 之前的方法: 上/下采样; scale+padding
2.固定的CLIP形式的vision encoder
3.许多模型把视频当成独立模态
采取的方法
1.对ViT引入2D RoPE
相邻2x2token通过一层MLP压缩为一个token,并且前后有两个special token
eg: 224x224 patch_size=14 —> 66 tokens
2.使用M-RoPE来处理视频
Next Token Prediction Towards Multimodal Intelligence: A Comprehensive Survey
https://arxiv.org/pdf/2412.18619
tokenizer
1.type
- 离散 连续转离散的方法: VQVAE, VQGAN
- 连续
2.feature
- 表示 CLIP(对比学习)/DINO(完全自监督) 从输入中提取出语义信息,并去除冗余信息
- 重构 AE/VAE/VQVAE 从潜在表示中恢复原始输入
3.training method
- Auto-Encoding
- Denoising Auto-Encoding
- Supervised pretraining
- contrastive learning
离散tokenizer
量化方式
评估方式: 重构能力,生成能力