NeurASP: Embracing Neural Networks into Answer Set Programming

Reading time: 4 minute
...
Featured Image

📝 Abstract

We present NeurASP, a simple extension of answer set programs by embracing neural networks. By treating the neural network output as the probability distribution over atomic facts in answer set programs, NeurASP provides a simple and effective way to integrate sub-symbolic and symbolic computation. We demonstrate how NeurASP can make use of a pre-trained neural network in symbolic computation and how it can improve the neural network’s perception result by applying symbolic reasoning in answer set programming. Also, NeurASP can be used to train a neural network better by training with ASP rules so that a neural network not only learns from implicit correlations from the data but also from the explicit complex semantic constraints expressed by the rules.

💡 Analysis

We present NeurASP, a simple extension of answer set programs by embracing neural networks. By treating the neural network output as the probability distribution over atomic facts in answer set programs, NeurASP provides a simple and effective way to integrate sub-symbolic and symbolic computation. We demonstrate how NeurASP can make use of a pre-trained neural network in symbolic computation and how it can improve the neural network’s perception result by applying symbolic reasoning in answer set programming. Also, NeurASP can be used to train a neural network better by training with ASP rules so that a neural network not only learns from implicit correlations from the data but also from the explicit complex semantic constraints expressed by the rules.

📄 Content

우리는 NeurASP라는 시스템을 소개한다. NeurASP는 기존의 답집합 프로그램(answer set programs, ASP)에 신경망(neural networks)을 결합함으로써, 기존의 기호 논리 기반 프레임워크에 하위기호적, 즉 서브심볼릭(sub‑symbolic) 연산 능력을 자연스럽게 추가하는 간단한 확장 모델이다. 구체적으로 말하면, NeurASP는 신경망이 출력하는 값을 해당 신경망이 예측한 각 원자 사실(atom)들의 존재 여부에 대한 확률 분포(probability distribution)로 해석한다. 이렇게 해석된 확률 분포는 전통적인 ASP의 사실(fact) 선언부에 직접 삽입될 수 있으며, 그 결과로 얻어지는 답집합(answer set)은 확률적 정보와 논리적 제약조건이 동시에 반영된 형태가 된다. 따라서 NeurASP는 하위기호적 연산과 기호적 연산을 하나의 통합된 계산 흐름 안에서 손쉽게 결합할 수 있는, 매우 직관적이면서도 효과적인 방법을 제공한다.

우리는 실제 사례를 통해 NeurASP가 사전 학습(pre‑trained)된 신경망을 어떻게 기호적 연산에 활용할 수 있는지를 구체적으로 보여준다. 예를 들어, 이미지 인식 모델이 각 이미지에 대해 여러 개의 라벨(label) 후보에 대한 확률값을 출력한다고 가정하면, 이러한 확률값들을 NeurASP의 사실 선언부에 원자 사실 형태로 삽입하고, 그 위에 추가적인 논리 규칙(logic rules)을 부여함으로써, 단순히 신경망만으로는 얻을 수 없는 복합적인 추론 결과를 도출할 수 있다. 이러한 과정에서 ASP의 강력한 논리 추론 엔진이 신경망이 제공하는 불확실한(uncertain) 정보를 정형화된 제약조건과 결합하여, 최종적으로 보다 일관되고 논리적으로 타당한 인식 결과를 산출한다. 즉, NeurASP는 신경망이 제시하는 확률적 예측을 기호적 추론(symbolic reasoning)과 결합함으로써, 신경망 단독으로는 놓치기 쉬운 구조적·관계적 정보를 보완하고, 전체 시스템의 인식 정확도와 해석 가능성을 동시에 향상시킨다.

또한 NeurASP는 신경망을 훈련시키는 과정에서도 유용하게 활용될 수 있다. 전통적인 신경망 학습은 주로 데이터 자체에 내재된 암묵적(correlative) 패턴을 최소화된 손실 함수(loss function)를 통해 학습한다면, NeurASP는 여기서 한 걸음 더 나아가 ASP 규칙을 손실 함수에 포함시킨다. 구체적으로, 신경망이 출력하는 확률 분포가 ASP 규칙에 의해 정의된 논리적 제약조건을 얼마나 만족하는지를 측정하는 추가적인 손실 항(term)을 도입함으로써, 신경망은 단순히 데이터의 통계적 특성만을 학습하는 것이 아니라, 인간이 명시적으로 정의한 복잡한 의미적 제약(constraints)도 동시에 학습하게 된다. 이러한 방식은 특히 도메인 지식(domain knowledge)이 풍부하게 존재하고, 그 지식을 모델에 직접 반영하고자 할 때 큰 장점을 제공한다. 결과적으로, NeurASP를 이용한 학습은 신경망이 데이터로부터 추출한 암묵적 상관관계와, 규칙이 표현하는 명시적이고 복합적인 의미 제약을 모두 통합함으로써, 보다 견고하고 일반화 능력이 뛰어난 모델을 구축할 수 있게 한다.

요약하면, NeurASP는 신경망 출력과 ASP 기반 논리 규칙을 자연스럽게 연결함으로써, 하위기호적 연산과 기호적 연산 사이의 장벽을 효과적으로 허물고, 두 영역의 장점을 동시에 활용할 수 있는 통합 프레임워크를 제공한다. 이는 기존의 기계 학습 모델이 갖는 해석 가능성의 부족과, 전통적인 논리 프로그래밍이 갖는 데이터 처리 능력의 한계를 보완하는 데 크게 기여할 것으로 기대된다.

실제 적용 사례로는 이미지 캡셔닝, 자연어 이해, 로봇 행동 계획 등 다양한 분야에서 NeurASP를 활용한 연구가 진행되고 있다. 예를 들어, 로봇이 주변 환경을 카메라를 통해 인식하고, 인식된 객체들의 존재 확률을 NeurASP에 전달하면, 로봇은 사전에 정의된 작업 순서와 안전 규칙을 ASP 규칙으로 기술함으로써, 위험을 최소화하면서도 목표를 효율적으로 달성할 수 있는 행동 계획을 자동으로 생성한다. 이러한 사례들은 NeurASP가 단순히 이론적인 모델에 머무르지 않고, 실제 복합 시스템에서 하위기호적·기호적 연산을 결합하여 실용적인 문제 해결에 기여할 수 있음을 보여준다.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut