国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

AI是如何回答你提出的問題的?揭秘智能問答系統(tǒng)背后的深度學(xué)習(xí)網(wǎng)絡(luò)

curried / 2854人閱讀

摘要:人類如何回答問題在考慮設(shè)計一個問答系統(tǒng)之前,不妨先來考慮一下人類是如何回答問題的。問答的各個子系統(tǒng)都可以用深度學(xué)習(xí)實現(xiàn)。

摘要:隨著人工智能和物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展和相互融合,越來越多的設(shè)備將會被植入問答AI,未來問答將會成為人機交互的重要入口,AI問答將會無處不在。那么AI是如何回答你所提出的問題的?本文就為你揭秘智能問題系統(tǒng)背后的深度學(xué)習(xí)網(wǎng)絡(luò)架構(gòu)設(shè)計以及原理。

本文內(nèi)容由演講嘉賓視頻分享以及PPT整理而成。

本節(jié)視頻地址:http://click.aliyun.com/m/45433/
PDF下載:http://click.aliyun.com/m/45434/

演講嘉賓簡介

金華興(花名:會當(dāng)),阿里巴巴算法專家。在人工智能領(lǐng)域擁有十幾年的經(jīng)驗,在阿里曾負責(zé)搜索排序/機器學(xué)習(xí)/大數(shù)據(jù)基礎(chǔ)算法/深度學(xué)習(xí)/機器閱讀等算法領(lǐng)域。主導(dǎo)研發(fā)了阿里多語言混合搜索排序算法系統(tǒng),融合深度學(xué)習(xí)/遷移學(xué)習(xí)/排序算法,解決多語種標(biāo)注數(shù)據(jù)不足問題,首次將深度學(xué)習(xí)應(yīng)用于搜索業(yè)務(wù)。主導(dǎo)研發(fā)了阿里第一代不依賴于一行開源代碼的分布式深度學(xué)習(xí)算法平臺---ODPS深度學(xué)習(xí)算法平臺。主導(dǎo)研發(fā)了阿里第一個基于深度強化學(xué)習(xí)的資訊推薦算法。獲得阿里2010年集團內(nèi)部算法大賽冠軍。借助于阿里平臺,研發(fā)的算法影響著全球十多億人。

問答AI將會無處不在

本文將為大家分享問答系統(tǒng)背后的原理以及深度學(xué)習(xí)在問答系統(tǒng)中的應(yīng)用。本文中所謂的“問答”就是“一問一答”,也就是用戶提出問題,AI系統(tǒng)給出回答。隨著人工智能和物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展以及兩者之間的相互融合和落地,越來越多的設(shè)備將會被植入問答AI,比如隨身會攜帶的耳機、手表、戒指,家里的音響、臺燈等,汽車和機器人等,最終AI將會無處不在。未來,大家可以隨時隨地與AI進行交互,提出問題并獲得答案,或者通過AI來操控物理世界。問答AI將會成為一個非常重要的入口,其地位就相當(dāng)于現(xiàn)在的搜索引擎。

人類如何回答問題

在考慮設(shè)計一個AI問答系統(tǒng)之前,不妨先來考慮一下人類是如何回答問題的。比如提出一個問題,“現(xiàn)任美國總統(tǒng)是誰?”大家可能瞬間就能夠給出答案,因為像這樣的簡單問題在大腦里已經(jīng)有了記憶,人類可以根據(jù)記憶瞬間地給出回答。還有一些問題則需要垂直領(lǐng)域的知識,經(jīng)過科學(xué)的計算和縝密的推理才能給出答案,比如數(shù)學(xué)或者物理相關(guān)的問題。此外,還有一些問題需要多個領(lǐng)域進行綜合分析才能給出回答,比如在回答“肺炎的患者吃什么食物比較合適?”這個問題時,不僅需要知道醫(yī)學(xué)領(lǐng)域中對于肺炎的病理,還需要知道食物和營養(yǎng)學(xué)等相關(guān)知識,只有結(jié)合以上這幾個領(lǐng)域的知識才能夠給出比較合理的答案。而面對更加復(fù)雜的問題,僅憑借人類大腦里面的知識儲備可能還不夠,還需要借助外部工具搜集一些數(shù)據(jù)和資料才能進行回答。

AI問答系統(tǒng)架構(gòu)

人類回答問題的基本邏輯就是對復(fù)雜的問題進行分解,分而治之。AI問答系統(tǒng)也借鑒了這樣的邏輯,把整個系統(tǒng)進行分解,然后將不同的問題放入到不同的垂直問答領(lǐng)域中做回答。當(dāng)然,還會有一個非常通用的通用問答。在通用問答里面主要包含了3大部分,即問題理解,證據(jù)檢索以及答案推理。AI收到問題后,先對問題進行各種各樣的分析、處理和理解;接著基于分析結(jié)果從不同的數(shù)據(jù)源檢索出相關(guān)的證據(jù),也就是檢索可能包含答案的數(shù)據(jù);然后,進行綜合地閱讀理解和推理并且給出答案。問答AI的各個子系統(tǒng)都可以用深度學(xué)習(xí)實現(xiàn)。

問題分類網(wǎng)絡(luò)

接下來為大家分享通用問答這條流水線上面的各個子系統(tǒng)背后的深度學(xué)習(xí)模型。首先為大家分享問題分類網(wǎng)絡(luò),問題其實就是一段話,也就是一個符號序列。如果想用神經(jīng)網(wǎng)絡(luò)處理一個符號序列,則首先需要將其embedding到向量空間中去,因為這個符號序列是具有上下文的語義上的相關(guān)性的,所以需要借助LSTM來進行處理,將上下文的語義信息能夠融合到詞的向量中去。因為序列是變長的,所以為了便于后續(xù)的處理需要將整個序列轉(zhuǎn)化成一個固定維度的向量,轉(zhuǎn)化方法比較多,簡單粗暴的方法就是將序列里面的所有的向量加起來再取平均;稍微復(fù)雜一些的方法則可以考慮使用多個卷積層和pooling層,逐步將長序列轉(zhuǎn)化成為固定長度的向量;semi-self-attention是簡單而高效的方法,把序列的最后一個狀態(tài)作為key,和序列自己做一個attention pooling。之后再做一些非線性的變化,最終使用Softmax來輸出類別。如下圖所示的就是一個問題分類網(wǎng)絡(luò)。

問題理解網(wǎng)絡(luò)

其實上面所提到的問題分類也可以認為是一種問題理解的方式,因為問題理解本身沒有明確的定義,只要是有助于回答后面問題的處理就都可以加入進來。一般而言,問題理解中的處理大致有這樣幾個:問題分詞、實體識別、意圖識別以及問題分類。其中的意圖識別也是分類問題,而分詞和實體識別都是序列標(biāo)注問題。接下來以實體識別為例分享序列標(biāo)注問題。

實體識別的目標(biāo)是識別問題中哪些詞屬于實體,并且屬于什么實體,比如“成龍的老婆是誰?”這個問題就包含了一個人名實體,當(dāng)然其他的場景下面可能還有地名、機構(gòu)名稱以及道路名稱等,這些都是實體。實體的標(biāo)志方法一般是用B、I、O這種符號表示,其中B,也就是Beginning代表著實體詞的開始;I代表Inside也就說這個詞還是在這個實體里面;O代表Outside也就是說這個詞已經(jīng)不屬于這個實體了。在前面的這個問題中“成龍”這個詞就構(gòu)成了實體。序列標(biāo)注模型一般會在下面使用深度學(xué)習(xí),上面則使用CRF類來做解碼。

深度學(xué)習(xí)的網(wǎng)絡(luò)與前面所提到的問題識別其實是大同小異的,最下面兩層也負責(zé)將序列轉(zhuǎn)化成為空間中的序列,并且盡可能多地將語義的信息包含在其中。在問題理解網(wǎng)絡(luò)模型中間會加一個Self-attention層,雖然LSTM能夠捕獲上下文的一些信息,但是在實際中,其對于較長句子的分析能力還是不足的,并且也不能很好地捕獲一些比較低頻的問題的語義。而Self-attention層能夠?qū)⑿蛄兄械娜我鈨蓚€詞都進行關(guān)聯(lián)并捕獲他們之間語義的關(guān)系,這樣就不會受限于長度,可以在任意遠的兩個詞之間捕獲語義的相關(guān)性。所以其對于語義的處理,特別是標(biāo)注都是很有幫助的。上圖所展現(xiàn)的就是一個問題理解中的深度學(xué)習(xí)網(wǎng)絡(luò)。

知識圖譜


完成了以上的步驟后就需要去考慮檢索證據(jù)。證據(jù)的來源比較多,一個重要的來源就是知識圖譜。在過去二三十年的互聯(lián)網(wǎng)化以及信息化進程中,各行各業(yè)都沉淀了很多的知識,這些知識往往都是以知識圖譜的形式保存下來的。知識圖譜是典型的圖結(jié)構(gòu),節(jié)點就表示實體,邊則表示實體之間的關(guān)系。如果想要在知識圖譜上使用深度學(xué)習(xí)方法做檢索,首先需要考慮的就是將知識圖譜embedding到一個向量空間里面去,再在向量空間中進行語義檢索。我們面臨的第一個問題,是如何將一個復(fù)雜的知識圖譜embedding到一個向量空間中去?大家不妨思考一下知識圖譜具有什么樣的特點,其所具備的一個非常重要的特點就是它由三元組組成,而三元組具有非常強烈的約束,使用符號的形式進行表達是很容易理解的,比如通過<阿里,收購,優(yōu)酷土豆>這個三元組就能了解這樣的一種關(guān)系。但是將知識圖譜中的三元組embedding到向量空間中去之后,應(yīng)該如何去描述這種關(guān)系呢?這是一個非常關(guān)鍵的問題。

知識圖譜Embedding網(wǎng)絡(luò)

有一句話叫做“簡單的就是美的”,實體可以變成向量,而向量之間最簡單的代數(shù)計算就是相加或者相減,所以可以考慮讓三元組中的前兩個向量相加,等于第三個向量,通過簡單的相加關(guān)系來表達知識圖譜中符號上的邏輯關(guān)系。在如下圖所示的例子中,阿里+收購=優(yōu)酷土豆。

一個知識圖譜往往是非常龐大的,很多時候就會有幾百萬個實體,以及幾十億個關(guān)系,所以需要設(shè)計一個損失函數(shù)來盡量多地滿足等式關(guān)系,最終驅(qū)動實體和邊embedding到向量空間的比較好的點上面去。因為現(xiàn)在知識圖譜里面除了實體的信息之外還可能有其他的信息,比如對實體以及關(guān)系的描述,這種的描述往往是自然語言的形式,比如句子、段落甚至是一篇文章。像這些信息也是可以用序列embedding的方式先將其轉(zhuǎn)化成為一個向量,在向量空間里也強迫其滿足等式關(guān)系,將有助于實現(xiàn)整個知識圖譜的embedding,有助于后續(xù)語義上的處理。

知識圖譜檢索網(wǎng)絡(luò)

當(dāng)知道了如何embedding之后,接下來需要考慮如何檢索知識圖譜。此時,知識圖譜里面的實體已經(jīng)變成向量了,而問題也可以表達成向量,自然就可以使用問題向量在知識圖譜中尋找接近的向量,這樣所找出來的向量很可能與問題是語義相關(guān)的,甚至很有可能就包含了答案。但是在實際中這種做法可能會存在問題,因為問題表達學(xué)習(xí)與知識圖譜的embedding是兩個獨立的任務(wù),學(xué)習(xí)出來的向量空間實際上存在于不同的坐標(biāo)系里面,在不同的坐標(biāo)系里面,即便坐標(biāo)相同,所表示的內(nèi)容也可能是不相同的。所以需要將其做進一步的對齊,只有在坐標(biāo)對齊之后才能判斷兩個坐標(biāo)系中的點是否接近,從而判斷是否是真正地語義上的相近。對齊兩個坐標(biāo)系可以用Attention機制來實現(xiàn),當(dāng)然需要標(biāo)注數(shù)據(jù),設(shè)計新的Task來驅(qū)動Attention里面的參數(shù)收斂,使得兩坐標(biāo)系內(nèi)的向量是可比較的。如果標(biāo)注的數(shù)據(jù)量夠多,也可以對問題向量學(xué)習(xí)里面的網(wǎng)絡(luò)參數(shù)同時做fine tune,并且能夠起到更好的效果提升。在對齊之后就可以將問題向量丟到知識圖譜的向量空間中去了,將最相關(guān)或者最近的實體和關(guān)系找出來,這樣就能夠獲得最優(yōu)的證據(jù)。

網(wǎng)頁證據(jù)檢索網(wǎng)絡(luò)

除了知識圖譜是一個重要的證據(jù)來源之外,其實還有一個更大的證據(jù)來源在于互聯(lián)網(wǎng)。在互聯(lián)網(wǎng)中找證據(jù)就是一個經(jīng)典的搜索Ranking的問題,其核心就是衡量問題與網(wǎng)頁之間的語義相關(guān)性,找出與問題最為相關(guān)的網(wǎng)頁。用神經(jīng)網(wǎng)絡(luò)解決這個問題,需要把網(wǎng)頁文本和問題embedding到向量空間中,還需要設(shè)計一個相似性函數(shù),一般而言可以使用COS相似性,用COS值來衡量語義,經(jīng)過不斷的學(xué)習(xí)之后使得學(xué)習(xí)出來的向量的COS值能夠代表語義上的相近性,最終就可以用COS值來找尋與問題最為相關(guān)的網(wǎng)頁。

從相關(guān)證據(jù)中推理答案--閱讀理解

接下來分享當(dāng)將證據(jù)檢索完之后接下來該如何做。前面提到知識圖譜和網(wǎng)頁中的數(shù)據(jù)形式是具有一定差異的,還有一些證據(jù)會來自其他數(shù)據(jù)源比如百科、論壇以及圖片視頻等,而這些不同形態(tài)的數(shù)據(jù)連起來就會非常復(fù)雜。如何去進行綜合閱讀和推理是一個非常復(fù)雜的問題,也是強AI的問題,當(dāng)解決了這個問題也就能跨越到強AI的階段。

而到目前為止,這個問題還沒有一個非常好的解決方案,所以在該問題上的研究和討論也非常火爆。最近也有很多公司和研究機構(gòu)發(fā)布了許多簡化的開放的數(shù)據(jù)集供大家測試和研發(fā)算法,比如Standford的SQuAD數(shù)據(jù)集,這個數(shù)據(jù)集里面有500多個文章以及10萬多個問題,而去年百度、谷歌以及微軟也都發(fā)布了一些數(shù)據(jù)集,這些數(shù)據(jù)集也更大并且更加復(fù)雜,像百度和微軟所發(fā)布的數(shù)據(jù)集中段落的數(shù)目有100多萬,問題也有20多萬,并且這些數(shù)據(jù)集也更加接近于真實的場景。

閱讀理解網(wǎng)絡(luò)---找出答案片段

當(dāng)面對復(fù)雜的閱讀理解問題時,該如何設(shè)計深度學(xué)習(xí)模型來解決這個問題呢?其實這里還不能稱之為“解決”只能是“探索性解決”,因為現(xiàn)在還沒有一個特別好的解決方案。這里為大家分享一個目前在SQuAD數(shù)據(jù)集上表現(xiàn)比較好的網(wǎng)絡(luò)結(jié)構(gòu)。

在這個網(wǎng)絡(luò)結(jié)構(gòu)里輸入是一個問題和多個段落,目標(biāo)是在多個段落里面找出答案片段,當(dāng)然也可能有多個答案片段。自然也需要先對這些問題和段落進行embedding,在此基礎(chǔ)之上再進行進一步地處理。中間層的處理方式與前面所提到的問題分類以及序列標(biāo)注都有所不同,在中間層的PQ attention是將段落和問題進行關(guān)聯(lián),讓段落的表達能夠蘊含問題的語義,具體的做法就是讓段落中的每一個詞都多帶帶地對整個問題進行attention,這樣做完之后就能夠使得每個段落中的每個詞都能夠包含問題,也就是一定程度上將問題是什么以及段落中的詞與問題的關(guān)聯(lián)強度如何展現(xiàn)出來。因為段落往往比較長,會有很多雜音,所以上面再加一個Gate層,對無關(guān)的詞起到過濾抑制的作用。在此之上再加一層Fusion進行聚合,其功能就是將Gate層銳化的信息再做一個平滑,同時把前后的信息在此進行融合,使其能夠捕獲答案與段落關(guān)聯(lián)的更多信息。在最上面是Pointer層,這里就是找答案片段的層,在其下的那些層里面是將不同的段落多帶帶處理的,而在Pointer層中則是將所有的段落串起來作為一個段落看待,在里面尋找最佳答案;Pointer層是一個RNN,初始狀態(tài)是用問題向量,輸出是兩個Softmax層,一個表示答案的開始,另一個表示答案的結(jié)束。

答案生成網(wǎng)絡(luò)---自然語句生成

當(dāng)將段落中的答案找出來之后,還需要形成一個通順的語句并反饋給用戶,而有時候答案片段可能有多個,更需要將其串接起來形成自然語句。生成自然語句是一個序列的generation問題,與機器翻譯或者圖像caption問題是類似的。 網(wǎng)絡(luò)結(jié)構(gòu)包含兩大部分:encoder和decoder, 在Decoder部分,可以認為和上述問題都是一樣的,但是在Encoder部分就會有很大的區(qū)別,因為其數(shù)據(jù)來源和結(jié)構(gòu)完全不同。在機器翻譯里面,Encoder所處理的就是一個序列,而在閱讀理解里面,Encoder所處理的數(shù)據(jù)就既有問題也有段落,還會包含了已經(jīng)找出來的答案信息。

在Encoder中最下面的兩層Embedding和Encode中可以完全共享尋找答案網(wǎng)絡(luò)最下面的兩層參數(shù),這里的Start和End就是閱讀理解中的Poiner層輸出的結(jié)果,將其構(gòu)成二值化序列放進來。當(dāng)然除此之外,如果還有其他的特征也可以放入到Encoder里面來。Encoder的信息會輸出給Decoder,Decoder中有一個非常關(guān)鍵的層就是Attention,Attention能夠準(zhǔn)確地從問題或者段落里面找一些關(guān)鍵詞出來,使得必要的詞能夠被輸出到最終的答案語句中去。Decoder還會生成一些非關(guān)鍵詞,起到順滑和鏈接的作用。在這個網(wǎng)絡(luò)結(jié)構(gòu)里輸入是一個問題和多個段落,目標(biāo)是在多個段落里面找出答案片段,當(dāng)然也可能有多個答案片段。自然也需要先對這些問題和段落進行embedding,在此基礎(chǔ)之上再進行進一步地處理。中間層的處理方式與前面所提到的問題分類以及序列標(biāo)注都有所不同,在中間層的PQ attention是將段落和問題進行關(guān)聯(lián),讓段落的表達能夠蘊含問題的語義,具體的做法就是讓段落中的每一個詞都多帶帶地對整個問題進行attention,這樣做完之后就能夠使得每個段落中的每個詞都能夠包含問題,也就是一定程度上將問題是什么以及段落中的詞與問題的關(guān)聯(lián)強度如何展現(xiàn)出來。因為段落往往比較長,會有很多雜音,所以上面再加一個Gate層,對無關(guān)的詞起到過濾抑制的作用。在此之上再加一層Fusion進行聚合,其功能就是將Gate層銳化的信息再做一個平滑,同時把前后的信息在此進行融合,使其能夠捕獲答案與段落關(guān)聯(lián)的更多信息。在最上面是Pointer層,這里就是找答案片段的層,在其下的那些層里面是將不同的段落多帶帶處理的,而在Pointer層中則是將所有的段落串起來作為一個段落看待,在里面尋找最佳答案;Pointer層是一個RNN,初始狀態(tài)是用問題向量,輸出是兩個Softmax層,一個表示答案的開始,另一個表示答案的結(jié)束。

答案生成網(wǎng)絡(luò)---自然語句生成

當(dāng)將段落中的答案找出來之后,還需要形成一個通順的語句并反饋給用戶,而有時候答案片段可能有多個,更需要將其串接起來形成自然語句。生成自然語句是一個序列的generation問題,與機器翻譯或者圖像caption問題是類似的。 網(wǎng)絡(luò)結(jié)構(gòu)包含兩大部分:encoder和decoder, 在Decoder部分,可以認為和上述問題都是一樣的,但是在Encoder部分就會有很大的區(qū)別,因為其數(shù)據(jù)來源和結(jié)構(gòu)完全不同。在機器翻譯里面,Encoder所處理的就是一個序列,而在閱讀理解里面,Encoder所處理的數(shù)據(jù)就既有問題也有段落,還會包含了已經(jīng)找出來的答案信息。

在Encoder中最下面的兩層Embedding和Encode中可以完全共享尋找答案網(wǎng)絡(luò)最下面的兩層參數(shù),這里的Start和End就是閱讀理解中的Poiner層輸出的結(jié)果,將其構(gòu)成二值化序列放進來。當(dāng)然除此之外,如果還有其他的特征也可以放入到Encoder里面來。Encoder的信息會輸出給Decoder,Decoder中有一個非常關(guān)鍵的層就是Attention,Attention能夠準(zhǔn)確地從問題或者段落里面找一些關(guān)鍵詞出來,使得必要的詞能夠被輸出到最終的答案語句中去。Decoder還會生成一些非關(guān)鍵詞,起到順滑和鏈接的作用。

本文為大家分享了AI問答系統(tǒng)的架構(gòu)以及通用問答各個環(huán)節(jié)的深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)以及其背后原理。

閱讀原文

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/19726.html

相關(guān)文章

發(fā)表評論

0條評論

curried

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<