그래프 활용한 노드 간 관계 분석기술로 고도화된 지식추적모델 GKT(Graph-Based Knowledge Tracing)

Riiid Teamblog
Riiid Teamblog KR
Published in
7 min readAug 27, 2021

By 김정훈

김정훈님은 Riiid의 AI Research Scientist로 KT(정오답예측), SP(점수예측), RS(문제추천) 등 다양한 AIEd 연구를 담당하고 있습니다.

뤼이드의 AI Research 팀은 학생의 지난 교육 기록을 사용해서 학생의 지식 상태를 추적(Trace)하고자 하는 Knowledge Tracing 연구에 집중하는 연구 집단입니다. 이번 글에서는 최근 가장 주목받고 있는 Knowledge Tracing Model을 소개하고자 합니다.

Knowledge Tracing에서는 Hidden Markov Model을 기반으로 하는 Bayesian Knowledge Tracing(BKT)나 Recurrent Neural Network를 기반으로 하는 Deep Knowledge Tracing(DKT) 등 최신 유행하는 다양한 architecture 적용이 시도되었습니다.

이중 오늘 소개해 드릴 Knowledge Tracing 기법은 최근에 가장 주목받고 있는 deep learning architecture인 Graph Neural Network(GNN)를 적용한 모델인 Graph-Based Knowledge Tracing(GKT) 입니다.

Graph Neural Network와 GKT

GNN은 이름 그대로 Graph에서 사용이 가능한 신경망입니다. 일반적인 Neural Network들과 다른 점이 있다면 그래프 내의 node들이 그래프 형식으로 이어져 있어서 조금 더 많은 node 간의 관계를 고려할 수 있다는 장점이 있습니다.

이 말인 즉슨, 다른 architecture들이 잡아내지 못하는 섬세한 dependency relationship들을 분석할 수 있다는 점에 최근에 각광을 받고 있는 모델이라고 이해하시면 됩니다. 특히나 여러 가지 요인이 많은 교육에서는 더 많은 변수를 모델링할 수 있는 GNN을 기반으로 한 Knowledge Tracing이 더 효과적일 수 있는 여지가 있습니다.

이제 찬찬히 GKT의 구조를 살펴보도록 하겠습니다. 아래 그림에서 보시다시피 GKT는 크게 3개의 단계를 거치고 있습니다.

첫 번째, 집계(aggregate)단계 입니다. 이 단계에서는 학습 개념 i의 hidden state와 embedding을 취합하고 그래프상 이웃해 있는 학습 개념을 상징하는 node j의 hidden state와 embedding을 다음과 같이 계산합니다.

두 번째, 업데이트(update) 단계에서는 집계 단계에서 계산된 hidden state들을 업데이트합니다. f_self는 multi-layer perceptron을, G_ea는 erase-add gate, G_gru는 gated recurrent unit을 의미합니다. f_neighbor는 그래프상에서 이웃한 node에게 정보를 전달하는 임의의 함수로, 통계학적 관점(statistics-based approach) 그리고 machine learning 관점(learning-based approach) 총 두 가지 방식으로 설계가 되었습니다.

먼저 통계학적 관점에서 f_neighbor를 설계할 때 그래프의 인접 행렬(adjacency matrix) A와 multi-layer perceptron(MLP)를 차용하여 그래프를 만듭니다. 그리고 모든 노드가 이어진 밀집 그래프(dense graph), 어떤 개념을 학습한 뒤 다른 개념을 학습하는 transition기록을 바탕으로 만들어진 Transition Graph, DKT의 조건부 예측 확률을 기준으로 만든 DKT Graph 총 세 가지를 가지고 f_neighbor를 제작합니다.

Learning-Based approach 관점에서도 세 가지 방법을 사용해 그래프의 구조를 훈련합니다. 우선 Parametric Adjacency Matrix(PAM)는 인접 행렬 A를 매개 변수화해 인접 행렬의 특성을 만족하게끔 훈련을 해서 최적화합니다. Multi-head Attention(MHA)은 attention mechanism을 사용해 노드 간 edge들의 weight를 추론하여 그래프를 형성하고, Variational Autoencoder(VAE)는 edge들을 잠재변수로 표현해 edge를 구성하는 node들을 기반으로 추론해 그래프를 만들어 냅니다.

세 번째, 예측(predict) 단계에서는 학생이 각 학습 개념에 대해서 정확한 대답을 할 확률을 예측합니다.

GKT의 두 가지 장점

GKT의 성능 검증 실험은 ASSISTments와 KDDCup 두 개의 공개된 데이터셋을 활용해 진행됐습니다. 실험 결과 GKT가 다른 KT 모델들에 비해서 가지는 장점 두 가지가 발견됐습니다.

먼저, GKT가 기존의 DKT보다 성능 면에서 더 뛰어난 모습을 보이는 것을 확인할 수 있었습니다. Table 1에 보시다시피 모델의 퍼포먼스를 확인할 수 있는 AUC(Area Under the Curve)지표가 GKT에서 더 좋은 모습을 보이는 것을 확인할 수 있습니다.

다음으로는 DKT에서는 불가능했던 학습 개념 간 관계그래프 형식으로 해석 가능하게끔 만드는 점에서 장점을 가지고 있었습니다. 이를 확인하기 위해 한 개의 학습 개념을 학습할 때 연관된 개념들의 업데이트 유무를 확인하는 실험이 진행됐습니다. 아래 그림에서 확인할 수 있듯이, GKT는 연관된 학습 개념들만 업데이트되는 모습을 (a)의 진한 초록색으로 표현하고 있으며, (b) 역시 연관된 노드에서 업데이트가 진행되고 있음을 보여주고 있습니다.

결론

실험을 통해 얻은 결과값을 통해 우리는 GKT의 우수한 성능과 무엇보다 GKT를 통해 앞으로 더 섬세하고 정교한 학습 개념간의 관계를 정의할 수 있음을 확인할 수 있었습니다. 특히, 여러 가지 외부 변수나 요인들에 특히나 더 예민한 교육 분야에서 그래프를 기준으로 모델링 된 Knowledge Tracing은 더욱 주목받을 것으로 기대됩니다.

뤼이드 역시 이번 연구에 주목하고 있으며, 자사의 AIEd(교육 인공지능) 연구에도 참고할 계획입니다. 앞으로도 최신 연구 동향을 살펴보면서 유의미한 연구가 있다면 테크 블로그를 통해 꾸준히 공유하도록 하겠습니다.

--

--

Riiid Teamblog
Riiid Teamblog KR

교육 현장에서 실제 학습 효과를 입증하고 그 영향력을 확대하고 있는 뤼이드의 AI 기술 연구, 엔지니어링, 이를 가장 효율적으로 비즈니스화 하는 AIOps 및 개발 문화 등에 대한 실질적인 이야기를 나눕니다.