LukasZahradnik/PyNeuraLogic
PyNeuraLogic lets you use Python to create Differentiable Logic Programs
解決的問題
PyNeuraLogic 透過允許使用者使用可微邏輯程式定義模型,解決了標準圖神經網路 (GNN) 的局限性。這使得建立高度具表現力的關係學習模型成為可能,這些模型可以處理超圖、嵌套圖和關係資料庫等複雜結構,而這些結構在傳統的黑盒 GNN 框架中通常難以表示。
工作原理
它使用宣告式邏輯程式設計範式,使用者可以定義邏輯變數和關係。透過 NeuraLogic 後端,這些邏輯程式的推論過程變得可微,使其等同於深度學習中的前向傳播。這使得系統可以學習與規則相關的數值參數(權重)。後端引擎會自動建立底層的可微計算圖,無需手動進行張量對齊。
適用對象
從事關係機器學習、GNN 和神經符號整合(neural-symbolic integration)的研究人員和開發人員,他們需要比標準 GNN 框架提供更高的表現能力。
亮點
- 可微邏輯程式:編寫可作為神經網路層運行的邏輯規則。
- 超越 GNN:支援超圖、關係資料庫和複雜的關係模式匹配。
- 高性能:基準測試顯示,在分子學習等某些應用中,它可能比流行的 GNN 框架更快。
- 預定義模組:包括對 GCNConv, SAGEConv, GINConv, RGCNConv, Transformers, LSTMs 和 GRUs 的內建支援。