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

推薦する

...

...

マイクロソフトが新しいハイブリッド会議機能をリリース: Teams Rooms、リモート プレゼンテーション カメオ、Viva Connections モバイル アプリ

IT Homeは9月10日、マイクロソフトが、オフラインの会議室に中央制御のオーディオデバイスを設置...

教師あり学習の一般的なアルゴリズムは何ですか?どのように適用されますか?

教師あり学習とは何ですか?教師あり学習は機械学習のサブセットであり、機械学習モデルの入力データにラベ...

データ センターはリモート ワークプレイスをどのようにサポートできるでしょうか?

COVID-19の時代となり、さまざまな業界や組織でリモートワークが始まっています。企業は、遠隔地...

機械学習の運用はサイバーセキュリティに革命をもたらす可能性がある

機械学習運用 (MLOps) とは、運用環境での機械学習モデルの展開、管理、監視を簡素化するために使...

AIが復活! GPT-3を使用して亡くなった婚約者を複製し、アメリカ人男性は愛する人をデジタル形式で永遠に生きさせました

「死は本当の消滅ではないが、忘却は永遠の消失である。」なくなってしまったとしても忘れないでください。...

ドローンは5G開発をフィードバックし、インテリジェントな運用と保守の新たなアップグレードを促進する

近年、民生用ドローンの急速な発展と5G商用化の段階的な深化に伴い、ドローンと5Gの関係はますます密接...

...

機械学習に基づく自動ネットワークトラフィック分析

1. 概要現在、機械学習はネットワーク トラフィック分析タスクで広く使用されています。特徴抽出、モデ...

ガートナー:持続可能性とデジタル主権がパブリッククラウドベースのAIサービスを選択する際の最重要基準となる

ガートナーは、2027 年までに、生成型人工知能 (生成型 AI) を導入する企業の 70% が、持...

認知システムが機械学習とセマンティック技術を組み合わせるべき理由

ワインとチーズの組み合わせを識別するのに役立つアプリケーションを構築したいとします。最も優れたパフォ...

クラウドがチャットボットの体験をどのように変えるか

チャットボットの無限ループや同じ質問の繰り返しにイライラしていませんか? これは顧客にとってよくある...

生成 AI 規制: 「ディープフェイク技術」は大規模言語モデルの自由意志を実証するか?

特定のスタイルの生成 AI プロンプトを与えるということは、AI に想像力を働かせてほしいということ...

新たな美容問題:彼女がAIではないことをどうやって証明するか

私の家族の皆さん、人間として生きることが昨今こんなにも困難になっているとは誰が想像したでしょうか?最...