IBM/LNN
A `Neural = Symbolic` framework for sound and complete weighted real-value logic
논리적 신경망 (LNN)
무엇인가요 – LNN은 논리적 신경망을 구현하는 오픈소스 파이썬 라이브러리입니다. 이는 신경망의 학습 능력과 기호 논리의 명시적 추론을 결합한 신경-기호 프레임워크입니다. 각 뉴런은 논리식의 구성 요소에 대응하여, 완전히 해석 가능한 미분 가능한 모델을 제공하며, 논리적 추론, 정리 증명, 불확실하거나 불완전한 지식 처리가 가능합니다.
핵심 아이디어
- 신경-기호 표현 – 뉴런은 가중치가 있는 실수 진리값을 유지하므로, 네트워크는 가중치가 있는 논리식을 인코딩합니다.
- 전방위 추론 – 시스템은 미리 지정된 타겟이 아닌, 네트워크 전체에 걸쳐 진리값의 범위를 전파함으로써 어떤 질문에도 답할 수 있습니다.
- 엔드투엔드 미분 가능 – 논리적 모순을 측정하는 커스텀 손실 함수를 통해, 지식 기반에 모순이 있어도 기울기 기반 학습이 가능합니다.
- 오픈월드 의미론 – 진리값은 구간(경계) 형태로 유지되며, 확률적 해석을 지원하고 누락된 사실에 대한 강건성을 제공합니다.
일반적인 사용 사례
- 데이터에서 학습하고 동시에 명시적 추론이 필요한 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
- 프로젝트
- 프로젝트