色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

谷歌BERT模型的主體結構和創新點介紹 雙向語言模型的引入

DPVg_AI_era ? 來源:未知 ? 作者:工程師飛燕 ? 2018-10-21 09:38 ? 次閱讀

近日,谷歌AI團隊新發布的BERT模型,在NLP業內引起巨大反響,認為是NLP領域里程碑式的進步。BERT的創新點在哪里?潘晟鋒對這篇論文進行了深度解讀。

最近谷歌研究人員通過新的BERT模型在11項NLP任務中奪得STOA結果,這在自然語言處理學界以及工業界都引起了不小的熱議。

作者通過在33億文本的語料上訓練語言模型,再分別在不同的下游任務上微調,這樣的模型在不同的任務均得到了目前為止最好的結果,并且有一些結果相比此前的最佳成績得到了幅度不小的提升。

作者的這一研究其實是今年深度學習在自然語言處理中一個新熱點方向的延續,故事還得從更早一點說起。

谷歌BERT模型的主體結構和創新點介紹 雙向語言模型的引入

BERT的“前任”們

早在2015年的時候,微軟研究院的何凱明和他的同事們發表了殘差網絡的論文,第一次通過殘差的方式將卷積神經網絡推進到了100層以上,并在圖像識別的任務上刷新了當時的最高紀錄。自那以后起,隨著網絡不斷地加深,效果也在不斷提升。然而大量的數據訓練出來的大型網絡雖然效果更好,但隨著網絡的加深以及數據集的不斷擴大,完全重新訓練一個模型所需要的成本也在不斷地增加。

因此在計算機視覺處理中,人們越來越多地采用預訓練好的大型網絡來提取特征,然后再進行后續任務。目前這種處理方式已經是圖像處理中很常見的做法了。

相比之下,自然語言處理目前通常會使用預訓練的詞向量來進行后續任務。但詞向量是通過淺層網絡進行無監督訓練,雖然在詞的級別上有著不錯的特性,但卻缺少對連續文本的內在聯系和語言結構的表達能力。因此大家也希望能像圖像領域那樣,通過大量數據來預訓練一個大型的神經網絡,然后用它來對文本提取特征去做后續的任務,以期望能得到更好的效果。其實這一方向的研究一直在持續,直到今年的早些時候AllenAI提出的[ELMo](https://arxiv.org/pdf/1802.05365.pdf)由于其在后續任務上的優異表現獲得了不小的關注。

在ELMo獲得成功以后不久FastAI就推出了[ULMFiT](https://arxiv.org/abs/1801.06146),其大體思路是在微調時對每一層設置不同的學習率。此后OpenAI又提出了[GPT](https://blog.openai.com/language-unsupervised/)。

從上面提及的這些論文的結果以及學界和工業界的反饋來看,這種使用大量的語料進行預訓練,然后再在預訓練好的模型上進行后續任務訓練,雖然訓練方式各有不同,但在后續任務都有不同程度的提高。

而谷歌提出的BERT就是在OpenAI的GPT的基礎上對預訓練的目標進行了修改,并用更大的模型以及更多的數據去進行預訓練,從而得到了目前為止最好的效果。

Transformer的編碼器結構

BERT的主體結構和創新點

BERT模型沿襲了GPT模型的結構,采用[Transfomer](https://arxiv.org/abs/1706.03762)的編碼器作為主體模型結構。Transformer舍棄了RNN的循環式網絡結構,完全基于注意力機制來對一段文本進行建模。

Transformer所使用的注意力機制的核心思想是去計算一句話中的每個詞對于這句話中所有詞的相互關系,然后認為這些詞與詞之間的相互關系在一定程度上反應了這句話中不同詞之間的關聯性以及重要程度。因此再利用這些相互關系來調整每個詞的重要性(權重)就可以獲得每個詞新的表達。這個新的表征不但蘊含了該詞本身,還蘊含了其他詞與這個詞的關系,因此和單純的詞向量相比是一個更加全局的表達。

Transformer通過對輸入的文本不斷進行這樣的注意力機制層和普通的非線性層交疊來得到最終的文本表達。

Transformer的注意力層得到的詞-詞之間關系

GPT則利用了Transformer的結構來進行單向語言模型的訓練。所謂的語言模型其實是自然語言處理中的一種基礎任務,其目標是給定一個序列文本,預測下一個位置上會出現的詞。

模型學習這樣的任務過程和我們人學習一門語言的過程有些類似。我們學習語言的時候會不斷地練習怎么選用合適的詞來造句,對于模型來說也這樣。例如:

> 今天 天氣 不錯, 我們 去 公園 玩 吧。

這句話,單向語言模型在學習的時候是從左向右進行學習的,先給模型看到“今天 天氣”兩個詞,然后告訴模型下一個要填的詞是“不錯”。然而單向語言模型有一個欠缺,就是模型學習的時候總是按照句子的一個方向去學的,因此模型學習每個詞的時候只看到了上文,并沒有看到下文。更加合理的方式應該是讓模型同時通過上下文去學習,這個過程有點類似于完形填空題。例如:

>今天 天氣 { }, 我們 去 公園 玩 吧。

通過這樣的學習,模型能夠更好地把握“不錯”這個詞所出現的上下文語境。

而BERT對GPT的第一個改進就是引入了雙向的語言模型任務。

此前其實也有一些研究在語言模型這個任務上使用了雙向的方法,例如在ELMo中是通過雙向的兩層RNN結構對兩個方向進行建模,但兩個方向的loss計算相互獨立。

而BERT的作者指出這種兩個方向相互獨立或只有單層的雙向編碼可能沒有發揮最好的效果,我們可能不僅需要雙向編碼,還應該要加深網絡的層數。但加深雙向編碼網絡卻會引入一個問題,導致模型最終可以間接地“窺探”到需要預測的詞。這個“窺探”的過程可以用下面的圖來表示:

從圖中可以看到經過兩層的雙向操作,每個位置上的輸出就已經帶有了原本這個位置上的詞的信息了。這樣的“窺探”會導致模型預測詞的任務變得失去意義,因為模型已經看到每個位置上是什么詞了。

為了解決這個問題,我們可以從預訓練的目標入手。我們想要的其實是讓模型學會某個詞適合出現在怎樣的上下文語境當中;反過來說,如果給定了某個上下文語境,我們希望模型能夠知道這個地方適合填入怎樣的詞。從這一點出發,其實我們可以直接去掉這個詞,只讓模型看上下文,然后來預測這個詞。但這樣做會丟掉這個詞在文本中的位置信息,那么還有一種方式是在這個詞的位置上隨機地輸入某一個詞,但如果每次都隨機輸入可能會讓模型難以收斂。

BERT的作者提出了采用MaskLM的方式來訓練語言模型。

通俗地說就是在輸入一句話的時候,隨機地選一些要預測的詞,然后用一個特殊的符號來代替它們。盡管模型最終還是會看到所有位置上的輸入信息,但由于需要預測的詞已經被特殊符號代替,所以模型無法事先知道這些位置上是什么詞,這樣就可以讓模型根據所給的標簽去學習這些地方該填的詞了。

然而這里還有一個問題,就是我們在預訓練過程中所使用的這個特殊符號,在后續的任務中是不會出現的。

因此,為了和后續任務保持一致,作者按一定的比例在需要預測的詞位置上輸入原詞或者輸入某個隨機的詞。當然,由于一次輸入的文本序列中只有部分的詞被用來進行訓練,因此BERT在效率上會低于普通的語言模型,作者也指出BERT的收斂需要更多的訓練步數。

BERT另外一個創新是在雙向語言模型的基礎上額外增加了一個句子級別的連續性預測任務。這個任務的目標也很簡單,就是預測輸入BERT的兩端文本是否為連續的文本,作者指出引入這個任務可以更好地讓模型學到連續的文本片段之間的關系。在訓練的時候,輸入模型的第二個片段會以50%的概率從全部文本中隨機選取,剩下50%的概率選取第一個片段的后續的文本。

除了模型結構,模型大小和數據量都很重要

以上的描述涵蓋了BERT在模型結構和訓練目標上的主要創新點,而BERT的成功還有一個很大的原因來自于模型的體量以及訓練的數據量。

BERT訓練數據采用了英文的開源語料BooksCropus 以及英文維基百科數據,一共有33億個詞。同時BERT模型的標準版本有1億的參數量,與GPT持平,而BERT的大號版本有3億多參數量,這應該是目前自然語言處理中最大的預訓練模型了。

當然,這么大的模型和這么多的數據,訓練的代價也是不菲的。谷歌用了16個自己的TPU集群(一共64塊TPU)來訓練大號版本的BERT,一共花了4天的時間。對于是否可以復現預訓練,作者在[Reddit]( https://www.reddit.com/r/MachineLearning/comments/9nfqxz/r_bert_pretraining_of_deep_bidirectional/?utm_campaign=NLP%20News&utm_medium=email&utm_source=Revue%20newsletter)上有一個大致的回復,指出OpenAI當時訓練GPT用了將近1個月的時間,而如果用同等的硬件條件來訓練BERT估計需要1年的時間。不過他們會將已經訓練好的模型和代碼開源,方便大家訓練好的模型上進行后續任務。

雖然訓練的代價很大,但是這個研究還是帶來了一些思考和啟發。例如雙向語言模型的運用,多任務對預訓練的幫助以及模型深度帶來的收益。相信在未來的一段時間,自然語言處理中預訓練的神經網絡語言模型會得到更多的關注和運用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 谷歌
    +關注

    關注

    27

    文章

    6164

    瀏覽量

    105311
  • 深度學習
    +關注

    關注

    73

    文章

    5500

    瀏覽量

    121117
  • nlp
    nlp
    +關注

    關注

    1

    文章

    488

    瀏覽量

    22033
收藏 人收藏

    評論

    相關推薦

    圖解2018年領先的兩大NLP模型BERT和ELMo

    谷歌推出BERT模型被認為是NLP新時代的開始,NLP終于找到了一種方法,可以像計算機視覺那樣進行遷移學習。本文用圖解的方式,生動易懂地講解了BERT和ELMo等
    發表于 01-03 10:21 ?2186次閱讀

    語言模型背后的Transformer,與CNN和RNN有何不同

    ? 電子發燒友網報道(文/李彎彎)近年來,隨著大語言模型的不斷出圈,Transformer這一概念也走進了大眾視野。Transformer是一種非常流行的深度學習模型,最早于2017年由谷歌
    的頭像 發表于 12-25 08:36 ?4043次閱讀
    大<b class='flag-5'>語言</b><b class='flag-5'>模型</b>背后的Transformer,與CNN和RNN有何不同

    【大語言模型:原理與工程實踐】揭開大語言模型的面紗

    。隨著深度學習技術的崛起,神經網絡為語言模型注入了新的活力。循環神經網絡(RNN)和長短時記憶網絡(LSTM)的引入,為處理序列數據提供了更強大的工具。LSTM通過其獨特的網絡結構,能
    發表于 05-04 23:55

    【大語言模型:原理與工程實踐】大語言模型的基礎技術

    下游任務提供豐富的文本表示,如谷歌公司推出的BERT。(2) Decoder-Only 預訓練語言模型:這類模型一般使用單向的 Decode
    發表于 05-05 12:17

    【大語言模型:原理與工程實踐】大語言模型的應用

    、娛樂等行業,推動這些領域的創新和發展。例如,大語言模型可能會生成創新性的藝術、音樂、故事和其他文藝作品,為人類帶來全新的藝術體驗。同時,提示工程可以指導大
    發表于 05-07 17:21

    語言模型:原理與工程時間+小白初識大語言模型

    開拓深度學習的思路。對于新涌現的大語言模型的能力,主要是表現在學習能力的提升、語言理解和生成能力、創新和探索的能力。 基礎技術 詞表示技術 詞表示一般分為三種,主要是詞的獨熱表示(On
    發表于 05-12 23:57

    【《大語言模型應用指南》閱讀體驗】+ 基礎篇

    今天開始學習《大語言模型應用指南》第一篇——基礎篇,對于人工智能相關專業技術人員應該可以輕松加愉快的完成此篇閱讀,但對于我還是有許多的知識、專業術語比較陌生,需要網上搜索學習更多的資料才能理解書中
    發表于 07-25 14:33

    BERT模型的PyTorch實現

    BertModel是一個基本的BERT Transformer模型,包含一個summed token、位置和序列嵌入層,然后是一系列相同的self-attention blocks(BERT-base是12個blocks,
    的頭像 發表于 11-13 09:12 ?1.4w次閱讀

    圖解BERT預訓練模型

    BERT的發布是這個領域發展的最新的里程碑之一,這個事件標志著NLP 新時代的開始。BERT模型打破了基于語言處理的任務的幾個記錄。在 BERT
    的頭像 發表于 11-24 10:08 ?3660次閱讀

    基于BERT的中文科技NLP預訓練模型

    深度學習模型應用于自然語言處理任務時依賴大型、高質量的人工標注數據集。為降低深度學習模型對大型數據集的依賴,提出一種基于BERT的中文科技自然語言
    發表于 05-07 10:08 ?14次下載

    知識圖譜與BERT相結合助力語言模型

    感謝清華大學自然語言處理實驗室對預訓練語言模型架構的梳理,我們將沿此脈絡前行,探索預訓練語言模型的前沿技術,紅框中為已
    的頭像 發表于 05-19 15:47 ?3742次閱讀
    知識圖譜與<b class='flag-5'>BERT</b>相結合助力<b class='flag-5'>語言</b><b class='flag-5'>模型</b>

    如何使用BERT模型進行抽取式摘要

    for Extractive Summarization》,主要介紹了如何使用BERT模型進行抽取式(Extractive)摘要。
    的頭像 發表于 03-12 16:41 ?4815次閱讀
    如何使用<b class='flag-5'>BERT</b><b class='flag-5'>模型</b>進行抽取式摘要

    一種基于亂序語言模型的預訓練模型-PERT

    由于亂序語言模型不使用[MASK]標記,減輕了預訓練任務與微調任務之間的gap,并由于預測空間大小為輸入序列長度,使得計算效率高于掩碼語言模型。PERT
    的頭像 發表于 05-10 15:01 ?1540次閱讀

    谷歌大型模型終于開放源代碼,遲到但重要的開源戰略

    在人工智能領域,谷歌可以算是開源的鼻祖。今天幾乎所有的大語言模型,都基于谷歌在 2017 年發布的 Transformer 論文;谷歌的發布
    發表于 02-22 18:14 ?436次閱讀
    <b class='flag-5'>谷歌</b>大型<b class='flag-5'>模型</b>終于開放源代碼,遲到但重要的開源戰略

    谷歌發布新型大語言模型Gemma 2

    在人工智能領域,大語言模型一直是研究的熱點。近日,全球科技巨頭谷歌宣布,面向全球研究人員和開發人員,正式發布了其最新研發的大語言模型——Ge
    的頭像 發表于 06-29 09:48 ?435次閱讀
    主站蜘蛛池模板: 亚洲中文日韩日本在线视频| 日韩精品熟女一区二区三区中文| 99久久国产免费福利| 欧美videosgratis杂交| 出差无套内射小秘书| 午夜免费啪视频观看视频| 禁漫H天堂免费A漫| 最新精品国产| 青青久在线| 国产精品色无码AV在线观看| 亚洲一区二区三区91| 免费观看成人www精品视频在线| www.久久久| 小黄文纯肉短篇| 九九热这里都是精品| 99视频免费在线| 天天久久狠狠色综合| 久久91精品国产91久久户| 91区国产福利在线观看午夜| 日韩中文字幕亚洲无线码| 国产亚洲精品久久久无码狼牙套| 中文文字幕文字幕亚洲色| 欧洲老妇人bb| 国产无遮挡又黄又爽在线视频| 又色又爽又黄gif动态视频| 彭丹吃奶门| 国产午夜精品不卡视频| 中文字幕偷乱免费视频在线| 日本无码毛片久久久九色综合| 国产亚洲精品黑人粗大精选 | 动漫美女被h动态图| 亚洲精品久久午夜麻豆| 凌晨三点免费WWW| 沟沟人体一区二区| 一级毛片免费视频网站| 青娱乐国产精品视频| 果冻传媒剧情在线观看| 99热精品在线av播放| 袖珍人与大黑人性视频| 免费观看成人www精品视频在线| 国产精品你懂的在线播放|