LLM을 쓰다 보면 답답한 순간을 자주 만납니다. 틀린 답을 당당하게 내놓습니다. 조금만 낯선 문제가 나오면 지금까지 잘하던 추론이 갑자기 무너집니다. 단순히 모델 크기가 부족해서 생기는 문제라고 보기에는 계속 반복되는 패턴이 있습니다.

그리고 또 다른 접근 방법으로, 뉴로 심볼릭(neuro-symbolic) AI는 신경망의 직관과 심볼릭 AI의 규칙을 한 시스템에 묶으려는 시도입니다. 방향은 맞다고 생각합니다. 다만 둘을 그냥 붙이는 것만으로는 부족합니다. 신경망의 출력에는 항상 불확실성이 있고, 시스템은 자기 판단을 다시 점검할 수 있어야 합니다. 그래서 여기서는 확률과 메타인지 이야기를 해보려고 합니다.

확률: 왜 논리에 숫자가 필요한가

“신경망이 이미지를 보고 기호로 바꿔주고, 심볼릭 엔진이 그 기호로 추론한다”는 그림은 이해하기 쉽습니다. 예를 들어 신경망이 사진을 보고 cat이라고 말하면, 규칙 엔진은 “고양이는 동물이다” 같은 규칙을 적용할 수 있습니다.

그런데 실제 신경망은 보통 이렇게 단정적으로 동작하지 않습니다. 내부적으로는 “고양이일 확률 0.82, 강아지일 확률 0.14”에 가깝습니다. 고전적인 심볼릭 추론기는 이런 애매함을 잘 다루지 못합니다. 규칙 엔진은 보통 cat인지 아닌지를 묻지(True or False), cat일 가능성이 어느 정도인지는 묻지 않습니다.

확률을 논리에 섞으려는 시도는 오래전부터 있었습니다. ProbLog1, Markov Logic Networks2, Probabilistic Soft Logic3 같은 흐름이 여기에 들어갑니다. 뉴로 심볼릭은 여기에 신경망을 붙입니다. 신경망이 뭔가를 0과 1 사이의 확률로 내놓고, 논리 프로그램은 그 확률을 받아서 다음 추론을 이어갑니다.

DeepProbLog4의 예제를 보면 이 구조가 조금 더 감이 옵니다. MNIST 손글씨 이미지 두 장을 입력으로 줍니다. 그런데 각 이미지가 어떤 숫자인지는 알려주지 않습니다. 대신 “두 숫자의 합이 8이다”라는 정답만 줍니다.

신경망은 각 이미지가 0부터 9 중 무엇인지 확률 분포를 냅니다. 논리 프로그램은 덧셈 규칙을 알고 있으니, 그 확률들을 조합해서 “두 숫자의 합이 8일 확률”을 계산합니다. 학습은 이 확률이 높아지는 방향으로 진행됩니다.

숫자 하나하나의 정답 라벨을 직접 주지 않았는데도 숫자 인식기는 훈련됩니다. “둘을 더하면 8”이라는 조건만으로도 신경망이 각 숫자를 구별하는 법을 배웁니다5. 여기서 확률은 단순한 점수가 아닙니다. 신경망과 논리 규칙이 서로 맞물리게 해주는 연결부입니다.

메타인지: 확신도를 되먹임하기

확률이 들어오면 시스템은 “내가 이 결론을 얼마나 믿고 있는가”를 숫자로 가질 수 있습니다. 하지만 그 숫자를 사용자에게 보여주기만 하면 별로 쓸모가 없습니다. 이 숫자는 시스템 자신에게 다시 들어가야 합니다.

예를 들어 어떤 답의 확신도가 낮다면, 시스템은 바로 답을 내놓기보다 다른 규칙을 찾아보거나, 추가 정보를 요청하거나, 아예 “이건 모르겠다”고 말할 수 있어야 합니다. 입력이 기존 규칙으로 설명되지 않는다면, 그 사실도 감지해야 합니다. 이런 자기 점검이 들어갈 때 메타인지라고 부를 수 있습니다.

AI 문헌에서 이 개념을 비교적 일찍 정리한 연구로 Cox(2005)6가 있습니다. Cox는 시스템을 두 층으로 나눠 봅니다. 하나는 실제로 문제를 푸는 object-level입니다. 다른 하나는 그 풀이 과정을 바라보고 점검하는 meta-level입니다. 시스템이 자기 추론 과정을 기록해 두고, 뭔가 실패했다는 신호가 보이면 그 기록을 보고 전략을 바꾸는 식입니다78.

뉴로 심볼릭으로 보면 이 구분은 꽤 자연스럽습니다. 신경망이 보고 예측하는 부분은 object-level에 가깝습니다. 심볼릭 층은 그 예측이 얼마나 믿을 만한지, 어떤 규칙으로 설명되는지, 규칙 밖으로 벗어나지는 않았는지를 볼 수 있습니다. 지금 LLM에서 자주 보는 “확신에 찬 환각”은 object-level은 강한데 meta-level이 약한 상태로 볼 수 있습니다.

심볼릭 쪽에서도 변화가 있습니다. Scallop은 Datalog 기반 추론 엔진인데, 추론 과정에서 확률을 전파하고 이를 신경망 학습과 연결할 수 있게 설계되어 있습니다. Neural Datalog도 비슷하게, Datalog의 논리 추론 위에 확률 가중치를 얹어 신경망 출력과 연결합니다. 예전에는 심볼릭 시스템은 딱딱하고 학습이 안 된다고 보는 경우가 많았지만, 이제는 그 경계가 조금씩 흐려지고 있습니다.

메타인지 루프 Start Problem / New Environment Metacognitive Knowledge (Self-Awareness) Planning (Set Goal & Strategy) Action / Execution Monitoring (Self-Observation) Evaluating Is it working? Control / Regulation (Adjust Strategy) Goal Achieved End Yes No

마치며

뉴로 심볼릭에서 확률과 메타인지는 따로 떨어진 기능이 아닙니다. 확률은 “얼마나 확신하는가”를 만들고, 메타인지는 그 확신도를 다시 들여다보게 만듭니다.

이 고리가 없으면 시스템은 자기가 틀렸는지 알기 어렵습니다. 답을 만들 수는 있지만, 그 답을 의심하지 못합니다. 지금 LLM에서 반복적으로 보이는 환각도 결국 이 지점과 맞닿아 있다고 생각합니다. 더 큰 모델도 필요하겠지만, 자기 판단을 점검하는 구조 없이는 같은 문제가 계속 남을 가능성이 큽니다.


관련 글


  1. De Raedt, L., Kimmig, A., & Toivonen, H. (2007). “ProbLog: A Probabilistic Prolog and Its Application in Link Discovery”. IJCAI

  2. Richardson, M., & Domingos, P. (2006). “Markov Logic Networks”. Machine Learning, 62(1-2), 107–136. 

  3. Kimmig, A., Bach, S., Broecheler, M., Huang, B., & Getoor, L. (2012). “A short introduction to Probabilistic Soft Logic”. NIPS Workshop on Probabilistic Programming

  4. Manhaeve, R., et al. (2018). “DeepProbLog: Neural Probabilistic Logic Programming”. 

  5. De Raedt, L., et al. (2020). “From Statistical Relational AI to Neuro-Symbolic Artificial Intelligence”. 

  6. Cox, M. T. (2005). “Metacognition in computation: A selected research review”. Artificial Intelligence

  7. Colelough, A., & Regli, W. C. (2024). “Neuro-Symbolic AI in 2024: A Systematic Review”. arXiv preprint arXiv:2405.10185

  8. Hitzler, P., et al. (2022). “Neuro-symbolic artificial intelligence: The state of the art”. IOS Press