每周学习|【多模态学习】本周学习历程,附链接

越学习,越是觉得所谓研究生不过是站在巨人的肩膀上领略科学之海的壮丽,十分荣幸能在开源精神的引领下参与到知识的传递网络中?(^?^*)
ps.以下块引用的代码均可以.ipynb形式编译,如果您有条件,强烈安利用jupyte notebook打开

现如今,多模态学习可谓是方兴未艾,不要被多模态这个概念唬住,模态可以近似理解为视觉、听觉或触觉等不同的感受,深度学习中的多模态学习之于计算机就好比是五感之于人类。从Bert与ViT开始,这把火彻底烧到了CV领域,Transformer架构渐有取代CNN之势,像现在大火的视觉transformer模型等。以本人学习经历做参考:学习完CNN直接去看提出Transformer的论文Attention is All you Need(https://arxiv.org/pdf/1706.03762.pdf)可以说是一头雾水。学习不可急于求成,否则就是空中楼阁,必须循序渐进,顺着知识流学习。
1.以下便是 本人遵循的Transformer学习顺序
### Transformer学习顺序应如下:
1.MLP
[深度理解多层感知机(MLP)](https://cleverbobo.github.io/2020/08/30/bp/)

2.RNN
[一文搞懂RNN(循环神经网络)基础篇](https://zhuanlan.zhihu.com/p/30844905)

3.seq2seq/编码器解码器架构
[Encoder-Decoder 和 Seq2Seq](https://easyai.tech/ai-definition/encoder-decoder-seq2seq/)

4.注意力机制&自注意力
[Attention注意力机制的理解](https://cloud.tencent.com/developer/article/1489033)

【每周学习|【多模态学习】本周学习历程,附链接】[什么是自注意力机制](https://www.jiqizhixin.com/articles/100902)

5.transformer
[Transformer论文逐段精读【论文精读】](https://www.bilibili.com/video/BV1pu411o7BE)

[A Survey of Transformers](https://arxiv.org/pdf/2106.04554.pdf)
梦开始的地方!
每周学习|【多模态学习】本周学习历程,附链接
文章图片


2.OK!有了transformer这个基础后,接下来康康现在如日中天的文本语义和视觉特征间的桥梁——Vision Transformer模型
VLP综述VLP:
[A Survey on Vision-Language Pre-training](https://arxiv.org/abs/2202.09061)
3.Clip:基于自然语言监督信号下的迁移视觉模型
3.1有了以上基础后,来了解下百花齐放的多模态项目吧。21年初发表的Clip是其中别样的一朵,在openAI的4亿个文本图像对与11000tpuv3天的训练加持下,为大众奉献了一本超大规模的《自然语言文本语义与图像特征双语词典》
词典(权重文件)来咯~
_MODELS = { "RN50": "https://openaipublic.azureedge.net/clip/models/afeb0e10f9e5a86da6080e35cf09123aca3b358a0c3e3b6c78a7b63bc04b6762/RN50.pt", "RN101": "https://openaipublic.azureedge.net/clip/models/8fa8567bab74a42d41c5915025a8e4538c3bdbe8804a470a72f30b0d94fab599/RN101.pt", "RN50x4": "https://openaipublic.azureedge.net/clip/models/7e526bd135e493cef0776de27d5f42653e6b4c8bf9e0f653bb11773263205fdd/RN50x4.pt", "RN50x16": "https://openaipublic.azureedge.net/clip/models/52378b407f34354e150460fe41077663dd5b39c54cd0bfd2b27167a4a06ec9aa/RN50x16.pt", "RN50x64": "https://openaipublic.azureedge.net/clip/models/be1cfb55d75a9666199fb2206c106743da0f6468c9d327f3e0d0a543a9919d9c/RN50x64.pt", "ViT-B/32": "https://openaipublic.azureedge.net/clip/models/40d365715913c9da98579312b702a82c18be219cc2a73407c4526f58eba950af/ViT-B-32.pt", "ViT-B/16": "https://openaipublic.azureedge.net/clip/models/5806e77cd80f8b59890b7e101eabd078d9fb84e6937f9e85e4ecb61988df416f/ViT-B-16.pt", "ViT-L/14": "https://openaipublic.azureedge.net/clip/models/b8cca3fd41ae0c99ba7e8951adf17d267cdb84cd88be6f7c2e0eca1737a03836/ViT-L-14.pt", }


此话怎讲,且看原理:
每周学习|【多模态学习】本周学习历程,附链接
文章图片


3.2 此前本人有关Clip的博客
CLIP:基于自然语言监督信号的迁移视觉模型_wind faded的博客-CSDN博客2月25月随笔: 最近在关注自动标注领域的工作,发现了一篇有趣的文章:openai的多模态对比学习《基于自然语言监督信号的迁移视觉网络模型》,在imagenet 上zero shot 效果和有监督训练好的ResNet 50媲美(⊙o⊙) 其实从bert 开始,自然语言处理和计算机视觉的结合就势不可挡,之后的各种vision transform 更是如同雨后春笋,但clip 是第一次把图片与文字的结合做到了极致。 原理简单有效:有n个图片文本对,使用编码器分别提取出n个文...https://blog.csdn.net/qq_44942172/article/details/123141591?spm=1001.2014.3001.5502
3.3以下是本人对Clip模型的拓展:
### 对Clip模型的拓展
1.[本人github项目地址](https://github.com/1844520476/NTViT)

2.1[原始论文CLIP:Connecting Text and Images](https://openai.com/blog/clip/)

2.2[原始代码openai/CLIP: Contrastive Language-Image Pretraining](https://github.com/openai/CLIP)

3.所用数据集:LAION-400M
[LAION-400M: Open Dataset of CLIP-Filtered 400 Million Image-Text Pairs](https://arxiv.org/abs/2111.02114)
3.4补充:对VLP与Clip的思考
每周学习|【多模态学习】本周学习历程,附链接
文章图片
?
每周学习|【多模态学习】本周学习历程,附链接
文章图片
?

还有很关键的一点 ,Clip模型直接把自然语言而非分类数字、检测坐标或像素点语义作为监督信号,而是直接把自然语言作为最终的监督信号。从浅层次看:自然语言指导的学习符合人类的实际学习过程。从深层次看:首先,学习自然语言本身就是人类精心设计的语法和含义明确的特征,为什么不利用起来;其次:方便后续比对和检索,也方便提示(prompt)处理
4.项目展示:
?

对多模态的融合又涉及对比学习与主动学习以及预训练后的迁移学习。除此之外,包含多模态信息的低噪数据集以及高效的训练方法(提高样本学习效率)都是大挑战呀。这又衍生出两个重要的研究方向:众包学习与半(无)监督学习>_<
总之,多模态学习是一条有趣但充满荆棘的路!

    推荐阅读