Alex Tamkin, et al., “Language Through a Prism: A Spectral Approach for Multiscale Language Representations”, NeurIPS 2020
1 简介
- 姓名:BERT + Prism
- 任务:多个级别的 NLU 任务:POS tagging,dialog act classification, topic classification
- 流派:全新的谱域 NLP 表示学习流派!!
- 动机:文章、句子、词的频率,与 BERT embedding 的频率是否可以对应呢?
- 方法:① DCT + 高/低/带通滤波器 + IDCT ② prism layer,让 embedding 的 dim 与 freq 对应
- 性能:在多个简单的任务上有令人惊喜的成绩
- 短评:非常好的想法,不过方法比较简单,还有很大的改进空间
2 频谱与语义的关系
其实没啥方法,就是一个比较不错的想法:
BERT 一个句子的 embedding 是 512*768,在 768 的每一维就是一个 512 的离散信号,把这个型号做离散余弦变换,在频域过一个滤波器,再反变换回来,最后再攒回 512*768 的 embedding。这样的 embedding,就只保留了频域滤波器所保留的信号,具体地来说,如果滤波器是高通滤波器,embedding 就保留了高频的信息,即词性标注信息;如果是低通滤波器,embedding 就只保留低频的信息,即文档的 topic 信息;如果是带通滤波器,embedding 就只保留中频的信息,即句子的对话行为(道歉、感激)信息。

具体的频率和语义的对应关系如图所示。作者把这个频率用一个很符合直觉的方式来定义:比如一个 word 对应 k 个 token,那他对应的频率就应该是 512/k,只不过这里的 k 被简化成了 2 的幂的简单的数字,因为 chosen reflect the inductive bias that linguistic units at one scale are composed of multiple units from the scale below (e.g. several words compose a phrase)(这里我没有理解)

这张图是作者做的实验,四个图是四个任务,每个徒弟六个分数是六个滤波器的结果。不同频率的滤波器,在各自任务上,几乎都比不加滤波器要更好,尤其是 topic 分类的任务,好了一个 big margin。pos tagging 差一点,因为低频的 topic 信息,肯定对 pos tagging 也是有用的,过滤掉就少了信息。
不过他这个 topic 和 dialog 分类的 baseline 为什么会这么低?因为这个不是给句子做 topic 分类,而是直接拿 embedding 给词按照topic 分类,但是很多词本身就是 topic-agnostic 的,所以这个实验感觉做的不是很好。
3 prism layer
上面是在得到的 embedding 上直接做信号的操作,这里作者希望 768 维中,有一些维能表达高频信号,有一些维能表达低频信号,所以很自然的想法就是把最后一层 BERT layer 的输出 de-concat 成五段,每一段就用一个自己的滤波器提取自己频段的信号,最后再把这五段拼到一起。这些操作唤之 prism layer。作者用 BERT+prism 来 fintune,这样 ① 能在 768 维的结果里分出频率。BERT+prism 能在几乎所有任务上都有直接的提升:

这里 pos tagging 还是差一些。作者说,prism layer has enabled BERT to produce more general-purpose representations that capture phenomena across scales.

这是另一个实验,作者在(训练集的?)句子中间 mask 掉一大段,让模型做 MLM,发现 BERT+prism ① 在被 mask 掉的部分表现更好,说明他是可以利用更长距离的信息 ② 在靠近 mask 的部分有一个 dip,说明它依赖于远距离的信息(远距离信息没了所以 dip),也说明 prism 限制了模型的表达能力,不实用
4 相关
和频谱变换相关的还要看看,比如 StyleGAN 等
这篇文章非常 impressive,我产生了非常多的想法,感觉有非常多可以做的地方。下面的【5 思考】这部分我写了两千字,但是可能比较 naive,怕误导人,所以隐藏掉了。如果你也有想法,欢迎与我交流!