異種グラフをサポートし、非常に使いやすいグラフニューラルネットワークライブラリであるGraphGymを統合したPyGがバージョン2.0にアップデートされました。

異種グラフをサポートし、非常に使いやすいグラフニューラルネットワークライブラリであるGraphGymを統合したPyGがバージョン2.0にアップデートされました。

最も人気があり、広く使用されている GNN ライブラリ PyG (PyTorch Geometric) のバージョン 2.0 が利用可能になりました。新しいバージョンでは、包括的な異種グラフ サポート、GraphGam、その他多くの機能が提供されます。この一連の改善により、ユーザー エクスペリエンスが向上します。

PyTorch Geometric (PyG) は、構造化データに関連するさまざまなアプリケーション用のグラフ ニューラル ネットワーク (GNN) を記述およびトレーニングするために PyTorch 上に構築されたライブラリです。 PyG は、機械学習の研究者と機械学習ツールキットの初心者の両方にとって使いやすいものです。

[[423998]]

機能と機能の面では、PyG は使いやすく統合された API を備えているため、ユーザーはグラフ ニューラル ネットワークの基礎となるメカニズムの実装と実行に費やす時間を短縮できます。カスタム GNN モデルのトレーニングには、わずか 10 ~ 20 行のコードしか必要ありません。 PyG は、多数の SOTA GNN アーキテクチャ、トレーニングおよびスケーラビリティ プロセスをカバーしており、ユーザー独自のユース ケースに合わせて簡単に拡張したり、独自の GNN 研究を実施したりできます。

さらに、PyG の新しい GraphGym を使用すると、ユーザーは GNN 実験を簡単に再現し、何千もの GNN 実験を実行および分析し、カスタム モジュールを GNN 学習パイプラインに埋め込むことができます。

最近、PyG コアリーダーの Matthias Fey が、PyG 2.0 バージョンがリリースされたことを発表しました。新しいバージョンでは、包括的な異種グラフ サポート、GraphGam、その他多くの機能が提供されます。

PyG 2.0 の詳細アドレス: https://github.com/pyg-team/pytorch_geometric/releases/tag/2.0.0

PyG 2.0 の新機能

PyG 2.0 は、複雑な異種グラフのサポート、GraphGym 統合、およびその他の新機能を提供する新しいバージョンです。

PyG 2.0 では完全な異種グラフ サポートが利用できます。異種グラフのサポートには、データ ストレージ レイヤーの完全な書き換え (下位互換性は維持)、異種グラフの変換、近傍サンプリングによるリレーショナル データ読み込みルーチン、異種 GNN モデル/例の完全なセットが含まれます。

ハイライト

異種グラフ ストレージ: 異種グラフを専用の data.HeteroData クラスに保存できるようになりました。

  1. torch_geometric.data から HeteroDataをインポート
  2. データ = HeteroData()
  3. # 単一の特徴マトリックスを保持する 2 つのノード タイプ「paper」「author」を作成します。
  4. データ[ '論文' ].x = torch.randn(論文数, 論文の特徴数)
  5. データ[ 'author' ].x = torch.randn(num_authors, num_authors_features)
  6. # グラフの接続性を保持するエッジ タイプ ( 「paper」「written_by」「author」 ) を作成します。
  7. data[ '論文' , '執筆者' , '著者' ].edge_index = ... # [ 2 , num_edges]

異種ミニバッチロード: loader.DataLoader と loader.NextorLoader を使用して、それぞれ多数の小さなグラフと単一の巨大なグラフを変換することにより、異種グラフをミニバッチに変換できます。これらのローダーは、同種グラフと異種グラフの両方を処理できるようになりました。

  1. torch_geometric.loader から DataLoaderをインポートします
  2. ローダー = DataLoader(heterogeneous_graph_dataset、batch_size= 32 、shuffle=True)
  3. torch_geometric.loader から NeighborLoaderをインポートします
  4. ローダー = NeighborLoader(heterogeneous_graph, num_neighbors=[ 30 , 30 ], batch_size= 128 ,
  5. input_nodes=( 'paper' , data[ 'paper' ].train_mask), shuffle=True)

異種グラフ ニューラル ネットワーク: nn.to_hetero、nn.to_hetero_with_bases を介して、同種 GNN から異種 GNN を簡単に作成できるようになりました。これらのプロセスは、既存の GNN モデルを取得し、そのメッセージ機能を複製して、さまざまなノードとエッジ タイプを考慮します。

  1. torch_geometric.nn から SAGEConvをインポートし、to_hetero をインポートします。
  2. クラスGNN(torch.nn.Module):
  3. def __init__(hidden_​​channels, out_channels):
  4. スーパー().__init__()
  5. self.conv1 = SAGEConv((- 1 , - 1 ), 隠しチャンネル)
  6. self.conv2 = SAGEConv((- 1 , - 1 ), out_channels)
  7. def forward(self, x, edge_index):
  8. x = self.conv1(x, edge_index).relu()
  9. x = self.conv2(x, エッジインデックス)
  10. xを返す
  11. モデル = GNN(hidden_​​channels= 64 、out_channels=dataset.num_classes)
  12. モデル = to_hetero(モデル、data.metadata()、aggr= 'sum' )

GraphGym で実験を管理する

PyG 2.0 は torch_geometric.graphgym を介して GraphGym を正式にサポートするようになりました。要約すると、GraphGym は、高度にモジュール化されたパイプラインを介して構成ファイルからグラフ ニューラル ネットワークを設計および評価するためのプラットフォームです。

  • GraphGym は、標準化された GNN の実装と評価を学習し始めるのに最適なプラットフォームです。
  • GraphGym は、何千もの GNN アーキテクチャを並行して試し、特定のタスクに最適な設計を見つけるためのシンプルなインターフェースを提供します。
  • GraphGym を使用すると、ハイパーパラメータ検索を簡単に実行し、どの設計選択が優れているかを視覚化できます。

主な変更点

datasets.AMiner データセットは、data.HeteroData オブジェクトを返すようになりました。transforms.AddTrainValTestMask は transforms.RandomNodeSplit に置き換えられました。異種グラフをサポートするために data.Data のストレージ レイアウトが大幅に変更されたため、処理済みのデータセットは、ルート/処理済みフォルダーを削除して再処理する必要があります。

さらに、data.Data.__cat_dim__ と data.Data.__inc__ には追加の入力パラメータが必要になります。

  1. def __cat_dim__(self, キー, 値, *args, **kwargs):
  2. 合格
  3. def __inc__(self, キー, 値, *args, **kwargs):
  4. 合格

カスタム data.Data オブジェクトで __cat_dim__ または __inc__ を変更する場合は、必ず上記の変更を適用してください。

さらなる変更については、元のプロジェクトを参照してください。

コアチームメンバー

PyG コア チームには、ドルトムント工科大学のグラフ機械学習博士課程 4 年生である Matthias Fey 氏、ドルトムント工科大学の博士課程学生である Jan Eric Lenssen 氏 (コア コントリビューター)、グラフ ネットワーク分野の大物でありスタンフォード大学のコンピューター サイエンスの准教授である Jure Leskovec 氏 (アドバイザー) を含む合計 6 人のメンバーがいます。

[[423999]]

左から右へ:マティアス・フェイ、ヤン・エリック・レンセン、ユレ・レスコベック。

さらに、中国人メンバーは3名で、スタンフォード大学コンピュータサイエンスの博士課程4年生であるJiaxuan You氏(コアリーダー)、スタンフォード大学コンピュータサイエンスの博士課程の学生であるRex Ying氏(コアコントリビューター、2022年にイェール大学の助教授として着任予定)、カーネギーメロン大学ハンスカレッジの博士課程3年生であるYue Zhao氏(コアコントリビューター)である。

[[424000]]

左から右へ:You Jiaxuan、Rex Ying、Zhao Yue。

最近、趙悦氏は知乎でPyG 2.0バージョンの設計とアップグレードプロセスに参加した経験を共有しました。興味のある読者は参考にしてください。

知乎リンク: https://www.zhihu.com/pin/1420674585365196800

<<:  ビジネス開発における感情AIの重要性

>>:  ボーダーライン上の質問:テクノロジー企業はAIアルゴリズムを使って従業員の採用と解雇を行っている

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

...

論文と新しいビデオはこちら、サウスイースト大学が「室温超伝導体」LK-99の奇妙な抵抗挙動を説明

最近、各国の科学者らが韓国の「常温超伝導」物質LK-99に関する研究を発表し、悲観的な見方をする人が...

...

視覚畳み込みニューラルネットワークモデルを習得し、画像認識技術の分野を探索します。

ディープラーニングに取り組む過程で、著者が最も興味を持ったのは、オブジェクトを分類するためのいくつか...

...

...

JavaScript チュートリアル: Web アプリケーションに顔検出機能を追加する

[51CTO.com クイック翻訳] 先週、annyang を使用してマップ インターフェースに音声...

古い写真の修復、太陽系外惑星の発見... 素晴らしい機械学習プロジェクト 8 つをご紹介します

[[337579]]カジャル・ヤダブマシンハートが編集編集者: シャオ・ジョウ、ドゥ・ウェイ人工知能...

GoogleとHuawei、AI市場獲得に向け音声アシスタントの導入を急ぐ

Google が携帯電話向けの初の音声人工知能製品を発表してから 5 か月後、同社は Apple の...

AI分野におけるNVIDIA NeMoフレームワークの包括的な応用と利点の概要

1. NeMoフレームワークの紹介NVIDIA NeMo は、PyTorch と PyTorch L...

百度のAIが海淀区の「スマートスクリーン」を実現、1秒で全状況を把握

今年初め、海淀シティブレインのインテリジェントオペレーションコマンドセンター(IOCC)が正式に公開...

2021年の中国人工知能産業の市場状況と競争環境の分析

[[408951]]人工知能は未来をリードする戦略的な技術であり、国際競争の焦点にもなっています。わ...

...