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

ブログ    

推薦する

うつ病で人生が押​​しつぶされたとき、AIを使ってうつ病を診断することで、どん底を味わう人々を救えるのでしょうか?

韓国のお笑いタレント、パク・チソンさんとその母親が自宅で死亡しているのが発見されたが、これはうつ病が...

アルゴリズムの知識を学ばずに Java 開発を学ぶことは可能ですか?

まず、Java開発の分野でさらに進歩したい場合、または付加価値の高い仕事に就きたい場合は、Java開...

雁塔区:西部の「最強の頭脳」が人工知能コンピューティングセンターの未来を切り開く

9月9日午前、雁塔区未来工業城で未来人工知能コンピューティングセンターの開設式が行われた。同イベント...

...

ビジネスリーダーがLLMを活用して新たな機会を創出できる5つの方法

一般的に、AIGC とは、人間が作成したコンテンツに非常によく似た画像、音楽、テキストなどのコンテン...

ニューラル ネットワークの父、ヒントン氏の最新の演説: デジタル インテリジェンスは生物学的インテリジェンスに取って代わるでしょうか?

「人工知能のゴッドファーザー」として知られるジェフリー・ヒントン教授は、英国王立協会 (FRS) ...

2019年を迎え、人工知能技術の動向はどのように発展していくのでしょうか?

2018 年は過去のものとなりましたが、AI は依然として今年の主要なテクノロジー トレンドの 1...

7BモデルはGPT4-Vを超えます! HKUST などが「グラフ推論質問回答」データセットを公開 GITQA: 視覚的なグラフは推論能力を向上させることができます

グラフ ニューラル ネットワーク (GNN) は、グラフの構造情報を推論に活用するのに優れていますが...

...

偽造AIがまた進化しました!たった一枚の写真で、スピーチと歌のビデオが自動的に生成されます

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

リチャード・サットン:経験はAIの究極のデータであり、4つの段階が真のAIの開発につながる

はじめに:強力な人工知能の開発は近年の関心事となっています。単にラベル付けされたデータではなく、人間...

...

...

公共の場での顔認識は全面的に禁止される可能性があります。ちょうど今、欧州議会はAI規制を強化することを決定した

[[427521]]昨日、欧州議会はAI生体認証技術に基づく大規模な監視の全面禁止を求める決議を可決...

AIはプログラマーの仕事を破壊する最初のものとなるでしょうか?プログラマーの90%は就職が難しくなっていると考えており、大学生もキャリアプランの調整が必要

一夜にしてプログラマーは仕事を見つけられなくなるようですね?海外メディアのマザーボードとブラインドが...