新しい PyTorch グラフ ニューラル ネットワーク ライブラリ、14 倍高速化: LeCun が賞賛、GitHub が 2000 個のスターを獲得

新しい PyTorch グラフ ニューラル ネットワーク ライブラリ、14 倍高速化: LeCun が賞賛、GitHub が 2000 個のスターを獲得

[[259612]]

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載しています。転載の際は出典元にご連絡ください。

「CNNは古い、GNNを確立すべきだ!」

科学者たちは、グラフ ニューラル ネットワーク(GNN) が従来の CNN では処理できない非ユークリッド データを処理できることを発見し、これまでディープラーニングでは解決できなかった多くの問題の鍵を見つけました。

現在、グラフ ネットワークの PyTorch ライブラリがあり、これは GitHub で2,000 を超えるスターを獲得し、CNN の父であるYann LeCun氏にも採用されています。

これはPyTorch Geometric 、略して PyG と呼ばれ、 26 のグラフ ネットワーク スタディのコード実装をまとめたものです。

このライブラリも非常に高速です。前身の DGL グラフ ネットワーク ライブラリと比較すると、PyG*** は最大 15 倍高速です。

包括的なライブラリ

不規則に構造化されたデータを実行する場合は、PyG を使用します。グラフ群、多様体など。

△ 右側は不規則な非ユークリッド空間

これは豊富なライブラリです: 多くのモデルのPyTorch 実装、さまざまな便利な変換、および多数の一般的なベンチマーク データセット

実装といえば、ここでは、Kipf らによる Graph Convolutional Networks ( GCN ) や Bengio Lab による Graph Attention Networks ( GAT ) など、2017 年から 2019 年までの主要なカンファレンスで発表された (少なくとも) 26 のグラフ ネットワーク研究の簡単な実装を見つけることができます。

どれくらい速くなるのでしょうか? PyG の 2 人の著者は、NVIDIA GTX 1080Ti を使用して実験を実施しました。

対抗するDGLもグラフ ネットワーク ライブラリです。

4 つのデータセットすべてにおいて、PyG は DGL よりも高速に実行されます。最も差が大きかったのは、Cora データセットで GAT モデルを実行したときです。200 エポックを実行するのに、対戦相手は33.4 秒かかりましたが、PyG は2.2 秒しかかからず、これは対戦相手の 15 倍の速度です。

各アルゴリズムの実装は、CPU および GPU コンピューティングをサポートします。

食べ方

このライブラリの作者は、ドルトムント工科大学の 2 人のドイツ人ティーンエイジャーです。

[[259614]]

△そのうちの1つ

PyG を使用すると、グラフ ネットワークの構築は簡単だと言われています。

エッジ畳み込み層の実装は次のようになります。

  1.   1.トーチをインポートする
  2. 2torch.nnからSequentialをSeqとして、LinearをLinとして、ReLUをインポートします
  3. 3torch_geometric.nnからMessagePassingをインポート
  4. 4  
  5. 5クラスEdgeConv(メッセージパッシング):
  6. 6   def __init__( self 、 F_in 、 F_out ):
  7. 7スーパー(EdgeConv, self ).__init__()
  8. 8  自己.mlp = Seq(Lin( 2 * F_in, F_out), ReLU(), Lin(F_out, F_out))
  9. 9  
  10. 10   def forward( self , x, edge_index): を使います。
  11. 11   # x の形状は [N, F_in] です 
  12. 12   # edge_indexの形状は[2, E]です 
  13. 13  戻る  self .propagate(aggr= 'max' , edge_index=edge_index, x=x) # 形状 [N, F_out]  
  14. 14  
  15. 15  メッセージの定義(自分自身、x_i、x_j):
  16. 16   # x_i の形状は [E, F_in] です 
  17. 17   # x_j の形状は [E, F_in] です 
  18. 18 edge_features = torch.cat([x_i, x_j - x_i], dim= 1 ) # 形状 [E, 2 * F_in]  
  19. 19  戻る  self .mlp(edge_features) # 形状 [E, F_out]  

インストールする前に、少なくとも PyTorch 1.0.0 がインストールされていることを確認してください。cuda/bin が $PATH にあり、cuda/include が $CPATH にあることを確認してください。

  1. 1 $ python -c "torch をインポートします。print(torch.__version__)"  
  2. 2 >>> 1.0 . 0  
  3. 3  
  4. 4 $ echo $PATH
  5. 5 >>> /usr/local/cuda/bin:...
  6. 6  
  7. 7 $ エコー $CPATH
  8. 8 >>> /usr/local/cuda/include:...

次に、さまざまな pip インストールを開始します。

PyG プロジェクト ポータル:

https://github.com/rusty1s/pytorch_geometric

PyGホームページポータル:

https://rusty1s.github.io/pytorch_geometric/build/html/index.html

PyG 論文ポータル:

出典: http://arxiv.org/pdf/1903.02428.pdf

<<:  AIカンファレンスは数多くあるが、私たちは違う

>>:  2019年にロボット分野で注目すべき5つのトレンド

ブログ    
ブログ    

推薦する

JD.com は今後 10 年間で従業員の 50% を解雇するでしょうか?ジャック・マー氏も人工知能が仕事を奪うことについて言及している

最近、劉強東氏は、今後10年間でJD.comの従業員数を現在の16万人から8万人に減らし、1人当たり...

...

PaddlePaddle をベースに構築された産業グレードの ICNET アプリケーションの予測速度は、TensorFlow を 20% 上回ります。

導入ICNET について話すとき、リアルタイム アプリケーションにおける画像セマンティック セグメン...

AI 駆動型データ分析ツールが企業や組織にもたらすメリット

AI を活用したデータ分析は、世界中の多くの企業にとって非常に役立つものになりつつあります。ますます...

顔認識ソフトウェアはクマや牛の顔を見分けることを学習中

クマの生物学者メラニー・クラップハムは、カナダのブリティッシュコロンビア州で10年以上にわたりハイイ...

AIのリスクと安全性をどのように管理するのか?

AI モデルのトレーニングには、大規模で機密性の高いデータセットが使用されることが多く、プライバシ...

中国がAI技術の輸出を制限! TikTokアルゴリズムの名前が挙がり、売却または制限される

[[339978]]米国のTikTok狩りは続く。 8月27日、ByteDanceがTikTokの北...

AI ワールド: 2018 年に注目すべき 8 つの AI トレンド

計算の観点から見ると、ビッグデータ分析のトレンドは流れ星のように消えることはありません。データ量が増...

...

...

1080ti だけで、リモートセンシング画像内のピクセルレベルでターゲットを見つけることができます。コードデータセットがオープンソース化されました!

長すぎて読めないこの論文では、新しいタスクである方向リモートセンシング画像セグメンテーション (RR...

...

...

人間同士のやりとりを人工知能に置き換える時期が来ているのでしょうか?

人工知能 (AI) は、面倒で時間のかかるすべての手動プロセスを置き換え、人間が価値の高いタスクに集...

ガートナー:世界の会話型 AI 支出は 2023 年に 186 億ドルに達すると予測

8月1日、ガートナーの最新レポートによると、カスタマーサービスセンター(CC)テクノロジー、会話型A...