李宏毅机器学习(九)Multi-lingual BERT
Multi-lingual BERT
輸入多種語言來訓(xùn)練BERT
Zero-shot Reading Comprehension
首先模型是在104種語言上進(jìn)行訓(xùn)練的!
并且以English的QA來training我們的模型,最后在回答問題的時候使用中文!
可以看到如果在104種語言pre-train,然后在Chinese+English上進(jìn)行fine-tune得到的準(zhǔn)確率是最高的!而兩者均在Chinese上訓(xùn)練,得到的結(jié)果卻不是很好! 這就是Multi-lingual 的神奇之處!
這里行坐標(biāo)是在哪個語言上訓(xùn)練,列坐標(biāo)是在哪個語言上測試! 所以下面的都是硬Train的,就是看模型懂不懂語言上的跨度!
其它的證據(jù)也有很多,也能證明在一個語言上訓(xùn)練,其它語言上同樣有效
Cross-Lingual Alignment?
為什么跨語言模型對齊能夠成功?
說明在word embedding上,兩個語言的嵌入是相近的!
真的會嵌入到相同的位置嗎?
我們通過計算兩個詞匯的相似度,rank的意思是第幾個才是正確的答案! 最后取平均!
在不同的語言上進(jìn)行實驗我們的模型,后面的幾百幾千k是資料數(shù)! 會發(fā)現(xiàn)模型的效果很大程度上依賴于詞匯量; 但是在控制詞匯量之后,會發(fā)現(xiàn)有的模型即使詞匯量很大,也難以達(dá)到像BERT一樣的效果!
How alignment happens?
但是為什么模型就能讓他們有更加近的vector的距離呢?
- Typical answer
第一種解釋是兩種語言中有一些公用的tokens,比如數(shù)字、發(fā)音; 再比如中文和應(yīng)為中語言X有相似的tokens
- 第二種解釋
- 我們將English中的單詞轉(zhuǎn)化為fake-english作為輸入,這樣兩者就不存在common Tokens,再去看實現(xiàn)效果! 比如紅框里面,pre-train、trian和test后結(jié)果還是很好的!
- 這是一個尚待研究的問題
Sounds weird?
我們已經(jīng)知道的就是兩者的token embedding肯定是相近的。 這里面肯定有語言信息!
不同語言的平均還是有差異的!
語言的平均用來相加:
我們計算兩種語言(平均)的差異,我們的假設(shè)是可能一種語言在另一種語言的同一側(cè)!
那么我們用兩者之間的差異,加到一種語言上,那么會得到另一種語言!
這確實是有用的,我們加上兩倍的,三倍的藍(lán)色的向量后會發(fā)現(xiàn)文字全部翻譯成了中文! 雖然在翻譯上是問題的,但是說明語言信息的存在性
下面的例子中常規(guī)的測試,只是加入了藍(lán)色的向量,會發(fā)現(xiàn)效果會變好!
**GAN里面有相似的**:先求短發(fā)的平均,再求長發(fā)的平均,短發(fā)加(長發(fā)和短發(fā)之間的距離)就是本人的長發(fā)模樣
總結(jié)
以上是生活随笔為你收集整理的李宏毅机器学习(九)Multi-lingual BERT的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: torch.nn
- 下一篇: Power BI 数据可视化软件实现共享