LukasZahradnik/PyNeuraLogic

PyNeuraLogic lets you use Python to create Differentiable Logic Programs

解決する課題

PyNeuraLogicは、ユーザーが微分可能な論理プログラムを使用してモデルを定義できるようにすることで、標準的なグラフニューラルネットワーク(GNN)の限界に対処します。これにより、従来のブラックボックス型のGNNフレームワークでは表現が困難であったハイパーグラフ、入れ子状のグラフ、リレーショナルデータベースなどの複雑な構造を扱える、非常に表現力豊かな関係学習モデルの作成が可能になります。

仕組み

宣言的な論理プログラミングパラダイムを採用しており、ユーザーは論理変数と関係を定義します。NeuraLogicバックエンドを通じて、これらの論理プログラムの推論プロセスが微分可能になり、ディープラーニングにおける順伝播と同等になります。これにより、システムはルールに関連付けられた数値パラメータ(重み)を学習できます。バックエンドエンジンが基礎となる微分可能な計算グラフを自動的に作成するため、手動でのテンソル整列の必要はありません。

対象者

標準的なGNNフレームワークよりも高い表現力を必要とする、関係機械学習、GNN、およびニューロシンボリック統合に取り組む研究者や開発者。

ハイライト

  • 微分可能な論理プログラム: ニューラルネットワークの層として機能する論理ルールを記述できます。
  • GNNを超えて: ハイパーグラフ、リレーショナルデータベース、および複雑な関係パターンマッチングをサポートしています。
  • 高いパフォーマンス: ベンチマークでは、分子学習などの特定のアプリケーションにおいて、一般的なGNNフレームワークよりも高速であることが示されています。
  • 定義済みモジュール: GCNConv, SAGEConv, GINConv, RGCNConv, Transformers, LSTMs, GRUの組み込みサポートが含まれています。