본 논문 리뷰에서는 다음과 같이 용어를 정리하여 사용합니다.
- Interaction → 상호작용 또는 문제 풀이
- Exercise → (학습) 활동
- 반복 신경망에 대한 입력으로 학생 상호 작용을 인코딩하는 새로운 방법
- 지식 추적 벤치마크에서 이전 최고의 결과보다 AUC가 25% 상승
- 지식 추적 모델에 전문가의 주석(annotation) 필요 X (전문가가 설정한 지식 구조나 개념 태그 없어도 문제 간 개념적 연관성이나 학생의 지식 상태 변화 추적 가능)
- 학습 활동 영향력 발견 및 개선된 활동 커리큘럼 생성
문제 풀이 이력의 형태는 Xt = {qt, at}의 튜플 형태를 취합니다.
qt : 특정 문제의 태그 (개념, 예: 제곱근 문제, x-절편 문제 등)
at : 정오답 여부 (맞혔을 경우 1, 틀렸을 경우 0)

그림 1은 초등학교 8학년 수학을 배우는 학생 한 명의 추적 지식을 시각화한 것입니다. 학생은 먼저 두 개의 제곱근 문제에 올바르게 답한 다음 x절편 문제를 틀립니다. 학생은 문제를 풀 때마다 각 개념에 대한 다음 문제에서의 정오답 여부를 예측할 수 있습니다. 문제 풀이 이력 형태에는 각 문제의 태그(개념)이 필요한데요. 본 논문에서는 DKT의 경우, 전문가가 직접 다는 태그(개념)을 활용할 수 있지만, 그렇지 않더라도 모델이 스스로 학습하면서 문제의 내부 구조(내용적 하위 구조)를 자동으로 파악할 수 있다고 합니다.
Bayesian Knowledge Tracing (BKT)는 학생의 학습 과정을 시간에 따라 모델링하는 가장 인기 있는 방법 중 하나입니다.
- 학생의 잠재적 지식 상태를 이진 변수로 표현, 각 변수는 특정 개념의 이해 여부를 나타냄
- Hidden Markov Model(HMM) : 학생이 주어진 개념의 문제에 답할 때 각 이진 변수에 대한 확률을 업데이트하는 데 사용
- 한 번 기술을 학습하면 결코 잊혀지지 않는다고 가정
- 개별 학습자의 사전 지식, 추측해서 맞힐 확률, 실수할 확률, 문제 난이도 추정 포함
[참고] BKT 매개변수 및 업데이트 방법
- 이진적 학생 이해 표현의 비현실성 : 학생의 이해도를 단순히 맞았다/틀렸다의 이진적 형태로 표현하는 것은 실제 학습 과정을 충분히 반영하지 못할 수 있습니다. 또한, 모델링 할 수 있는 활동의 종류에 제한을 가합니다.
- 숨겨진 변수의 의미와 매핑의 모호성 : '숨겨진 변수들'은 학생이 각 문제를 얼마나 잘 이해하고 있는지를 나타내지만, 각 문제와 이 숨겨진 변수 사이의 매핑이 명확하지 않을 수 있습니다. 즉, 한 문제에 여러 개념이 포함되어 있을 수 있고, 학생이 문제를 풀 때 단순히 '하나의 개념'을 이해했다고 보기 어려운 경우가 많습니다. 이를 보완하기 위해 Cognitive Task Analysis(인지적 과제 분석) 등의 기술이 개발되었습니다.
순환 신경망은 시간에 따라 인공 뉴런을 연결하는 유연한 동적 모델입니다. 숨겨진 뉴런이 시스템에 대한 입력과 이전 활성화에 기반하여 진화한다는 점에서 정보 전파는 재귀적입니다. 교육 분야에서 동적 모델로 사용되는 숨겨진 마르코프 모델(Hidden Markov Models)과 달리, RNN은 잠재 상태를 고차원적이고 연속적인 형태로 표현합니다. RNN은 풍부한 표현력 덕분에 입력 정보를 나중에 예측할 때 사용할 수 있는 능력이 뛰어납니다. 특히 장단기 메모리(Long Short Term Memory, LSTM)에서 두드러집니다. LSTM은 RNN의 한 종류로, 장기 의존성을 모델링하는 데 강점을 가지고 있습니다.
학습은 학습 자료, 학습 환경, 제시되는 순서, 학습자 개인의 특성 등 다양한 요소에 영향을 받기 때문에 단순한 이론만으로는 정확하게 측정하기 어렵습니다. 이를 해결하기 위해, 과거 학습 활동을 기반으로 학생의 문제 풀이 응답을 예측하는 데 두 가지 유형의 RNN(순환 신경망)을 적용하려고 합니다.
따라서 DKT는 과거 학습에 기반한 학생의 학습 응답을 예측하는 문제에 두 가지 RNN을 적용하였습니다.
- vanilla RNN(기본 RNN 모델, 시그모이드 유닛 사용)
- LSTM(장단기 메모리) 모델
입력 벡터 시퀀스 X1,...,X𝑇(one-hot 인코딩 또는 학생의 행동을 압축된 표현으로 나타낸 것)를 출력 벡터 시퀀스 Y1,...,Y𝑇(각 데이터셋의 문제를 맞힐 확률을 나타내는 벡터)로 매핑
'숨겨진' 상태 ℎ1,...,ℎ𝑇가 계산 : 과거 관찰치로부터 얻은 정보를 인코딩하여 미래 예측에 사용됨
상태 ℎ𝑡 업데이트

출력 Y𝑡는 시그모이드 함수로 계산

파라미터
입력 가중치 행렬 𝑊ℎ𝑥
순환 가중치 행렬 𝑊ℎℎ
초기 상태 ℎ0
출력 가중치 행렬 𝑊𝑦ℎ
편향
숨겨진 상태의 편향 𝑏ℎ
출력 유닛의 편향 𝑏𝑦


RNN이나 LSTM을 학생의 문제 풀이에 대해 훈련시키기 위해서는 문제 풀이 이력을 고정 길이의 입력 벡터
X𝑡의 시퀀스로 변환해야 합니다. 풀이 이력의 특성에 따라 두 가지 방법으로 수행됩니다.

데이터셋에 feature가 많은 경우 원-핫 인코딩을 하면 각 문제마다 고유한 위치에 1을 기록해야 하기 때문에, 인코딩된 벡터가 매우 커져서 비효율적이 됩니다. 따라서 고유한 개념의 수가 많은 경우 원-핫 인코딩 대신 압축 센싱에서 영감 받은 방법으로 랜덤 벡터를 할당합니다.
쉽게 정리하면, 압축 센싱은 중요한 데이터를 일부 선택하여 저장한 뒤, 나중에 이 중요한 정보들을 기반으로 전체 데이터를 다시 복원합니다. 따라서 전체 데이터를 다 저장하지 않아도 되기 때문에 데이터를 효율적으로 처리할 수 있습니다.
출력 벡터 Y𝑡는 문제의 수와 동일한 길이를 가지며, 각 항목은 학생이 특정 문제를 올바르게 풀 확률을 나타냅니다. 따라서 a𝑡+1의 예측은 Y𝑡에서 q𝑡+1에 해당하는 항목으로부터 읽을 수 있습니다.
모델의 학습 목표는 학생 응답 시퀀스의 음의 로그 가능도(Negative Log Likelihood)를 최소화하는 것입니다. 즉, 모델이 예측한 학생의 답변과 실제 답변 간의 차이를 줄이는 것을 목표로 합니다.
𝛿(𝑞𝑡+1)는 학생이 시간 𝑡+1에 푼 문제에 대한 one-hot 인코딩을 나타냅니다. 이 벡터는 학생이 푼 문제를 나타내며, 해당 문제의 위치에 1이, 나머지에는 0이 들어갑니다.

DKT 모델은 학생에게 가장 적합한 학습 항목을 순서대로 추천하는 데 큰 영향을 미칠 수 있습니다.예를 들어, 학생이 50개의 문제를 푼 후, 모델은 그 학생의 현재 지식 상태를 기반으로 다음에 풀어야 할 문제를 예측할 수 있습니다. 모델은 특정 문제를 풀게 했을 때 학생의 기대되는 지식 상태를 계산하고, 가장 최적의 문제를 추천할 수 있습니다.
DKT 모델은 문제들 간의 숨겨진 관계를 발견하는 데에도 활용될 수 있습니다. 이는 일반적으로 교육 전문가들이 수행하는 작업입니다. 문제 𝑖를 맞힌 후 문제 𝑗에 대한 모델의 정답 확률을 계산한 다음, 다른 모든 문제와의 비교를 통해 문제들 간의 의존성을 계산합니다. 이 계산을 통해 문제 간 선행 학습 관계를 발견할 수 있으며, 모델이 학습한 데이터로부터 필수 학습 항목들을 자동으로 파악할 수 있습니다.

DKT 모델을 평가하기 위해 사용한 3가지 데이터셋에 대한 설명입니다. 각 데이터셋에서 학생의 성과를 예측하는 모델의 능력을 평가하기 위해 AUC(Area Under the Curve)를 사용하며, 5-fold 교차 검증을 통해 결과를 평가했습니다.

1. 시뮬레이션 데이터
가상 학생과 개념을 학습하는 가상 환경을 설정하여 모델을 테스트합니다. 2,000명의 가상 학생이 50개의 문제를 풀고, 문제는 5개의 개념 중 하나에 속합니다. 각 학생은 각 개념에 대해 잠재적인 기술 수준(α)을 가지고 있으며, 문제는 난이도(β)를 가지고 있습니다. 아이템 반응 이론(Item Response Theory)을 기반으로, 학생이 문제를 맞출 확률을 계산합니다. 여기서 𝑐는 랜덤 추측의 확률입니다. 각 실험은 20번 반복되며, 각 실험마다 다른 랜덤 데이터를 사용하여 평균 정확도와 표준 오차를 계산합니다.

2. Khan Academy 데이터
8학년 공통 교육 과정에 대한 Khan Academy의 익명 학생 활동 데이터를 사용했습니다. 47,495명의 학생이 1.4백만 개의 문제를 완료했으며, 69개의 다른 문제 유형을 다룹니다.
3. Assistments 벤치마크 데이터셋
Assistments 2009-2010 "skill builder" 공개 벤치마크 데이터셋을 사용해 DKT 모델을 평가했습니다. Assistments는 초등학교 수학을 가르치고 평가하는 온라인 튜터로, 현재까지 공개된 지식 추적 데이터셋 중 가장 큰 규모입니다.
DKT 모델은 기존의 BKT 모델보다 뛰어난 예측 성능을 보였으며, 특히 잠재 개념 간의 관계를 잘 학습하여 학생 성과 예측 및 커리큘럼 최적화에 유용한 도구로 활용될 수 있음을 증명했다고 합니다.

Assistments 벤치마크와 Khan Academy 데이터셋에서 이전 최고 성능보다 우수한 결과를 보였습니다.
특히 두 가지 중요한 특성이 강조되었습니다.
- 전문가의 개입 없이 스스로 학습 패턴을 파악할 수 있다는 점.
- 벡터화할 수 있는 모든 학생 입력 데이터에서 작동할 수 있다는 점.
하지만 RNN은 대규모 데이터가 필요하므로 온라인 교육 환경에 적합하지만, 소규모 교실 환경에서는 효과가 제한적일 수 있습니다. 아래 그래프는 DKT 모델을 통해 잠재 개념들이 잘 연결된 모습(상단)과 문제들 간 연결 방향 및 강도가 표시된 그래프(하단)을 보여줍니다.

DKT 이후 여러 발전된 모델들이 많이 나왔지만 DKT는 여전히 많이 활용되고 있는 지식 추적 모델입니다. 지식 추적을 스터디하면서 이번 포스팅에서는 10년이 되어가는 DKT 논문을 제대로 다시 읽어보았습니다. DKT를 적용하여 학생의 지식을 정확하게 추적하고 적절한 학습 콘텐츠를 추적하는 서비스를 개발할 방안을 계속해서 알아볼 예정입니다. 나아가 GKT를 포함한 발전된 KT 모델들과 상황별 적합한 KT 모델들을 살펴보고자 합니다.