新しい 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つのトレンド

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

推薦する

...

...

...

ChatGPTの関数呼び出しはC3POとR2-D2がチームを組んだようなものだ

6月13日にリリースされたChatGPTの関数呼び出し機能は、自然言語の世界と既存のプログラミング言...

10年後に人工知能のリーダーとなる国はどこでしょうか?アメリカ国民:中国であるべきだ

ロシアメディアは、中国の人工知能(AI)産業の急速な発展を背景に、米シンクタンクのブルッキングス研究...

AIGC: 将来は誰が支払うのでしょうか?

情報獲得に対する私たちの執着は、初期の人類が生き残り、繁殖するための適応特性を発達させたことにまで遡...

Google は、開発者が独自のモデルを構築できるようにエンドツーエンドの AI プラットフォームをリリースしました。

Google は一連の人工知能ツールをリリースしました。これらすべての新しいツールとサービスの核と...

機械学習の理論的基礎はどの程度しっかりしているのでしょうか?

機械学習の分野では、いくつかのモデルが非常に効果的ですが、その理由は完全にはわかっていません。逆に、...

...

AIは古い文化的シンボルを解体し革新することはできない

1950 年代後半から 1960 年代前半にかけて、一群の芸術家と作家がパリの荒廃したホテルに移り住...

Madlib を使用して「機械学習」で KNN を学習する

序文機械学習(ML)は、教師あり学習、教師なし学習、半教師あり学習などに分けられます。 1.1 教師...

ディープラーニングフレームワークFlashを使用して、わずか数行のコードで画像分類器を構築する方法

[[412621]] 【51CTO.com クイック翻訳】 1. はじめに画像分類は、画像がどのクラ...

ディープラーニングは壁にぶつかる?ルカンとマーカスの間の争いを引き起こしたのは誰ですか?

今日の主人公は、AI の世界で互いに愛し合い、憎み合う古くからの敵同士です。ヤン・ルカンとゲイリー・...

ドローンレースが人間のトッププレイヤーを上回り、強化学習が再びネイチャーの表紙を飾る

最近、自律型ドローンがドローン競技会で人間のトッププレイヤーに勝利しました。この自律型ドローンは、チ...

マスク氏、さらに 4 人の「民間」宇宙飛行士を宇宙に送り出す!スペースXは12回の有人ミッションを成功させた

北京時間の今朝早く、SpaceXは再び人類を宇宙に送り出すことに成功した。これは、米国の民間航空宇宙...