ICLR 2021 有什么值得关注的投稿?

链接:https://www.zhihu.com/question/423975807

编辑:深度学习与计算机视觉

声明:仅做学术分享,侵删

作者:简单名
https://www.zhihu.com/question/423975807/answer/1526248337

Vision-Transformer那个也可以说 openAI 的 GPT就搞过类似的, 有答主提了, 我不记得名字, 不过 GPT学图像那论文,用在了 recontruction/inpainting 之类的任务上了吧。主要就是GPT/DECODER 和 BERT/ENCODER 的区别了, imagenet结果都差这么多(就算之前有人有这想法了,结果差这么多,根本不会发出来), 最后上了3亿张图片的数据集, 几百几千TPU天, 我一天都不想等~~~

值不值得关注, 我不敢说, 但有些是挺简单的, 可以说一下

Training independent subnetworks for robust prediction

基于 lottery ticket hypothesis, 神经网络能自学出各独立的子网络(不是 dropout), 所以就可以多进多出MIMO,就能一步到位ensemble, 和 deep ensemble 别的效果相近, 但效率比各种其他ensemble强多了~~~

2.这篇https://openreview.net/forum?id=6_FjMpi_ebO也超简单, 我没看完来着——

we drew them randomly, normalized them ( ), and kept them fixed during training.

就最后的那个全连接层 , n 是类别个数, 每个类对应的W就是学习到的特征嘛, 这篇论文就随机,归一, 固定——还在 cosine softmax的方法上也类似地固定了下, 反正是很简单, 但效果非常好

尤其是图二三跟 cosine-similarity 的比~~~

3.No MCMC for me Amortized sampling for fast and stable training of energy-based models

主要是我研究方向有EBM, EBM一般用的 SGLD 和 contrastive divergence搞得训练很不稳定,又很慢, 作者用这个方法就又快又稳定, 好!!!——不过我还没认真看

作者:匿名用户

https://www.zhihu.com/question/423975807/answer/1506011852

看了An Image is Worth 16x16 Words这篇论文,内心久久不能平静。一种强烈的预感,我们正站在模型大变革的前夜,神经网络的潜力还远远没到尽头。一种崭新的强大的,足以颠覆整个CV和AI界的新模型才露出冰山一角,即将全面来袭。

作者:NoviScl
https://www.zhihu.com/question/423975807/answer/1505848583

我本行是做NLP的,就一边读paper一边把自己觉得好玩的东西在这里记一下吧。

Disclaimer: 1) 我没投ICLR,没有在给任何人打广告。选择paper的标准是它是否对我自己有启发。2) 最近手头事儿很多,可能更得比较慢。。

Attack & Defense in NLP:

  1. EXPLORING VULNERABILITIES OF BERT-BASED APIS

    链接:https://openreview.net/pdf?id=XPZIaotutsD

Adversarial Attack这几年挺火的,不过大部分的工作还是在做传统的test-time perturbations。然而其实attack的种类有很多,比如model inversion, data / weight poisoning, model stealing。这类工作在NLP里探索的还比较少,但我觉得非常有趣。这篇投稿做的就是model stealing。去年ICLR就有这么一篇"偷模型"的工作: https://arxiv.org/pdf/1910.12366.pdf, 这里就直接串起来聊一下。

首先偷模型具体是干啥呢,引用一下: "an adversary with only query access to a victim model attempts to reconstruct a local copy of that model". 具体做法就是,把query喂给victim model,得到victim model的prediction, 并把这些prediction当成query input的label去训我们的新模型(当然,这里假定我们是没有原始训练数据的,不然直接train就行了也用不着偷了哈哈)。在ICLR‘20那篇里,query是从vocab里随机sample的一串词或者从wiki里sample的句子(针对句对和QA加了一些其他的heuristics)。神奇的是,仅仅利用这样的本身并不make sense的query inputs和victim model返回的对应prediction, 我们就可以训练出一个新的模型很好的还原(imitate) victim model并且在原本的dev set上取得不错的performance. 个人觉得从方法上这一套和distillation差不多,不过有两点: 1) 偷模型的时候不一定要用soft label训新模型, 直接用argmax的hard label也能work; 2) distillation里面一般都用原本的training set,很少用这种"nonsensical inputs".

此外, Eric学长在今年EMNLP上也有一篇针对NMT偷模型的: https://arxiv.org/pdf/2004.15015.pdf, 论文写得非常清楚,在这儿就不赘述了。

背景介绍完了,现在看回ICLR'21这篇投稿,他们在偷模型的基础上又做了两件事: 

1) model inversion (attribute inference attack); 

2) adversarial transferability. Model inversion指的是用偷来的模型(extracted model)去预测原victim model的训练数据的一些private attributes (e.g., age, gender, named entity). 实验结果发现偷来的模型确实能够比较好的预测到这些数据的隐私信息。

针对第二点,目前很多sota的攻击方法都是white-box的,也就是需要victim model的predicted probabilities甚至gradients,那对于Online API来说我们是没办法发动这些白盒攻击的,咋办呢?我们可以先偷它一个,然后在我们偷来的模型上发动这些攻击,再用这些生成的adversarial examples去攻击online API。实验证明这种transfer会比直接对victim model用普通的黑盒攻击有效很多。

还有其他一些细节大家可以自行看paper。个人觉得这篇paper还是有一些槽点的,但是model inversion和adversarial transfer这两个思路还是挺有趣的,后面有时间或许可以再研究一波。

Pretrained Language Models

  1. DeBERTa: DECODING-ENHANCED BERT WITH DISENTANGLED ATTENTION https://openreview.net/pdf?id=XPZIaotutsD

去年ICLR的ALBERT和ELECTRA令人印象深刻,今年PLM果然又有新作。昨天翻到这篇DeBERTa,感觉值得一读,这里简单记一下主要思想。

我们知道在原始BERT中, input embedding = token embedding + position embedding (好吧其实还有segment embedding但这不是很重要)。随后的所有self-attention其实都是在这种"复合embedding"上做的。然而直观上,一对词之间的在内容上和位置上的关系(dependency)及其所对应的attention weight, 其实是不太一样的。(比如说同样的"deep", "learning"这两个词,当它们在一起的时候和在句子中分开出现的时候,它们之间的attention weight应当是不一样的,这是因为它们的相对位置不同所导致的。) 因此,作者就想到,把这种"复合embedding"拆开(disentangle),每个token对应两个embedding vector,分别表示它们的content和relative position。

这样的话,我们算两个token之间的attention的时候,就自然分解成了上图中的4个部分,它们分别对应了content-to-content, content-to-position, position-to-content, position-to-position这4种attention。这套方法是具体如何在transformer's self-attention中实现的,大家还是去看paper吧,我功力太浅三言两语说不清楚。

这个disentangle的思想我感觉是本文的主要贡献,初此之外还有一些细节,比如在transformer最后的解码层加入绝对位置信息(absolute position),采用UniLM中的masking策略使模型能做生成任务等。
从实验结果上看,DeBERTa比前任PLM模型们(BERT, RoBERTa, XLNet, ALBERT, ELECTRA)都要好(如下图)。

这里我觉得尤其值得注意的是,DeBERTa只用了78G语料做预训练,而除BERT外的其他模型,都用了160G语料,作者也在ablation里专门对比了RoBERTa证明DeBERTa的预训练efficiency更高(不过我其实更想看到和ELECTRA做预训练compute efficiency的对比)。另外,我在想,假如这帮人有足够计算资源的话,能不能就用和RoBERTa一样的预训练语料,看看最后能达到怎样的performance。除此之外作者还做了很多其他的ablation,在此就不赘述了。

2.RETHINKING POSITIONAL ENCODING IN LANGUAGE PRE-TRAINING https://openreview.net/pdf?id=09-528y2Fgf

ON POSITION EMBEDDINGS IN BERT https://openreview.net/pdf?id=onxoVA9FxMw

Positional Embeddings(PE) 是Transformer里面讲得有点草率的一个部分,果不其然吸引了大家对此深入研究一番。这次ICLR上遇见了两篇研究PE的,这里就不评论谁好谁坏了,单纯地把两篇论文里比较主要的结论介绍一下。

先看第一篇(RETHINKING):

现有的PE可分为两种: Absolute PE (APE) & Relative PE (RPE).

在Transformer中,APE(p)和word embedding(w)直接相加得到了input embedding,那么放在self-attention里可以写成:

也就是可以拆分成4项: word-to-word, word-to-position, position-to-word, and position-to-position. 其中第一和第四项的w2w, p2p对应的完全不同类型的attention,然而却共用同样的W^Q, W^K,这显然不太合理。而第二和第三项中,我们在分别用word / position做query / key算attention,然而词和它的位置是否真的有correlation呢? 作者认为是没有的(他们给出了相应的visualization支撑这一点)。这样的话,attention展开式中的第二项和第三项就没有意义了嘛。

所以作者提出: 直接去掉第二第三项,第一第四项改用不同的weight matrices. (并且效仿RPE再加个相对位置信息):

其实看到这段,大家可能会觉得这段分析似曾相识。因为这玩意就是上一篇DeBERTa里面的motivation啊!只不过DeBERTa把p和w解耦喂给attention,然而这篇里面作者直接简单粗暴地把p2w, w2p给扔掉了。

除了这一点,BERT里面还有一个"奇怪"的地方: 放在句首的[CLS] token被当成了一个普通的token看待。这有啥不妥呢? 举个例子,普通的词在句子中往往有比较强的local dependency, 但是[CLS]想要capture的是整个sequence的表示,如果有local dependency的话显然不是件好事(可能会偏向句首的信息)。那怎么办呢?作者提出了一个同样简单粗暴的的方法: 算attention的时候一遇到[CLS] token咱们就reset一下(学个单独的attention):

(v是普通token的attention,theta是可以学的为[CLS]单独设计的attention)。作者把这两招合并起来叫做TUPE。实验发现确实能有所提升:

下面我们来看下第二篇:

这篇的视角和上一篇不太一样。更广义地讲,PE做的是把位置(integer)映射到对应的空间(vector space)。作者提出了这种映射应当满足的三条性质:

接下来,作者对13个不同PE的变种在GLUE和SQuAD上做了比较(每种PE都相应地训了个BERT-base做对比实验),发现: 1) 在GLUE上,fully-learnable APE (i.e., BERT-style APE)效果最好; 2) 在SQuAD上,RPE普遍比APE效果更好。(可能是因为span-prediction对word-order的要求更敏感。)

除此之外,作者也检验了这些不同的PE是否满足之前提出的三条性质。

结果发现: 

1) 所有PE变种都基本满足monotonicity; 

2) 正弦PE(SPE)和RPE满足translation invariance(因为它们设计的初衷就是捕捉相对位置),而训出来的APE也大致可以满足这个性质。然而,很重要的一点区别是,由于[CLS]是用于得到全局信息的,和普通token并不一样,而SPE&RPE是无法将[CLS]和其他token区别对待的,但是learnable APE可以学到这一点。这导致SPE&RPE比较难让[CLS]学到全局信息,导致其在分类任务(GLUE)上不如APE。([CLS]这个问题在上一篇也有提及。) 而在span-prediction中,SPE&RPE由于严格满足translation invariance,能更好地"perceive word order", 因而效果更好。此外,translation invariance的特点也让SPE&RPE能更好的generalize到更长的序列。

3) 在对称性上,APE基本满足,而RPE有时并不对称(forward & backward embedding不同),这也可能会让RPE在span-prediction中有一点优势。

以上结论都配有精美visualization, 此外还有一些其他的分析,都可参见原文。

☆ END ☆

如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「uncle_pn」,欢迎添加小编微信「 mthler」,每日朋友圈更新一篇高质量博文。

扫描二维码添加小编↓