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에 대한 내장 지원이 포함되어 있습니다.