Neurosymbolic Programming
Abstract
과학 분야에서 신경 기호 프로그래밍(Neurosymbolic Programming, NP)이 어떻게 과학적 발견을 가속화할 수 있는지에 대해 탐구합니다. NP는 신경망의 데이터 학습 능력과 기호 시스템의 구조화된 추론 능력을 결합하여, 복잡한 패턴을 학습하면서도 과학자들이 이해하고 수정할 수 있는 해석 가능한 모델을 생성합니다. 행동 분석과 같은 실제 사례를 통해 NP의 잠재력을 보여주며, 데이터의 불완전성, 영역 지식 통합, 확장성, 최적화, 해석 가능성, 벤치마킹, 도구 개발 등 NP를 실제 과학 워크플로우에 적용하는 데 따르는 기회와 과제들을 논의합니다.
Overview
뉴로심볼릭 프로그래밍(Neurosymbolic Programming, NP)이 무엇인지 설명해 드리겠습니다.
뉴로심볼릭 프로그래밍(Neurosymbolic Programming)은 딥러닝(Deep Learning)과 프로그램 합성(Program Synthesis) 분야를 연결하는 떠오르는 연구 분야입니다. 이 분야의 목표는 고전적인 기계 학습과 마찬가지로 데이터로부터 함수를 학습하는 것입니다. 그러나 NP에서는 학습 대상 함수를 프로그램(programs) 형태로 표현하며, 이러한 프로그램은 심볼릭 원시 연산(symbolic primitives)뿐만 아니라 신경 모듈(neural modules)도 사용할 수 있습니다. 프로그램 학습 과정은 심볼릭 탐색(symbolic search)과 경사 하강법 기반의 최적화(gradient-based optimization)를 결합하여 수행됩니다.
핵심 아이디어는 신경망의 유연성과 확장성을 심볼릭 모델의 구조 및 투명성과 결합하는 것입니다. NP는 순수 딥러닝 모델이 가지는 몇 가지 약점, 예를 들어 해석 불가능성, 데이터 효율성 부족, 도메인 지식 통합의 어려움 등을 해결하는 데 잠재력이 있습니다.
뉴로심볼릭 프로그래밍의 주요 구성 요소:
- 뉴로심볼릭 함수 표현 (Neurosymbolic Function Representations):
- 학습되는 함수는 신경망과 심볼릭 코드(프로그램)의 조합으로 표현됩니다.
- 프로그램은 도메인 특정 언어(Domain-Specific Language, DSL)를 사용하여 정의되며, 이는 알고리즘이 학습할 수 있는 프로그램의 집합을 나타냅니다.
- 프로그램은 구조(alpha)와 연속적인 매개변수(theta)를 가집니다.
- 구조(alpha)는 원시 연산(primitives), 대수 연산자, 매개변수화된 연산자, if-then-else 문, 반복문 등 다양한 심볼릭 구성 요소로 이루어질 수 있습니다.
- 매개변수화된 연산자(theta)는 미분 가능한 함수 또는 작은 신경망일 수 있습니다.
- 신경 및 심볼릭 구성 요소를 결합하는 다양한 방식이 제안되었습니다 (예: 분기 컴포지션, 신경망 후 상징, 가산 컴포지션 등).
- 뉴로심볼릭 학습 알고리즘 (Neurosymbolic Learning Algorithms):
- NP는 심볼릭 검색과 신경망의 경사 하강법 기반 최적화를 결합합니다.
- 만약 프로그램 구조(alpha)가 고정되어 있다면, 연속적인 매개변수(theta)는 딥러닝에서와 같이 경사 하강법을 통해 학습될 수 있습니다.
- 프로그램 구조(alpha)를 찾는 과정은 신경망 아키텍처 탐색(Neural Architecture Search)과 유사합니다.
- 학습 알고리즘은 데이터, DSL, 그리고 안전성이나 강건성과 같은 추가 제약 조건을 입력으로 사용합니다.
- 학습 과정에는 손실 함수나 학습 목표를 지정하는 단계가 포함됩니다.
- Neural-Guided Search, Symbolically Guided DL, Relaxation, Distillation (특히 강화 학습에서), Programmatic Weak Supervision (프로그램이 학습 데이터를 위한 가짜 레이블을 생성) 등 다양한 알고리즘 기법들이 탐구되고 있습니다.
프로그램 합성과 기계 학습은 데이터로부터 함수를 학습한다는 목표, 입력으로 행동적 및 구조적 제약 조건을 사용한다는 점, 그리고 원하는 해(프로그램 또는 함수)를 찾기 위해 검색 또는 최적화 과정을 거친다는 점에서 유사점을 가집니다. 뉴로심볼릭 프로그래밍은 이러한 유사성을 활용하여 두 분야의 강점을 통합합니다.
뉴로심볼릭 프로그래밍은 새로운 아이디어는 아니지만, 최근 딥러닝 및 프로그램 합성 도구의 발전과 과학 분야를 비롯한 다양한 분야에서 데이터 분석을 위한 효율적인 도구에 대한 수요 증가로 인해 다시 주목받고 있습니다.
Objectives
뉴로심볼릭 프로그래밍(Neurosymbolic Programming, NP) 모델이 달성하고자 하는 목표와 그 이점에 대해 설명해 드리겠습니다.
뉴로심볼릭 프로그래밍은 딥러닝(Deep Learning)과 프로그램 합성(Program Synthesis) 분야를 연결하는 연구 분야입니다. 이 분야의 주요 목표는 고전적인 기계 학습처럼 데이터로부터 함수를 학습하는 것이지만, 학습된 함수를 프로그램 형태로 표현하는 것입니다. 이러한 접근 방식을 통해 NP는 순수 딥러닝 모델과 순수 상징적 모델의 강점을 모두 활용하여 다양한 목표를 달성하고자 합니다.
뉴로심볼릭 모델이 달성하고자 하는 주요 목표 및 이점은 다음과 같습니다.
- 해석 가능성 및 투명성 향상 (Increased Interpretability and Transparency): 순수 딥러닝 모델은 종종 “블랙 박스”로 간주되어 그 작동 방식을 이해하기 어렵습니다. 반면, 뉴로심볼릭 프로그램은 상징적 구조(예: if-then-else 문)와 도메인 특정 언어(DSL)의 구성 요소를 포함하므로 더 쉽게 해석하고 이해할 수 있습니다. 이는 과학자들이 학습된 모델로부터 통찰력을 추출하는 데 특히 중요합니다.
- 데이터 효율성 개선 (Improved Data Efficiency): 레이블이 지정된 데이터를 얻는 것은 비용이 많이 들 수 있습니다. 프로그램 구조와 같은 구조적 제약 조건이나 유용한 귀납적 편향(inductive bias)을 모델에 통합함으로써, 뉴로심볼릭 모델은 순수 딥러닝보다 훨씬 적은 양의 데이터로도 효과적으로 학습할 수 있습니다. 일부 접근 방식에서는 프로그램이 기계 학습 모델 학습을 위한 약한 지도(weak supervision) 신호를 생성하여 레이블링 부담을 줄이기도 합니다.
- 도메인 지식 통합 용이성 (Easier Integration of Domain Knowledge): 과학 분야의 많은 전문가들은 자신들의 도메인에 대한 풍부한 지식을 가지고 있으며, 이를 기계 학습 알고리즘에 투명하고 유용하게 통합하기를 원합니다. 뉴로심볼릭 프로그래밍은 도메인 특정 언어(DSL)나 상징적 제약 조건을 통해 이러한 구조화된 도메인 지식을 자연스럽게 통합할 수 있도록 설계되었습니다.
- 강건성 및 안전성 확보 (Ensuring Robustness and Safety): 뉴로심볼릭 프로그램은 상징적 구성 요소의 속성을 활용하여 모델의 강건성(robustness)과 안전성(safety)에 대한 더 강력한 보장을 제공할 수 있습니다. 예를 들어, 증명 가능한 안전한 상징적 모듈(안전 실드, safety shield)을 신경 모듈과 결합하여 모델의 행동이 안전 제약 조건을 벗어나지 않도록 할 수 있습니다. 또한 형식 검증(formal verification)과도 더 자연스럽게 연동될 수 있습니다.
- 일반화 성능 향상 (Improved Generalization): 프로그래밍 언어의 제약 조건은 일종의 정규화(regularization) 역할을 하여, 학습된 모델이 훈련 데이터와 다른 분포의 데이터(자연스러운 분포 변화 등)에서도 더 잘 일반화되도록 도울 수 있습니다.
- 복잡한 절차적/알고리즘적 작업 학습 (Learning Complex Procedural/Algorithmic Tasks): 프로그램은 본질적으로 절차적 논리와 알고리즘을 표현하는 데 적합합니다. 뉴로심볼릭 프로그래밍은 순수 신경망만으로는 모델링하기 어려운 복잡한 알고리즘이나 장기적인 절차적 작업을 표현하고 학습하는 데 잠재력을 가집니다.
- 과학적 발견 가속화 (Accelerating Scientific Discovery): 궁극적으로 뉴로심볼릭 프로그래밍은 데이터 분석을 위한 효율적이고 해석 가능한 도구를 제공함으로써 과학자들이 데이터로부터 통찰력을 얻고 과학적 가설을 탐구하며 모델을 개선하는 순환 과정(데이터와 통찰력 사이의 루프를 닫는 것)을 가속화하는 것을 목표로 합니다.
이러한 목표들을 통해 뉴로심볼릭 프로그래밍은 특히 과학 응용 분야에서 현재 기계 학습 방법론의 한계를 극복하고 더 신뢰할 수 있고 유용한 인공지능 시스템을 구축하는 데 기여하고자 합니다.
Scientific Discovery
뉴로심볼릭 프로그래밍(Neurosymbolic Programming, NP)은 여러 면에서 과학적 발견 과정을 가속화할 잠재력을 가지고 있습니다.
주요 방식은 다음과 같습니다.
- 신경망의 유연성과 심볼릭 모델의 투명성 결합: NP는 신경망의 확장 가능하고 유연한 알고리즘(예: 경사 하강법 기반 연속적 최적화)과 복잡하고 지저분한 데이터를 다루는 능력을 심볼릭 프로그램의 해석 가능성, 검증 가능성, 구조화된 도메인 지식 통합 용이성, 그리고 데이터 효율성과 결합합니다. 순수 신경망 모델은 데이터에 잘 맞지만 해석 가능성과 제어가 제한적이며, 순수 심볼릭 모델은 해석 가능하지만 데이터세트의 모든 동적 특성을 처리하기 어렵습니다. NP는 이 둘 사이의 다리 역할을 하며, 과학자들이 복잡한 현상을 모델링하는 동시에 모델이 왜 그렇게 동작하는지 이해하고 제어할 수 있게 돕습니다.
- 데이터와 통찰력 간의 루프 연결 촉진: NP 모델의 궁극적인 목표는 데이터와 통찰력 사이의 루프를 연결하는 것을 강화하는 도구로 사용되는 것입니다. 도메인 전문가는 학습된 모델을 투명하게 쿼리하고 통찰력을 추출할 수 있을 뿐만 아니라, 유용한 방식으로 모델을 제약하기 위해 더 많은 도메인 지식을 주입할 수 있습니다. 이는 도메인 전문가가 모델을 신속하게 반복하고 프로토타이핑하여 과학적 임무에 유용한 통찰력으로 빠르게 이어지는 선순환을 만듭니다.
- 데이터 효율성 향상: 많은 과학 분야에서는 레이블이 지정된 데이터가 부족하거나 레이블링 과정이 비용이 많이 들 수 있습니다. NP는 프로그래밍적 구조를 부과함으로써 순수 딥러닝보다 훨씬 더 데이터 효율적일 수 있습니다. 예를 들어, 도메인 전문가가 데이터의 흥미로운 속성을 캡처하는 프로그램을 설계하도록 요청할 수 있습니다. 이러한 프로그램은 신경망이 디코딩해야 하는 보조 디코딩 작업이 되며, 이는 레이블 효율성을 크게 향상시켜(예: 10배 개선) 수십 또는 수백 시간의 수작업 레이블링 시간을 절약할 수 있습니다.
- 도메인 지식 통합: 과학자들은 다양한 형태의 도메인 지식을 기계 학습 알고리즘이 투명하고 유용하게 사용할 수 있는 방식으로 통합하기를 원합니다. NP는 심볼릭 구성 요소를 통해 이러한 구조화된 도메인 지식을 비교적 쉽게 통합할 수 있도록 설계되었습니다.
- 해석 가능성 및 이해 증진: 딥러닝 모델이 점점 더 커지고 고차원 데이터세트를 다루게 되면서, 블랙박스 모델의 해석 가능성은 과학적 이해에 점점 더 병목 현상이 되고 있습니다. NP 모델은 심볼릭 구조를 통해 더 나은 해석 가능성을 제공하며, 이를 통해 과학자들이 모델의 작동 방식을 이해하고 데이터에서 추출된 현상에 대한 통찰력을 얻을 수 있습니다. 예를 들어, 행동 신경과학에서 NP는 주석가들 간의 차이를 설명하는 간단하고 해석 가능한 프로그램을 생성하는 데 사용될 수 있습니다.
- 심볼릭 모델 발견 (심볼릭 회귀): NP 기술은 데이터로부터 해석 가능한 심볼릭 방정식이나 모델을 발견하는 데 사용될 수 있습니다. 이는 과학적 데이터를 설명하는 새로운 이론이나 법칙을 도출하는 데 직접적으로 기여할 수 있습니다. AI Feynman과 같은 접근 방식은 딥러닝과 심볼릭 검색을 결합하여 데이터세트에서 심볼릭 방정식을 발견합니다.
- 인과 관계 추론 잠재력: 아직 초기 단계이고 투기적이지만, 일부 NP 모델은 생성 모델의 특성을 가질 수 있으며, 이는 인과 관계 추론과 반사실적 질문(counterfactuals)에 답하는 데 사용될 수 있습니다. 프로그램의 심볼릭 특성은 인과적 측면을 식별했다는 신뢰도를 높이는 데 도움이 될 수 있습니다. 확률적 프로그래밍과 NP의 결합도 이 분야의 발전에 기여할 수 있습니다.
이러한 특징들은 과학자들이 방대한 양의 데이터를 더 효율적으로 이해하고, 새로운 가설을 생성 및 검증하며, 모델의 예측에 대한 신뢰도를 높이는 데 도움을 주어 과학적 발견을 가속화할 수 있습니다.
Limitations of Deep Learning
뉴로심볼릭 프로그래밍(Neurosymbolic Programming, NP)이 딥러닝의 어떤 약점을 해결하는지 설명해 드리겠습니다.
뉴로심볼릭 프로그래밍(NP)은 신경망의 확장 가능성과 유연성을 심볼릭 모델의 투명성 및 구조와 결합하여 순수 딥러닝 모델이 갖는 여러 약점을 해결하는 데 잠재력을 가지고 있습니다. 과학 분야에서 딥러닝은 많은 발전을 가져왔지만, 여전히 몇 가지 중요한 한계가 있습니다. NP는 이러한 한계들을 다음과 같은 방식으로 해결하고자 합니다.
- 해석 가능성 부족 (Uninterpretability):
- 딥러닝 모델은 데이터에 잘 맞지만 종종 ‘블랙박스’ 모델로 간주되어 그 작동 방식이나 예측 이유를 이해하기 어렵습니다. 특히 과학 분야에서는 흥미로운 현상을 데이터에서 추출하고 모델을 이해하는 것이 중요한데, 해석 가능성 부족은 병목 현상이 될 수 있습니다.
- NP는 심볼릭 구성 요소와 프로그램을 통해 더 나은 해석 가능성을 제공합니다. 모델에 심볼릭 구조를 부여함으로써, 과학자들은 모델의 동작 방식을 이해하고 데이터에서 얻은 통찰력을 검증할 수 있습니다. 예를 들어, 행동 신경과학 분야에서 NP는 주석가들 간의 차이를 설명하는 간단하고 해석 가능한 프로그램을 생성하는 데 사용될 수 있습니다.
- 데이터 효율성 부족 (Lack of Data Efficiency):
- 많은 과학 분야에서는 레이블이 지정된 데이터가 부족하거나 레이블링 과정이 매우 비싸고 많은 시간(수십 또는 수백 시간)이 소요될 수 있습니다. 순수 딥러닝은 종종 대규모의 레이블된 데이터를 필요로 합니다.
- NP는 프로그램적 구조를 도입함으로써 순수 딥러닝보다 훨씬 더 데이터 효율적일 수 있습니다. 도메인 전문가가 데이터의 흥미로운 속성을 포착하는 보조 디코딩 작업(auxiliary decoding tasks)을 정의하는 프로그램을 설계할 수 있으며, 이는 신경망이 디코딩해야 할 목표가 되어 레이블 효율성을 크게 향상시킬 수 있습니다 (예: 10배 개선). NP의 유도 편향(inductive bias)과 정규화(regularization) 형태는 더 적은 데이터로도 잘 일반화되도록 돕습니다.
- 도메인 지식 통합의 어려움 (Difficulty in Incorporating Domain Knowledge):
- 과학자들은 다양한 형태의 도메인 지식(prior knowledge, experimental context 등)을 기계 학습 알고리즘에 투명하고 유용하게 통합하기를 원하지만, 순수 딥러닝 모델에서는 이를 자연스럽게 수행하기 어렵습니다.
- NP는 심볼릭 구성 요소를 통해 이러한 구조화된 도메인 지식을 비교적 쉽게 통합할 수 있도록 설계되었습니다. 도메인 전문가는 모델을 유용한 방식으로 제약하기 위해 추가적인 도메인 지식을 주입할 수 있습니다.
- 검증 가능성 부족 (Lack of Verifiability):
- 순수 신경망 모델은 검증하기 어렵습니다. 이는 안전이 중요한 애플리케이션에서는 큰 문제가 될 수 있습니다.
- 심볼릭 프로그램은 검증 가능하다는 장점이 있습니다. NP는 이러한 심볼릭 구성 요소를 포함함으로써 특정 속성에 대해 모델의 동작을 형식적으로 검증할 수 있는 가능성을 제공합니다. 예를 들어, 안전 모듈(safety shield)을 포함하는 NP 정책은 신경망 구성 요소가 무엇이든 안전이 보장되도록 설계될 수 있습니다.
- 취약성 및 일반화 부족 (Brittleness and Lack of Generalization):
- 순수 신경 모델은 훈련 데이터에는 잘 맞지만, 복잡한 역학이나 지저분한 데이터를 다룰 때 취약하거나 훈련 데이터 분포와 다른 데이터(out-of-distribution)에 대해 일반화 능력이 떨어질 수 있습니다.
- NP 모델은 신경망의 유연성과 심볼릭 모델의 구조화된 의미론(structured semantics)을 결합하여, 데이터세트의 복잡한 동적 특성을 처리하는 동시에 모델이 과적합되는 것을 방지하고 더 나은 일반화 능력을 가질 수 있습니다. 프로그램의 제약 조건은 일종의 정규화 역할을 합니다.
- 상관관계 대 인과관계 (Correlation vs. Causation):
- 과학의 궁극적인 목표는 인과 관계를 이해하는 것이지만, 딥러닝 모델은 주로 데이터의 상관 관계를 학습하는 경향이 있습니다.
- 일부 NP 모델은 생성 모델의 특성을 가질 수 있으며, 이는 인과 관계 추론 및 반사실적 질문(counterfactuals)에 답하는 데 사용될 잠재력이 있습니다. 프로그램의 심볼릭 특성은 인과적 측면을 식별했다는 신뢰도를 높이는 데 도움이 될 수 있지만, 이 분야는 아직 초기 단계이고 추측적입니다. 확률적 프로그래밍과 NP의 결합은 이 분야 발전에 기여할 수 있습니다.
이러한 약점들을 해결함으로써 NP는 과학적 발견 과정을 더욱 효율적이고 신뢰할 수 있으며 가속화하는 도구가 될 수 있습니다.