기호주의(Symbolism) 인공지능: 블랙박스를 여는 열쇠

최근 인공지능(AI) 뉴스는 온통 딥러닝(Deep Learning)과 거대언어모델(LLM)에 대한 이야기로 가득합니다. 마치 딥러닝이 AI의 전부인 것처럼 느껴지기도 하죠. 하지만 AI의 역사를 거슬러 올라가면, 딥러닝과는 전혀 다른 철학을 가진 거대한 산맥을 만나게 됩니다. 바로 기호주의(Symbolism), 혹은 고전적 AI(GOFAI: Good Old-Fashioned AI)입니다.

AI가 점점 더 강력해질수록, 역설적으로 우리는 다시 이 ‘오래된 미래’인 기호주의를 주목해야 할 이유가 더욱 분명해지고 있습니다.

기호주의(Symbolism)란 무엇인가?

기호주의 AI는 인간의 지능을 ‘기호(Symbol)를 조작하는 과정’으로 정의합니다. 여기서 기호란 숫자나 단어뿐만 아니라, 현실 세계의 객체나 개념을 추상화하여 표현한 모든 것을 의미합니다.

이 접근 방식의 핵심은 “지능은 물리적 기호 시스템(Physical Symbol System)으로 구현될 수 있다”는 가설에 기반합니다. 즉, 컴퓨터에게 명확한 규칙(Rule)논리(Logic)를 가르쳐주면, 컴퓨터가 이를 바탕으로 추론하고 문제를 해결할 수 있다는 접근방법입니다.

연결주의(Connectionism)와의 차이

오늘날 주류인 딥러닝은 연결주의에 해당합니다. 연결주의는 인간의 뇌 신경망을 모방하여, 수많은 뉴런(노드)들의 연결 강도(가중치)를 조정하며 학습합니다.

  • 기호주의: $A \rightarrow B$ (A이면 B이다)라는 명시적인 규칙을 사람이 입력합니다. (Top-down)
  • 연결주의: 수만 장의 사진을 보여주며 “이게 고양이야”라고 학습시키면, 스스로 패턴을 찾아냅니다. (Bottom-up)

기호주의의 황금기와 핵심 기술

초기 AI 연구자들은 기호주의를 통해 체스를 두거나 수학 정리를 증명하는 시스템을 만들었습니다. 이들이 사용한 핵심 무기는 다음과 같습니다.

  1. 지식 표현(Knowledge Representation): 세상의 지식을 컴퓨터가 이해할 수 있는 형태로 구조화합니다. (예: 온톨로지, 지식 그래프)
  2. 추론 엔진(Inference Engine): 저장된 지식과 규칙을 바탕으로 새로운 사실을 도출합니다. (예: “소크라테스는 사람이다” + “사람은 죽는다” $\rightarrow$ “소크라테스는 죽는다”)
  3. 전문가 시스템(Expert System): 의사나 법률가 같은 전문가의 지식을 IF-THEN 규칙으로 만들어 컴퓨터에 이식합니다.

이 방식의 가장 큰 장점은 설명 가능성(Explainability)입니다. 기호주의 AI가 내린 결론은 논리적인 단계를 거쳐 도출되었기 때문에, “왜 그런 판단을 했는지”를 명확하게 설명할 수 있습니다.

AI의 겨울과 기호주의의 한계

하지만 기호주의는 곧 한계에 부딪혔습니다. 세상은 IF-THEN 규칙만으로 설명하기엔 너무나 복잡하고 불확실했기 때문입니다.

  • 취약성(Brittleness): 엄격한 논리 체계에 기반하므로, 미리 정의되지 않은 사소한 예외나 노이즈가 섞인 입력에 대해 유연하게 대처하지 못하고 시스템이 쉽게 오작동하는 한계를 보였습니다.
  • 지식 획득의 병목(Knowledge Acquisition Bottleneck): 세상의 모든 지식을 사람이 일일이 코딩해 넣는 것은 불가능했습니다.
  • 기호 접지 문제(Symbol Grounding Problem): 컴퓨터에게 ‘사과’라는 기호를 가르쳐도, 컴퓨터는 실제 세상의 사과가 어떤 맛인지, 어떤 느낌인지 이해하지 못하고 그저 기호로서만 처리한다는 철학적 한계도 있었습니다.

결국 데이터만 부어주면 알아서 학습하는 신경망(딥러닝)이 부상하면서, 기호주의는 ‘구시대의 유물’ 취급을 받게 되었습니다. 이로 인해 AI 연구에 대한 투자가 끊기고 대중의 관심이 식어버리는 이른바 ‘AI의 겨울(AI Winter)’이 찾아오게 되었습니다.

왜 다시 기호주의인가?

그렇다면 왜 지금, 딥러닝 전성시대에 다시 기호주의를 이야기할까요? 이는 딥러닝으로 해결하기 적합한 문제와 기호주의로 해결하는 것이 더 효율적인 영역이 서로 다르기 때문입니다.

1. 블랙박스 문제와 설명 가능성 (XAI)

딥러닝 모델은 결과는 기막히게 맞추지만, “왜?”인지는 설명하지 못합니다. 의료나 금융처럼 신뢰가 중요한 분야에서 “AI가 대출 거절이래. 이유는 몰라”라고 할 수는 없습니다. 기호주의의 논리적 추론 능력은 이 블랙박스를 여는 열쇠가 될 수 있습니다.

2. 환각(Hallucination) 현상

LLM은 종종 사실이 아닌 정보를 그럴듯하게 지어냅니다. 이는 LLM이 언어의 ‘확률적 패턴’만 학습했을 뿐, 참/거짓을 판별하는 ‘논리’를 갖추지 못했기 때문입니다. 지식 그래프(Knowledge Graph)와 같은 기호주의 기술을 결합하면, 생성된 문장이 팩트에 기반하는지 검증할 수 있습니다.

3. 뉴로-심볼릭 AI (Neuro-symbolic AI)

그래서 최근 학계와 산업계의 뜨거운 감자는 뉴로-심볼릭 AI입니다.

  • System 1 (직관): 딥러닝의 빠른 패턴 인식 능력 (이미지 인식, 자연어 처리)
  • System 2 (이성): 기호주의의 논리적 추론 능력 (계획 수립, 복잡한 문제 해결)

인간이 직관과 이성을 모두 사용하는 것처럼, AI도 이 두 가지를 결합하여 더 완벽한 지능으로 나아가려는 시도입니다.

4. 그래서, AI의 겨울은 끝나는가?

이 두 가지의 결합은 과거 기호주의를 AI의 겨울로 몰고 갔던 치명적인 한계들을 보완해줍니다.

  1. 깨지기 쉬운 취약성(Brittleness)의 극복: 과거에는 모든 예외를 규칙으로 만들어야 했지만, 이제는 예외적이거나 모호한 상황은 딥러닝의 유연한 직관이 처리하고, 명확한 논리가 필요한 부분은 기호주의가 담당하여 시스템의 견고함을 높입니다.

  2. 기호 접지(Symbol Grounding)의 실현: 기호주의의 가장 큰 난제는 “컴퓨터가 ‘사과’라는 기호와 실제 빨간 과일을 연결하지 못한다”는 것이었습니다. 뉴로-심볼릭 AI에서는 딥러닝이 시각(이미지), 청각(소리) 데이터를 인식하여 이를 기호(Symbol)로 변환해줍니다. 즉, 딥러닝이 기호에 ‘현실 세계의 의미’를 부여하는 다리 역할을 하게 된 것입니다.

  3. 지식 획득의 자동화: 사람이 손으로 지식을 주입하던 병목 현상도 해결됩니다. 딥러닝 모델이 방대한 데이터에서 패턴을 찾아내어 스스로 지식 그래프(Knowledge Graph)를 구축하거나 규칙을 발견하는 것이 가능해졌기 때문입니다.

결론: 협력의 시대

기호주의와 연결주의는 경쟁 관계가 아니라 상호 보완적인 관계입니다. 데이터를 통해 세상을 배우는(Learning) 연결주의와, 배운 지식을 바탕으로 생각하는(Reasoning) 기호주의가 만났을 때, 비로소 우리는 진정한 의미의 인공지능에 한 걸음 더 다가갈 수 있을 것입니다.

과거의 영광이자 실패였던 기호주의는, 이제 가장 최첨단의 트렌드로 돌아왔습니다.


ASP와 Datalog: 논리 프로그래밍의 두 가지 시선

논리 프로그래밍(Logic Programming)이라는 거대한 숲에 들어서면, 우리는 종종 유사한 형태를 지닌 두 가지 거목을 마주하게 됩니다. 바로 DatalogASP(Answer Set Programming)입니다.

둘은 모두 Prolog라는 공통된 조상에서 파생되었고, 겉보기에는 문법도 매우 유사합니다. 사실상 Datalog 프로그램은 유효한 ASP 프로그램이기도 하기 때문입니다. 이 때문에 처음 접하는 사람들은 “과연 무엇이 다른가?” 혹은 “ASP가 Datalog의 상위 호환인가?”라는 혼동을 겪기 쉽습니다.

하지만 이 둘을 단순히 비교나 경쟁 관계(vs)로 보는 것은 타당하지 않습니다. 그보다는 같은 뿌리에서 시작되었지만, 서로 다른 문제를 해결하기 위해 진화한 두 가지 시선으로 바라보는 것이 더 정확합니다. 하나는 ‘데이터로부터 확실한 사실을 이끌어내는 도구’로, 다른 하나는 ‘복잡한 제약 조건 속에서 가능한 해답을 찾아내는 도구’로 발전했기 때문입니다.

Datalog: 데이터 중심의 확실성 (Deductive Database)

Datalog는 그 이름에서 알 수 있듯이 DataLogic의 결합입니다. 태생적으로 데이터베이스 진영에서 “SQL만으로는 부족하다”는 요구와 함께 등장했습니다. SQL은 강력하지만, 트리 구조를 탐색하거나 그래프의 도달 가능성(reachability)을 따지는 재귀(recursion)적인 질의를 처리하는 데에는 한계가 존재했습니다.

Datalog는 바로 이 지점에서 SQL의 한계를 보완하며 등장했습니다.

  • 본질: 단순히 저장된 데이터를 조회하는 것을 넘어, 명시된 규칙을 바탕으로 새로운 정보를 논리적으로 추론(Inference)해내는 도구입니다. 이는 흔히 연역(Deduction)이라 합니다.
  • 목표: “주어진 사실(Facts)과 규칙(Rules)이 있을 때, 여기서 논리적으로 도출될 수 있는 모든 새로운 사실은 무엇인가?”
  • 특징:
    • 재귀(Recursion): Datalog의 가장 큰 강점입니다. “내 친구의 친구는 내 친구다” 같은 규칙을 재귀적으로 적용하여 소셜 네트워크의 연결 관계를 규명하거나, 프로그램의 호출 그래프를 분석하는 데 탁월합니다.
    • 확실성(Determinism): Datalog 프로그램의 실행 결과는 언제나 유일합니다. 입력 데이터가 같다면, 도출되는 결과(Minimal Model)도 항상 동일합니다. 여러 가지 가능성을 고려할 필요가 없습니다. 정답은 정해져 있습니다.
    • 효율성: 다항 시간(Polynomial Time) 내에 결과를 도출할 수 있도록 언어적인 제약을 둡니다. 함수 기호(function symbol)를 제한하거나 부정을 신중하게 다루는 이유도 연산을 효율적으로 수행하기 위함입니다.

ASP: 탐색과 해결의 가능성 (Constraint Solving)

반면, ASP(Answer Set Programming)는 “이 데이터에서 어떤 결론이 도출되는가?”보다는 “주어진 제약 조건을 모두 만족하는 시나리오는 무엇인가?”라는 질문에 답하기 위해 고안되었습니다.

ASP는 인공지능(AI)과 지식 표현(Knowledge Representation) 분야에서 어려운 조합 최적화 문제(Combinatorial Search Problems)를 해결하기 위해 진화했습니다.

  • 본질: “어떻게” 풀지 단계별로 지시하는 대신, 정답이 갖춰야 할 “조건”만 정의하면 컴퓨터가 해답을 찾아내는 선언적 문제 해결(Declarative Problem Solving) 방식입니다. 이를 통칭하여 선언적 프로그래밍(Declarative Programming)이라 합니다.
  • 목표: “이 규칙들을 위배하지 않으면서 가능한 세계(Stable Models/Answer Sets)를 찾아라.”
  • 특징:
    • 비결정성(Non-determinism): ASP의 핵심은 ‘선택’입니다. “$a$일 수도 있고 $b$일 수도 있다”는 상황을 모델링할 수 있습니다. 그래서 ASP 프로그램의 실행 결과는 하나가 아닌 여러 개의 ‘해답 집합(Answer Sets)’이 될 수 있습니다. (해답이 존재하지 않을 수도 있습니다.)
    • 제약 조건(Constraints): “특정 상황은 결코 발생해서는 안 된다”라는 제약 조건을 둡니다. 스케줄링 문제를 풀 때 “동시에 두 장소에 있을 수 없다”는 조건을 부여하는 것과 같습니다.
    • 복잡한 문제 해결: ASP는 NP-hard 문제를 다룹니다. 외판원 순회 문제(TSP), 시간표 작성, 하드웨어 설정 구성 등 방대한 경우의 수를 탐색해야 하는 복잡한 문제 해결에 최적화되어 있습니다.

두 시선의 관계: 포함 관계 그 이상

문법적으로만 보면 ASP는 Datalog를 포함하는 상위 집합(Superset)처럼 보입니다. 모든 Datalog 프로그램은 ASP 솔버(Clingo, DLV 등)에서 문제없이 실행됩니다.

하지만 이 둘을 구분 짓는 결정적인 차이는 ‘문제를 대하는 접근 방식’에 있습니다.

구분 Datalog ASP
논리적 접근 연역(Deduction): 사실을 연쇄적으로 축적하는 Bottom-up 방식 만족(Satisfiability): 규칙과 모순되지 않는 ‘가능한 세계’를 탐색
핵심 목표 주어진 데이터로부터 확실한 사실을 이끌어냄 복잡한 제약 조건을 만족하는 해답(Model)을 찾음
적합한 상황 대용량 데이터 기반의 규칙 분석 데이터는 적지만 규칙이 복잡한 조합 최적화
주요 사례 정적 분석, 보안 정책 검증, 그래프 DB 로봇 경로 계획, 팀 구성, 시스템 설정 자동화

마치며

우리가 망치를 들면 모든 게 못으로 보인다고 하지만, 도구 상자에 망치와 드라이버가 모두 있다면 상황에 맞춰 선별하여 사용하는 지혜가 필요합니다.

  • Datalog는 거대한 데이터의 바다에서 흩어진 사실들을 논리로 엮어 보이지 않는 관계를 찾아내는 그물과 같습니다.
  • ASP는 복잡하게 뒤엉킨 제약 조건의 실타래 속에서 올바른 해답을 찾아내는 실마리와 같습니다.

두 기술은 ‘논리(Logic)’라는 같은 언어를 쓰지만, 바라보는 곳은 다릅니다. 이 차이를 이해한다면, 우리는 문제를 만났을 때 더 명쾌한 해법을 선택할 수 있을 것입니다.


SPARQL의 SQL 유사성이 주는 함정, 그리고 Datalog

요즘 온톨로지와 시맨틱 웹 관련 세미나나 강연을 진행하면서 자주 느끼는 점이 하나 있습니다. 바로 SPARQL을 소개할 때 청중들의 반응입니다.

SQL과 닮은 친구, SPARQL

SPARQL은 문법적으로 SQL과 매우 유사합니다. SELECT, WHERE, ORDER BY 같은 키워드를 사용하기 때문에, 개발 경험이 있는 분들은 처음에 굉장히 반가워하십니다. “아, 그냥 조인(Join) 많은 SQL이구나!”라고 받아들이는 경우가 많기 때문입니다.

하지만 강연을 계속 진행하다 보면, 바로 그 ‘익숙함’이 오히려 독이 되는 순간이 찾아옵니다.

유사함이 주는 오해

SQL은 닫힌 세계 가설(Closed World Assumption, CWA)을 전제로 합니다. 데이터베이스에 명시되지 않은 정보는 ‘거짓’이라고 간주하는 방식입니다. 예를 들어 수강생 목록에 ‘홍길동’이 없다면, 시스템은 “홍길동은 수강생이 아니다”라고 확신합니다.

반면, SPARQL과 온톨로지 세계관은 열린 세계 가설(Open World Assumption, OWA)을 따릅니다. 데이터에 정보가 없다고 해서 그것이 틀린 것이 아니라, 단지 ‘아직 모르는 상태’라고 판단합니다. “홍길동이 수강생이라는 데이터가 없다”는 사실이 “홍길동은 수강생이 아니다”라는 결론을 보장하지 않습니다. 어딘가 다른 데이터셋에 그 정보가 있을 수도 있고, 단지 아직 기록되지 않았을 뿐이라고 가정하기 때문입니다.

사실 테이블이냐 그래프냐 하는 구조적 차이보다, 이러한 철학적 전제의 차이가 쿼리 결과와 추론의 방향을 결정짓는 훨씬 더 본질적인 지점입니다.

SQL과 유사한 구문은 사용자로 하여금 관계형 데이터베이스(RDB)의 멘탈 모델을 온톨로지에 투영하게 만듭니다. 그러나 RDF 그래프 패턴 매칭은 관계 대수(Relational Algebra)를 기반으로 하는 SQL의 조인 연산과는 그 수학적 토대와 의미론적 해석이 근본적으로 다릅니다. 특히 OPTIONAL 연산의 비단조성(Non-monotonicity)이나 추론 규칙(Entailment Regimes)이 개입되는 지점에서 이러한 간극은 극대화됩니다. “왜 SQL과 동일하게 결과가 나오지 않는가?”라는 의문이 드는 순간, 역설적으로 그 익숙한 문법은 학습자가 시맨틱 웹의 고유한 논리 구조를 이해하는 데 방해가 되는 인지적 장벽으로 작용합니다.

차라리 완전히 다른 문법이라면?

그래서 최근에는 이런 고민을 하게 되었습니다. “차라리 온톨로지를 다루는 언어는 SQL과 완전히 다르게 생겼다고 처음부터 못 박는 게 낫지 않을까?”

RDB와는 아예 다른 사고방식이 필요하다는 것을 강조하기 위해, 문법적 유사성이 없는 언어로 접근하는 것이 ‘사고의 전환’을 유도하는 데 더 유리할 수 있다는 생각입니다.

여기서 소개하고 싶은 것이 바로 Datalog입니다.

Datalog: 논리 기반의 질의 언어

Datalog는 Prolog의 부분집합으로 시작된 선언형 논리 프로그래밍 언어입니다. 이름에서 알 수 있듯이 데이터(Data)와 논리(Logic)를 다루는 데 특화되어 있습니다.

SPARQL이 데이터베이스로부터 명시적인 데이터를 조회(Querying)하는 데 중점을 둔다면, Datalog는 주어진 사실(Facts)과 규칙(Rules)으로부터 새로운 지식을 도출(Inference)하는 패러다임을 따릅니다. 이는 온톨로지의 핵심인 추론(Reasoning) 메커니즘과 논리적으로 일관된 구조를 가집니다.

Datalog의 맛보기

예를 들어, “조상의 조상은 조상이다”라는 재귀적인 관계를 SPARQL로 표현하려면 (SPARQL 1.1의 Property Path가 있긴 하지만) 꽤나 설명이 길어질 수 있습니다. 하지만 Datalog에서는 매우 직관적인 논리 규칙으로 표현됩니다.

ancestor(X, Y) :- parent(X, Y).
ancestor(X, Y) :- parent(X, Z), ancestor(Z, Y).
  • XY의 부모라면, XY의 조상입니다.
  • XZ의 부모이고, ZY의 조상이라면, XY의 조상입니다.

이 문법은 SQL과는 전혀 다릅니다. 그렇기 때문에 학습자는 RDB의 사고방식을 내려놓고, 논리적 관계사실의 도출이라는 새로운 관점에서 데이터를 바라보게 됩니다.

결론

물론 현실의 시맨틱 웹 생태계 표준은 SPARQL입니다. 하지만 온톨로지의 본질인 ‘지식의 표현과 추론’을 이해하기 위한 입문 도구로서, 혹은 SPARQL이 주는 RDB의 환상을 깨기 위한 충격 요법으로서 Datalog를 먼저 접해보는 것은 꽤나 매력적인 시도가 될 것 같습니다.

마지막으로, 앞서 이야기한 세 가지 언어의 기술적 특성을 간단히 비교해보면 다음과 같습니다.

특성 SQL SPARQL Datalog
데이터 모델 테이블 (Relational Table) 그래프 (RDF Graph) 사실(Facts) 및 규칙(Rules)
기본 전제 닫힌 세계 가설 (CWA) 열린 세계 가설 (OWA) 논리적 귀결 (Logical Consequence)
핵심 연산 관계 대수 (Relational Algebra) 그래프 패턴 매칭 (Pattern Matching) 재귀적 추론 (Recursive Inference)
주요 목적 데이터의 관리 및 조회 웹 데이터의 연결 및 탐색 지식의 표현 및 새로운 사실 도출

SQL의 그늘에서 벗어나, 데이터 그 자체의 논리적 연결에 집중하게 해주는 Datalog. 온톨로지를 공부하다가 SPARQL의 문법적 함정에 빠져 허우적거린 경험이 있으시다면, 한 번쯤 눈길을 돌려볼 만한 가치가 있습니다.


기호주의(Symbolism) 인공지능: 블랙박스를 여는 열쇠

최근 인공지능(AI) 뉴스는 온통 딥러닝(Deep Learning)과 거대언어모델(LLM)에 대한 이야기로 가득합니다. 마치 딥러닝이 AI의 전부인 것처럼 느껴지기도 하죠. 하지만 AI의 역사를 거슬러 올라가면, 딥러닝과는 전혀 다른 철학을 가진 거대한 산맥을 만나게 됩니다. 바로 기호주의(Symbolism), 혹은 고전적 AI(GOFAI: Good Old-Fashioned AI)입니다.

More …