慢慢来,会更好!
大家好,我是一个想研究又不会研究的研究生
陪伴大家一起学习成长!
那么,为什么我们要先做BERT工作呢?
越相近的字产生的向量越接近,如果与草、鸟与鱼等
同时,BERT会根据上下文,不同语义的同一个字会产生不同的向量
看看下图的例子,同一个果字对应的向量会不一样
有两堆苹果
一堆是吃的苹果(5个)
一堆是苹果模型(5个)
那么我们就可以发现,前5个果相似度高,前5个跟后5个相似度就低
所以,BERT输出的向量代表了那个词的意思。
可以在接下来的任务做的更好
那为什么BERT有如此功效呢?
因为训练BERT的时候就是根据上下文咨询来填空的
但是真的是这样吗?
可能还有其他不知所云的原因呢
我们来看一个DNA分类的例子
神奇的地方是,使用了we,you等字代替氨基酸,BERT的分类会更好。
接下来,我们来看一个Multi-lingual BERT
它的特点就是用各种语言来做填空题
我们在这里train了104种不同的语言来做填空题
那它有什么神奇之处的
我们拿英文的问答的资料做train,接下来它就会自动学做中文的问答的问题
下面是一些不可思议真实的数据
那为什么会这样的呢?
也许对于它而言,不同语言没什么差距
所以同义的不同语言的向量会比较接近
为了探寻不同语言之间的关系,做了这么一件事情
将所有中文的embbeding平均一下,英文的embbeding平均一下,发现两者之间存在着差距,
这个差距用一个蓝色向量来表示。
对一个multi-BERT输入英文问题后,
会输出一堆embedding,这堆embedding加上这个差距的embbeding后,最终竟然能输出中文的答案。
下面是真实的结果
好神奇