小學(xué)生能看懂:BERT原理解析

本篇基于論文《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》。https://arxiv.org/abs/1810.04805 。該論文由Jacob Devlin、Ming-Wei Chang、Kenton Lee和Kristina Toutanova撰寫,于2018年發(fā)布。它詳細(xì)介紹了BERT模型的架構(gòu)、預(yù)訓(xùn)練方法以及在多項自然語言處理任務(wù)上的表現(xiàn)。這篇論文在自然語言處理領(lǐng)域產(chǎn)生了深遠(yuǎn)的影響,推動了后續(xù)一系列基于Transformer的模型的發(fā)展。

前言

有沒有想過,為什么你的智能手機(jī)幾乎總能預(yù)測你接下來要輸入的單詞,或者似乎能理解你的問題呢?這很可能是因為你在不知不覺中遇到了一個叫做BERT的聰明程序。今天,我們就來了解一下這位幕后的智能語言高手BERT。

BERT面臨一個特別的挑戰(zhàn)。你知道,英語有時候挺復(fù)雜的。我們有很多聽起來相似或者拼寫相同但意義完全不同的單詞。比如“crane”這個詞,它可能指的是長腿的大鳥、一種舉重的機(jī)器,甚至是你為了看清楚人群而伸長脖子的動作。那么,BERT如何確定我們到底在討論什么呢?

這就是上下文發(fā)揮作用的地方了。上下文就像一個解碼的秘鑰,幫助你根據(jù)周圍的詞來理解一個單詞的含義。比如你讀到一句話:“I saw a crane flying over the lake(我看到一只鶴在湖上飛過)”你很聰明,會想到“flying(飛行)”和“l(fā)ake(湖)”,就知道我們不是在談?wù)撘慌_飛行的機(jī)器,對吧?這就是你利用上下文來理解意義的過程。

BERT也采用了相同的理念來理解語言。當(dāng)它閱讀句子時,會注意到所有單詞及其使用方式。這幫助BERT弄清楚每個單詞的意義,即便是那些可能有多重含義的單詞。BERT通過一種名為“掩碼語言模型”(Masked Language Model, MLM)的技術(shù)訓(xùn)練,變得擅長于此??梢园阉胂蟪梢环N填空游戲。BERT會看一個有缺詞的句子,然后嘗試用周圍的詞來猜測缺失的詞。這種游戲幫助BERT越來越擅長理解我們使用單詞的不同方式。

更讓人驚嘆的是,BERT能夠在理解一個詞時考慮到它之前和之后的內(nèi)容,這就是所謂的“雙向”處理。例如,當(dāng)BERT遇到“bank”這個詞時,它會考慮前后的詞來判斷我們是在談?wù)摵影哆€是銀行。

所以,現(xiàn)在你明白了!BERT是一個超級智能的程序,通過閱讀大量文本并了解詞語周圍的上下文,來學(xué)習(xí)理解我們復(fù)雜的語言。它就像一個通過閱讀世界上最大的書籍而成為語言天才的機(jī)器人伙伴。而這,只是它在文字世界探索的開始?,F(xiàn)在,讓我們來看看BERT是如何練習(xí)它的技能,從而在理解語言方面變得越來越擅長!

BERT 如何像人類一樣學(xué)習(xí)語言

來看看BERT是如何從語言新手成長為高手的。在學(xué)校學(xué)習(xí)新知識時,我們從理解基本規(guī)則開始,無論是語法規(guī)則還是數(shù)學(xué)規(guī)則。通過練習(xí)和老師的指導(dǎo),我們逐漸進(jìn)步。BERT也在經(jīng)歷類似的學(xué)習(xí)之旅,它通過處理句子來不僅學(xué)習(xí)語法,還要掌握整個語言。

想象一下,如果你需要通過閱讀整個圖書館的書籍來學(xué)習(xí)英語。這聽起來很嚇人,對吧?但對BERT來說,這簡直小菜一碟。BERT在網(wǎng)上閱讀大量文本,從經(jīng)典文學(xué)到最新新聞,它都不放過,以此來拼湊人類語言這個龐大的拼圖。

在初始的“預(yù)訓(xùn)練”階段,BERT通過一個高級版的填空游戲來學(xué)習(xí)。它從完整的句子開始,然后隱藏一些單詞。和我們在測驗中一樣,BERT需要猜測這些缺失的單詞。但BERT不是隨機(jī)猜測,而是利用空白處前后的單詞來進(jìn)行有根據(jù)的推斷,這就是“上下文”的力量。

每個隱藏的單詞都是對BERT的一次小測試。和學(xué)生一樣,BERT并不總是一次就猜對。它每次猜測后都會得到反饋,就像老師批改試卷一樣。這些反饋幫助BERT從錯誤中學(xué)習(xí),這個不斷學(xué)習(xí)和調(diào)整的過程被稱為“迭代學(xué)習(xí)”,是提高智力的超有效方式。

除了猜謎游戲,BERT還在學(xué)習(xí)句子之間的關(guān)系。例如,它會觀察一對句子,嘗試判斷第二個句子是否邏輯上符合第一個句子。這就像老師讓我們在課堂上寫故事或論點(diǎn)時,每個句子都必須和前一個句子連貫。

這一切學(xué)習(xí)都不是徒勞的。BERT的學(xué)習(xí)目的是為了更好地理解語言,從而在現(xiàn)實世界中發(fā)揮作用,比如幫你在搜索引擎中找答案,或者將西班牙語翻譯成英語而不顯得怪異。就像學(xué)習(xí)歷史能幫你理解新聞,學(xué)習(xí)數(shù)學(xué)能幫你計算找零一樣。

BERT最神奇的地方是它不會感到疲倦或厭倦。它可以不停地從數(shù)百萬句子中學(xué)習(xí),這讓它學(xué)習(xí)速度遠(yuǎn)超人類。它處理的大量文本讓它接觸到了語言的每一個角落,包括俚語、成語和人類喜歡用的各種古怪表達(dá)方式。

所有這些學(xué)習(xí)最終都會得到回報。BERT變得非常擅長預(yù)測單詞,理解語言的結(jié)構(gòu)和細(xì)微差別,也就是說它理解我們的意思了。就像你玩得越多,游戲技能越好一樣,BERT也是通過不斷練習(xí)而提高語言能力的。最酷的是,BERT學(xué)得越多,它幫助我們的能力就越強(qiáng),從讓Siri設(shè)定計時器到翻譯網(wǎng)頁都變得更容易。

現(xiàn)在你已經(jīng)了解BERT是如何學(xué)習(xí)的,讓我們看看它是如何根據(jù)周圍的詞來判斷單詞含義的。BERT會觀察一個詞的左右兩邊來猜測其意義。這樣無論單詞處于句子的哪個位置,BERT都能通過觀察它所處的詞語來理解其意思。

BERT的能力:理解上下文

那么,BERT如何利用周圍詞語的上下文來準(zhǔn)確把握一個特定詞語的含義呢?這就像在單詞偵探游戲中成為超級偵探,每個線索都至關(guān)重要。

當(dāng)你和朋友玩猜詞游戲時,你會依靠提示猜出隱藏的單詞,對吧?BERT也是這樣,它仔細(xì)觀察神秘詞前后的單詞來推斷其可能的意義。就像解謎一樣,利用周圍的詞作為線索。

舉個例子,假設(shè)有句話是“我把充電器忘在家里,現(xiàn)在我的手機(jī)電池沒電了”。如果我們把“充電器”這個詞替換成一個空白,你仍然可以根據(jù)線索——在家、手機(jī)、電池——來猜出缺失的詞。這就是上下文的力量。

現(xiàn)在,想象一下BERT在極大規(guī)模上做這件事。它查看有缺詞的句子(就像充電器的例子),并使用周圍的詞作為線索來預(yù)測這些詞應(yīng)該是什么。對BERT來說,這些缺失的詞就像是要解決的謎題,而周圍的詞是幫助解答的線索。

BERT的方法更加高明——它同時閱讀神秘詞的左右兩邊。我們?nèi)祟愰喿x時,通常更多關(guān)注未知詞后面的單詞。但BERT不同,它考慮整個句子,從頭到尾。這種“雙向”方法讓BERT全面理解問題詞,幫助它更準(zhǔn)確地猜測。

為了實現(xiàn)這種技術(shù),BERT運(yùn)用了一種稱為“Transformer架構(gòu)”的技術(shù)。這就像一種高科技放大鏡,專注于句子中每個單詞及其與其他單詞的關(guān)系。這非常重要,因為在語言中,單詞不是孤立存在的,它們是句子中的一部分,意義通常取決于它們的鄰居。

例如,考慮單詞“bank”。如果BERT看到句子“He went fishing by the river bank(他在河岸邊釣魚)”,它會使用“fishing(釣魚)”和“river(河)”這些詞來判斷這里的“bank”指河邊的陸地。但如果句子是“She needs to go to the bank to withdraw money(她需要去銀行取錢)”,上下文則幫助BERT理解這里的“bank”指的是金融交易的地方。

理解上下文是BERT的超能力。它讓BERT能夠把握一個詞在不同情境下可能有的微妙差異。這一點(diǎn)至關(guān)重要,因為正如你所知,語言中充滿了聽起來相同但意義完全不同的詞。BERT越擅長使用上下文線索,它猜測詞語和句子正確含義和細(xì)微差別的準(zhǔn)確性就越高。

這種技能不僅酷炫,而且非常實用。這意味著當(dāng)你使用搜索引擎或與語音助手對話時,即使你使用的詞語可能有多種含義,BERT也能幫助準(zhǔn)確理解你的需求。這就像有一個不僅聽你說話,而且真正理解你的個人助理。

理解上下文使BERT與早期的語言模型不同,早期模型通常只能考慮它們試圖理解的單詞之前的詞語。但因為BERT能夠一次性看整個句子,它能以一種更接近人類的方式理解語言——通過考慮整體情況。

所以下次你玩猜詞游戲時,想想BERT。就像你根據(jù)朋友的提示猜單詞一樣,BERT利用周圍單詞提供的線索來對語言做出聰明的猜測。這就是BERT如何在人類語言的龐大復(fù)雜世界中,利用上下文的超能力。

訓(xùn)練BERT:讀得越多,越聰明

如果你嘗試過學(xué)習(xí)一門新語言或技能,就會理解“熟能生巧”這個道理。BERT作為一個旨在理解人類語言的智能計算機(jī)程序,同樣遵循這一原則。就像我們通過閱讀教科書、故事和文章來增長見識,BERT也在進(jìn)行相似的活動,只是規(guī)模遠(yuǎn)大于我們。

當(dāng)BERT開始它的學(xué)習(xí)旅程時,對人類語言幾乎一無所知。它的目標(biāo)是理解我們?nèi)绾问褂迷~匯和句子來交流。為此,BERT需要閱讀大量材料,這些不只是文本,還包括小說、新聞、博客和社交媒體帖子。

BERT是如何閱讀這些內(nèi)容的呢?想象一下,就像給BERT提供了一個詞匯和短語的自助餐。它雖然不吃東西,但通過吸收龐大文本集合中的句子來處理信息。在這個過程中,BERT會遇到像語言練習(xí)中的填空題一樣的空白,然后利用上下文線索來猜測這些缺失的單詞。這種訓(xùn)練方式被稱為“掩碼語言模型”(Masked Language Model, MLM),對BERT來說就像一個持續(xù)不斷的測驗。

除此之外,BERT還需要學(xué)習(xí)句子是如何相互關(guān)聯(lián)的。這就是“下一句預(yù)測(Next Sentence Prediction, NSP)”的作用。BERT會檢查句子對,判斷第二句是否邏輯上緊接第一句,幫助它理解對話或故事中的思想流動。

在閱讀時,BERT運(yùn)用特殊的編程部分——“Transformer架構(gòu)”,這使它能同時關(guān)注句子的不同部分,深入理解每個詞與其他詞的關(guān)系,掌握語法和詞匯用法。

想象一下,同時為所有科目做作業(yè)和學(xué)習(xí),且速度極快,這就是BERT訓(xùn)練的過程!這需要大量計算能力,并非一夜之間就能完成。BERT需要很多時間來處理所有“閱讀材料”并從中學(xué)習(xí)。

隨著訓(xùn)練的進(jìn)行,BERT變得越來越聰明,開始識別單詞使用的模式和它們在不同上下文中的含義變化。就像“set”這個詞可以指放置某物,也可以指一套東西,如一套餐具。BERT通過在不同句子中見到“set”的使用來學(xué)習(xí)區(qū)分這些含義。

BERT的訓(xùn)練不只是一項孤獨(dú)的探險。研究人員和計算機(jī)科學(xué)家會監(jiān)控其表現(xiàn),適時調(diào)整訓(xùn)練過程,就像老師會在難題上給予學(xué)生額外幫助一樣。

BERT不會像我們那樣感到“疲倦”,因為它是機(jī)器。當(dāng)閱讀了足夠多的資料后,BERT會對語言有相當(dāng)扎實的掌握,就像我們準(zhǔn)備好參加考試一樣。

初始訓(xùn)練完成后,BERT可以針對特定任務(wù)進(jìn)行微調(diào)。例如,如果BERT要幫助回答問題,它會通過大量問答示例進(jìn)行額外訓(xùn)練,以便在這項工作上更加熟練。

經(jīng)過廣泛的訓(xùn)練,BERT能夠協(xié)助處理涉及語言的各種任務(wù)。當(dāng)你與Siri、Alexa交談或在Google上輸入問題時,BERT在背后發(fā)揮作用。它利用所學(xué)知識來理解你的意圖,即使你的表達(dá)方式之前未曾遇到過。BERT就像一名語言偵探,隨時準(zhǔn)備解讀我們言語中的線索,理解我們的話。

這就是BERT如何接受訓(xùn)練的故事,它是認(rèn)真學(xué)習(xí)、巧妙計算和大量語言體操的結(jié)合體。BERT之所以重要,是因為它幫助計算機(jī)更好地理解我們。當(dāng)你與Siri、Alexa交談或在Google上輸入問題時,你希望它們真正理解你的意思,而BERT正是在這里發(fā)揮作用,確保計算機(jī)不會混淆,給你滑稽的答案。

BERT在幫助計算機(jī)理解我們

BERT為什么重要,對我們又有何意義呢?想象一下你經(jīng)常會做的事情。你可能會要求Siri或Alexa播放你最喜歡的音樂,或者你可能會在Google上輸入一個問題,例如“太陽系里有多少顆行星?”你肯定希望得到一個清晰、直接的答案,而不是含糊其辭的回答。

這正是BERT成為游戲規(guī)則改變者的原因。經(jīng)過大量訓(xùn)練,BERT開始變得非常擅長理解你的問題和命令,即使你表達(dá)得不夠直接。比如你問:“有很多免費(fèi)書籍可以閱讀的地方叫什么?”BERT足夠聰明,能理解你在說圖書館。

在BERT出現(xiàn)之前,計算機(jī)并不總能完全理解問題。它們可能只關(guān)注一些關(guān)鍵詞,但未能準(zhǔn)確捕捉你真正想問的內(nèi)容。假設(shè)你問:“海星能看見東西嗎?”舊系統(tǒng)可能只會簡單地列舉關(guān)于海星的信息,卻沒有回答你關(guān)于它們視覺的具體問題。而BERT,作為一名語言專家,能理解你是好奇海星是否有眼睛并能看到東西。因此,它能給出更準(zhǔn)確、更貼切的回答。

再來談?wù)凚ERT如何改變搜索引擎的運(yùn)作,例如Google。以前當(dāng)你搜索內(nèi)容時,經(jīng)常會得到一系列含有部分關(guān)鍵詞但未必能回答你問題的鏈接。但有了BERT,情況就不一樣了。BERT幫助搜索引擎理解你搜索背后的真正意圖。它關(guān)注那些能改變整個查詢含義的小詞,如“from”或“to”。

這里有一個很好的例子:想象你在搜索“從芝加哥到紐約的航班”。如果沒有BERT,你可能會得到從紐約到芝加哥的航班結(jié)果,而這并不是你想要的。但有了BERT的智能,搜索引擎明白航班的方向——它從哪里出發(fā),要去哪里——非常重要。這樣你就能精確地找到你所需的信息,無需額外麻煩。

語音助手也因為BERT而變得更加先進(jìn)。以前,你可能需要以一種類似機(jī)器人的方式說話才能被理解。比如,“天氣,紐約,今天?!钡F(xiàn)在,它就像和了解你的朋友聊天一樣。你可以直接說,“紐約今天的天氣怎么樣?”BERT幫助你的語音助手理解你說話的自然方式。

BERT在理解口音和方言方面的幫助也很出色。世界各地的人說話方式都不一樣。一些詞或短語在一個地方可能非常通俗,但在其他地方可能就讓人困惑。BERT廣泛的閱讀量幫助它理解這些差異。所以,無論你是帶著德州口音還是蘇格蘭腔調(diào)說話,BERT都有更好的機(jī)會理解你的意思。

BERT還能幫助處理后續(xù)問題,而你無需重復(fù)整個情景。比如你問:“《哈利波特》的作者是誰?”接著你只說:“她多大了?”BERT會記得你在談?wù)摗豆ㄌ亍返淖髡撸⒗斫饽阍趩朖.K.羅琳的年齡。不需要重新開始,BERT可以讓對話流暢地進(jìn)行。

BERT不僅僅在問答方面表現(xiàn)出色。你是否使用過Google Translate這樣的服務(wù)?BERT對語言的理解幫助提高翻譯的準(zhǔn)確性,這樣你就不太可能得到一個在另一種語言中毫無意義的句子。它考慮整個句子并理解詞語是如何協(xié)同工作的,這意味著你可以向法國的筆友說“你好”,而不會意外地告訴他們你是一把雨傘。

BERT的智能技術(shù)并沒有止步。隨著BERT學(xué)習(xí)更多,閱讀更多,它在幫助我們處理日常數(shù)字任務(wù)方面的能力就越強(qiáng)。我們正在談?wù)摰氖且粋€未來,也許你可以把一大塊作業(yè)交給電腦并說:“幫我總結(jié)一下”,它就會知道怎么做。這很神奇,對吧?

隨著我們繼續(xù)教會BERT更多關(guān)于我們?nèi)绾问褂脝卧~和句子的知識,它也將改善我們與各種技術(shù)的互動方式,不僅僅是我們的手機(jī)和電腦。這可能意味著更有幫助的機(jī)器人、更聰明的汽車系統(tǒng)能更好地理解我們,甚至更有效的學(xué)習(xí)新語言的工具。

想象一下,如果你的電腦能像朋友一樣和你聊天,或者理解你的家庭作業(yè)問題并幫你解答,會是怎樣的場景?BERT正在幫助構(gòu)建這樣的未來。通過更好地理解語言,電腦將能以我們甚至還未想到的新奇方式幫助我們!

BERT的未來:計算機(jī)都在說人話

當(dāng)我們展望未來,思考BERT在理解人類語言中的角色時,我們所面臨的可能性是令人激動的。我們正在談?wù)撘粋€電腦和小玩意能像我們最好的朋友那樣理解我們的世界。

想象一下你在做家庭作業(yè),遇到了一個數(shù)學(xué)難題。未來,你可能只需要向電腦求助。因為BERT了解語言如何運(yùn)作,電腦不僅能給出答案,還能以對你有意義的方式進(jìn)行解釋。

再來看看游戲領(lǐng)域。目前,當(dāng)你玩視頻游戲時,通常是按照固定的故事情節(jié)進(jìn)行,角色重復(fù)相同的臺詞。但如果游戲角色能與你交談,對你說的話做出反應(yīng),甚至創(chuàng)造出它們自己的故事,那會怎樣呢?隨著BERT在理解我們方面變得更加出色,游戲開發(fā)者可以創(chuàng)造出每次玩都不同的游戲,這些游戲是基于你與角色的對話。

我們也不要忘記了機(jī)器人。目前,機(jī)器人在對話方面還很基礎(chǔ)。但隨著BERT變得更加智能,機(jī)器人可能會更好地理解指令,回答你的問題,甚至在你感到沮喪時開個玩笑。它們可能會成為家庭中的幫手,做家務(wù)或提醒你做作業(yè),同時像家庭成員一樣與你聊天。

購物也可能變得更加簡單。假設(shè)你在為媽媽的生日尋找禮物。你可以告訴你的電腦媽媽喜歡什么,BERT會理解哪些東西能讓她開心。然后,它可以幫助你找到完美的禮物,甚至是你之前沒想到的禮物!

在教室里,BERT可能會改變我們學(xué)習(xí)語言的方式。與其只是聽錄音或用抽認(rèn)卡練習(xí),BERT可以創(chuàng)建一個會說你正在學(xué)習(xí)的語言的虛擬對話伙伴。你可以與之交談,犯錯,并像身處一個每個人都說那種語言的國家那樣學(xué)習(xí)。

說到口音,有時口音會讓電腦難以理解我們。但隨著BERT更多地了解不同人的說話方式,它將更好地理解各種口音。因此,無論你來自德克薩斯、澳大利亞還是印度,電腦都會像理解任何其他人一樣理解你。

想象一下未來,你可以向電腦講述一個故事,它會幫你將其變成一本書,甚至附上圖片?;蛘吣阌幸粋€歌曲創(chuàng)意,電腦可以幫你寫出音樂。隨著BERT在理解我們的意圖和我們使用語言的創(chuàng)造性方式上變得更加出色,它可以幫助我們實現(xiàn)各種想法!

殘疾可能也會變得不那么成為障礙。不能說話的人可以使用一臺代替他們說話的電腦。如果這臺電腦像BERT一樣理解語言,它可以將任何手勢或眼神轉(zhuǎn)化為他們想說的確切詞語。

安全性也可能得到提升。汽車開始實現(xiàn)自動駕駛,但它們需要理解乘客的指令。有了BERT的幫助,自動駕駛汽車可以理解某人是否因為上學(xué)遲到而匆忙,或者因為道路結(jié)冰需要慢行。這樣,它們可以按照你的需要把你送到目的地。

小結(jié)

最后,想想如果電腦能更好地理解我們,會有多少新發(fā)明誕生。像你們這樣的孩子,與這項技術(shù)一同成長,可能會想出前所未有的點(diǎn)子——使用BERT的方式,甚至是最聰明的科學(xué)家們都未曾想象過的!

在一個BERT每天都在變得更聰明的世界里,我們與技術(shù)互動的方式可能會以很多酷炫的方式改變。這就像我們乘坐宇宙飛船前往一個未來,在那里我們的技術(shù)伙伴們能夠確切地知道我們的意思、我們的需求,甚至可能知道我們接下來要說什么。準(zhǔn)備好冒險吧,因為有了BERT,技術(shù)的未來看起來非常光明——而且超級健談!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容