技术

Paper-Weekly12-Demystifying OpenAI CLIP data
国庆去香港大玩特玩的时候(谢谢JS),跟磊哥约了个饭,吃饭的时候他提到这篇最近让他印象深刻的文章。虽然这几年主要都在做NLP,了解一些CV/多模的进展或许也能有点启发(?) 这篇文章是9月底挂到arxiv上的,10月初更新了一版,非常新鲜。下面简单总结一下原文: CLIP是一种在计算机视觉中具有高级研究和应用的方法,推动了现代识别系统和生成模型。作者相信 CLIP 成功的主要因素是它的数据,而不是模型架构或预训练目标。然而,OPENAI只提供有关其数据的非常有限的信息以及它是如何收集的,这也导致了一些工作想通过模型的参数来复现其训练数据(生成模型的思路,很有意思但难度很大)。 作者构造了MetaCLIP ,采用原始数据和元数据(源自 CLIP 的概念),并在元数据分布上产生平衡的子集。他们的实验研究严格隔离了模型和训练设置,只关注数据。MetaCLIP 应用于具有 400M 图像-文本数据对的 CommonCrawl 在多个标准基准上优于 CLIP 的数据。在零样本 ImageNet 分类中,MetaCLIP 达到了 70.8% 的准确率,在 ViT-B 模型上超过了 CLIP 的 68.3%。扩展到 1B 数据,同时保持相同的训练预算,达到 72.4%。 方法部分,作者先是引用了CLIP原文,原文中声称其构造了50万的Query,然后为每个Query收集至多2万个图文对。本文采用的Term是Metadata,其实就是CLIP原文的Query。
Paper-Weekly12-Demystifying OpenAI CLIP data
Paper-Weekly10-WebBrain
这篇文章设计了一个新任务,根据query进行搜索,在网上自动获取相关的证据,并把搜索结果用于生成短的,符合事实的文章。生成的目标是维基百科里没有的、factually-correct的短文章。他们通过爬取维基百科构造了一个大规模的数据集,比之前类似的数据集大10倍。同时他们还设计了一个将检索与生成相结合的框架ReGen。 ReGen基于当前最先进的方法(SPLADE+FiD+BART)进行改进,主要有以下三点: 控制检索证据的话题一致性 在生成过程中引入citation mark从而保证引用的来源 引入基于事实的自监督任务 webBrain区别于已有工作的创新点在于: 已有工作大多利用模型实现存储的参数化知识(0shot),容易生成幻觉,而webbrain使用网络上挖掘的信息,可能更可信一些; 检索增强QA只需要给出一个简单的span或者生成一个简单的句子,而webbain探索了如何综合利用所有的网络信息来生成一篇comprehensive且准确的短文 比MDS更难,并不是简单总结已有文章,还需要挖掘evidence webGPT需要记录人类用户的交互行为,webbrain只是基于已经生成的维基百科文章,更加可行。 为什么他们一定非得收集网上现成的wiki呢,而且所谓的挖掘信息,不就是把wiki里的url做一个filter吗?请问搜索引擎用在哪?意思是人工标好的就算是挖掘吗。再退一步,wiki的写法一般都是先写再加引用,我引用是为了去佐证我写的的准确性,而不是根据网页的内容做总结。所以这文章就很扯。 Anyway,还是看看他们的具体做法吧。
(Paper Weekly06) End-to-end Neural Coreference Resolution
最近在打比赛,比赛内容是上下文指代消解,为此稍微阅读了几篇这方面的baseline。感觉这篇有很多思想在后续工作中都有体现,因此写篇博客总结一下。 引言 本文声称其为首个端到端的指代消解模型,在不使用句法分析和特征工程的前提下超越了之前的方法。模型对"word span"(不知道怎么翻译,要不翻译成"词组"吧)进行嵌入,包含了词组的边界信息以及单头的注意力信息,训练目标是最大化正确指代对的边缘似然(marginal likelihood)。同时,本文将评分进行分解,高效的剪枝策略得以使用。 模型 给定Document D, D 中存在若干span pairs,每个span pairs由相邻的几个词构成,(疑问:为啥是几个词作为一个span,而不是单个的词?粒度问题怎么处理),假设有T个span,那么可能的span pairs数量为$$\frac{T*(T-1)}{2}$$​。需要从这些pair中找出正确的pair。 模型的优化目标为: 简单来说便是优化给定文档后正确的span对的似然,在这里把每个yi看作一个随机变量。 s(i.j)代表了span i和span j之间的得分,由三部分构成,分别是sm(i)和sm(j),代表了对应span被判定为mention的分数,sa(i,j)代表两者存在指代关系的分数。 看到这个图我恍然大悟了,原来他的span是包含了各种宽度的,而且在求sm(i)时,如果分数太低就会直接被剪枝剪掉。计算一下时间复杂度,本身span数量是O(T^2),那么求这些pair一共得O( T^4)​​​。 Span representation 在score计算中很重要的一环便是对span表示的计算。首先每个词具有一个固定的word embedding向量表示,为了解决OOV问题,还引入了了character CNN。 使用bi-LSTM对span进行编码,x_t为固定的word embedding, 对于每句话使用独立的biLSTM进行编码,再使用注意力进行加权, 最后再加入关于span的长度信息,一同构成最终的representation。 Inference 为了加快inference,只有长度不超过预先给定值,并且mention score 排在前lambdaT的span会被考虑。这里的剪枝方法是选择mention score最高的那部分。在具体实现中,max length被设为10。