IBM/LNN
A `Neural = Symbolic` framework for sound and complete weighted real-value logic
Logical Neural Networks (LNN)
何であるか – LNN は Logical Neural Networks を実装するオープンソースの Python ライブラリです。これはニューラルネットの学習能力と記号論理の明示的推論を融合した神経記号フレームワークです。各ニューロンは論理式の一部に対応し、完全に解釈可能な微分可能なモデルを提供します。このモデルは論理的推論、定理証明、不確実または不完全な知識の処理が可能です。
主なアイデア
- 神経記号表現 – ニューロンは重み付きの実数値の真偽値を保持するため、ネットワークは重み付き論理式を符号化しています。
- 全方位推論 – システムは、あらかじめ指定されたターゲットだけでなく、ネットワーク全体にわたって真偽の範囲を伝播することで、任意のクエリに答えることができます。
- エンドツーエンド微分可能 – 論理的矛盾を測定するカスタム損失関数により、知識ベースに矛盾があっても勾配ベースの学習が可能になります。
- オープンワールド意味論 – 真偽値は区間(境界)として維持され、確率的解釈をサポートし、欠落した事実に対して耐性があります。
一般的な利用例
- データからの学習と明示的な推論の両方が必要な AI システムの構築(例:知識グラフの完成、ルールベースの意思決定支援)。
- 解釈可能性が重要な神経記号 AI、定理証明、説明可能な AI の研究。
- 知識ベースがノイズや矛盾、不完全であるが、それでも学習可能なモデルが必要な状況。
導入方法
# 環境を正確にクローン・セットアップ(Python 3.11+ 必須)
git clone https://github.com/IBM/LNN
cd LNN
uv sync --locked # 実行時依存関係をインストール
# インストールの検証のためテストスイートを実行
uv sync --locked --extra dev
uv run pytest -v
リポジトリには Read the Docs 上でホストされている豊富なドキュメント、チュートリアル、APIリファレンスが付属しています。
ドキュメントとリソース
- Read the Docs – 完全なユーザーガイド、APIリファレンス、例: https://ibm.github.io/LNN/
- 学術論文 – 元の arXiv 論文および続報へのリンク。
- 教育用資料 – 新規ユーザー向けのノートブックとウォークスルー。
- 神経記号 AI チームページ – LNN を開発した研究グループの背景情報。
ライセンス – Apache 2.0(許容性が高く、商業利用に適しています)。
引用 – LNN を研究で使用する場合、2020年の arXiv 論文を引用してください:
@article{riegel2020logical,
title={Logical neural networks},
author={Riegel, Ryan and Gray, Alexander and Luus, Francois and Khan, Naweed and Makondo, Ndivhuwo and Akhalwaya, Ismail Yunus and Qian, Haifeng and Fagin, Ronald and Barahona, Francisco and Sharma, Udit and others},
journal={arXiv preprint arXiv:2006.13155},
year={2020}
}
関連
- プロジェクト
- Dispatch
- プロジェクト
- プロジェクト