智東西(公眾號:zhidxcom)
作者 |? 子佩
編輯 |? Panken

如果你在谷歌上(shang)搜索“如何在沒有馬路的山上(shang)停車”,谷歌會告訴你什么?

如果是兩年前(qian),網(wang)頁可能會教(jiao)你怎么(me)停(ting)車或(huo)怎么(me)在山上停(ting)車,因為它檢測到了(le)“停(ting)車”、“山上”這些關鍵(jian)字(zi),而忽略(lve)了(le)那個看似無關緊(jin)要的(de)小詞“沒有”。

但現在(zai),它(ta)能在(zai)頁面最顯眼的位置,直接(jie)向你(ni)提供你(ni)最關(guan)心的問題:如(ru)何在(zai)沒有車道的山坡上停車。因為它(ta)不僅(jin)學會找到這些關(guan)鍵詞,也學會理(li)解了這些詞之(zhi)間的聯系。

谷歌搜索的靈魂!BERT模型的崛起與榮耀

在搜(sou)索引擎“猜”透(tou)人心(xin)背后,是谷(gu)歌的BERT模型逐漸開(kai)始理(li)解人類語言。

今年10月,谷(gu)歌(ge)在“Search On”活動中(zhong)介紹了數千項AI領(ling)域(yu)的新應用,其中(zhong)就包括BERT模型的新進展(zhan):已應用于谷(gu)歌(ge)上近乎所有的英(ying)文查(cha)詢(xun),適用范圍(wei)也拓展(zhan)至(zhi)70多種語言,而(er)去年這個時候(hou),BERT在英(ying)文查(cha)詢(xun)中(zhong)的使用比例不超過10%。

使用比(bi)例(li)翻(fan)十倍、涵(han)蓋語(yu)言增至70余種……自(zi)2018年(nian)誕生至今,是哪些硬(ying)技(ji)術賦予BERT“超人類”的語(yu)言理(li)解能(neng)力(li),它在NLP屆(自(zi)然語(yu)言處理(li),下稱NLP)又有怎樣的“江湖地位”?

今(jin)天,就讓智(zhi)東西和你一(yi)起(qi),走(zou)過BERT這兩年的(de)進階之路(lu),看(kan)看(kan)NLP屆如今(jin)的(de)半壁江山。

一、誕生即崛起,BERT的發家史

BERT最(zui)出圈的“榮耀時刻”是2018年(nian):稱霸機器理(li)解測試SQuAD,橫掃其他10項NLP測試,達成“全面超過人(ren)類”成就。

SQuAD是行業公認的(de)機器閱(yue)讀理解頂(ding)級測試(shi),主要考察兩個指(zhi)標:EM和F1。

谷歌搜索的靈魂!BERT模型的崛起與榮耀

EM指(zhi)的(de)是(shi)模型答案與標準答案的(de)匹配度;F1指(zhi)的(de)是(shi)模型的(de)召(zhao)回率(lv)和(he)精(jing)確(que)度。在這兩項上,BERT得分(fen)分(fen)別87.433和(he)93.160,超過人(ren)類的(de)82.3和(he)91.2,被不少研究(jiu)人(ren)員認為,是(shi)自然語言領(ling)域的(de)重(zhong)大成就,將(jiang)會改(gai)變NLP的(de)研究(jiu)方(fang)式。

BERT為什么這么牛?

那我們得先看(kan)看(kan)模型是怎樣“學語言”的。

模型和人(ren)一(yi)樣(yang),在會(hui)說(shuo)話(hua)能閱讀之前,它(ta)也(ye)需要背單詞、學(xue)語(yu)法,只是(shi)(shi)(shi)它(ta)不是(shi)(shi)(shi)通(tong)過語(yu)境(jing)去理解詞義,而是(shi)(shi)(shi)將單詞轉化為可以計(ji)算的向量或者(zhe)矩(ju)陣(zhen),再(zai)通(tong)過神經網絡計(ji)算特(te)征權重學(xue)會(hui)“語(yu)法”,從而“理解”人(ren)類(lei)語(yu)言。

BERT誕生于2018年(nian),全名是Bidirectional Encoder Representations from Transformers,從名字上(shang)來看,BERT是基于Transformer模型建立的一個雙向編(bian)碼器。

Transformer模型起源于機器翻譯領(ling)域(yu),拋棄了(le)循環神經(jing)網(wang)絡(RNNs)中循環式網(wang)絡結構方法,利用注意(yi)力機制(zhi)構建(jian)每(mei)個詞(ci)的特征(zheng),通過(guo)分析詞(ci)之間(jian)的相互(hu)影響,得到每(mei)個詞(ci)的特征(zheng)權重。

這種基于注意(yi)力(li)的Transformer模(mo)型關(guan)注的不單是(shi)個別詞(ci)語,而是(shi)詞(ci)與詞(ci)之間的關(guan)系,比起單純地提取詞(ci)向量更“善解人意(yi)”。

谷歌搜索的靈魂!BERT模型的崛起與榮耀

在解決了(le)如何“背單詞(ci)”的問題后,下面一步就是(shi)怎么學(xue)語法(fa)。

嵌在BERT名字里的(de)雙向編碼就是它(ta)的(de)答案。

如(ru)下(xia)(xia)圖(tu),OpenAI的(de)GPT模型使用的(de)是從左到右的(de)Transformer,即通過分析上文得到下(xia)(xia)一(yi)詞(ci)的(de)特(te)征權(quan)重,而不能通過下(xia)(xia)文驗證(zheng)前(qian)文的(de)詞(ci)義,而AllenNLP的(de)ELMo通過將(jiang)獨(du)立訓練(lian)的(de)兩個(ge)方向結果(guo)串(chuan)聯,生成下(xia)(xia)游任務(wu)特(te)征。

谷歌搜索的靈魂!BERT模型的崛起與榮耀

▲BERT與GPT、ELMo的比較

但BERT不僅(jin)能同時進行雙(shuang)向預測,還能通(tong)過上下文全向預測。

在(zai)BERT面世之前(qian),NLP大廈頭頂上有兩(liang)片烏云:標記數據(ju)集不足和結果(guo)的低準確率。

前者,BERT在無標(biao)記數據集(ji)中用無監督學習解決;后者,BERT通(tong)過加深(shen)Transformer層(ceng)數和雙向編碼的(de)方法精進。

在出生時就帶著(zhu)橫掃(sao)各大(da)賽事的“戰績”,兩年的實戰更歷經無數(shu)風雨(yu),現(xian)如(ru)今的BERT不僅在學界(jie)具(ju)有里程(cheng)碑意義,在實際應用(yong)這(zhe)片(pian)廣闊天地中(zhong)更是大(da)有作為(wei)。

二、兩年不止步,BERT的進階史

要在網頁(ye)搜索(suo)屆呼風喚雨,谷歌(ge)的(de)(de)真本事當然不止BERT一個(ge),用于(yu)搜索(suo)引擎優化的(de)(de)Panda、Penguin、Payday,打擊垃圾郵件的(de)(de)Pigeon以及名(ming)聲在外的(de)(de)網頁(ye)排名(ming)算(suan)法Pagerank……每一塊小模(mo)組(zu)都(dou)各司其職(zhi),組(zu)成了谷歌(ge)搜索(suo)的(de)(de)“最強大腦”。

谷歌搜索的靈魂!BERT模型的崛起與榮耀

BERT是(shi)在一歲(sui)時,也就是(shi)2019年10月15日,正(zheng)式加(jia)入(ru)谷歌搜索的算(suan)法大腦,承(cheng)擔在美國(guo)境(jing)內的10%英文查詢中。

“深網絡”、“雙通路”的(de)BERT不(bu)僅(jin)能“猜(cai)心”,還(huan)能識錯(cuo)。

據谷歌統計,在每十次搜索中,就會出現一個拼寫錯(cuo)誤,如下圖用戶想搜索dinner,卻誤輸(shu)成dibber,但BERT可以繞過這(zhe)個錯(cuo)誤,直接識別出用戶意(yi)圖,提(ti)供餐館(guan)位置(zhi)。

谷歌搜索的靈魂!BERT模型的崛起與榮耀

兩個月后,BERT開始承擔70多種語言(yan)的搜索(suo)任務。

一年(nian)后,BERT在谷歌搜索中使用比例近(jin)乎(hu)100%,憑(ping)借出(chu)色的理解能力,替代上一代查詢工(gong)具(ju)RankBrain,成為搜索大腦的王牌。

在這“高(gao)分高(gao)能”的實(shi)績背后,是BERT模型一直的默(mo)默(mo)進階。

2019年(nian)12月,通過更(geng)加有效(xiao)地分配模型容量、簡化Transformer隱藏層中的參數和冗余(yu)度檢(jian)查,BERT在性能(neng)提升(sheng)的同時(shi)減(jian)少計算量,升(sheng)級(ji)為更(geng)為輕量級(ji)ALBERT。

2020年3月,受生成對抗網絡(GAN)的(de)(de)啟(qi)發(fa),BERT改進了(le)預訓練(lian)方(fang)式,減少(shao)了(le)模型訓練(lian)的(de)(de)時間,從而(er)可以在更少(shao)的(de)(de)計算(suan)量內(nei)達(da)到相同的(de)(de)文本識別效果,衍生出了(le)ELECTRA模型。

2020年8月(yue),BERT內引入(ru)了(le)多語言嵌入(ru)模型(xing),實現不(bu)同語言間互譯,讓(rang)用戶(hu)可以在更(geng)大(da)范圍(wei)內搜索有效信息(xi)。

2020年10月,BERT著眼于減(jian)少(shao)模(mo)(mo)型本身的(de)“偏(pian)見”,利(li)用模(mo)(mo)型評(ping)估指標來調整預訓練(lian)模(mo)(mo)型中的(de)參數,減(jian)少(shao)搜索時(shi)可能出(chu)現的(de)性別種族歧視(shi)。

從10%到100%,帶(dai)著滿分出生的(de)BERT并沒有固步(bu)自(zi)封,而(er)是不斷(duan)地(di)順(shun)應時代(dai)的(de)需求,一(yi)次(ci)(ci)又(you)一(yi)次(ci)(ci)地(di)自(zi)我更(geng)(geng)新,用更(geng)(geng)少的(de)訓練(lian)時間、更(geng)(geng)小(xiao)的(de)計算量達(da)到更(geng)(geng)為優越的(de)性能(neng)。

今年十(shi)月,谷歌(ge)公布(bu)了BERT在(zai)搜索領域的(de)表(biao)現,除了擴大應用范(fan)圍和(he)可應用的(de)語言外,BERT將谷歌(ge)在(zai)學術檢(jian)索上的(de)準確(que)率(lv)提高了7%。

谷歌也表示,會(hui)在未來(lai)利用BERT模型繼續(xu)精進搜索算法(fa),擴(kuo)大搜索的范圍,提高搜索的精度。

三、BERT開球,百家爭鳴

BERT的貢(gong)獻(xian)遠不止(zhi)是提升谷歌搜(sou)索性能或者獲得(de)“機(ji)器超(chao)過人(ren)類”的名(ming)號(hao),而(er)是作為一個泛化性極(ji)強的通用模型(xing),為今后NLP屆開辟(pi)了一條光明的研究賽道。

谷歌搜索的靈魂!BERT模型的崛起與榮耀

▲圖源網絡

以BERT為分界(jie)線,NLP領(ling)域可以分為動態表征模(mo)型(Dynamic Representation)時(shi)代和(he)深度動態表征模(mo)型(Deep Dynamic Representation)時(shi)代,在前(qian)一個(ge)時(shi)代,標注數據(ju)集的(de)(de)(de)不足和(he)單向編碼器限制了模(mo)型的(de)(de)(de)可拓展性;而在后一個(ge)時(shi)代,基于(yu)BERT發(fa)展出(chu)來的(de)(de)(de)方法,“支棱”起了NLP屆半壁江山。

改進(jin)(jin)BERT的(de)方法(fa)千千萬,其中大(da)概(gai)可以分為兩(liang)個(ge)方向:一是縱向,通過(guo)改進(jin)(jin)Transformer層的(de)結構(gou)或(huo)者調整參(can)數(shu),得到更加(jia)輕(qing)量級(ji)的(de)模型(xing)(xing),例如之(zhi)前提(ti)及過(guo)的(de)ALBERT模型(xing)(xing);二(er)是縱向,通過(guo)在BERT模型(xing)(xing)中延(yan)伸(shen)其他算法(fa)模型(xing)(xing),拓展(zhan)BERT模型(xing)(xing)的(de)功能,如受GAN影響(xiang)誕(dan)生(sheng)的(de)ELECTRA模型(xing)(xing)。

在BERT逐(zhu)漸發揮影(ying)響力、實現應用落地的(de)同時,NLP屆的(de)新秀也輪番(fan)亮相。

2019年出(chu)現的XLNet和2020年出(chu)現的GPT-3就是殺出(chu)重(zhong)圍(wei)的兩員大(da)將(jiang)。

XLNet,在BERT的基礎上,加入了(le)自回歸的預訓練方法,得到(dao)一(yi)個既(ji)擅長(chang)語義理(li)解(jie)也擅長(chang)語義生(sheng)成的模(mo)型,補齊了(le)BERT模(mo)型在長(chang)文閱讀、以及文字生(sheng)成方面(mian)的短板。

而GPT-3更是(shi)來勢洶洶,作為OpenAI旗(qi)下第三代(dai)深度語言(yan)學習模型,它(ta)自帶1705億個(ge)參(can)數(shu),是(shi)前一代(dai)模型GPT-2的100倍,經過(guo)5000億個(ge)單詞的預訓練,在(zai)無微調的情況下,取(qu)得多個(ge)NLP基(ji)準測試上的最高分數(shu)。

谷歌搜索的靈魂!BERT模型的崛起與榮耀

與(yu)此同時,GPT-3也解決了BERT模型(xing)存在(zai)(zai)的(de)(de)兩個問題:對標(biao)注(zhu)數據的(de)(de)依賴,以及對訓練數據集(ji)的(de)(de)過擬合,旨在(zai)(zai)成為更通用的(de)(de)NLP模型(xing)。

基(ji)于更大的數據(ju)集和更多的參(can)數,GPT-3不僅能搜索網頁,還能答(da)題、聊天、寫小說(shuo)、寫曲譜,甚至還能自(zi)動編程。

在目前(qian)的調試階(jie)段,GPT-3也暴(bao)露出了包括仇(chou)恨言(yan)論、錯誤信息等許多(duo)問題(ti),所(suo)以縱使頂(ding)著NLP界(jie)最(zui)強后(hou)浪的名(ming)號,它(ta)目前(qian)暫時還無(wu)法像前(qian)輩BERT一(yi)樣(yang),落(luo)地應用,為人類帶來價(jia)值。

結語:NLP新時代,BERT不缺席

自然語言處理(li)(NLP)領域有很多細分方向:文本分類(lei)、機器(qi)翻譯、閱讀理(li)解、機器(qi)人(ren)聊天……每一個子題都對應著人(ren)工智(zhi)能在現實生活中的實際應用(yong):網頁檢索、自動推(tui)薦、智(zhi)能客服……

如何讓(rang)人工智(zhi)能真(zhen)正(zheng)(zheng)走入我(wo)們的(de)(de)生活(huo),第(di)一個要(yao)(yao)解(jie)決的(de)(de)問(wen)題就是如何讓(rang)機器真(zhen)正(zheng)(zheng)地理解(jie)我(wo)們想(xiang)要(yao)(yao)什么(me)。

BERT讓我(wo)們邁出了一大步,基(ji)于自監督學(xue)習處理無(wu)標(biao)記(ji)數(shu)據,再通過雙向編碼理解(jie)文義(yi),BERT打破了之(zhi)前訓練數(shu)據需要標(biao)記(ji)的“魔咒”,充分(fen)利(li)用了大量無(wu)標(biao)記(ji)文本,是NLP屆里(li)程碑(bei)式的革新。

從誕生、進階到衍生出(chu)一(yi)系列語言模型,已(yi)經兩歲的(de)(de)BERT用時間(jian)證明了自(zi)己的(de)(de)巨大潛(qian)力,或許在未來,它將融合進新的(de)(de)應用,為我們帶來意(yi)想不到的(de)(de)AI革命。

參考(kao)資料:谷(gu)歌AI blog、Rock Content、searchengineland