異種グラフをサポートし、非常に使いやすいグラフニューラルネットワークライブラリである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アルゴリズムを使って従業員の採用と解雇を行っている

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

推薦する

アルゴリズム要件実装の難航の記録: 軽量な人間姿勢推定モデル開発への道

[[425432]]この記事は、ソリューションの選択から再現の試みなど、軽量な人間の姿勢推定モデルを...

真実に近いですか? LK-99型超伝導はCu_2S構造相転移によって引き起こされる可能性が高く、中国科学院物理研究所の論文もここにあります。

昨日、北京大学量子材料センター(ICQM)の郭開珍、賈爽らがarXivに提出した論文には、同チームが...

...

...

会社はあなたの顔を20万ドルで買いたいそうです!性別や年齢制限なし、ロボットは2023年に実用化される予定

[[437475]]ビッグデータダイジェスト制作著者: カレブ国内ではNFTが年末ボーナスをゲットし...

黄仁訓氏の予測: AGI は 5 年以内に実現される可能性があります。米国は中国のニーズを完全に満たして「サプライチェーンの独立」を達成するまでにまだ10年ある

最近、ニューヨークタイムズの年次ディールブックサミットで、黄仁勲氏は、汎用人工知能(AGI)を「かな...

...

科学記事:強化学習後、ロボット学習のボトルネックをどう突破するのか?

[[340407]]この記事はLeiphone.comから転載したものです。転載する場合は、Lei...

...

AI「コスプレ」の鍵はキャラクター設定にあり!復旦大学、人民大学などがビッグファイブ性格特性+MBTIテストを発表:特性回復率は82.8%に達し、OOCを否定

好きなアニメ小説のキャラクターとチャットしてみませんか?バーチャルコンパニオンが欲しいですか?あなた...

会話型AIチャットボットの成功を測定する方法

[[385791]] 【51CTO.com クイック翻訳】組織は、特にヘルスケア分野において、データ...

データベース設計: MySQL フィールド名がキーワードと衝突するのを防ぎ、データの整合性を保護します。

MySQL は広く使用されているリレーショナル データベース管理システムです。データベース設計では...

...

ChatGPTが話せるようになりました! Siriなどのスマートアシスタントへの直接的な脅威

OpenAIは米国時間9月26日月曜日、チャットボット「ChatGPT」に音声会話機能を追加したと発...

...