【深度】 基于圖的機器學(xué)習技術(shù):谷歌眾多產(chǎn)品和服務(wù)背后的智能
近來(lái)機器學(xué)習領(lǐng)域實(shí)現了很多重大的進(jìn)展,這些進(jìn)展讓計算機系統具備了解決復雜的真實(shí)世界問(wèn)題的能力。其中,谷歌的機器學(xué)習又是怎樣的 ?
【編者按】本文來(lái)源于機器之心,作者:Sujith Ravi,翻譯:吳攀
近來(lái)機器學(xué)習領(lǐng)域實(shí)現了很多重大的進(jìn)展,這些進(jìn)展讓計算機系統具備了解決復雜的真實(shí)世界問(wèn)題的能力。其中之一是谷歌的大規模的、基于圖(graph-based)的機器學(xué)習平臺,該平臺由Google Research的Expander團隊打造。
基于圖的機器學(xué)習支持著(zhù)你可能每天都在使用的谷歌產(chǎn)品和功能,這項技術(shù)是一種強大的工具,可以被用于驅動(dòng)Inbox的提醒功能和Allo的智能回復,或者與深度神經(jīng)網(wǎng)絡(luò )聯(lián)合使用以驅動(dòng)Google Photos最新的圖像識別系統。
用最少的監督進(jìn)行學(xué)習
深度學(xué)習以及廣義上的機器學(xué)習領(lǐng)域內的許多近來(lái)的進(jìn)步都可歸功于經(jīng)過(guò)了在有標注的大數據集上的訓練之后具有高度預測能力的模型——其訓練樣本數量往往數以?xún)|計。這常常被稱(chēng)為監督學(xué)習(supervised learning),因為它需要監督(以有標注數據的形式)來(lái)訓練機器學(xué)習系統。(相對地,一些機器學(xué)習方法則是直接運行在原始數據上,不需要任何監督,這種范式被稱(chēng)為無(wú)監督學(xué)習(unsupervised learning)。)
但是,任務(wù)越困難,獲得足夠的高質(zhì)量有標注數據的難度就越大。為每一個(gè)新問(wèn)題都收集足夠的有標注數據在人力消耗和時(shí)間消耗上都是讓人無(wú)法接受的。這促使了Expander研究團隊研發(fā)只需最少的監督就能驅動(dòng)大規模機器學(xué)習應用的新技術(shù)。
Expander的技術(shù)靈感來(lái)自于人類(lèi)學(xué)習歸納和將從未見(jiàn)過(guò)的新信息(無(wú)標注的信息)與他們已經(jīng)知道的信息(有標注的信息)聯(lián)系起來(lái)的方式。這被稱(chēng)為半監督學(xué)習(semi-supervised learning),這種強大的技術(shù)讓我們可以打造出能工作在訓練數據可能很稀疏的情況下的系統?;趫D的半監督機器學(xué)習(graph-based semi-supervised machine learning)方法這一進(jìn)步的關(guān)鍵是:
(a) 利用數據中的底層結構,可以在學(xué)習過(guò)程中對有標注和無(wú)標注數據聯(lián)合建模;
(b) 可以輕松地將多種類(lèi)型的信號(如來(lái)自知識圖譜的關(guān)系信息和數據的原始特征)結合成一個(gè)單一的圖表征(graph representation)并在那些數據上進(jìn)行學(xué)習。
這與神經(jīng)網(wǎng)絡(luò )等其它機器學(xué)習方法不一樣——其它方法通常是首先先使用帶有特征的有標注數據訓練出一個(gè)系統,然后將訓練出的系統應用于無(wú)標注數據。
圖學(xué)習:工作方式
在 Expander 的平臺的核心,它通過(guò)構建數據的一個(gè)多圖表征(multi-graph representation)而將半監督機器學(xué)習和大規模的基于圖的學(xué)習結合到了一起;在這個(gè)多圖表征中,節點(diǎn)(node)對應于物體或概念,邊(edge)則對應于具有相似之處的概念之間的連接。這種圖(graph)通常既包含了有標注數據(與已知輸出類(lèi)別和標簽關(guān)聯(lián)的節點(diǎn))和無(wú)標注數據(沒(méi)有被提供標簽的節點(diǎn))。然后Expander的框架執行半監督學(xué)習以通過(guò)在整個(gè)圖中傳播標簽信息而聯(lián)合地給所有的節點(diǎn)進(jìn)行標注。
但是,說(shuō)起來(lái)比做起來(lái)容易!我們必須:
1. 使用最少的監督(即:極少有標注數據)實(shí)現有效的規?;瘜W(xué)習;
2. 運行在多模態(tài)數據上(即:異構的表征和各種類(lèi)型的數據源);
3. 解決涉及可能帶有噪聲的高維數據的高難度預測任務(wù)(即:大而復雜的輸出空間)。
整個(gè)學(xué)習過(guò)程中的一個(gè)主要成分是圖和連接的選擇。圖有各種規模大小和形狀,可以從多個(gè)數據源結合而成。我們已經(jīng)觀(guān)察到從結合了多種數據表征(如:圖像像素、物體類(lèi)別和用于A(yíng)llo中PhotoReply的聊天回應信息)的信息的多圖(multi-graphs)中學(xué)習往往是有利的。Expander團隊的圖學(xué)習平臺可以基于數據元素之間推理出的和已知的關(guān)系直接從數據中自動(dòng)生成圖。其數據可以是結構化的(如關(guān)系數據),也可以是非結構化的(如從原始數據集提取出的稀疏或稠密的特征表征)。
要理解Expander的系統的學(xué)習方式,讓我們思考一下下面這個(gè)例子。
該圖中有兩種類(lèi)型的節點(diǎn):“灰色”代表無(wú)標注數據,而其它顏色則代表有標注數據。節點(diǎn)數據之間的關(guān)系通過(guò)邊表示,每條邊的厚度代表連接的強度。我們可以將這個(gè)簡(jiǎn)單圖的半監督學(xué)習問(wèn)題描述成:預測圖中每個(gè)節點(diǎn)的顏色(紅色或藍色)。注意:圖的結構和顏色的特定選擇是根據任務(wù)確定的。比如,正如我們在研究論文《Smart Reply: Automated Response Suggestion for Email》中提到的,我們?yōu)镮nbox的Smart Reply功能構建的圖可將電子郵件信息表示成節點(diǎn),而顏色則可代表用戶(hù)回應的語(yǔ)義類(lèi)別(如,“yes”、“awesome”、“funny”)。
Expander圖學(xué)習框架通過(guò)將這個(gè)標注任務(wù)當作是一個(gè)優(yōu)化問(wèn)題進(jìn)行處理而解決了這個(gè)問(wèn)題。從最簡(jiǎn)單的層面上講,它會(huì )為圖的每個(gè)節點(diǎn)分配一個(gè)顏色標簽,并根據節點(diǎn)之間的連接強度給相鄰的節點(diǎn)分配相似的顏色。解決這個(gè)問(wèn)題的一種天真的方式是嘗試一次性為所有節點(diǎn)學(xué)習一個(gè)標簽分配——但這種方法無(wú)法擴展到大型的圖。相反,我們可以通過(guò)將有標注節點(diǎn)的顏色傳播到它們的相鄰節點(diǎn),并不斷重復這個(gè)過(guò)程來(lái)優(yōu)化這個(gè)問(wèn)題的形式。在每一步中,都會(huì )通過(guò)檢查一個(gè)無(wú)標注節點(diǎn)的相鄰節點(diǎn)的顏色配置而給其分配一個(gè)標簽。我們可以以這種方式更新每一個(gè)節點(diǎn)的標簽,并不斷迭代直到整個(gè)圖都被標注上顏色。在優(yōu)化這種問(wèn)題上,這個(gè)過(guò)程是一種遠遠更為有效的方法;而且在這個(gè)案例中,迭代的序列會(huì )收斂成一個(gè)特定的解決方案。在圖傳播的最后的解決方案看起來(lái)像是這樣的:
在一個(gè)圖上的半監督學(xué)習
實(shí)際上,我們可以使用根據圖結構定義的復雜優(yōu)化函數,其整合了額外的信息和限制,使半監督學(xué)習可以應對困難的非凸問(wèn)題。但是,真正的難題是將其有效地擴展到包含了數十億個(gè)節點(diǎn)和數萬(wàn)億條邊,用于處理涉及到數十億不同標簽類(lèi)型的復雜任務(wù)的圖。
為了解決這一難題,我們創(chuàng )造了一種被稱(chēng)為“使用流逼近的大規模分布式半監督學(xué)習(Large Scale Distributed Semi-Supervised Learning Using Streaming Approximation)”的方法,該論文發(fā)表于去年。它介紹了一種流算法(streaming algorithm),該算法可以以一種分布式的方式處理從相鄰節點(diǎn)傳播來(lái)的信息,這種方式使其能夠工作在非常大型的圖上。此外,它還能解決其它實(shí)際的問(wèn)題,其中值得注意的是它能夠確保系統的空間復雜性或內存需求保持恒定,而且不論任務(wù)的難度如何都可以;即:不論預測標簽的數量是2(如上面示意的圖)還是100萬(wàn)甚至是10億,整個(gè)系統所使用的內存量都一樣。這能使自然語(yǔ)言處理、機器感知、用戶(hù)建模和甚至聯(lián)合多模態(tài)學(xué)習在涉及文本、圖像和視頻輸入等多模態(tài)數據的任務(wù)上的廣泛應用成為現實(shí)。
用于學(xué)習幽默的語(yǔ)言圖
情緒標注(emotion labeling)是基于圖的機器學(xué)習的一個(gè)應用案例,這也是Inbox的Smart Reply功能的一個(gè)語(yǔ)言理解任務(wù),其目標是使用它們經(jīng)過(guò)精細調節的情緒分類(lèi)標記自然語(yǔ)言文本中出現的詞。首先是在文本語(yǔ)料庫上應用一個(gè)神經(jīng)網(wǎng)絡(luò )模型來(lái)學(xué)習詞嵌入(word embeddings),這是每個(gè)詞的含義的數學(xué)向量表示。然后這個(gè)稠密的嵌入向量被用于構建一個(gè)稀疏的圖,其中的節點(diǎn)對應于詞,而邊對應于詞之間的語(yǔ)義關(guān)系。邊的強度通過(guò)嵌入向量之間的相似度計算得到——忽略低相似度的邊。我們使用先前已知的幾個(gè)節點(diǎn)的情緒標簽(例如:laugh被標注為“funny”)作為圖的基礎,然后在整個(gè)圖上應用半監督學(xué)習來(lái)發(fā)現剩余詞的情緒類(lèi)別(如:ROTFL(滾地大笑)被標注為“funny”,因為它有與“laugh”的多跳語(yǔ)義連接(multi-hop semantic connection)。
使用構建于詞嵌入向量的圖學(xué)習情緒關(guān)聯(lián)
對于涉及大型數據集或稠密表征(可被觀(guān)察到(如圖像的像素)或使用神經(jīng)網(wǎng)絡(luò )學(xué)習到(如嵌入向量))的應用而言,計算所有物體之間的成對的相似度來(lái)構建圖中的邊是不可行的。Expander團隊通過(guò)利用近似的線(xiàn)性時(shí)間圖構建算法(linear-time graph construction algorithms)解決了這個(gè)問(wèn)題。
基于圖的機器智能在行動(dòng)
Expander團隊的機器學(xué)習系統現在已經(jīng)被用在了大型圖(包含數十億節點(diǎn)和數萬(wàn)億邊)上,以識別和理解自然語(yǔ)言、圖像、視頻和查詢(xún)中的概念,并支撐著(zhù)谷歌的許多應用和產(chǎn)品,其中包括:提醒、問(wèn)答、語(yǔ)言翻譯、視覺(jué)物體世界、對話(huà)理解等等。
隨著(zhù)近期A(yíng)llo的發(fā)布,數百萬(wàn)聊天用戶(hù)現在已經(jīng)可以體驗Expander團隊的系統所驅動(dòng)的智能消息技術(shù)了,這些技術(shù)可以理解和協(xié)助多種語(yǔ)言的聊天會(huì )話(huà)。另外,這項技術(shù)不只被用在了云端的大規模模型中——正如上周宣布的那樣,Android Wear已經(jīng)向開(kāi)發(fā)者開(kāi)放了設備本地的Smart Reply功能,讓開(kāi)發(fā)者可以為任何消息應用提供智能回復。我們很期待在未來(lái)幾年內通過(guò)Expander解決更多充滿(mǎn)挑戰性的互聯(lián)網(wǎng)規模級的問(wèn)題。
最后,記得關(guān)注微信公眾號:鎂客網(wǎng)(im2maker),更多干貨在等你!
硬科技產(chǎn)業(yè)媒體
關(guān)注技術(shù)驅動(dòng)創(chuàng )新
