圖網路——悄然興起的深度學習新浪潮
現實世界中的大量問題都可以抽象成圖模型(Graph Model),也就是節點和連邊的集合。從知識圖譜到概率圖模型,從蛋白質相互作用網路到社交網路,從基本的邏輯線路到巨大的Internet,圖與網路無處不在。然而傳統的機器學習方法很難處理圖網路信息,這種缺陷大大限制了深度學習的應用領域。
於是人們提出了圖網路(Graph Network),一種基於圖結構的廣義人工神經網路,它可以直接對真實問題進行建模,又可以利用自動微分技術進行學習,甚至有望將多個傳統人工智慧領域進行融合。
本次AI&Society活動邀請了北京師範大學教授、集智俱樂部創始人張江及彩雲科技首席科學家肖達對圖網路的原理、應用領域,以及圖網路近期兩個火熱的子領域——關係推理和自注意力進行了分享。
本文是對張江老師和肖達老師演講的回顧,掃描海報中的二維碼即可觀看錄播。PC端也可以輸入網站鏈接進行觀看:
http://campus.swarma.org/gpac=381。
Graph Network and Beyond
深度學習中,什麼是最重要的?
我們知道,深度學習已經在很多領域都有成功的應用,比如圖像,語音等,那麼在深度學習中最本質的因素是什麼呢?
實際上,我們可以這樣理解:在以前,人類的知識被我們通過編程寫成程序,處理問題。而現在,我們將人類的知識編碼到神經網路中,它們變成了隱藏於網路結構、節點和大量數據中的信息。
從更深層次來看,我們可以將神經網路認為是一種可微分的編程,例如深度神經網路可以用背後的計算圖機製作為支撐,進行反向傳播。
實際上,我們將符號計算與數值計算在神經網路優化過程中進行了融合。所以我們可以進行求導,求微分的操作。
那麼這就意味著,深度學習可以被應用於任何可微分的領域,甚至我們可以暢想:在未來,所有的可微分的事物都是可學習的。
深度學習的廣泛應用
深度學習是怎麼「玩」起來的?
讓我們來回顧深度學習的運轉過程:人類設置一個架構,為機器設置一個評價標準,接下來就可以讓神經網路自動去學習,完成這個優化目標。
例如,圖像中具有大量的平移和旋轉不變性,而人類設置了卷積神經網路這種可提取多層次信息的架構,很好地將圖像中的深層次信息學出來。
對時間序列,我們也可以設計RNN的架構(及其變體)來學習到時間序列中的隱藏信息。
當然,我們還有類似於Attention機制等更先進的架構去關注數據中的關聯關係,又或者Deepmind推出的「可微分計算機」——它與馮諾伊曼的計算機體系完全不同,這可以讓我們去學習整個馮諾伊曼的計算機體系。
圖網路
當我們放眼大千世界事,我們會發現圖像、語音、語言數據很規則,很方便處理,但很少。更多的情況下,我們有大量的非歐式的圖網路數據,例如社交網路、腦影響網路等。能否對圖網路進行處理呢?答案是顯然的。
可微分計算機
在這篇最近非常火熱的綜述文章:relational inductive biases, deep learning, and graph networks中,已經提到了一種框架將深度學習與貝葉斯網路進行了融合,其結果是產生了一種具有推理能力的概率圖模型。但不僅如此,他們還提出了更多思路去結合深度學習與圖網路,指明了在圖網路領域應用深度學習的清晰方向。
在圖網路中,有很多例子可以完成對現實世界的抽象。什麼是圖網路呢?本質上,它是對神經網路的擴充,我們知道,神經網路的結構很特殊,而他的學習方式也通過反向傳播進行連邊上的權重調整。
而圖網路則可以從多個角度對神經網路進行擴充,具體而言,任何一個圖網路都包含節點、連邊、全局信息這樣三個大的信息單元,每個單元都可以被表徵為一個向量。
相比於深度學習只能更新權重,圖網路的學習發生於每一個環節上,包括對連邊狀態的更新、節點狀態的更新和全局信息的更新。在做完前饋運算之後,它也會進行反向傳播學習,因為它的每一步計算都是可微分的。
我們可以這樣理解圖網路的學習能力:圖網路將前饋的思路放在了每一個環節,連邊、節點、全局信息就都可以在反饋過程中被調整,這就使得網路的整體架構變得可學習。
網路的節點、連邊和全局信息
前文論文中提到的所謂的inductive bias,指的是人類對世界的先驗知識,對應在網路中就是網路結構。圖網路中的網路結構是固定不變的,我們可以將其理解為工程師放進去的一種先驗的「偏見」,如果工程師認為A事件導致B事件發生,那麼他就會在A、B之間放上一條連邊,這就體現了A、B之間的因果關係,我們稱之為推理能力。
圖網路可以做什麼?
例如我們將機械狗作為一個物理上的多體框架放在圖網路上進行處理,首先,圖網路可以將機械狗的每個機械結構作為一個實體,機械結構之間由關節相連,關節就可以被看做連邊,而節點和連邊之上都是帶有信息的,這樣我們就獲得了一份圖網路數據。
每個節點上都可以有一組向量,而機械狗的運動就可以由所有的節點向量和連邊向量來表示。當然,我們也可以加入更多的全局信息,例如從宏觀狀態上觀察到的機械狗的運動信息等等。
用圖網路表示機械狗
因此,我們對機械狗從各個角度進行了可微分描述,也建立了表示這些信息的圖網路,接下來我們就可以學習機械狗的運動模式了。
怎樣進行更高層的信息整合呢?在基本的圖網路構建完成之後,我們可以在高層次對信息進行處理來完成更複雜的任務。
例如,我們可以將多個圖網路疊加在一起(每一個圖網路都是同構的,但它們表徵的信息並不同),這樣我們就可以構建出多層的圖網路,從而擬合複雜的運算過程。
我們也可以將不同時間的圖網路狀態放入RNN架構中,從而完成對網路狀態的預測,甚至我們可以將網路的輸出作為自己的輸入,進行後續狀態的預測和生成。
圖網路的高層信息整合
除了物理系統,我們也完全可以將這一套原理放在更宏觀的架構之下,例如,我們可以用這一種框架去學習網路上的動力學過程,例如在社交網路上,每個人都是節點,而人們在社交網路上的觀點是怎樣傳播的?在交通流中,交通信息(堵車程度,車速信息等)又該怎樣傳播?這一類問題都可以通過圖網路來解決。
圖卷積
為了能夠更好的整合圖網路信息,我們可以對圖網路進行卷積操作,具體來說,我們可以應用圖信號處理領域知識,對圖數據進行傅立葉變換,將卷積的定義擴展到圖數據上。最終,我們可以通過圖網路上的簡單矩陣相乘和線性映射來表示圖卷積,從而對每一組向量的信息進行深層次提取。
對圖網路進行卷積之後,我們很意外的發現,圖網路竟然在完全隨機化的初始條件下,完成了在表徵空間下的標籤聚類。
實際上,這正是因為圖卷積操作就是在捕獲圖網路上的鄰域信息,而鄰域信息也被包含於節點和連邊的數值中。在經過非線性映射之後,我們可以將其理解為對各種特徵進行強化和分散處理,使特徵更為明顯,從而更好地完成聚類。
使用圖網路進行聚類
除此之外,我們還可以通過半監督學習來預測節點信息:通過已知節點的信息和圖卷積方法運行圖網路,標籤信息就會在圖數據上擴散,然後我們再用已知節點作為監督信息去調節,這就讓整個網路上都擁有了標籤信息,其準確度是非常高的,有些甚至可以超過80%。
此外,我們自己的研究組還做了網路上的SIR模型(傳染病模型),這個模型的運作規律是:每個人有健康、染病和恢復三個狀態,在每個時間步中,每個人都有一定的概率被他的鄰居感染,被感染者也有一定的概率恢復健康。
圖網路在SIR模型上的應用
在SIR的過程中,我們可以使用圖網路進行學習,用當前時刻的狀態去預測下一時刻的狀態,其預測效果是非常好的。更有意思的是,我們可以用已知節點的信息去預測未知節點的信息,在網路結構狀態已知,部分節點狀態未知的情況下,所有的節點信息都可以被比較準確地恢復。
圖網路上的注意力
除了卷積之外,圖網路上的注意力也是一個有趣的研究方向,我們知道注意力機制現在已經被應用於圖像、語言信息的處理中,現在注意力機制也被應用於圖網路數據的處理中來。
在圖卷積網路中,我們可以將注意力結構內嵌其中,在每次更新節點信息時,我們需要計算出網路的注意力、注意力表示節點和節點之間的關係權重,我們可以將其理解為每個節點在進行更新的過程中更應該關注誰,誰對這個節點來說更重要。
使用圖網路進行融合推理
我們知道,貝葉斯網本身表示了隨機變數間的因果關係。通常情況下,貝葉斯網路的圖結構需要被人為建立,並且給出節點和連邊的概率分布。
在深度學習出現之前,我們用隱馬爾可夫過程去完成語音的學習,我們會使用到信念傳播演算法。但現在我們可以從新的角度去學習:將節點和連邊映射為圖網路,在圖網路上進一步學習節點和連邊的關係的運算。
貝葉斯網路之父Judea Pearl和他的貝葉斯網路
如果圖結構以及他們每個節點和連邊上的概率分布都是可學習的,那麼只要有部分節點的數據觀測信息,我們就可以推測出整個網路的觀測信息,而且這是很有可能做到的。仔細看來,這個過程很有可能蘊藏著遠比其看起來更深刻的意義:
具體而言,現在的技術可以做到對不可微分領域的學習,這與傳統的深度學習非常不同,我們不需要結構是可微分的,這就大大拓展了深度學習的可應用範圍。
怎樣連接不可微的部分呢?我們可以通過Policy Gradient演算法完成這樣的連接。例如,我們有一個複雜的神經網路,在最後一步我們需要按照概率做一個選擇,而概率選擇會將梯度信息的中斷。
而Policy Gradient則可以通過概率期望替代評價函數,並非每次都獲得回報,而是通過多次採樣的期望收益進行反向傳播。這就使得離散的選擇變成了可傳遞梯度的架構。
使用Policy Gradient連接中斷的梯度信息
Policy Gradient模型也是有一些弱點的:他們很難優化和收斂。除Policy Gradient之外,最近也有一種新興技術:Gumbel Softmax,他們會在選擇的過程中加入Gumbel分布的隨機數,導致可以獲得梯度不斷的概率分布信息,最終的梯度就可以被反向傳播回來。
這就使得我們可以在經典的Softmax操作上加入Gumbel隨機數,並通過參數調節,使得梯度並不中斷,從而連接中斷的微分操作。
總之,現在的深度學習領域也可以被擴大到任何數據結構上,而且在更多的結構上,人們都已經有方法去解決可微分、可傳遞梯度的問題,此外,我們還可以看到,現在的圖網路應用已經擴展到各種領域,很多原本各自平行發展的架構,現在都已經可以通過圖網路進行融合,人們將原來的先驗信息和圖網路深度學習方法進行融合,這使得「任何事物都是可學習的」變成了可能。
From Relational Reasoning to Memory and Attention
什麼是關係推理問題
我們可以通過幾個例子直接感受關係推理是什麼:
在1917年,認知心理學家做了一個實驗,給一隻母雞兩個顏色紙(淺色和深色),其中淺色放上稻穀,深色不放稻穀,經過訓練,母雞可以正確的選擇淺色的紙。接下來,我們將深色的紙變為白色。這時母雞竟然會選擇白色,而不是有稻穀的淺色。
其中的一種解釋是,母雞會學了紙的顏色與是否有稻穀的抽象關係:淺色有稻穀,而深色沒有稻穀,白色是最淺的顏色,所以母雞會選擇白色:
小雞的「關係推理」
在人類的例子中,我們可以進行更複雜的推理。例如Bob比Tom高,Tom比Peter高,那麼我們可以自然地計算出,Tom比Peter高。這個推理雖然並不複雜,但需要人類理解其中的抽象關係,才能夠正確地完成推理過程(實際上,通常只有三四歲以上的小朋友才會逐步具備這種能力):
用關係推理來理解誰更高
在語言學習的領域,研究發現孩子在學習語言的時候,具體的實體將會最早地被學習到(例如蘋果,桌椅),而關係(例如叔叔)則會被稍晚學習到,而更複雜的if、otherwise等關係則要等到八歲才能夠被正確地學習和應用。
在科學發現中,很多科研成果也是通過類似的類比推理的方法獲得而來。盧瑟福認為原子和電子有吸引和旋轉的關係——就像星星和太陽一樣,他將太陽和星星的關係映射到原子核和原子上,這種映射我們稱之為保結構映射。
更具體來看,太陽和星星之間有這吸引關係,這種關係的推理也被映射到原子和電子中去——這意味著我們不但映射了位置關係,還映射了關於關係的關係(引力關係解釋了位置關係)。
自然語言處理中的關係推理
在自然語言理解中,指代消解是一個很有趣的挑戰,也是最能體現關係推理能力的場景之一,如圖,其中的it到底指的是什麼?這對於人類來說不難回答,但現有的深度學習結構並不能很好地處理其中的問題:自然語言中的指代消解
而在關係推理的難題:智力測驗中,我們會需要完成大量的規律、關係的探索和發現,如圖:
複雜的關係推理問題
這個問題的做法是:從縱向來看,每一個方框都要比上一個方框中的五角星多一個,所以答案是A,可以看到,這個過程需要大量的關係推理,即使是人類完成這個問題也並不容易。
當前,我們已經通過深度學習在圖像、語音等領域取得了很好的成就,但符號推理領域還尚未被攻克。在這兩個領域之間很可能就是關係推理,到現在為止,人們對關係推理的嘗試還沒有取得具有大量突破性的進展。而今天分享的圖網路演算法是很有可能幫助我們在這個領域取得一些突破。
Memory & Attention
在翻譯領域中,傳統的編碼-解碼模型會用LSTM對句子進行編碼和翻譯。加入了Attention機制之後,每次生成一個目標語言的單詞的時候,Attention機制都會關注到原文中的哪個位置更為重要,這就是Attention機制的原理。所以,我們也可以將Attention機制看做從Memory中的讀操作。
通過Attention機制,我們可以解決很多實際問題,例如在描述大量實體狀態的複雜問答過程中,我們可以通過Attention機制去關注到一個問題的多個對應答案,經過多次運算(也可以被稱之為多步推理)之後,就可以將每一步需要關注的東西學到,從而找到最關鍵的答案。
使用Attention機制進行多步推理
在上圖中:Attention機制在不同的循環步數中關注到了John的動作和位置信息,從而給出了正確答案。
Relation Network
什麼是Relation Network呢,在傳統的網路中,我們可以直接通過全連接網路對輸入進行映射並輸出。當然,我們也可以加上一些先驗知識,對每個實體單獨進行映射,然後在進行全連接的運算。
更進一步,如果我們認為實體之間兩兩是有關係的,那麼我們可以將實體的兩兩之間組成一個聯結對,然後再分別進行映射,這個映射過程就是在檢驗實體之間的關係是否存在,並試圖量化實體之間的關係。
具體而言,Relation Network可以被應用於很多地方,例如用圖片回答問題:
Relation Network
在這個問題中,我們可以讓Relation Network去將任意兩個Object兩兩組合,形成聯結對,再與問題的編碼相結合,通過線性映射形成對問題和答案的表示,最終再映射為對問題的解答。選擇問題答案的時候,我們同樣可以將每個答案和問題去拼接,通過是否有關的映射之後再映射為最終答案。
回到前文中的智商測驗的問題上,如果我們把智商檢測問題交給機器處理,我們發現如果用CNN或者ResNet去處理的話,其效果並不如使用Relation Network進行處理達到的效果更優。
Relation Network的處理該問題的核心原理是:把每個圖片作為一個實體,將圖片和備選答案也作為實體與剩下的給定圖片進行組合,則可以一個比較大的概率發現其中的隱藏關係。
總體而言,一般的圖網路的結構具有連邊的更新、節點的更新和全局狀態的更新這三步。在relation network中,我們對問題進行了化簡:節點更新被丟棄,我們將直接進行連邊更新和全局更新,其優點是結構相對簡單,尤其是可以被模塊化和插裝。(如果將模塊加入到CNN網路中,CNN網路也就可以擁有推理能力)但他也有一個缺點:由於任意實體之間都要建立聯結對,所以其計算複雜度是很高的。
Self-Attention
self attention最早被應用於翻譯領域,我們可以將其理解為類似於卷積的一種結構。對於卷積來說,我們會首先定義窗口大小,然後對窗口內的向量進行卷積操作。而self attention可以將這個過程變為動態的,我們可以認為她可以從任何位置抓取信息用於運算,而具體抓取信息的位置就是attention 機制學習得到的。
因此,self attention可以突破窗口大小的限制,完成很多長程連接上的信息提取,例如可以用self attention解決前文提到的指代消解問題:在self attention結構進行運算時,我們可以看到it在不同的語境下,關注到了不同的實體。
使用self attention解決指代消解問題
Transformer模型
Transformer模型是一個內嵌了self attention模型的網路架構,其目的是做出可以解決大量語言中的問題的通用模型。Transformer是怎樣運作的呢?
假設一句話中有六個詞,分別被稱為X0,X1...X5。self attention需要在這六個詞語之間建立聯繫,首先,每個詞語將通過線性映射被映射為一個我們稱為key 和value的向量,每一個query需要和其他key進行向量點積,其點積結果就可以被看作相關度,最終我們可以得到每個詞語和其他哪個詞語更為相關。
Transformer模型
在詞語的相關度被建立之後,我們就可以基於相關關係去做信息傳播了,多次重複這個過程,我們就可以對節點上的信息進行更新。值得一提的,是在self attention的結構中,我們默認是沒有位置信息的,因此我們常常需要在處理時間序列時手動加入一些位置信息。
在翻譯模型中,我們會在輸入端和輸出端多次進行前文的操作,即可獲得更好的詞語之間的關係結果,從而達到更好的翻譯效果。
在RNN中,每個詞都是按順序輸入的,因此任何兩個節點的關係都是需要n步運算,在CNN中,由於多層的信息處理是樹狀結構,因此兩個節點的距離是log(n)。
而在self attention中,由於任何兩個詞語之間都有聯繫,所以它們建立關係只需要一步,在長文本序列中,長程連接上的信息經過越多步傳播就越容易丟失,所以Transformer模型中的self attention架構可以對關係,尤其是長程關係進行更好的提取。
通過對基於self attention模型的Transformer模型的預訓練,人們可以根據少量的遷移就能在不同的語言任務(閱讀理解,翻譯,情感計算等)中都取得很大的進展。
總體而言,傳統的注意力機制建立的關係是1對1的,而Relation Network建立的關係是多對多的關係,self attention建立的關係則是1對k的:這意味著每個節點(詞語)可以對應k個關係,k是可學習的參數。self attention的一個基本的模式是:建立全局關聯,交換信息,局部整合,建立新的全局關聯……循環往複這個過程,self attention架構將逐步準確的找到節點之間的關係信息,而無序關注節點的空間距離。
現場照片集錦
AI&Scociety學術沙龍簡介
人類已經全面進入了智能社會,以人工智慧為代表的新一代技術必將逐步滲透到我們的日常生活之中,並徹底改變我們的社會形態。那麼,新一代的人機共生社會需要怎樣的社會科學?社會科學的研究成果又如何促進人工智慧的發展?人工智慧會怎樣影響人類社會?社會科學研究又如何借鑒人工智慧領域的最新成果?
我們認為挖掘AI與社會領域有想法的年輕學者,促進AI與社會原創思想的交流與碰撞是探索、回答這一系列重大問題的第一步。因此,騰訊研究院S-Tech工作室與集智俱樂部共同打造了「AI&Society」的系列學術沙龍活動。
該系列沙龍以線下實體活動為主,我們將邀請AI與社會領域的交叉研究學者進行公開性的討論與思想碰撞。沙龍的主題可涵蓋但不限於如下的內容和主題:
計算社會科學(Computational Social Sicence)
社會計算(Social Computing)
多主體系統(Multi agent systems)
演算法經濟學(Algorithm Economy)
人工智慧社會學(Artificial Intelligence Sociology)
群體智慧(Swarm Intelligence)
人類計算(Human Computation)
機器學習(Machine Learning)
技術與人類社會(Technology and Human Society)
人工智慧與城市科學(Artificial Intelligence and Urban Science)
來源:集智俱樂部
※如果連一個遊戲的數值策劃都做不好,區塊鏈就談不上經濟
※當你把QQ年齡設為12歲以下時……
TAG:騰訊研究院 |