用於圖形上機器學習的 Amazon Neptune ML - Amazon Neptune

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

用於圖形上機器學習的 Amazon Neptune ML

在大型連線的資料集中通常會有珍貴的資訊,但很難僅根據人類的直覺使用查詢來擷取這些資訊。機器學習 (ML) 技術可以協助在具有數十億個關係的圖形中找出隱藏的關聯性。這些關聯性可能有助於推薦產品、預測信用度,識別詐欺等等。

Neptune ML 功能可讓您在數小時而不是數週的時間內,在大型圖形上建置並訓練有用的機器學習模型。為了達成此目的,Neptune ML 使用 Amazon SageMaker AI Deep Graph Library (DGL) (開放原始碼) 支援的圖形神經網路 (GNN) 技術。 https://github.com/dmlc/dgl/圖形神經網路是人工智慧的新興領域 (例如,請參閱圖形神經網路的全面調查)。如需有關使用 GNN 搭配 DGL 的實作教學課程,請參閱使用 Deep Graph Library 學習圖形神經網路

注意

圖形頂點會在 Neptune ML 模型識別為「節點」。例如,頂點分類會使用節點分類機器學習模型,而頂點迴歸則會使用節點迴歸模型。

Neptune ML 可以做什麼

Neptune 同時支援直推式推論 (根據當時的圖形資料傳回訓練時預先計算的預測) 和直推式推論 (根據目前的資料,即時套用資料處理和模型評估)。請參閱 歸納推論與直推式推論之間的區別

Neptune ML 可以訓練機器學習模型,以支援五種不同類別的推論:

Neptune ML 目前支援的推論任務類型
  • 節點分類 – 預測頂點屬性的類別特徵。

    例如, 鑑於電影 The Shawshank Redemption,Neptune ML 可以從 [story, crime, action, fantasy, drama, family, ...] 的候選集將其 genre 屬性預測為 story

    有兩種類型的節點分類任務:

    • 單一類別分類:在這種任務中,每個節點只有一個目標特徵。例如,Alan Turing 的屬性 Place_of_birth 具有值 UK

    • 多類別分類:在這種任務中,每個節點可有多個目標特徵。例如,影片 The Godfather 的屬性 genre 具有值 crimestory

  • 節點迴歸 – 預測頂點的數值屬性。

    例如,鑑於電影 Avengers: Endgame,Neptune ML 可以預測其屬性 popularity 具有 5.0 一值。

  • 邊緣分類 – 預測邊緣屬性的類別特徵。

    有兩種類型的邊緣分類任務:

    • 單一類別分類:在這種任務中,每個邊緣只有一個目標特徵。例如,使用者與電影之間的評分邊緣可能具有屬性 liked,其值為「Yes」或「No」。

    • 多類別分類:在這種任務中,每個邊緣可有多個目標特徵。例如,使用者與電影之間的評分可能會對「Funny」、「Heartwarming」、「Chilling」等屬性標籤具有多個值。

  • 邊緣迴歸 – 預測邊緣的數值屬性。

    例如,使用者與電影之間的評分邊緣可能具有數值屬性 score,Neptune ML 可以鑑於使用者和電影針對該屬性預測一值。

  • 連結預測 – 為特定來源節點和傳出邊緣預測最有可能的目的地節點,或為給定的目的地節點和傳入邊緣預測最有可能的來源節點。

    例如,透過藥物疾病知識圖譜,假設 Aspirin 作為來源節點,且 treats 作為傳出邊緣,Neptune ML 可以將最相關的目的地節點預測為 heart diseasefever 等等。

    或者,透過 Wikimedia 知識圖譜,假設 President-of 作為邊緣或關聯,且 United-States 作為目的地節點,Neptune ML 可以將最相關的前端預測為 George WashingtonAbraham LincolnFranklin D. Roosevelt 等等。

注意

節點分類和邊緣分類僅支援字串值。這表示不支援數值屬性值 (例如 01),儘管字串等同於 "0""1"。同樣地,布林屬性值 truefalse 不起作用,但 "true""false" 可以。

搭配 Neptune ML,您可以使用分為兩大類的機器學習模型:

Neptune ML 目前支援的機器學習模型類型
  • 圖形神經網路(GNN)模型 – 其中包含 Relational Graph Convolutional Networks (R-GCNs)。GNN 模型適用於上述所有三種類型的任務。

  • 知識圖譜嵌入 (KGE) 模型 – 其中包括 TransEDistMultRotatE 模型。它們僅適用於鏈接預測。

使用者定義的模型 – Neptune ML 也可讓您為上面列出的所有類型任務提供您自己的自訂模型實作。在使用 Neptune ML 訓練 API 搭配您的模型之前,您可以使用 Neptune ML 工具組,來開發並測試 Python 型自訂模型實作。如需如何建構和組織實作,以便其與 Neptune ML 的訓練基礎結構相容的詳細資訊,請參閱 Neptune ML 中的自訂模型