RNN是什么
RNN即序列神經(jīng)網(wǎng)絡(luò),通常用來(lái)處理人類語(yǔ)言扭勉、音樂(lè)等具有序列屬性的任務(wù)
人類語(yǔ)言本身作為一種符號(hào)并沒(méi)有意義鹊奖,只不過(guò)是人類對(duì)其賦予了意義。而這種意義體現(xiàn)在每個(gè)字(語(yǔ)義)以及字的順序(事物關(guān)系)上涂炎。RNN相當(dāng)于在通用神經(jīng)網(wǎng)絡(luò)上加入了人類的先驗(yàn)知識(shí)忠聚,將文本信息按照序列輸入的方式處理。
RNN基礎(chǔ)結(jié)構(gòu)
RNN對(duì)序列的基本思路是唱捣,在序列任務(wù)中前面的數(shù)據(jù)會(huì)對(duì)當(dāng)前的計(jì)算產(chǎn)生影響两蟀。所以前一個(gè)cell的激活值會(huì)輸入到后一個(gè)cell中。這樣就其實(shí)就是對(duì)序列數(shù)據(jù)的特點(diǎn)做了一定程度的設(shè)計(jì)震缭。
但是隨著序列長(zhǎng)度變化赂毯,激活值不斷堆疊后就會(huì)損失一些信息,導(dǎo)致序列前面的信息對(duì)后面的影響變?nèi)跫鹪住R篮芏鄷r(shí)候語(yǔ)言的頭部信息對(duì)后面的信息可能有很大的影響党涕。所以目前應(yīng)用較廣泛的是LSTM模型,在RNN基礎(chǔ)結(jié)構(gòu)上增加了一條長(zhǎng)記憶線C巡社,每個(gè)cell的X與A會(huì)使得C對(duì)信息進(jìn)行補(bǔ)充或者丟失膛堤,而具有序列重要信息的C會(huì)對(duì)A的激活值具有影響。就像是模型附帶了一個(gè)小本本晌该,遇到新鮮事兒就記進(jìn)去肥荔,然后在后續(xù)判斷將小本本的信息加入,產(chǎn)出更有可信度的激活值朝群。
在RNN應(yīng)用過(guò)程中燕耿,逐漸發(fā)現(xiàn)有時(shí)候當(dāng)前局部的計(jì)算不僅僅與前面的信息相關(guān),也與后面的信息相關(guān)(特別是翻譯姜胖、語(yǔ)音識(shí)別等)缸棵。所以提出了雙向RNN結(jié)構(gòu),將前面的信息與后面的信息綜合起來(lái)做判斷谭期。
人在進(jìn)行信息判斷時(shí)堵第,有時(shí)候不僅僅是綜合整個(gè)序列的信息,有時(shí)候更會(huì)抓住重點(diǎn)去分析以便快速得到更好的答案隧出,在序列模型中每個(gè)輸入本身確實(shí)有重點(diǎn)踏志,比如吃與食物相關(guān),在分析吃的字詞時(shí)只需將注意力分配到與食物相關(guān)得詞上胀瞪,其他的并不重要针余,因此提出了注意力模型
如圖所示饲鄙,經(jīng)過(guò)一個(gè)雙向RNN處理過(guò)的輸出值y,不同的y分配給不同的權(quán)重最終加和起來(lái)作為輸入圆雁,那么該輸入附帶的信息就會(huì)有偏向忍级,從而模型會(huì)有更好的效果。
正如前文所說(shuō)伪朽,所有的模型都不完美轴咱,在擬合過(guò)程中就會(huì)出現(xiàn)信息丟失、梯度消失等現(xiàn)象烈涮,長(zhǎng)短時(shí)記憶朴肺、雙向計(jì)算、注意力機(jī)制都是典型的將人類知識(shí)加入模型中坚洽,使得模型負(fù)擔(dān)減少戈稿,效果更好。
應(yīng)用
語(yǔ)言模型
將語(yǔ)料庫(kù)通過(guò)RNN模型訓(xùn)練后讶舰,模型就學(xué)會(huì)了人話的規(guī)律鞍盗,從而可以在給定條件下判斷下一個(gè)字是何字的概率,從而在多個(gè)場(chǎng)景有所應(yīng)用:
1跳昼、語(yǔ)音識(shí)別
當(dāng)語(yǔ)音通過(guò)聲學(xué)系統(tǒng)編碼與解碼處理后橡疼,最終要生成句子,由于發(fā)音的相似性句子不僅僅有一個(gè)庐舟,這些句子可以通過(guò)語(yǔ)言模型來(lái)評(píng)分欣除,只留下人話概率最高的那個(gè)就是我們的模型識(shí)別結(jié)果。
2挪略、文字/序列生成
經(jīng)過(guò)語(yǔ)言模型訓(xùn)練后历帚,可以從模型中取得話例。比如將0帶入第一個(gè)輸入杠娱,我們會(huì)得到第一個(gè)初始詞挽牢,再將該詞在第二個(gè)輸入中作為輸入值,以此類推最終會(huì)生成一個(gè)句子摊求,這個(gè)句子遵循人話規(guī)律禽拔。假如用泰戈?duì)柕脑?shī)作為訓(xùn)練集,我們輸出的就是泰戈?duì)栵L(fēng)格的詩(shī)句
同樣得方式可以應(yīng)用在音樂(lè)上室叉,如果將音樂(lè)也當(dāng)做一種序列去訓(xùn)練睹栖,最終我們也可以獲得某種音樂(lè)風(fēng)格的曲子,從而可以實(shí)現(xiàn)在文字上以及在音樂(lè)上的另類創(chuàng)作茧痕。
情感識(shí)別
將RNN模型對(duì)接一個(gè)softmax輸出野来,就可以對(duì)句子進(jìn)行分類,通常用來(lái)判斷情感趨向踪旷。
除了可以通過(guò)分析句子得到情感判斷外曼氛,分析詞語(yǔ)也可以豁辉。目前詞的使用都是將符號(hào)向量映射(Word2Vec算法)到語(yǔ)義空間上,所以詞向量本身就具有語(yǔ)義含義舀患,通過(guò)訓(xùn)練可以做情感分類徽级。
翻譯
翻譯目前都是用如圖所示結(jié)構(gòu),包含編碼器與解碼器聊浅。相當(dāng)于將語(yǔ)句A通過(guò)RNN編碼后灌入另一個(gè)模型去解碼為另一個(gè)語(yǔ)句B餐抢,類似于卷積對(duì)圖片的編碼處理,序列模型在編碼解碼過(guò)程中也形成了一個(gè)表征語(yǔ)義的矩陣狗超,該矩陣的語(yǔ)義表達(dá)與語(yǔ)言工具無(wú)關(guān),作為兩個(gè)語(yǔ)言之間的橋梁實(shí)現(xiàn)翻譯功能朴下。借鑒人類翻譯過(guò)程中對(duì)前后文重點(diǎn)的讀取努咐,翻譯模型會(huì)用到注意力機(jī)制以達(dá)到更好的模型效果
實(shí)際上前一陣子出現(xiàn)過(guò)AI換臉這種生成式的任務(wù)在社區(qū)火爆,特別是色情網(wǎng)站殴胧。其實(shí)這種生成任務(wù)很多時(shí)候也會(huì)用到這種編碼-解碼樣式的結(jié)構(gòu)
人機(jī)對(duì)話
目前人機(jī)對(duì)話包含應(yīng)用場(chǎng)景:?jiǎn)柎鹦蜕浴⒘奶煨汀⑷蝿?wù)型
問(wèn)答型在很多客服領(lǐng)域應(yīng)用廣泛团滥,解決了頭部高頻問(wèn)題竿屹。這類任務(wù)更多屬于機(jī)器學(xué)習(xí),對(duì)用戶的疑問(wèn)通過(guò)關(guān)鍵字檢測(cè)分類至我們預(yù)先設(shè)好的問(wèn)題分類中灸姊。
而聊天型機(jī)器人最典型的就是微軟小冰拱燃,要保持這種開(kāi)放性對(duì)話需要系統(tǒng)知識(shí),不斷產(chǎn)生新的話題力惯。這類Chatbot的目標(biāo)是實(shí)現(xiàn)《her》中的情感陪伴碗誉,但是就目前發(fā)展來(lái)講,仍然不夠父晶。
任務(wù)型機(jī)器人目前看起來(lái)最具有商業(yè)潛力哮缺,市面上的智能音箱基本屬于這類范疇。目標(biāo)是識(shí)別用戶意圖后在封閉的話題區(qū)間內(nèi)進(jìn)行對(duì)話直至滿足用戶需求甲喝。
在任務(wù)驅(qū)動(dòng)型的人機(jī)對(duì)話中尝苇,首先就是獲取人的意圖。意圖的識(shí)別屬于自然語(yǔ)言理解埠胖,屬于一種分類任務(wù)糠溜。很多智能音箱平臺(tái)會(huì)推出一些技能,這些技能實(shí)際上就對(duì)應(yīng)意圖所對(duì)應(yīng)的領(lǐng)域直撤。通過(guò)意圖識(shí)別后將業(yè)務(wù)處理邏輯落在這些技能上诵冒,技能與技能之間其實(shí)已經(jīng)沒(méi)有關(guān)聯(lián),這樣的方式減輕了訓(xùn)練難度谊惭,使得機(jī)器人在特定任務(wù)上有更好的表現(xiàn)汽馋。
在計(jì)算機(jī)處理人類請(qǐng)求后侮东,不僅要判斷用戶的意圖分類,還要對(duì)請(qǐng)求語(yǔ)進(jìn)行序列標(biāo)注(實(shí)體識(shí)別豹芯、實(shí)體關(guān)系抽取等)悄雅,分析出該意圖下哪些必要信息已經(jīng)獲得,哪些信息沒(méi)有獲得铁蹈,這些就是填槽的過(guò)程宽闲。
用戶的請(qǐng)求往往是含糊不清的,多輪對(duì)話就是為了獲取在該意圖下所有的必要信息握牧。整個(gè)過(guò)程需要對(duì)話管理的支持容诬,對(duì)話管理實(shí)際一個(gè)決策過(guò)程(策略樹(shù)),系統(tǒng)在對(duì)話過(guò)程中不斷根據(jù)當(dāng)前狀態(tài)決定下一步應(yīng)該采取的最優(yōu)動(dòng)作(如:提供結(jié)果沿腰,詢問(wèn)特定限制條件览徒,澄清或確認(rèn)需求…)從而最有效的輔助用戶完成信息或服務(wù)獲取的任務(wù)。對(duì)話管理的構(gòu)建更需要人工設(shè)計(jì)颂龙,但似乎通過(guò)強(qiáng)化學(xué)習(xí)也能得到最佳路徑习蓬。
DM對(duì)話管理過(guò)程中可能需要和用戶交互,就會(huì)用到自然語(yǔ)言生成措嵌,將系統(tǒng)語(yǔ)義轉(zhuǎn)化為人類語(yǔ)言躲叼。這是個(gè)有限集,用模板是一種選擇企巢,同樣也可以用語(yǔ)言模型枫慷、類似翻譯的編碼解碼模型。
最后
總的來(lái)說(shuō)浪规,NLP的研究比計(jì)算機(jī)視覺(jué)的研究似乎更為復(fù)雜流礁,NLP也是當(dāng)今人工智能的發(fā)展瓶頸,每個(gè)從業(yè)人員都明白NLP的發(fā)展對(duì)人機(jī)交互的沖擊非常巨大罗丰,不亞于圖形界面對(duì)人機(jī)交互的影響神帅。未來(lái)世界就在那兒,只是我們不知道何時(shí)到來(lái)萌抵。
(筆者正尋求NLP找御、人機(jī)對(duì)話方向產(chǎn)品職位 微信:cheng390552021)