如何讓機器學習關係推測 - 知乎

人類的大部分知識都以概念和不一樣概念之間的關係形式存在。若是讓機器學習智能, 須要讓它可以在數據中發現概念和挖掘關係。雖然機器學習和深度學習發展到今天,特別擅長數據之間的統計相關性,好比經過一組線性和非線性的變化把找到 P(Y|X) , 可是這種發現止於相關性, 而相關性僅僅是世界上大部分關係的冰山一角。 而各類邏輯關係,因果關係,好比物理裏的做用力,仍是劇本里人情世故的變化,則都超出這個範疇。網絡

離開關係當下機器學習對概念的理解也是有限的, 由於概念的存在依賴於它和其餘概念的關係,尤爲是總體和部分的關係。例如真正理解某種化學物質是什麼,就要理解組成該化學物質的原子和其關係,真理解生命,就要理解生物組成生命的細胞和其關係。框架

那麼當下的任務就很明確了, 咱們須要作一個機器學習模型, 不但具有基本的統計擬合能力,還能夠進行關係推理,就須要把世界的這種關係本質做爲一種先驗嵌入到系統裏。 我以前總結的讓符號主義AI和深度學習融合的文章對整個這一思路框架進行了概括 機器學習

許鐵-巡洋艦科技:AI的下個十年zhuanlan.zhihu.com圖標

向這個偉大目標前進的第一步,是圖網絡。 圖網絡是當下機器學習的熱點,這裏咱們不是從偏工程的角度,而是從關係學習自己來看圖網絡, 具體來介紹下面這個文章:svg

Relational inductive biases, deep learning, and graph networksarxiv.org

若是咱們想要讓基於統計的神經網絡模型某種程度掌握物體和物體,概念和概念之間基本的做用規律, 從而讓深度學習看起來好像掌握一個符號體系。那麼咱們至少須要作到兩件事,一個是從數據中提取概念符號做爲節點,另外一個是學習節點和節點間可能存在的關係。 函數

圖網絡自然的具備定好的節點和邊G =(V,E), 所以若是咱們忽略第一步,僅僅聚焦在關係的表示和學習,圖網絡就是完成這件事的自然載體。工具

咱們就從節點,邊,系統的角度來觀察這個問題。 學習

首先說大千世界的大部分數據類型均可以看做這樣的一種由節點和邊構成的圖, 不說那些自己具有高度結構性的分子構型圖,物理質點系統(下圖abcd),就連深度學習的平常圖片和天然語言,都實際上是能夠看做這樣的一個圖。在天然語言中,節點能夠看做單詞,而節點關係的定義能夠看做是語法樹的結構自己(下圖e), 而在圖像中, 其實就是圖像不一樣部分的某種鏈接圖(下圖f),節點是圖像塊,關係是圖像塊間的隱層聯繫。若是你熟悉CNN,那麼你知道CNN自身就包含了像素和像素之間的這樣的鏈接圖,只不過它假設了只有被卷積定義的相鄰像素間才容許存在鏈接。 flex

那麼咱們再來看GNN, 圖網絡自己能夠被看做對具有圖結構的數據表示進行推理的工具。一旦數據被表示成由節點和邊鏈接成的模式圖。 咱們就可使用圖網絡的基本工具對關係進行建模。 這個基本的工具叫圖網絡模塊,比較複雜的圖網絡也能夠看做是由較爲簡單的圖網絡模塊一點點延伸構成的。編碼

這種基本的圖網絡模塊被稱爲GNblock, 它以一個圖做爲輸入, 執行一個運算,而後返回一個圖做爲輸出。咱們看這個定義比較擰巴。這句話的真實含義是, 圖網絡模塊,表明一種變換,就像某一層神經網絡表明一種變換。 與神經網絡不一樣, 圖網絡模塊須要同時輸入節點的特徵X和邊的特徵E。 若是你考慮到圖網絡模塊的目標是利用假定的已知結構推導未知的關係,這個定義就極爲的天然合理。輸入的圖能夠看做咱們在缺少信息的時候假定的一個圖結構,有了它咱們能夠進行信息的傳遞,從而獲得包含了節點信息的邊表示,和包含了邊信息的節點表示。 要知道這裏咱們利用了假定的結構信息進行信息的傳遞, 這是圖網絡前的神經網絡所不具有的關鍵步驟。 經過監督或非監督的方法基於這些節點和邊的表示進行對目標的預測, 假定最終的結果是正確的,網絡就可能正確的表達了概念或符號之間的關係。 url

然年後咱們依次來看圖的不一樣要素, 圖基本模塊裏出現的實體包含節點(v),邊(e),和圖的總體(u), 它們均可以被向量表達。 一個節點上的屬性一般能夠看做節點的狀態或特徵, 好比若是是質點它就是速度和位置。 而邊一般指定節點和節點如何鏈接, 這種鏈接能夠是單向的也能夠是雙向的,它的屬性能夠包含相互做用的特性,好比若是是物理系統它可能與做用力相關。 而圖的總體屬性u則包含咱們要研究的系統整體特性。對於物理系統這個整體特性能夠是系統的一些參數好比能量,動量。 對於天然語言它多是一段文字的感情。 而對應的更廣義的複雜系統,它則與涌現概念密切相關。

那麼後面咱們就以一個物理系統爲基礎來看這個問題;

首先咱們能夠定義個引力鏈接的物理質點系統G =(U, V, E), 這裏的E是引力, V是速度,位置,質量,而U是重力場,具有能量。

當定義好G,咱們就可讓整個動力系統向前演化, 每一個時刻, 力先進行更新, 而後力造成協力, 更新質點狀態, 而後把更新的力和質點統一在一塊兒,更新整個系統的狀態。

這是當系統已知的時候,咱們能夠用牛頓的萬有引力公式和牛頓第二定律來求解整個系統。 那麼若是這些知識是未知的呢? 咱們能夠用神經網絡來表達剛剛說的全部屬性, 而後一樣來作動力學更新,只不過這一次力的做用變成了圖網絡的語言-消息傳遞,而質點的更新變成了網絡迭代求解新的節點embedding 。

若是存在必定數據,咱們就能夠用梯度降低來算出那些未知的節點和邊是什麼。

咱們來看如何在機器學習裏真實的設計這樣一個系統。


一, 首先考慮求解問題的目標

首先和全部機器學習任務同樣你要有明確的目標函數, 相對於圖自己這個函數能夠是有關邊的,有關節點的,或有關圖總體的。 好比不少時候咱們關心相互做用自己的類型, 在社交網絡裏咱們要推斷某兩我的之間有沒有交易關係, 在生物腦網絡裏咱們要判斷兩個腦區有沒有鏈接,這時候咱們要進行邊的分類。

有時候這種推理是有關質點的, 好比咱們要知道疾病網絡裏某個特定的人是否會成爲超級傳播者, 這時候咱們每每是對節點進行分類。

還有一類問題是咱們的推理是有關圖總體的,假如圖片是一個網絡, 那麼當咱們要讓機器回答關於圖片總體的一個問題,它就是對圖的總體的一種任務,類似的也對應天然語言。

二, 問題的分類, 邊已知,邊未知, 邊部分已知。

而後咱們再來看圖網絡的結構設計。 這種設計包含邊的鏈接已知和未知兩種。 由於在不少時候,咱們事先知道這個網絡的鏈接,好比基於知識圖譜,分子網絡的推理。 而另外一些時候,這些關係是隱含的,好比圖像,天然語言間的關係。 這時候咱們每每能夠假定網絡是全鏈接的,或者局部全鏈接,好比CNN,LSTM。 雖然在這個結構裏咱們沒有假定元素和元素間的特定鏈接, 可是經過這些網絡強大的學習和表示力,其實會經過匹配獲得一個解釋力最強的鏈接。 還有一些時候,關係處在已知和未知之間,咱們知道某些節點間的邊鏈接但不知道其它的,這在複雜系統的求解裏很常見。

三, 設計基本圖網絡單元的變體

圖網絡的基本單元都具有

必定要實現的連接有更新當下的邊和節點狀況對邊進行更新, 而後根據當下更細的邊發射消息並集合到節點,根據這些消息更新節點狀態, 和網絡整體狀態這些基本步驟, 經過這些步驟的循環, 獲得一個不停迭代的網絡模塊。


然而咱們平常所見的圖網絡模塊, 卻每每不具備剛剛所說的全部步驟,咱們平常見到的包括圖卷積網絡GCN,圖注意力網絡GAT等等,事實上均可以看做這種網絡單元通過必定假設後的變體,所以關於圖神經網絡單元各類變體的設計也就成爲圖神經網絡學習的關鍵所在。通過簡化的模塊會更加方便學習。

如下爲幾種基本圖網絡的類型。 咱們能夠看到從a最徹底的圖網絡模塊單元,通過必定假設,能夠退化成c,d, e,f的形態。 假如傳遞過程當中間邊自己不須要更新, 那麼這樣的圖咱們能夠看做是通信路徑固定的網絡,又稱爲message passing network(c), 假如這個過程當中咱們不須要考慮網絡正退狀態的更新, 這時候咱們獲得的構型包含GCN和GAT等一大票圖網絡。 假定咱們須要更新的不是節點的狀態而是網絡總體狀態呢, 這時候網絡相似於從各個元素關係的整體作回答問題這一類的關係網絡。


四,用不一樣的圖網絡模塊構成一個信息通道

關於如何構建一個圖網絡系統的第三步就是如何把圖網絡基本單元組合成完整的圖網絡系統。 首先, 基本圖網絡模塊能夠經過串行的方法造成一個core, 它能夠把一個圖結構,經過若干中間層, 轉化成另外一種最終的圖結構編碼, 這個過程酷似深度網絡對數據的處理過程。 若是你對消息傳播熟悉, 這個串行過程相似於信息在圖中前向傳播的過程。 這個core能夠在頭和尾加上編碼和解碼模塊,從而獲得一個完整的圖自編碼器, 它的功能相似於把圖結構壓縮成一系列隱變量,而後再恢復成新的圖, 而其功能則是能夠用無監督的模式訓練圖網絡結構如同通常的自編碼器結構。 最終,咱們還能夠引入時間步的概念,上述定義的圖信息傳遞過程變成相對某個時間點, 最終經過相似RNN隱變量的原理, 咱們引入能夠把記憶疊加再一塊兒的隱層圖Ghid, 這樣, 咱們就把圖網絡模型轉化爲動態圖, 從而能夠模擬隨時間變化的關係。 這對於動力系統的模擬是絕對意義重大的。

圖模塊建構框架的基本應用

1, 預測在一個隨機網絡上的最短鏈路

2. 物理系統的預測

經過圖網絡引入多體物理系統的相互關係, 好比不一樣屬性的做用力,從而預測物理系統的變化。

Neural Relational Inference for Interacting Systemsarxiv.org


Kipf的文章提出了一套經過圖網絡求解物理系統的通用方法。 首先, 咱們將相互做用的粒子系統理解成爲一系列節點,其鏈接邊就是做用力。

而後,咱們用張量表示節點和邊,用神經網絡表示節點到邊或邊到節點的映射,而且經過圖網絡的消息傳遞,獲得了綜合了節點和邊的關係的表示, 一般它求解不一樣邊的類型。

這還不夠, 咱們把上面的過程理解爲一個編碼器,再起下由引入一個解碼器,來預測物理系統的將來變化。 有興趣瞭解整個過程的同窗可查看原文。

3. 圖象理解和視頻問答

若是把圖象當作由不一樣物體構成的一個相互做用網絡,那麼圖象理解, 看圖問答, 均可以從上述系統獲得必定的回答。

這種視頻理解的方式, 與以前的模式最大的區別在於咱們不在僅限於識別特徵來理解圖像, 而是直接考慮圖像內不一樣物體間的相互信息傳遞,考慮到不一樣物體間的相互影響。 雖然當下這方面的工做還很初級,如下nips文章算是開了一個小頭, 文章力圖從一些具備簡單的內容(好比彈球碰撞)中,提取出物理符號來進行視頻預測。

Learning to See Physics via Visual De-animation

Learning to See Physics via Visual De-animationpapers.nips.cc


結尾

在深度學習誕生之初,咱們試圖提取特徵, 創建特徵和所預測變量間的相關性, 覺得咱們掌握了智能。 而時間到達2020, 這條路愈加走到侷限,咱們從新舉起符號主義的遺智, 認識到須要讓神經網絡學習概念,以及概念之間的聯繫的重要性, 而且經過圖網絡,創建了深度學習和這個符號主義AI之路的聯繫。 新的圖網絡範式, 最重要的是把數據理解成一個相互做用的圖, 而顯式的表達部分之間的做用關係網絡,經過線性和非線性的變化組合,求解這些關係和預測變量的聯繫。 這或許對時間序列預測, 會起到一個突破式的變化。

在將來,咱們還須要找尋關係學習背後的生物本質是什麼,尋找關係學習在人腦中的認知基礎,讓這項工做更靈活。

相關文章
相關標籤/搜索