分享两篇论文:BERT-FlowBERT-whitening

BERT-Flow

提出问题

$\qquad$论文中作者发现,Bert虽然作为上游任务在特定任务上做有监督微调的时候会有大幅度提升,但在无监督任务,即直接用Bert输出作为特征的时候,效果往往不如意,作者实验的任务无监督语义检索(句子相似度评估),通常利用Bert做寓意检索任务包含两个步骤,分别将两个句子输入Bert,直接用$[CLS]$,或者得到后几层的输出做个$Pool$或者$Average$,最后用$Cosine$计算距离,但是这样得到的结果甚至比直接用$Glove$做平均还要差,表现为任选两个句子相似度都很高。因此作者提出了两个问题:

  1. 是否$Bert$得到的句子向量语义不足?
  2. 是否用$Cosine$计算相似度有问题?

$Bert$语义问题

$\qquad$这里引用了另一篇论文的内容:《Breaking the softmax bottleneck: a high-rank rnn language model》,这里也一并带一下,对于一个语言模型而言,通常建模可以简化成这样的形式:

其中$c$是$x$的$context$, $h_c$和$w_x$分别是$c$和$x$的表征向量,两个向量都是关于$\theta$的函数。
然后,作者又引入三个矩阵:

其中,$N$是$context$的数量,$N$是单词的数量,而$P^*(x|c)$是训练数据的分布,。可以看出,其实$H_\theta$其实就是整个语言模型。
引入矩阵集合:

其中$J_{N,M}$是一个全为1的矩阵,$\Lambda$是一个随机初始化的对角矩阵,可以看出来$F(A)$中的每个矩阵都和$A$同型,且$F(A)$实际上就是给$A$的每行加一个数,比如第一行加2,第二行加1等等。由于$\Lambda$的随机性,$F(A)$是一个无穷大的矩阵集合,该集合有两个性质:

  1. 矩阵$A’ \in F(A)$ 当且仅当$Softmax(A’,axis=1)=P^*$,即$F(A)$定义了训练数据所有可能的logits,这个logits的概念可以认为是模型输出未经过$Softmax$的结果,和tensorflow的参数一样。
  2. 对任意$A \in F(A),B \in F(A),|R(A)-R(B)|\leq 1$.

第一条不好理解,我解释一下:
我们希望$P_\theta(x|c)=P^*(x|c)$,而有:

$\qquad$因此就是希望$Softmax(H_\theta W_\theta,axis=1)=Softmax(A,axis=1)$,一个理想的模型是希望$H_\theta W_\theta=A$(其实$H_\theta W_\theta$矩阵就是所谓的logits)。然后,你把$A$每行加一个数字在做$Softmax$,例如第一行+a,在做$Softmax$,其实就是给$Softmax$分子分母同乘以$e^a$,结果是不变的(原文好像没有解释这一点,挺坑的)。
$\qquad$现在回到原始问题,从上诉等式我们可以有这条公式:

$\qquad$说明训练充分的$Bert$模型能够反映$w$和$c$的共现关系,也就能反应$c_1$和$c_2$的共现关系(c是由w组成的),而句子向量就是$c$,因此训练得到的句子向量中包含共现关系,即包含了相似性信息。
$\qquad$其实这个证明是并不限制$Bert$,所有以预测单词为任务的语言模型都是一样的道理。

$Cosine$相似度计算

$\qquad$基本上我们遇到和位置有关的相似度计算问题,首选都是$Cosine$距离,那么,用$Cosine$计算相似度需要什么条件呢?
$\qquad$答案是标准正交基,假设有三个向量$\alpha:[2,1],\beta:[-2,1],\gamma:[2,-1] $,问$\beta,\gamma$哪个和$\alpha$距离近,我们看下面三个例子:

  • 标准正交基:

  • 坐标系1

  • 坐标系2

    看到没有,三种坐标系下的cos距离完全不同,甚至大小排序都发生了变化。(这里在插一句,如果我们已知两向量在空间的相对位置,那么无论空间如何发生变化,夹角是一定不变的,但是我们这里知道的是坐标,并不知道相对位置,这才是重点。)
    $\qquad$那下一个问题就是, 之所以$Cosine$距离效果差,是不是因为$Bert$的词向量不是来自标准正基?要证明这个问题就要知道其基底是什么,但是这个无法准确得知,但是我们可以猜测,我们在选择基底的时候,会设法让词向量的各个维度独立同分布,如果$Bert$得到的各个词向量满足的话则认为是基底是正交基(并不是充要条件,只是这样猜测),而当词向量的各个维度独立同分布的时候,自然满足各向同性(协方差矩阵为$aE$的形式,a是常数,E是单位矩阵),因此我们就看是否满足各向同性即可。
    $\qquad$我比较疑惑的是这一点,文章经过实验发现高频距离原点近,低频距离远点远,并根据这个现象认为不满足各向同性,这不应该是正常现象么?即使标准正态分布也是这样的呀?反正作者最后认为,由于各向异性,$Cosine$距离判断相似度不准,需要修正。

flow

$\qquad$flow是一种