• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于RNN和Transformer模型的自然語言處理研究綜述

    2021-02-14 08:23:38李華旭
    信息記錄材料 2021年12期
    關(guān)鍵詞:門限梯度神經(jīng)網(wǎng)絡(luò)

    李華旭

    (廣西民族大學(xué)電子信息學(xué)院 廣西 南寧 530000)

    1 引言

    人工智能[1](artificial intelligence)起源于20世紀(jì)50年代,是計算機(jī)科學(xué)研究的重點(diǎn)之一。目前,人工智能已經(jīng)成為計算機(jī)科學(xué)領(lǐng)域不可或缺的一部分,其在科技領(lǐng)域也受到廣泛重視,如機(jī)器人控制[2]、智能圖像處理、軌道衛(wèi)星定位等。

    深度學(xué)習(xí)(deep learning)是人工智能的深層次理論。深度學(xué)習(xí)是通過訓(xùn)練數(shù)據(jù)參數(shù)來達(dá)到學(xué)習(xí)訓(xùn)練樣本的內(nèi)部規(guī)律以及樣本的表示層次。深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)由輸入層、隱藏層和輸出層所構(gòu)成。深度學(xué)習(xí)與普通的淺層次學(xué)習(xí)最大的不同就在于其神經(jīng)網(wǎng)絡(luò)的層數(shù)更深,通過對輸入特征進(jìn)行逐層地變換并向更深層次傳播,這樣就能夠?qū)⑻卣鲝脑臻g轉(zhuǎn)換到一個新的特征空間從而使數(shù)據(jù)分析更加容易,當(dāng)增加網(wǎng)絡(luò)層數(shù)后,網(wǎng)絡(luò)可以進(jìn)行更加復(fù)雜的特征模式的提取,所以當(dāng)模型更深時理論上可以取得更好的結(jié)果。

    但更深的網(wǎng)絡(luò)層數(shù)并不一定會有更好的性能,當(dāng)網(wǎng)絡(luò)深度不斷增加時,網(wǎng)絡(luò)的準(zhǔn)確度就會出現(xiàn)飽和,甚至出現(xiàn)下降,即過擬合,為解決這一問題,何凱明提出了著名的深度殘差網(wǎng)絡(luò)[3](deep residual network,ResNet)。由于ResNet對減輕深層網(wǎng)絡(luò)退化有著重要作用,ResNet這一網(wǎng)絡(luò)結(jié)構(gòu)對后來的各種網(wǎng)絡(luò)模型的構(gòu)建都有著重要的影響。目前深度學(xué)習(xí)的主要研究方向有數(shù)字圖像處理(digital image processing)和自然語言處理(natural language processing,NLP)等,后文將對自然語言處理方向的技術(shù)進(jìn)行綜述并對NLP相關(guān)技術(shù)進(jìn)行說明。

    2 自然語言處理

    2.1 自然語言處理定義

    自然語言處理(NLP)是一門用來分析人類語言以及對相關(guān)信息進(jìn)行處理的人工智能方向技術(shù)。通過對NLP的研究,我們能夠?qū)崿F(xiàn)人類和計算機(jī)系統(tǒng)之間使用自然語言進(jìn)行交互,由于NLP本身需要運(yùn)用語言學(xué)、數(shù)學(xué)以及計算機(jī)科學(xué)等方面的技術(shù),所以NLP是一門綜合性的人工智能技術(shù)。NLP并不是簡單去研究人所使用的自然語言,而是著重于人和計算機(jī)系統(tǒng)的交互,通過分析語義來給出相應(yīng)的結(jié)果。

    自然語言處理的工作大致可劃分為下面幾個步驟:首先,接受人類的自然語言;其次,通過信息提取,將自然語言轉(zhuǎn)換為結(jié)構(gòu)化數(shù)據(jù);最后,通過分析數(shù)據(jù)得出結(jié)果并輸出。自然語言處理應(yīng)用廣泛,其中包括人機(jī)對話交流、語言翻譯、情感分析、語音識別、搜索引擎、社交網(wǎng)站推送等。

    自然語言處理(NLP)的研究主要是運(yùn)用計算機(jī)科學(xué)與語言學(xué)這兩門學(xué)科的有關(guān)技術(shù)和知識。通常的計算機(jī)程序是由相關(guān)的算法和其對應(yīng)數(shù)據(jù)結(jié)構(gòu)所組成,而自然語言處理則是由語義結(jié)構(gòu)與計算機(jī)模型所構(gòu)成。所以,NLP的主要任務(wù)也就和語言學(xué)所研究的內(nèi)容相似,主要就是分析單詞、詞性、語法、上下文的語義等,而為了實(shí)現(xiàn)語言的分析就必須要對神經(jīng)網(wǎng)絡(luò)模型和優(yōu)化算法進(jìn)行設(shè)計。

    2.2 循環(huán)神經(jīng)網(wǎng)絡(luò)

    循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)始于20世紀(jì)80年代,于21世紀(jì)初發(fā)展成為深度學(xué)習(xí)的重要神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)之一。RNN的輸入是一連串的序列型數(shù)據(jù),這些序列就像人的語言,是一整句話,甚至是一篇文章。對于人所表達(dá)的語句來說,要想理解一句話的意義就必須要結(jié)合語句中的上下文,對于理解文章的意思就更是如此,而且也更加的復(fù)雜。

    通常的神經(jīng)網(wǎng)絡(luò)主要由輸入層、隱藏層和輸出層所構(gòu)成,其結(jié)構(gòu)見圖1。

    圖1 簡單的神經(jīng)網(wǎng)絡(luò)

    在神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,給定輸入并通過反向傳播和優(yōu)化算法(如梯度下降算法)對模型進(jìn)行調(diào)整,最終輸出結(jié)果。但這種簡單的網(wǎng)絡(luò)只能簡單處理每一個輸入的數(shù)據(jù),而并沒有在輸入的數(shù)據(jù)之間建立起它們相互的關(guān)系,即先后輸入的數(shù)據(jù)之間是完全獨(dú)立的。所以這種網(wǎng)絡(luò)結(jié)構(gòu)就不能滿足對自然語言處理的需求,為了解決這一問題于是就出現(xiàn)了RNN模型。

    與普通的神經(jīng)網(wǎng)絡(luò)相比,RNN最大的優(yōu)點(diǎn)便是能將每個單詞同它所處的語句中上下文部分都聯(lián)系起來,這就不僅僅是對獨(dú)立的單詞做處理而是將其所處的語境也一起納入計算的步驟當(dāng)中,從而讓整個模型更好地去理解自然語言。RNN相比圖1中的全連接神經(jīng)網(wǎng)絡(luò),加入了循環(huán)核(Cell)來提取特征,結(jié)構(gòu)見圖2。

    圖2 RNN循環(huán)核

    循環(huán)核通過不同時刻對于參數(shù)W進(jìn)行共享,實(shí)現(xiàn)了對時間序列的特征提取。在圖2a中Xt與Yt分別對應(yīng)數(shù)據(jù)的輸入和輸出特征,Ct用于存儲不同時刻的狀態(tài)信息,U、V、W均為參數(shù)矩陣,其中:

    注:Bc、By為偏置項,Ct-1表示上一時刻Cell中存儲的狀態(tài)信息。

    在神經(jīng)網(wǎng)絡(luò)的前向傳播過程當(dāng)中,Cell中存儲的狀態(tài)信息在不同的時刻都會根據(jù)上式進(jìn)行修改,而參數(shù)矩陣U、V、W是固定的,并不會隨時刻的變化而改變。在反向傳播的過程中,參數(shù)矩陣U、V、W會依據(jù)梯度下降算法產(chǎn)生更新。把循環(huán)核按照時間軸方向展開就能得到圖2b所示的情形,能更加直觀地理解整個訓(xùn)練過程。同樣的,在不同時刻Cell中的信息依據(jù)公式計算而被刷新,U、V、W保持不變。通過訓(xùn)練對參數(shù)矩陣U、V、W進(jìn)行優(yōu)化,在訓(xùn)練結(jié)束之后選擇效果最好的一組U、V、W參數(shù)矩陣來執(zhí)行前向傳播,并輸出結(jié)果,即可得到最終的預(yù)測值。

    2.3 長短期記憶人工神經(jīng)網(wǎng)絡(luò)

    傳統(tǒng)的RNN可以通過記憶體實(shí)現(xiàn)短期記憶,從而達(dá)到實(shí)現(xiàn)連續(xù)數(shù)據(jù)的預(yù)測效果。但是,在數(shù)據(jù)變得較長的時候,會導(dǎo)致序列展開時間過長。而在反向傳播更新參數(shù)矩陣的過程中,由于梯度會根據(jù)時刻的變化來進(jìn)行連續(xù)相乘,這樣就會導(dǎo)致梯度的消失。

    為了解決普通循環(huán)神經(jīng)網(wǎng)絡(luò)中存在的長期依賴問題所導(dǎo)致的梯度消失問題,于是誕生了長短期記憶人工神經(jīng)網(wǎng)絡(luò)[4](long short-term memory,LSTM)。LSTM的結(jié)構(gòu)見圖3。

    圖3 LSTM結(jié)構(gòu)圖

    LSTM引入了門限的概念,分為輸入門限(It)、遺忘門限(Ft)和輸出(Ot)門限,具體公式如下:

    在公式(2)中,Vt為當(dāng)前的輸入特征,Yt-1為上個時刻的輸出,Wi、Wf、Wo是每個門限所對應(yīng)的參數(shù)矩陣,Bi、Bf、Bo則是相應(yīng)的偏置項,這一點(diǎn)與圖2a中類似。

    這種神經(jīng)網(wǎng)絡(luò)最重要的部分便是提出了長期記憶(Ct)與短期記憶(Yt),以及把兩者相結(jié)合所得出的新記憶(Xt)。Ct、Yt、Xt的計算公式如下:

    注:Wx為參數(shù)矩陣,Bx為偏置項。

    長期記憶(Ct)由上個時刻的長期記憶與新記憶乘以不同的門限,即取不同的比例然后相加所得,而短期記憶(Yt)則是從當(dāng)前輸出的長記憶中經(jīng)過輸出門(Ot)過濾后所剩下的內(nèi)容,對于新記憶(Xt)則是由之前的短期記憶與當(dāng)前輸入的新特征(Vt)組合而成。

    3 Transformer模型

    3.1 Attention機(jī)制

    注意力機(jī)制(Attention)最初是產(chǎn)生于對人類視覺相關(guān)的研究,模仿人類觀察事物時會有選擇地去關(guān)注事物的一分特征,而忽略事物的其他一些信息。傳統(tǒng)的sequence-to-sequence模型自身存在一些缺點(diǎn),例如,對較長的輸入序列進(jìn)行壓縮時會導(dǎo)致其中一些關(guān)鍵信息的丟失,這種模型也沒辦法在輸入和輸出序列之間的對齊進(jìn)行建模,這也會導(dǎo)致輸出結(jié)果由于受輸入序列的某些部分的影響而與期望結(jié)果相差許多。

    Attention機(jī)制就是查詢(query)到主鍵(key)和值(value)對的映射,見圖4。在這里首先計算Query和每個Key進(jìn)行點(diǎn)乘計算(MatMul),然后再使用Softmax函數(shù)進(jìn)行歸一化從而來得到Q與K之間的相關(guān)性即權(quán)重,最后再用所得權(quán)重與V進(jìn)行點(diǎn)乘得到最終值。

    圖4 Attention結(jié)構(gòu)圖

    3.2 Multi-head Self-attention機(jī)制

    如圖5所示:對于普通的Attention而言,在尋找Q與K之間的相關(guān)性時總是單個地去對應(yīng),即Q、K只有一個,而對于較為復(fù)雜語音或語言而言,通常不同字句之間有很多種不同的關(guān)系,所以這是單個Q、K之間的對應(yīng)關(guān)系就不太能過夠完整推導(dǎo)出語句的完整意義,所以就增加了Q、K、V的數(shù)量,即Multi-head Self-attention[5]。

    圖5 Multi-head Self-attention結(jié)構(gòu)圖

    圖5a為多頭注意力的結(jié)構(gòu)示意圖,圖5b為多頭注意力中按比縮放的點(diǎn)積注意力部分的內(nèi)部結(jié)構(gòu)。Transformer使用的多頭注意力機(jī)制有3個輸入:Q、K、V,其中按比縮放的點(diǎn)積注意力所對應(yīng)的公式如下:

    由于當(dāng)深度(dK)比較大的時候會導(dǎo)致點(diǎn)積結(jié)果增大,就會讓Softmax函數(shù)向梯度較小的方向變化,從而產(chǎn)生梯度的消失,在公式(4)中,通過將點(diǎn)積注意力(QKT)除以深度(dK)的平方根,就解決了這一問題。

    對于Multi-head Self-attention而言,它與LSTM的計算方式完全不一樣,它在計算的時候總是將全部的信息同時進(jìn)行點(diǎn)乘,而LSTM則是按順序一次進(jìn)行運(yùn)算,這樣做雖然提高了并行計算的效率,但是卻缺少了有用的相關(guān)位置信息。

    3.3 Positional Encoding

    由于Transformer模型中的Multi-head Selfattention[6]機(jī)制沒有包含不同元素之間的位置信息,于是就給輸入數(shù)據(jù)加上了一種位置編碼,對應(yīng)公式如下:

    在公式(5)中,pos代表每個詞在語句之中的位置,dmodel表示詞向量的維度,i為詞向量的位置。通過將位置信息除以10002i/dmodel,就能讓sin和cos的表示范圍從2π擴(kuò)展到1000π,最后在將其與源數(shù)據(jù)相加即可得到包含有位置編碼的數(shù)據(jù)。當(dāng)輸入的pos值為50,dmodel為100時,編碼效果見圖6。

    圖6 Positional Encoding

    3.4 Transfomer小結(jié)

    與之前的LSTM模型相比,Transformer模型完全采用Self-attention機(jī)制代替了LSTM所使用的RNN模型結(jié)構(gòu),并在自然語言翻譯方面取得了更好的效果。Transformer進(jìn)行并行計算,而不是和RNN那樣序列化地計算,提高了計算效率,Transformer能夠?qū)W習(xí)長距離元素之間的關(guān)系依賴,并解決了傳統(tǒng)RNN在序列過長時產(chǎn)生的梯度消失問題,同時Selfattention機(jī)制也能更好地解釋模型。但Transformer也有一些缺點(diǎn),如計算量相對巨大,多頭機(jī)制中的無效信息有很多等。

    4 結(jié)語

    自然語言處理作為人工智能領(lǐng)域的一個重要方向,相關(guān)的技術(shù)已經(jīng)得到了越來越廣泛的應(yīng)用。從全連接神經(jīng)網(wǎng)絡(luò)到RNN再到Transformer,然后是基于Transformer框架的BERT[7-8],無疑讓自然語言處理的能力更近了一步。雖然Transformer模型計算量巨大,但隨著計算機(jī)計算能力的提高便能夠?qū)Ω育嫶蟮臄?shù)據(jù)加以處理。未來的自然語言處理研究仍要圍繞算法的優(yōu)化,運(yùn)用語言學(xué)以及其他學(xué)科的技術(shù)進(jìn)行更深層次的語義分析等方面進(jìn)行。相信,隨著越來越多新技術(shù)的出現(xiàn),自然語言處理的研究將取得更高的成就。

    猜你喜歡
    門限梯度神經(jīng)網(wǎng)絡(luò)
    基于規(guī)則的HEV邏輯門限控制策略
    一個改進(jìn)的WYL型三項共軛梯度法
    地方債對經(jīng)濟(jì)增長的門限效應(yīng)及地區(qū)差異研究
    中國西部(2021年4期)2021-11-04 08:57:32
    一種自適應(yīng)Dai-Liao共軛梯度法
    隨機(jī)失效門限下指數(shù)退化軌道模型的分析與應(yīng)用
    神經(jīng)網(wǎng)絡(luò)抑制無線通信干擾探究
    電子制作(2019年19期)2019-11-23 08:42:00
    一類扭積形式的梯度近Ricci孤立子
    基于神經(jīng)網(wǎng)絡(luò)的拉矯機(jī)控制模型建立
    復(fù)數(shù)神經(jīng)網(wǎng)絡(luò)在基于WiFi的室內(nèi)LBS應(yīng)用
    生產(chǎn)性服務(wù)業(yè)集聚與工業(yè)集聚的非線性效應(yīng)——基于門限回歸模型的分析
    湖湘論壇(2015年3期)2015-12-01 04:20:17
    马鞍山市| 嵊州市| 莱西市| 会宁县| 湘西| 潞城市| 象州县| 青海省| 呼和浩特市| 夏河县| 连南| 望城县| 车险| 锦州市| 延庆县| 堆龙德庆县| 竹溪县| 高碑店市| 镇江市| 房山区| 江都市| 塔河县| 鄱阳县| 全椒县| 区。| 辛集市| 西畴县| 西乌珠穆沁旗| 浦县| 万州区| 庆安县| 前郭尔| 仁怀市| 屯门区| 永昌县| 镇康县| 兴隆县| 荔浦县| 志丹县| 威海市| 双城市|