創(chuàng )澤機器人 |
CHUANGZE ROBOT |
1. BERT模型深度解析
2. 大規模參數的語(yǔ)言模型Megatron-BERT
我們今天主要是溫故知新我先帶大家復習一下BERT模型的整體架構,內容不會(huì )特別偏數學(xué),主要把BERT一些要點(diǎn)給大家說(shuō)清楚,包括BERT的輸入/輸出以及具體它是怎么工作的,然后介紹NVIDIA基于BERT開(kāi)發(fā)出的一系列好的模型。
首先介紹一下自然語(yǔ)言處理常見(jiàn)的應用方向,第一類(lèi)是序列標注,比如命名實(shí)體的識別、語(yǔ)義標注、詞性標注,循環(huán)智能也是用了序列標注。第二類(lèi)是分類(lèi)任務(wù),如文本分類(lèi)和情感分析,這個(gè)方向目前在量化金融領(lǐng)域,尤其是對沖基金上應用性很強,尤其是情感分析。我記得3、4年前,有一條新聞?wù)f(shuō)斯坦福大學(xué)的一個(gè)碩士生,暑期在他的宿舍里用幾塊GPU卡,自己搭建了一個(gè)小的超級計算機,他把Twitter上的信息全部錄下來(lái),每天更新。他使用了BERT進(jìn)行情感分析,把每天每個(gè)人的信息分成三類(lèi):positive積極、neutral中性、negative消極。他把三類(lèi)情感的量化信息和當天納斯達克股票的升跌情況匯總,進(jìn)行了統計分析,發(fā)現如果Twitter上的信息大部分都是積極的,那么股票就有很大的概率會(huì )上漲。我們現在把這類(lèi)數據叫做情感分析因子,它在股票分析上是一個(gè)特別重要的推進(jìn)方向,能讓模型越發(fā)準確。第三類(lèi)NLP應用方向就是對句子關(guān)系的判斷,如自然語(yǔ)言的推理、問(wèn)答系統,還有文本語(yǔ)義相似性的判斷。最后一類(lèi),是生成式任務(wù),如機器翻譯、文本摘要,還有創(chuàng )造型的任務(wù)比如機器寫(xiě)詩(shī)、造句等。
BERT模型深度解析
現在我們進(jìn)入正題:對BERT的講解。要了解BERT,首先我們要說(shuō)一下Transformer,因為BERT最主要就是基于Transformer和注意力機制,這兩點(diǎn)也是BERT能從GPT、RNN、LSTM等一系列架構中能脫穎而出的很大原因。Attention,專(zhuān)業(yè)的叫法是Attention Mechanism,Attention是一個(gè)Encoder+Decoder的模型機制。Encoder-Decoder模型是在深度學(xué)習中比較常見(jiàn)的模型結構:在計算機視覺(jué)中這個(gè)模型的應用是CNN+RNN的編輯碼框架;在神經(jīng)網(wǎng)絡(luò )機器翻譯的應用是sequence to sequence模型,也就是seq2seq。而編碼(Encoder)就是將序列編碼成一個(gè)固定長(cháng)度的向量,解碼(Decoder)就是將之前生成的向量再還原成序列。
那么問(wèn)題來(lái)了,為什么要在Encoder-Decoder模型機制中引入Attention呢?因為 Encoder-Decoder模型有兩個(gè)比較顯著(zhù)的弊端:
一是Encoder會(huì )把序列信息壓縮成一個(gè)固定長(cháng)度的向量,那么在Encoder的輸出中,我們暫且把它叫做語(yǔ)義編碼c,c就有可能無(wú)法完全地表示出全部序列的信息,尤其是當信息特別長(cháng)時(shí)。
二是先輸入到網(wǎng)絡(luò )中的信息會(huì )被后輸入的信息覆蓋掉,輸入的信息越長(cháng),對先前輸入信息的遺忘程度就越大。因為這兩個(gè)弊端,Decoder在解碼的一開(kāi)始就沒(méi)有獲得一個(gè)相對完整的信息,也就是語(yǔ)義編碼c沒(méi)有一個(gè)相對完整的信息輸入,那么它解碼的效果自然就不好。有的同學(xué)可能會(huì )說(shuō)想要解決RNN記憶力差的問(wèn)題,可以考慮用LSTM。我們的確可以考慮LSTM,但LSTM對超長(cháng)距離的信息記憶,效果也不是很好。
我們再來(lái)看看Attention為什么能夠解決這個(gè)問(wèn)題。Attention,顧名思義是注意力。它是模仿人類(lèi)的注意力,人類(lèi)在處理一個(gè)問(wèn)題時(shí)會(huì )把注意力放到那個(gè)特別重要的地方,比如我們在短時(shí)間內去看一張照片,第一眼落到照片上的位置可能是某個(gè)建筑物或者是某個(gè)人,這取決于我們不同的目的和興趣等。我們不會(huì )在短時(shí)間之內記清楚甚至是看清楚照片上的全部細節,但是我們會(huì )將注意力聚焦在某個(gè)特定的細節上并記住它。Attention模型最終輸出結果也是能夠達到這么一個(gè)效果。
Attention的機制也是應用在計算機視覺(jué)上面,然后是在自然語(yǔ)言處理上面發(fā)揚光大。由于2018年在GPT模型上的效果非常顯著(zhù),所以Attention和 Transformer才會(huì )成為大家比較關(guān)注的焦點(diǎn)。之所以Attention的能力在NLP領(lǐng)域得到了徹底釋放,是因為它解決了RNN不能并行計算的弊端,Attention使其每一步的計算不依賴(lài)于上一步的計算,達到和CNN一樣的并行處理效果。并且由于A(yíng)ttention只關(guān)注部分的信息,所以它的參數較少,速度就會(huì )快。其次RNN記憶能力較差,所以大家一開(kāi)始想到的解決方式都是用LSTM和GRU(Gated Recurrent Unit)來(lái)解決長(cháng)距離信息記憶的問(wèn)題,但是都沒(méi)有起到很好的效果。Attention由于只關(guān)注長(cháng)文本中的一個(gè)小部分,可以準確地識別出關(guān)鍵信息,所以取得了特別不錯的效果。
下面我們來(lái)說(shuō)一下Attention是怎么實(shí)現的聚焦。主要是因為它是采用了雙向的RNN,能夠同時(shí)處理每個(gè)單詞前后的信息。在Decoder中,它首先計算每一個(gè)Encoder在編碼隱藏層的狀態(tài),然后會(huì )和Decoder隱藏層狀態(tài)比較,做出相關(guān)程度的評定。得到的權值會(huì )通過(guò)softmax歸一化得到使用的權重,也就是我們前面所說(shuō)的編碼向量c。然后對Encoder中對應的不同狀態(tài)的權重進(jìn)行加權求和,有了編碼c之后,我們就可以先計算Decoder隱藏層的狀態(tài),然后再計算Decoder的輸出。這就是一個(gè)比較完整的在BERT當中運用Attention以及Encoder-Decoder模型的使用案例。Attention根據計算區域、權值的計算方式等會(huì )有很多不同變種。
不止是在NLP領(lǐng)域,在其他很多領(lǐng)域中,Transformer的模型由于很好用都是大家的,主要的一個(gè)運用機制就是Attention。我們之后會(huì )說(shuō)到的Transformer模型會(huì )用到 Multi-head Attention和Self-Attention。首先說(shuō)一下Self-Attention,Self-Attention是將原文中每個(gè)詞和該句子中所有單詞之間進(jìn)行注意力的計算,主要是為了尋找原文內部的關(guān)系。對應到閱讀理解任務(wù),這個(gè)模型就可以判定一篇文章中的兩段話(huà)是不是同一個(gè)意思。Multi-head Attention,則是對一段原文使用多次的注意力,每次會(huì )關(guān)注到原文的不同部分,相當于多次地在單層中使用Attention,然后把結果給拼接起來(lái)。
![]() |
機器人招商 Disinfection Robot 機器人公司 機器人應用 智能醫療 物聯(lián)網(wǎng) 機器人排名 機器人企業(yè) 機器人政策 教育機器人 迎賓機器人 機器人開(kāi)發(fā) 獨角獸 消毒機器人品牌 消毒機器人 合理用藥 地圖 |