【深度】 基于圖的機器學習技術:谷歌眾多產品和服務背后的智能

韓璐 9年前 (2016-10-09)

近來機器學習領域實現了很多重大的進展,這些進展讓計算機系統具備了解決復雜的真實世界問題的能力。其中,谷歌的機器學習又是怎樣的 ?

【編者按】本文來源于機器之心,作者:Sujith Ravi,翻譯:吳攀

近來機器學習領域實現了很多重大的進展,這些進展讓計算機系統具備了解決復雜的真實世界問題的能力。其中之一是谷歌的大規模的、基于圖(graph-based)的機器學習平臺,該平臺由Google Research的Expander團隊打造。

基于圖的機器學習支持著你可能每天都在使用的谷歌產品和功能,這項技術是一種強大的工具,可以被用于驅動Inbox的提醒功能和Allo的智能回復,或者與深度神經網絡聯合使用以驅動Google Photos最新的圖像識別系統。

【深度】  基于圖的機器學習技術:谷歌眾多產品和服務背后的智能

用最少的監督進行學習

深度學習以及廣義上的機器學習領域內的許多近來的進步都可歸功于經過了在有標注的大數據集上的訓練之后具有高度預測能力的模型——其訓練樣本數量往往數以億計。這常常被稱為監督學習(supervised learning),因為它需要監督(以有標注數據的形式)來訓練機器學習系統。(相對地,一些機器學習方法則是直接運行在原始數據上,不需要任何監督,這種范式被稱為無監督學習(unsupervised learning)。)

但是,任務越困難,獲得足夠的高質量有標注數據的難度就越大。為每一個新問題都收集足夠的有標注數據在人力消耗和時間消耗上都是讓人無法接受的。這促使了Expander研究團隊研發只需最少的監督就能驅動大規模機器學習應用的新技術。

Expander的技術靈感來自于人類學習歸納和將從未見過的新信息(無標注的信息)與他們已經知道的信息(有標注的信息)聯系起來的方式。這被稱為半監督學習(semi-supervised learning),這種強大的技術讓我們可以打造出能工作在訓練數據可能很稀疏的情況下的系統?;趫D的半監督機器學習(graph-based semi-supervised machine learning)方法這一進步的關鍵是:

(a) 利用數據中的底層結構,可以在學習過程中對有標注和無標注數據聯合建模;

(b) 可以輕松地將多種類型的信號(如來自知識圖譜的關系信息和數據的原始特征)結合成一個單一的圖表征(graph representation)并在那些數據上進行學習。

這與神經網絡等其它機器學習方法不一樣——其它方法通常是首先先使用帶有特征的有標注數據訓練出一個系統,然后將訓練出的系統應用于無標注數據。

圖學習:工作方式

在 Expander 的平臺的核心,它通過構建數據的一個多圖表征(multi-graph representation)而將半監督機器學習和大規模的基于圖的學習結合到了一起;在這個多圖表征中,節點(node)對應于物體或概念,邊(edge)則對應于具有相似之處的概念之間的連接。這種圖(graph)通常既包含了有標注數據(與已知輸出類別和標簽關聯的節點)和無標注數據(沒有被提供標簽的節點)。然后Expander的框架執行半監督學習以通過在整個圖中傳播標簽信息而聯合地給所有的節點進行標注。

但是,說起來比做起來容易!我們必須:

1. 使用最少的監督(即:極少有標注數據)實現有效的規?;瘜W習;

2. 運行在多模態數據上(即:異構的表征和各種類型的數據源);

3. 解決涉及可能帶有噪聲的高維數據的高難度預測任務(即:大而復雜的輸出空間)。

整個學習過程中的一個主要成分是圖和連接的選擇。圖有各種規模大小和形狀,可以從多個數據源結合而成。我們已經觀察到從結合了多種數據表征(如:圖像像素、物體類別和用于Allo中PhotoReply的聊天回應信息)的信息的多圖(multi-graphs)中學習往往是有利的。Expander團隊的圖學習平臺可以基于數據元素之間推理出的和已知的關系直接從數據中自動生成圖。其數據可以是結構化的(如關系數據),也可以是非結構化的(如從原始數據集提取出的稀疏或稠密的特征表征)。

要理解Expander的系統的學習方式,讓我們思考一下下面這個例子。

【深度】  基于圖的機器學習技術:谷歌眾多產品和服務背后的智能

該圖中有兩種類型的節點:“灰色”代表無標注數據,而其它顏色則代表有標注數據。節點數據之間的關系通過邊表示,每條邊的厚度代表連接的強度。我們可以將這個簡單圖的半監督學習問題描述成:預測圖中每個節點的顏色(紅色或藍色)。注意:圖的結構和顏色的特定選擇是根據任務確定的。比如,正如我們在研究論文《Smart Reply: Automated Response Suggestion for Email》中提到的,我們為Inbox的Smart Reply功能構建的圖可將電子郵件信息表示成節點,而顏色則可代表用戶回應的語義類別(如,“yes”、“awesome”、“funny”)。

Expander圖學習框架通過將這個標注任務當作是一個優化問題進行處理而解決了這個問題。從最簡單的層面上講,它會為圖的每個節點分配一個顏色標簽,并根據節點之間的連接強度給相鄰的節點分配相似的顏色。解決這個問題的一種天真的方式是嘗試一次性為所有節點學習一個標簽分配——但這種方法無法擴展到大型的圖。相反,我們可以通過將有標注節點的顏色傳播到它們的相鄰節點,并不斷重復這個過程來優化這個問題的形式。在每一步中,都會通過檢查一個無標注節點的相鄰節點的顏色配置而給其分配一個標簽。我們可以以這種方式更新每一個節點的標簽,并不斷迭代直到整個圖都被標注上顏色。在優化這種問題上,這個過程是一種遠遠更為有效的方法;而且在這個案例中,迭代的序列會收斂成一個特定的解決方案。在圖傳播的最后的解決方案看起來像是這樣的:

【深度】  基于圖的機器學習技術:谷歌眾多產品和服務背后的智能

在一個圖上的半監督學習

實際上,我們可以使用根據圖結構定義的復雜優化函數,其整合了額外的信息和限制,使半監督學習可以應對困難的非凸問題。但是,真正的難題是將其有效地擴展到包含了數十億個節點和數萬億條邊,用于處理涉及到數十億不同標簽類型的復雜任務的圖。

為了解決這一難題,我們創造了一種被稱為“使用流逼近的大規模分布式半監督學習(Large Scale Distributed Semi-Supervised Learning Using Streaming Approximation)”的方法,該論文發表于去年。它介紹了一種流算法(streaming algorithm),該算法可以以一種分布式的方式處理從相鄰節點傳播來的信息,這種方式使其能夠工作在非常大型的圖上。此外,它還能解決其它實際的問題,其中值得注意的是它能夠確保系統的空間復雜性或內存需求保持恒定,而且不論任務的難度如何都可以;即:不論預測標簽的數量是2(如上面示意的圖)還是100萬甚至是10億,整個系統所使用的內存量都一樣。這能使自然語言處理、機器感知、用戶建模和甚至聯合多模態學習在涉及文本、圖像和視頻輸入等多模態數據的任務上的廣泛應用成為現實。

用于學習幽默的語言圖

情緒標注(emotion labeling)是基于圖的機器學習的一個應用案例,這也是Inbox的Smart Reply功能的一個語言理解任務,其目標是使用它們經過精細調節的情緒分類標記自然語言文本中出現的詞。首先是在文本語料庫上應用一個神經網絡模型來學習詞嵌入(word embeddings),這是每個詞的含義的數學向量表示。然后這個稠密的嵌入向量被用于構建一個稀疏的圖,其中的節點對應于詞,而邊對應于詞之間的語義關系。邊的強度通過嵌入向量之間的相似度計算得到——忽略低相似度的邊。我們使用先前已知的幾個節點的情緒標簽(例如:laugh被標注為“funny”)作為圖的基礎,然后在整個圖上應用半監督學習來發現剩余詞的情緒類別(如:ROTFL(滾地大笑)被標注為“funny”,因為它有與“laugh”的多跳語義連接(multi-hop semantic connection)。

【深度】  基于圖的機器學習技術:谷歌眾多產品和服務背后的智能

使用構建于詞嵌入向量的圖學習情緒關聯

對于涉及大型數據集或稠密表征(可被觀察到(如圖像的像素)或使用神經網絡學習到(如嵌入向量))的應用而言,計算所有物體之間的成對的相似度來構建圖中的邊是不可行的。Expander團隊通過利用近似的線性時間圖構建算法(linear-time graph construction algorithms)解決了這個問題。

基于圖的機器智能在行動

Expander團隊的機器學習系統現在已經被用在了大型圖(包含數十億節點和數萬億邊)上,以識別和理解自然語言、圖像、視頻和查詢中的概念,并支撐著谷歌的許多應用和產品,其中包括:提醒、問答、語言翻譯、視覺物體世界、對話理解等等。

隨著近期Allo的發布,數百萬聊天用戶現在已經可以體驗Expander團隊的系統所驅動的智能消息技術了,這些技術可以理解和協助多種語言的聊天會話。另外,這項技術不只被用在了云端的大規模模型中——正如上周宣布的那樣,Android Wear已經向開發者開放了設備本地的Smart Reply功能,讓開發者可以為任何消息應用提供智能回復。我們很期待在未來幾年內通過Expander解決更多充滿挑戰性的互聯網規模級的問題。

最后,記得關注微信公眾號:鎂客網(im2maker),更多干貨在等你!

鎂客網


科技 | 人文 | 行業

微信ID:im2maker
長按識別二維碼關注

硬科技產業媒體

關注技術驅動創新

分享到