【译】Deep Learning with Knowledge Graphs
上周,我在Connected Data London上就Octavian開發的方法發表了演講,使用神經網絡在知識圖上執行任務。
這是來自Connected Data London的演講錄音:
?
在這篇文章中,我將總結那篇演講(包括大部分幻燈片)并提供對我們影響最大的論文的鏈接。
要了解有關構建下一代數據庫查詢引擎的新方法的更多信息, 請參閱我們最近的文章 。
什么是圖表?
兩個功能相同的圖形模型
我們正在使用屬性圖或屬性圖模型。 節點(頂點)和關系(邊)可以具有屬性。 此外,我們的神經網絡具有圖表外部的全局狀態。 幻燈片顯示了這個模型的兩個表示,一個來自Neo4j,另一個來自DeepMind(這些實際上是相同的)。
為什么我們對圖表感興趣?
所有的圖表!
圖表具有豐富的歷史,從18世紀的Leohnard Euler開始到今天的各種圖表。 在計算機科學領域,有許多圖形應用:圖形數據庫,知識圖形,語義圖形,計算圖形,社交網絡,傳輸圖形等等。
圖表在谷歌的崛起中發揮了關鍵作用(他們的第一個突破是使用PageRank為搜索提供動力,今天他們的知識圖譜已經變得越來越重要)和Facebook。 從政治到低成本的國際航空旅行,圖算法對我們的世界產生了重大影響。
什么是深度學習?
我不確定AI讓我們談論深度學習......
深度學習是以使用梯度下降訓練多層(“深層”)神經網絡為中心的機器學習的一個分支。 這些神經網絡的基本構建塊是密集(或完全連接)的網絡。
使用密集層的深度神經網絡
使用深度學習使我們能夠訓練計算機來解決一系列先前具有挑戰性的任務,從玩Go到具有超人表現的圖像識別。
MacNets和其他超人圖像處理神經網絡的例子
機器學習
通常,機器學習是一個簡單的概念。 我們創建了一個我們認為事物如何運作的模型,例如y = mx + c這可能是:
house_price = m?number_of_bedrooms + c機器學習,從20,000英尺的視圖
我們使用我們擁有的數據訓練(擬合)模型的參數(示例中的m和c )。 一旦我們的訓練完成,我們就有一些學習的參數值,我們有一個模型可以用來做出預測。
有時參數本身是有用的(例如,當我們使用神經網絡訓練單詞嵌入時,例如word2vec)。
深度學習圖表
在Octavian,我們問自己的一個問題是:我們如何從20,000英尺的高度看圖表上的機器學習?
為了幫助回答這個問題,我們將傳統形式的深度學習與圖形學習的世界進行了比較:
比較圖形機器學習與其他設置
我們確定了三個圖形數據任務,我們認為這些任務需要圖形原生實現: 回歸 , 分類和嵌入 。
除此之外:還有其他特定于圖表的任務,例如鏈接預測,這些任務不容易適合上述三個任務。我們觀察到許多用于圖形上的機器學習的現有技術具有一些基本限制:
- 有些不適用于看不見的圖形(因為它們需要首先訓練圖形嵌入)
- 有些人需要將圖表轉換為表格并丟棄其結構(例如,使用隨機漫步從圖表中采樣)
現有工作
DL模型在圖形問題上的表現并不是超人
在圖表上使用深度學習的大部分現有工作集中在兩個方面。
圖形,神經網絡和結構原理
人們常說深度學習適用于非結構化數據 - 圖像,自由文本,強化學習等。
但是我們的超人神經網絡實際上處理的是非常具體的結構化信息,而神經網絡架構的設計與其工作良好的信息結構相匹配。
與神經網絡一起使用的數據結構
圖像在某種意義上是結構化的:它們具有剛性的2D(或3D)結構,其中彼此接近的像素彼此更相關,而不是相距很遠的像素。 序列(例如,隨著時間的推移)具有一維結構,其中相鄰的項目彼此之間的相關性比相距較遠的項目更相關。
對于Go而言,密集層是有意義的,其中板上相隔很遠的位置可以彼此具有相同的影響
處理圖像和序列時,密集層(例如,每個輸入連接到每個輸出的位置)都不能很好地工作。 反映和利用輸入介質結構的神經網絡層可以獲得最佳結果。
對于序列,使用遞歸神經網絡(RNN)并且對于圖像使用卷積神經網絡(CNN)。
卷積網絡在結構上編碼彼此接近的像素比相距很遠的像素更重要
在卷積神經網絡中,隱藏層中的每個像素僅取決于輸入中的一組鄰近像素(將其與密集層相比較,其中每個隱藏層像素取決于每個輸入像素)。
密集和卷積網絡都不適用于傳輸圖
圖中的節點不具有固定關系,如圖像中的附近像素或序列中的相鄰項。 為了使圖形深度學習成功,將圖形轉換為矩陣表示并將該輸入放入現有的神經網絡模型是不夠的。 我們必須弄清楚如何創建適用于圖形的神經網絡模型。
本文比我更有效地提出相同的論點 - 檢查出來 !
我們不是唯一想到這一點的人。 DeepMind,Google Brain,麻省理工學院和愛丁堡大學的一些非常聰明的人在關于關系歸納偏差的論文中提出了類似的立場。 我向有興趣深入學習圖表的人推薦這篇論文。
本文介紹了一種通過圖形傳播信息的通用算法,并認為通過使用神經網絡學習六種函數來在圖形結構內執行聚合和變換,它們可以在選擇的圖形任務上實現最先進的性能。
一種算法來統治它們嗎?
通過主要使用圖形邊緣在節點之間傳播信息,作者認為它們維持了圖形結構中存在的關系歸納偏差。
我們在Octavian開發的MacGraph神經網絡架構與關系歸納偏差方法有相似之處。 它使用存在于圖外部的全局狀態,并在圖節點之間傳播信息
屋大維的實驗結果
在我告訴你Octavian的結果之前,我必須提到我們用來測試神經圖架構的任務。
我們的綜合基準數據集
您可以在此處閱讀有關CLEVR-Graph的更多信息 。 它是一個合成的(程序生成的)數據集,由在倫敦地下松散建模的10,000個虛構的運輸網絡組成。 對于每個隨機生成的傳輸網絡圖,我們只有一個問題和正確的答案。
來自CLEVR-Ggraph問題庫的一些示例問題和示例圖
這項任務的關鍵是用于測試網絡的每個圖形是網絡從未見過的圖形。 因此,它無法記住問題的答案,但必須學習如何從新圖表中提取答案。
在撰寫本文時,MacGraph在需要6種不同技能的任務上取得了幾乎完美的結果:
MacGraph在CLEVR圖上的最新結果
我認為最令人興奮的技能之一是MacGraph能夠回答“{station}和{station}之間有多少站”,因為要解決這個問題,有必要確定站之間的最短路徑(Dijkstra算法),這是一個復雜和圖形特定的算法。
MacGraph如何運作?
僅使用轉換和聚合函數在圖中的節點之間傳播信息是不夠的。 要回答關于具有自然語言答案的圖形的自然語言問題,有必要將輸入問題轉換為圖形狀態,從而得到正確答案,并且有必要從圖形狀態中提取答案信息并將其轉換為所需答案。
…幾乎
我們在自然語言和圖形狀態之間轉換的解決方案是使用注意力。 您可以在此處詳細了解其工作原理 。
密集層的替代品
注意力細胞與致密層完全不同。 注意單元格與信息列表一起使用,根據其內容或位置提取單個元素。
這些屬性使關注單元格非常適合從構成圖形的節點和邊緣列表中進行選擇。
在MacGraph中,注意用于基于查詢和節點的屬性向圖中的節點輸入信號。 然后,該信號應該使圖形消息傳遞以與與問題最相關的節點進行交互。
使用寫注意使用查詢填充圖形
信息通過圖形節點傳播后,注意用于從圖形中提取答案:
使用注意力從圖表中讀取
使用圖形結構將寫入和讀取注意力與圖形中節點之間的傳播相結合,我們將獲得MacGraph的核心。
Mac Graph架構
結論
有一個很好的例子,即在基于圖形的任務上實現超人的結果需要圖形特定的神經網絡架構。
我們已經向MacGraph展示了神經網絡可以學習從圖中的節點中提取屬性以響應問題,并且神經網絡可以學習在之前從未遇到的圖形上執行圖算法(例如找到最短路徑)。 。
?
https://medium.com/octavian-ai/deep-learning-with-knowledge-graphs-3df0b469a61a
總結
以上是生活随笔為你收集整理的【译】Deep Learning with Knowledge Graphs的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Eclipse和IDEA 简单对比说明
- 下一篇: zabbix监控链接