본문 바로가기
교육은 한 사람의 인생을 바꾼다/AI교육

인공신경망의 이해 : Deep Knowledge Tracing(DKT)

by 함께 만드는 블로그 2023. 1. 28.
반응형

 1. 교육AI의 시작 : 지식추적(KT)의 개념

 지식은 서로 분절되어 있지 않고 서로 연결된 유사성을 지닌다. 이에 따라 한 개념에 대한 이해도를 바탕으로 다른 개념의 이해도를 추론해볼 수 있다. Knowledge Tracing 은 이렇게 한 문제를 통해 다른 문제를 맞출 수 있는 확률을 추론하는 방법이다. 앞에 심층학습을 의미하는 Deep Knowledge Tracing 은 딥러닝 알고리즘을 이용해 학습자의 퍼포먼스를 바탕으로 학습자 전체 지식 수준을 평가하는 모델을 지칭한다

DKT를 활용한 적용 분야문제 정답 여부를 통한 학습자의 지식 수준 평가
지식 수준 평가를 통한 최적합 문제 추천
지식 이해 수준을 높일 수 있는 최고 효율 학습 과정 추천 등의 학습 모델을 구성

 2. DKT의 핵심 딥러닝 알고리즘 : 시계열 데이터 처리 알고리즘

 학습자의 지식을 추적하기 위해선 딥러닝 모델 중에서도 시계열 데이터(순차)를 다룰 수 있는 알고리즘이 필요하다. 이에 따라 크게 RNN(순환 신경망) / LSTM(long short term memory) / GRU(gated recuttent unit) 알고리즘을 활용한다.

 

 3. DKT의 데이터 임베딩

 데이터 임베딩이란 사람이 쓰는 자연어 및 비정형 데이터를 기계가 이해할 수 있는 숫자의 나열인 벡터로 바꾸는 과정이다. DKT 모델에서는 가장 기본적으로 문제의 정답여부에 대한 데이터를 통해 다음 문제에 대한 정답 여부를 추론하는 데이터를 가장 많이 사용하기 때문에,  문제의 종류 / 문제의 정답 여부 / 문제의 번호 등의 속성을 원 핫 인코딩으로 다루는 경우가 많다. 가장 기본적인 DKT 원핫 인코딩의 방법을 살펴보자

 문제의 종류는 4가지 (더하기 / 빼기 / 곱하기 / 나누기) 가 있고, 문제의 정답여부는 2가지 (맞음 / 틀림) 인 자료를 원핫인코딩으로 표현한다고 가정해보자. 이 데이터는 총 8가지(4*2) 벡터에 원핫인코딩 할 수 있다. 아래의 예시와 같다. 

 곱하기 문제를 맞았다면 (0,0,0,0,0,0,1,0)으로 / 더하기 문제를 틀렸다면 (1,0,0,0,0,0,0,0) 로 표현할 수 있다. 다만 이렇게 원 핫 인코딩으로 표현할 경우 문제수가 늘어날때마다 벡터값이 기하급수적으로 늘어나, 효율적 표기라고 말하긴 힘들 것이다. 
 

 위의 사례도 마찮가지의 원 핫 인코딩이다. 문제 데이터 셋은 총 3문제(0,1,2로 표현), 정답 여부는 2가지(맞음, 틀림) 일 때 각 상태를 오른쪽과 같이 표현할 수 있다. 3*2=6가지의 벡터항으로 원핫인코딩 할 수 있다. 
 

 4. DKT 알고리즘 추론

   데이터 임베딩이 완료되면 해당 데이터를 바탕으로 심층 지식추적 추론을 실시한다. 위 문제의 경우 5문제를 푼 데이터 셋을 통해 다음 6번째 문제에 대한 정답 확률을 구하는 상황이다. 위 논문의 예시에서는 RNN 알고리즘을 사용하였는데 다른 알고리즘(LSTM / GRU 등)을 사용할 수 있다. 
 

 각 단계별로 순차적으로 학습을 진행하는데, 이때 핵심은 전 단계에서 추론한 다음 문항에 대한 정답률과 다음 문항에 실제 정답과의 오차가 최소가 되도록 Backpropagation(오차 역전파)하는 것이다. 손실함수로 binary cross-entropy 를 사용하는데, 수식의 내용을 살펴보면 도움이 된다.

 

**오차역전파(Backpropagation)

 실제 신경망은 입력 > 은닉층처리(가중치의 선형합)>출력(활성화함수)로 진행된다. 하지만 인공신경망의 학습 단계에서는 정답과의 오차를 최소화하는 최적의 가중치와 임계값을 알지 못한다. 따라서 학습의 시작 단계에서는 난수의 가중치와 임계값으로 시작해서 한 학습이 끝나면 그 훈련 데이터의 정답과 비교해 오차를 최소화하는 방향으로 역으로 가중치와 임계값을 조정한다. 따라서 인공신경망의 학습 방향은 출력(가중치, 임계값 조절) > 은닉층처리(가중치, 임계값 조절) 의 역방향으로 진행된다. 이를 오차 역전파라고 한다. 
 RNN에서는 이 역방향 가중치 조절 과정이 매 순차 데이터 처리에서 일어나고 있다.
 
 

 5. DKT 연구의 시사점 및 유의점

 -학습자의 퍼포먼스를 바탕으로 학습자의 지식 수준을 평가할 수 있다는 건 1:1 맞춤교육이 실현된다는 뜻
 -또 같은 문제를 학습해도 문제를 학습하는 순서에 따라 학습효율성이 달라진다는 것은 시사점이 크다. 학습자를 최적으로 학습시키는 과정을 찾는 것은 교육의 이상에 다다르는 것
 -다만 아직 갈길이 멀고 연구가 많이 필요하다고 느껴짐
 -현재의 연구들이 주로 집중하고 있는 데이터는 문제의 정답 여부인데, 이것만으로는 학습자 고유의 특성을 다 파악했다고 할 수 없음. 같은 순서로 풀었다고해서 다 같은 지식 수준을 가진 것이 아님. 10명의 학습자가 있으면 10명 모두 다른 개별 특성을 가지고 있기 때문.
 -따라서 더 다양한 개별화 특성 변수를 수집해야 함. 예를 들면, 문제를 푸는데 소요된 시간 / 정답과 유사한 오답을 골랐는지 전혀 상관 없는 오답을 골랐는지 여부 / 성별, 문화권 등 학습자에 대한 개별적 배경 데이터 등의 데이터가 필요할 것으로 보임
 -원 핫 인코딩의 한계를 극복할 수 있는 새로운 데이터 임베딩 방법 필요. 원 핫 인코딩은 과도하게 백터를 늘려야하는 문제가 있음. 예를 들면 총 1000개의 문제로 데이터 셋을  만든다면, 2000개의 데이터 벡터가 필요함. 문제의 수가 늘어날수록 표현해야할 무의미한(주로 0으로 표현된) 벡터값이 늘어남.
 
 
 

반응형

댓글