tft每日頭條

 > 生活

 > bert發表時間

bert發表時間

生活 更新时间:2024-07-17 07:47:10

台灣李宏毅老師的機器學習2022新課,有一堂課叫做 自督導式學習的神奇能力 ,很有意思,忍不住做了點筆記。

一、跨語言(Cross-lingual)的能力

在一種語言上精調後的模型,可以用于另一種語言的特定任務。

Why?一種解釋是BERT可以無視語言,隻關注語言内部的語義。它可以把不同語言相同含義的詞embedding進行對齊,如下圖。

bert發表時間(還有哪些神奇的能力呢)1

1. 如何獲得一個詞的embedding向量?把所有包含這個詞的句子找出來,分别編碼得到這個詞的contexual embedding,然後對這些向量取平均值。

2. 一種語言的所有token的平均embedding向量可以作為該語言的embedding向量。

bert發表時間(還有哪些神奇的能力呢)2

bert發表時間(還有哪些神奇的能力呢)3

作者發現跨語言能力與訓練語料大小有關,訓練語料越大,跨語言能力越強。

有了每個語言的embedding向量,在做跨語言任務時,可以把語言之間的向量差異加(或減)回到模型中,如最右邊圖所示。實驗結果表示這樣最終效果會好點(好像好的很有限。。)

bert發表時間(還有哪些神奇的能力呢)4

bert發表時間(還有哪些神奇的能力呢)5

二、跨學科 (Cross-discipline)的能力

BERT最早是用在人類語言上的,它能不能用在非人類語言上?比如DNA序列 的預測?比如DNA序列中包含4種去氧核糖核酸:A、T、C、G。首先把這4種去氧核糖核酸随機對應到人類語言的4個tokens(實驗發現這個對應關系對結果影響不大,所以随機對應就好),比如下圖。然後再使用BERT框架完成DNA相關的任務。

bert發表時間(還有哪些神奇的能力呢)6

作者發現利用人類語言預訓練好的模型作為初始化模型,最終效果優于随機初始化模型。

作者把這個發現應用在優化 Speech Question Answering 問題上。

所謂的Speech QA問題,就是讓機器聽一段背景語音(類似Doc),然後基于這段語音回答語音問題(Question),也即從背景語音中找出一段能回答Question的語音出來。

bert發表時間(還有哪些神奇的能力呢)7

之前的做法一般依賴ASR,比如把Question甚至Doc轉成文字後再扔進BERT。顯然這種做法依賴于ASR的效果,在噪音較大的場景下ASR的效果是很差的。

So,能不轉文字,直接用語音做預測麼?

bert發表時間(還有哪些神奇的能力呢)8

直接把Question和Doc語音扔進BERT是不work的,就算有預訓練好的語音模型HuBERT。可能是因為模型還無法理解語音中的語義。

把語義BERT的輸出進行離散化,然後在上面再架一層文字版BERT?如果文字版BERT随機初始化,效果還是不行。如果使用預訓練好的文字BERT模型,就有個語音輸出token與文字token的對應關系問題。

bert發表時間(還有哪些神奇的能力呢)9

基于之前DNA的應用,作者發現隻要确定一個随機對應就行了,效果就杠杠的,見右下圖。

bert發表時間(還有哪些神奇的能力呢)10

bert發表時間(還有哪些神奇的能力呢)11

三、沒預訓練數據?人造一些也是挺有效的

在人造的假數據上預訓練BERT,然後在NLP任務上微調模型,會比沒有預訓練的效果更好嗎?結論是數據造的好的話,還真有幫助。

比如我們生成一些token ids序列用來訓練模型,如 {0, 1, 2, 3, ..., 511}。然後利用這些生成的序列預訓練BERT,見下圖的 Stage 1 ,然後把人類語言的tokens和生成數據中的id進行随機對應(類似前面),在NLP任務數據上進行精調,見下圖的 Stage 2。

bert發表時間(還有哪些神奇的能力呢)12

bert發表時間(還有哪些神奇的能力呢)13

上圖是不同方式造假數據帶來的效果改進。最左邊的 English 表示傳統的預訓練與精調方式,即在英文數據上預訓練BERT,然後在英文任務數據上進行精調。

random 對應的是構造假數據使用随機生成id的方式。可見在這種不包含信息量的數據上預訓練對後續任務是沒有改進的。而 paired 表示構造假數據時保證生成的id都會出現2次,如下圖:

bert發表時間(還有哪些神奇的能力呢)14

在這樣生成的假數據上預訓練,能給任務帶來相當不錯的提升。

shuffle 的生成方式是先生成一段連續的id,如 1, 2, 3, ..., 64,然後再随機打亂這個序列。效果也挺不錯的,比 paired 稍差。

bert發表時間(還有哪些神奇的能力呢)15

所以關鍵是如何構造預訓練用的假數據。

想法:如果參照人類語言token的分布情況(幂次分布)構造數據,有沒有可能效果更好?


所以,如果遇到某些場景下沒有數據做預訓練,那就試試按照先驗知識構造一些假數據用來做預訓練吧 。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved