“AI의 블랙박스 문제 해결해야”
프로그래밍 언어로 설명 제공
처리 속도 유지가 관건
고도로 발달한 인공지능(AI)은 자신이 내놓은 답을 설명하지 못한다. 알고리즘의 기능이 강화되며 구조가 복잡해진 탓이다. 구조가 복잡해 결과를 설명하지 못하는 인공지능 모델을 ‘블랙박스 모델’이라 부른다. 학계와 산업계에선 알고리즘의 투명성과 신뢰성을 높이기 위해 설명 가능한 인공지능(Explainable AI, 이하 ‘XAI’) 개발에 주력하고 있다. 오학주(정보대 컴퓨터학과) 교수에게 XAI의 일종인 PL4XGL을 개발하게 된 경위와 그 원리에 대해 물었다.
- 프로그래밍 언어를 AI에 접목한 계기는
“원래 프로그래밍 언어와 소프트웨어 공학 분야를 주로 연구했어요. 특히 안전하고 신뢰할 수 있는 소프트웨어를 만드는 ‘프로그램 분석 기술’ 개발에 집중했죠. 처음엔 프로그램 분석 기술의 성능을 높이기 위해 ‘데이터 기반 프로그램 분석’을 연구했고 여기에 특화된 학습 알고리즘을 직접 만들어 사용했어요.
그러다 일반적인 ‘화이트박스 AI 기술’에 눈이 간 거죠. 프로그래밍 언어 분야는 전통적으로 작동 원리가 명확한 화이트박스 기술들을 중심으로 발전되어 왔습니다. 이러한 특성을 가지는 프로그래밍 언어 기술들을 인공지능 문제에 적용해 본 겁니다. 정확성과 설명 가능성 간 상충 관계라는, AI 분야의 난제를 푸는 데 있어서 새로운 방식을 제시해 보고 싶었어요.
기계 학습의 모델로 사람이 읽을 수 있는 프로그래밍 언어를 사용해 AI의 설명 가능성을 높이려 했어요. 사람들이 일상적으로 사용하는 프로그램은 기본적으로 읽을 수 있으니 ‘이건 어떤 프로그램이구나’ 하고 알 수 있잖아요. 프로그래밍 언어를 AI에 접목하면 사용자가 AI의 작동 과정을 명확히 이해할 수 있게 될 거라고 생각한 거죠. 거기에서 착안한 연구 끝에 PL4XGL(A Programming Language Approach to Explainable Graph Learning)이 나온 겁니다.”
- PL4XGL은 어떤 기술인가
“PL4XGL은 프로그래밍 언어를 활용해 *그래프 데이터를 학습하고 설명하는 기술이에요. 이 방식은 복잡한 수학적 연산으로 이뤄진, 그래서 결정 과정이 불투명한 인공신경망을 모델로 삼지 않습니다. 사람이 읽을 수 있는 프로그램을 기계 학습 모델로 삼죠. 그 덕분에 학습과 예측의 전 과정을 설명할 수 있습니다. 결국 PL4XGL은 정확도보단 설명 가능성에서 강점을 보입니다. 정확히 얘기하면, PL4XGL이 내놓는 설명은 기존 GNN(Graph Neural Network)의 것보다 충실하고, 간결합니다. 설명의 충실도(fidelity)를 1에 가깝게 유지할 수 있어 모델이 내린 결정을 일관성 있게 설명할 수 있기 때문입니다. GNN을 사용한 모델이 내놓은 설명의 충실도는 0과 1 사이를 왔다 갔다 합니다. 일관된 설명을 제공하지 못하는 거죠. 반대로 충실도가 1인 PL4XGL의 설명은 언제나 해당 결과를 명확히 뒷받침할 수 있습니다. 설명의 간결성도 장점입니다. 설명이 너무 복잡하면 사람이 이해하기 어렵거든요. 이해하지 못할 설명을 늘어놓는다면 검증할 방법이 없으니, 설명의 신뢰도가 떨어지겠죠. 하지만 PL4XGL은 도메인 특화 언어(Domain-Specific Language)를 사용하여 간결한 설명, 올바른 설명을 내놓을 수 있는 구조로 돼 있습니다.”
- 충실도·간결성, 어떻게 가능한가
“기존 블랙박스 모델의 GNN 대신 ‘GDL(Graph Description Language)’을 사용했고, 프로그램 합성 알고리즘을 채택했기에 가능했어요. GDL은 그래프 데이터를 설명하고 분석하기 위해 설계된 도메인 특화 언어에요. 그래프의 노드(·)와 간선(/\)의 관계를 사람이 이해할 수 있는 프로그램 형태로 표현하는 용도죠. 사실 파이썬이나 C언어 같은 범용 프로그래밍 언어로도 그래프 데이터를 처리할 순 있어요. 그러나 코드가 매우 길고 복잡해지는 문제가 있습니다. 이에 반해 GDL은 그래프의 특성을 간결하고 직관적으로 표현할 수 있어 복잡한 코드 없이도 노드와 간선이 어떻게 분류되는지 명확한 설명을 제공합니다.
GDL을 구동할 때 사용한 프로그램 합성 알고리즘은 사전에 학습한 데이터를 기반으로 자동으로 프로그램을 생성하는 알고리즘이에요. 우선 사용하는 프로그래밍 언어의 문법에 따라 만들 수 있는 모든 프로그램을 생성하고, 그중 학습한 데이터를 가장 잘 설명하는 하나를 고르는 방식으로 작동해요. 프로그램을 선택하는 과정은 기본적으로 ‘공간 탐색’입니다. 가능한 모든 프로그램을 나열한 후 가장 효율적인 프로그램을 찾는 식이죠. 짧은 프로그램부터 차례로 시도되며, 점진적으로 길고 복잡한 프로그램으로 확장됩니다.”
- 기존 GNN과의 차별점은
“GNN은 그래프 데이터 분석에 널리 쓰이는데, 딥러닝 기반의 인공신경망을 사용하기에 학습한 정보가 내부적으로 어떻게 활용되는지, 왜 특정 결과가 도출됐는지 설명하는 덴 한계가 있어요. 따라서 데이터 처리가 끝난 후 결과를 추가로 추론해 주는 사후 설명 기법(post-hoc explainers)이 따로 필요합니다. 예측할 때마다 각 **인스턴스에 대해 새로운 설명을 생성해야 하고, 설명할 인스턴스가 많아질수록 설명 비용은 급격하게 늘죠. 예를 들어 GNN이 100개의 예측을 수행하면 그 예측 결과에 대해 100번의 설명을 추가로 제공해야 해요. 사후적으로 설명 가능한 모든 경우의 수를 찾고, 가장 적합한 설명을 추론하는 과정이죠. 결과적으로 정확한 설명을 보장하지 못하는 경우도 많아요.
반면 GDL은 노드를 분류하는 규칙이 사람들이 읽을 수 있는 프로그램으로 표현되며, 프로그램 합성 알고리즘을 통해 생성돼요. 예측 과정에서 자동으로 설명을 포함하는 프로그램을 생성하는 거죠. 이런 접근은 별도의 사후 설명도 필요 없고, 설명 자체가 모델에 통합돼 있어 AI의 작동 원리를 직관적으로 이해할 수 있게 해요. AI 모델의 신뢰성과 투명성을 높이는 데 기여할 수 있는 거죠. 학습이 완료된 후에는 추가적인 설명 비용도 발생하지 않아요.”
- PL4XGL이 열위에 있는 지점은
“GNN과 같은 인공신경망 모델은 학습이 매우 효율적입니다. GNN은 ‘미분 가능’ 모델로, ***경사 하강법(Gradient Descent)과 같은 효율적인 학습 알고리즘을 사용할 수 있습니다. 모델이 미분 가능하기 때문에, 모델이 어떤 방향으로 ‘파라미터’를 조정해야 최적의 결과에 도달할 수 있는지 명확히 알 수 있는 거죠. 반면 PL4XGL은 미분 가능 모델이 아니에요. 수치가 아니라 프로그램의 집합을 다루기 때문에 경사 하강법을 사용할 수 없습니다. 그래서 PL4XGL은 완전 탐색(exhaustive search)이나 무작위 탐색(random search)과 같은 비효율적인 방법을 사용해야 해요. 결국 특정 상황에서 학습 속도가 느려질 수밖에 없습니다. 작은 데이터나 단순한 문제에선 효율적으로 작동할 수 있으나, 대규모 데이터나 복잡한 문제에 적용하면 탐색 공간이 기하급수적으로 커지는 문제가 있어요. 성능이 저하될 수 있는 거죠.”
- 대규모 데이터 처리를 위한 과제는
“PL4XGL은 그래프 데이터 분류에서 탁월한 성능을 발휘하고 있지만, 대규모 데이터 세트 처리 시 속도 문제는 개선해야 합니다. 대규모 데이터 세트에서 학습 시간이 오래 걸렸던 건 현재 PL4XGL이 학습을 단일 CPU 코어로 진행했기 때문입니다. 반면 GNN은 GPU를 사용해 병렬 처리에 최적화된 환경에서 학습을 수행해 비교적 속도가 빨랐습니다. PL4XGL은 아직 GPU를 사용한 병렬 처리 방식을 도입하지 않았지만, GPU 같은 병렬 처리 하드웨어를 사용할 수 있을 것으로 봐요. PL4XGL의 탐색 과정은 각 가지(branch)를 독립적으로 처리할 수 있는 특성을 가지고 있어서, 병렬 처리를 도입하면 학습 속도를 크게 개선할 수 있습니다. 가지별로 CPU나 GPU를 할당하면, 처리 속도 문제를 상당 부분 해결할 수 있을 거예요.”
- PL4XGL의 확장 가능성은
“PL4XGL은 설명 가능성에 중점을 두고 있는 만큼 인공지능이 겪는 문제상황을 정확히 인식합니다. 딥러닝에서 사용하는 뉴럴 네트워크도 결국은 프로그램이라 오류가 생길 수 있는데 이때 PL4XGL이 역할을 할 수 있어요. 가령 데이터 학습이 불충분해 중요한 패턴들을 학습하지 않은 언더피팅, 반대로 데이터를 과도하게 학습해서 특수한 패턴까지 모두 학습해 버리는 오버피팅의 문제를 설명 가능한 프로그램으로 식별·수정할 수 있는 거죠.
그래프 데이터 외에 다양한 분야로 확장될 가능성도 열려 있습니다. 그래프 데이터 외에도 이미지나 텍스트와 같은 다른 형식의 데이터에 맞는 도메인 특화 언어를 개발할 수 있습니다. 이미지 데이터에는 이미지 도메인 특화 언어, 텍스트 데이터에는 텍스트 도메인 특화 언어를 적용할 수 있을 겁니다. 이는 PL4XGL이 다양한 머신러닝 작업에 사용될 수 있는 ‘가능성’을 보여줍니다.”
*그래프 데이터: 객체 간의 관계나 연결을 표현하기 위해 노드와 간선으로 이루어져 있는 하나의 데이터 형태.
**인스턴스: 모델이 처리할 개별 데이터 포인트.
***경사 하강법: 머신러닝과 딥러닝에서 주로 사용되는 최적화 알고리즘으로, 손실 함수(비용 함수)의 변화율을 계산하고, 기울기가 가장 낮은 방향으로 반복적으로 조정함으로써 최적의 파라미터를 찾아가는 방식.
글 | 서지연 기자 journey@
사진 | 안효빈 기자 lightb@
