首頁>技術>
推薦系統

自然地,圖是在使用者與電子商務平臺中的產品互動的上下文中出現的,因此,有許多公司採用GNN進行產品推薦。一個標準的用例是在使用者和專案圖之間建模互動,以某種形式的負取樣損失學習節點嵌入,並使用kNN索引實時檢索給定使用者的類似專案。最早使用此管道的公司是Uber Eats,該公司透過GraphSage網路推薦食品和餐館。

在食品推薦的情況下,由於推薦的地理限制,所獲得的圖表相對較小,但一些公司在數十億個邊緣的規模上使用GNN。中國零售業巨頭阿里巴巴在擁有數十億使用者和產品的網路上放置了產品圖嵌入和GNN。即使構建這樣的圖也可能是工程上的噩夢,但是對於最近的Aligraph管道而言,僅需五分鐘即可構建具有400M節點的圖。令人印象深刻,呵呵。Aligraph支援高效的分散式圖形儲存,最佳化的取樣運算子以及大量內部GNN。目前已部署它用於公司中多個產品的推薦和個性化搜尋。

> Alibaba, Amazon, and many other e-commerce companies use GNNs to empower recommender systems.

同樣,Pinterest提出了PinSage模型,該模型使用個性化PageRank有效地對鄰域進行取樣,並透過聚合每個鄰域來有效地更新節點嵌入。他們的後續PinnerSage擴充套件了此框架,以處理多嵌入內容,以解決使用者的不同喜好。這些只是該領域的幾個著名示例(您還可以在亞馬遜上檢查有關知識圖和GNN或Fabula AI使用GNN進行偽造新聞檢測的研究),但是很明顯,如果訊號來自使用者的互動意義重大。

組合最佳化

組合最佳化(CO)問題的解決方案是金融,物流,能源,生命科學和硬體設計中許多重要應用程式的主力軍。這些問題大多數是用圖形表示的。結果,在過去的一個世紀中,大量的墨水被灑在了更有效地解決CO問題的演算法方法上。然而,機器學習驅動的現代計算革命為學習解決此類問題的方法提供了一種令人信服的新方式。

Google Brain團隊使用GNN優化了新硬體(例如Google的TPU)的晶片塊的功率,面積和效能。計算機晶片可以分為記憶體和邏輯元件的圖形,每個圖形均由其座標和型別表示。在遵守密度和佈線擁塞的限制的同時,確定每個元件的位置是一項費力的過程,這仍然是電氣工程師的工作。他們的GNN模型與策略和價值RL功能結合在一起,能夠為匹配或優於手動設計的硬體的電路晶片生成最佳化的佈局。

> The complexity of Chip Placement problem compared to Chess and Go. (source)

另一種方法採用不同的途徑,並將ML模型整合到現有求解器中。例如,Gasse等。提出了一種圖網,用於學習分支定界變數選擇策略:混合整數線性程式(MILP)求解器中的關鍵步驟。這樣,學習到的表示試圖使求解器的執行時間最小化,並已證明是推理時間與決策質量之間的良好折衷。

在DeepMind和Google的最新工作中,圖形網用於MILP求解器中涉及的兩個關鍵子任務:聯合變數分配和限制目標值。他們的神經網路方法比包括Google生產包裝和計劃系統在內的龐大資料集的現有求解器快2–10倍。有關此主題的更多結果,您可以參考最近的一些調查,這些調查更深入地討論了GNN,ML和CO的組合。

計算機視覺

由於世界上的物件之間有著密切的聯絡,包含這些物件的影象也可以從GNN中受益。感知影象的一種方法是透過場景圖,即場景中存在的一組物件以及它們之間的關係。場景圖已在影象檢索,理解和推理,字幕,視覺問題解答以及影象生成中得到了應用,表明它可以極大地提高模型的效能。

在Facebook的作品中,可以將流行的CV資料集COCO中的物件放置在畫布中,指定物件的位置和大小,並從中建立場景圖。然後,使用GNN對圖形進行編碼以確定每個物件的嵌入,然後將其與CNN一起使用以生成物件的蒙版,邊框和外觀。結果,終端使用者可以簡單地在圖形中新增新節點(指定該節點的相對位置和大小)以供GNN / CNN使用這些物件生成影象。

> Usage of scene graphs to generate images. Users can place an object anywhere in the canvas ("river" in red; moved from the center to bottom-right) for the image to reflect these changes (generated river in the image also moved to bottom-right corner).

CV中圖表的另一個來源是兩個相關影象的匹配-過去是手工製作的描述符來完成的一個經典問題。3D圖形公司Magic Leap釋出了一種名為SuperGlue的GNN體系結構,該體系結構可在實時影片中執行圖形匹配,用於完成3D重建,位置識別,本地化和製圖(SLAM)等任務。SuperGlue由基於注意力的GNN組成,該GNN學習影象關鍵點的表示形式,這些影象關鍵點被進一步饋送到進行匹配的最佳傳輸層中。該模型可以在現代GPU上實時執行匹配,並且可以輕鬆整合到現代SLAM系統中。有關圖形與計算機視覺相交的更多詳細資訊,請檢視這些調查。

物理/化學

生命科學受益於將粒子或分子之間的相互作用表示為圖形,然後使用GNN預測此類系統的屬性。在Facebook和CMU的Open Catalyst專案中,最終目標是找到新的方法來儲存可再生能源,例如來自太陽或風的能量。潛在的解決方案之一是透過化學反應將這種能量轉化為其他燃料,例如氫氣。然而,這需要發現能夠以高速率驅動化學反應的新催化劑,並且諸如DFT的已知方法非常昂貴。Open Catalyst專案打開了最大的催化劑資料集,其DFT弛豫和GNN基線。希望找到新的低成本分子,這些分子可以增加當前耗時數日的昂貴模擬,並且有效地逼近分子的能量和力的ML近似值(可能需要數毫秒)。

> Examples of initial and relaxed states of an adsorbate (small connected molecule) and a catalyst's surface. To find a relaxed state for one pair adsorbate-catalyst one has to perform expensive DFT simulations that may take days. Zitnick et al. 2020

DeepMind的研究人員還應用GNN來模擬複雜粒子系統(例如水或沙子)的動力學。透過在每個步驟中預測每個粒子的相對運動,可以合理地重建整個系統的動力學,並進一步瞭解控制運動的基本規律。例如,這用於瞭解玻璃化轉變,這是固態理論中最有趣的未解決問題之一。使用GNN不僅可以模擬過渡過程中的動力學,而且可以更好地瞭解粒子如何根據距離和時間相互影響。

此外,位於美國的物理實驗室Fermilab致力於將GNN運送到CERN的大型強子對撞機(LHC)。目標是處理數百萬個影象並選擇與發現新粒子有關的影象。他們的任務是在FPGA上實現GNN,並將它們與資料採集處理器整合在一起,這將允許在全球範圍內遠端執行GNN。有關GNN在粒子物理學中的更多應用,請檢視此最新調查。

藥物發現

憑藉數十億美元的研發資金和激烈的競爭,製藥公司在激烈地尋找新的藥物開發範例。在生物學中,圖可以表示各種規模的相互作用。在分子水平上,邊緣可以是分子中原子之間的鍵或蛋白質中氨基酸殘基之間的相互作用。在更大的範圍內,圖形可以代表更復雜的結構(例如蛋白質,mRNA或代謝物)之間的相互作用。根據特定的抽象水平,這些圖可用於目標識別,分子特性預測,高通量篩選,新型藥物設計,蛋白質工程和藥物再利用。

> Timeline of drug discovery with different applications for GNN. Gaudelet et al., 2020

也許,使用GNN進行藥物發現的最有希望的結果之一是麻省理工學院的研究人員及其合作者發表在Cell(2020)上。在這項工作中,訓練了一個稱為Chemprop的深層GNN模型,以預測分子是否具有抗生素特性:對細菌大腸桿菌的生長抑制作用。在僅使用FDA批准的藥物庫中的約2500個分子對其進行訓練後,Chemprop就應用於更大的資料集,包括包含分子Halicin的Drug Repurpose Hub,該名稱從" 2001:太空漫遊"電影中的HAL 9000重新命名。

值得注意的是,以前僅對Halicin分子進行過研究,因為其結構與已知的抗生素相差很大。但是,實驗室的體內和體外臨床實驗表明,Halicin是一種廣譜抗生素。針對強大的NN模型進行的廣泛基準測試凸顯了在Halicin的發現中使用GNN學習功能的重要性。除了這項工作的實用性之外,Chemprop的體系結構也值得更多關注:與許多GNN模型不同,Chemprop具有5層和1600個隱藏維,遠遠超過了用於此類任務的典型GNN引數。希望這只是即將到來的人工智慧新醫學發現中的少數幾個。有關此主題的更多結果,請檢視最近的調查和一篇部落格文章,該文章研究了藥物發現領域中更多的GNN應用。

致謝:我非常感謝以下人員的建議和反饋:邁克爾·布朗斯坦,皮塔爾·韋利奇科維奇,安德烈亞斯·盧卡斯,柴坦亞·喬希,弗拉基米爾·伊瓦什金,鮑里斯·克尼亞澤夫。

5
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 全網最清晰的Lambda 表示式和函式式介面