Skip to main content Link Menu Expand (external link) Document Search Copy Copied

TITLE : [Upstage Talks] 개별 맞춤형 학습을 위한 지식 추적 및 추천에 대한 연구

YOUTUBE LINK : https://youtu.be/5qFsbDkRBM8 PRESENTER : Upstage DURATION : 00:56:04 PUBLISHED : 2021-07-08

Table of contents

  1. TITLE : [Upstage Talks] 개별 맞춤형 학습을 위한 지식 추적 및 추천에 대한 연구
  2. FULL SCRIPT
    1. 이후에도 지속적으로 좀 교류하고 했으면 좋겠습니다.
  3. SUMMARY

FULL SCRIPT

지금까지는 인공지능을 교육 분야에 적용한 분야에서 지금까지는 인공지능을 교육 분야에 적용한 분야에서 지금까지는 인공지능을 교육 분야에 적용한 분야에서 지식 추적, Knowledge Tracing이라는 분야에 대해서 그래도 연구를 하시거나 아니면 관련해서 이미 알고 계신 분들이 있으실까요?

댓글로 그냥 채팅으로 그냥 간단하게라도 몇몇 분이신지 사실은 여쭤보는 이유가 이게 인공지능을 교육 분야, 교육 도무에 적용한 것이긴 한데 그렇게 많은 분들이 연구하는 분야가 아니라 좀 낯설실 수 있을 것 같아서 그래서 여기 참석하신 분들의 배경지식 아니면 어느 정도의 수준을 제가 맞춰야 될지에 대해서 여쭤보려고 물어봤습니다 그러면 대부분은 처음이신 것 같으니까

우선은 제가 주로 했던 적용했던 분야 위주로 너무 자세한 얘기보다는 그런 내용 위주로 설명드리겠습니다 우선은 제가 지금 설명드린 것은 제 학위 논문 내용과 그리고 17년도부터 20년도 2월 정도까지 제가 참여했던 프로젝트들 위주의 이미 공개된 연구 결과 위주로 정리사 우선 저는 초등교사인데요 여기 보이는 친구들이 소규모 학급인데요 2014년도 기준으로 저희 지역의 소규모 학급이 약 80% 정도였고 그리고 저희 학교 같은 경우도 제가 속했던 학교도 다문화 학생이 70%입니다 제가 이 말을 하는 이유가 여러분들이 지금 현재 거주하시는 곳이 어디인지 모르겠지만 지금도 지금 현재는 서울에 거주하지만 서울이 아닌 지역 그리고 생각보다 많은 곳이 아직도 이런 교육적인 환경이 지금 서울이나 이런 곳은 좋지 않다는 걸 말씀드리고 싶었고요 특히나 공교육 차원에서 사교육 물론 이제 지방도 사교육 시장이 물론 활성화는 돼 있습니다 하지만 공교육 차원에서 이런 특히나 주지 교과라고 부르는 구경수사가 아닌 교과에서 이런 교육 기회를 받을 수 있는 기회가 제가 속했던 충청북도 같은 경우는 한 곳이었습니다 교육정보원 여기 보이시는 학생들이 한 20명 남짓되는 각 시도 전체 도에서 선발된 학생들이에요 근데 제가 이 친구들한테 처음에 인사를 하면서 너는 오늘 몇 시에 일어났니?

했더니 새벽 5시에 일어났다는 거예요 저희 수업이 그때 12시쯤인데 왜 그랬을까 했더니 4시간이 걸리는 거예요 오는데 대중교통 이용하다 보니까 그리고는 그 친구가 선생님 배송하는데 저는 6시까지 수업인데 내일 시면 집에 가야 된다는 거예요 막차 시간 때문에 이런 것처럼 저도 이제 물론 교육 격차 이런 환경에 대한 그런 고민이 좀 많아졌습니다 그 당시에 그때 이제 우연한 기회가 돼서 교사 신분이면서 제가 EBS라는 곳 한국교육방송공사?

어쨌든 교육방송에 교육부 요청으로 파견을 가게 됐어요 파견 갔던 이유는 이런 지금 보이시는 소프트웨어 이런 AI 또는 정보 교육을 무상으로 제공해 줄 수 있는 교육 플랫폼을 지금 기획하고 있고 이것을 같이 해주실 분을 찾는다라는 말에 갔습니다 여기에서 하는 것은 무상으로 학생들에게 교육을 합니다 그리고 저는 이런 온라인 시스템에 그 당시에 저도 대학원을 다닐 때라 이런 온라인 시스템의 가장 큰 문제는 뭘까요?

여기 계신 분들도 다 공감하시겠지만 자기 주도적인 학습이 불가능합니다 누군가가 이렇게 안해주고 그렇다면 이걸 어떻게 개선할 수 있을까?

하는 다양한 보상이 있죠 흔히 말하는 상품을 주고 이런 내제적인 보상이 사실 강력하거든요 누가 선물 주고가 아니라 내가 진짜 성취를 느끼고 이럴 수 있는 방법은 정확하게 그 학생 개별별로 진단을 해서 상태를 알고 거기에 맞는 교육적인 추천을 모를 만한 것은 추천해주고 알만한 것은 건너뛰고 이럴 수 있는 방법이 사실 필요하거든요 그런 것이 무엇이 있을까 해서 제가 그 당시에 열심히 기획에 참여했던 게 러닝맵이라는 게 있습니다 아쉽게도 이거는 롤베이스로 규칙에 의해서 어디까지나 사용자가 이런 반응을 보이면 이럴 것이다

학생의 설문이나 이런 게 있으면 이런 것이다 라는 자동이 아닌 롤베이스로 추천해주는 시스템을 시도해봤는데 그렇게 사실 좋은 성과나 좋은 사용자를 확보하지 못했습니다 그 이후에 19년도 6월에 정책연구로서 지금 이제 이 토크타운드라는 게 서비스 되고 있는데요 회원수는 현재는 지금 3개월, 4개월 정도 서비스 중인데 14만 정도로 그래도 괜찮은 평가를 받고 있는데요 이 시스템에서 제가 그 당시에 한창 연구했던 지식추적 그리고 지식추적 기반으로 추천하는 것에 대한 내용들이 여기에 실제로 적용될 수 있었습니다 그래서 오늘 제가 설명드릴 내용은요 지금부터 한 30분 정도 제가 진행하려고 하는데요 보시는 순서로 하려고 하고 크게 설명드릴 내용은 먼저 학습자 지식추적 모델이 이것이 우선 저는 교육적인 측면으로 봤어요 보통 이제 지식추적이라는 것은 쉽게 말씀드리면 그냥 학생이 그런 문제풀이 이력정보 이 학생이 어떤 문제풀었는데 맞다 틀렸다 정보만을 가지고 이 학생이 이런 개념에 대해서는 모를 거야 또는 잘 알 거야 이런 정도로 예측하는 기계학습 모델이라고도 할 수 있는데 이것이 과연 이 학생의 인지과학적인 측면에서 교육학에서 학생의 학습 상태나 이런 것에 대해서 사실 많은 연구가 이어졌거든요 제가 지식추적 처음에 논문을 봤을 때는 그런 언급이나 그런 고민보다는 단순히 그냥 모델적인 성능이 좋았다 아니면 그냥 이렇게 해봤더니 이렇게 되더라 성능이 더 좋았더라 이런 조금은 교사 입장에서 봤을 때는 너무 이제 좀 막무가내 시기에 접근 그런 사실 생각이 들어서 좀 더 배경이론이나 이런 것들과 결합시켜서 한번 보려고 했고요 그래서 새로운 그 당시에는 새로웠습니다 물론 지금은 이미 훨씬 더 좋은 모델이 많이 나왔지만 그런 모델을 제안해 본 내용이고요 그리고 이걸 바탕으로 제가 교수자와 학생 대상으로 한번 추천해 준 내용들을 소개하려고 합니다 먼저 연구 필요성은 간단하게만 말씀드릴게요 우선은 개별학습은 교육 분야에서도 사실 많은 관심사입니다 최근에 온라인 학습 환경, 코로나로 대표한 이런 여러가지 외국적인 요인으로 온라인 학습 환경이 되면서 교사와 학생 모델이 굉장히 챌린지 된 상황입니다 무엇보다 교사들은 교육적에서는 구성주의라는 말이 있는데요 쉽게 학생들과 유의미한 상호작용 계속적으로 학생이 뭐가 부족한지 관찰하고 알려주고 이런 상호작용 내에서 충분한 의미 있는 학습이 이루어질 거라는 반응이 있고 그리고 학생 입장에서는 온라인 학습에서는 영원한 숙제죠.

학습 유지가 어렵다는 점.

크게 대상별로 이런 문제들이 있습니다 사실 이것을 해결할 수 있는 방법으로는 공통적으로 지적되는 부분입니다 많은 관련 문헌 연구도 있었고요 개별 맞춤은 추천을 해줘야 된다라는 공통적인 해결책이 사실 있습니다 물론 교사 입장에서는 학생의 개별 맞춤에 대한 추천을 위한 정보를 제공해야 된다는 거고요 학생에는 개별 맞춤에 추천을 바로 제공해야 된다는 게 물론 다르긴 하겠지만요 그런데 이런 맞춤을 추천하기 위해서는 여러 가지 것들이 필요하겠지만 제가 연구했던 지식추적 분야에서는 이걸 하기 위해서는 먼저 학생의 잠재된 지식상태 학생이 무엇을 알고 모른지에 대한 잠재된 지식상태를 알아야 된다는 게 있고요 그러기 위해서 지식추적이 필요하다 이렇게 말할 수 있고요 이런 식으로 크게 연구가 진행되었는데 이거는 제가 설명드리면서 넘어가도록 하겠습니다 먼저 지식추적 모델이 처음에 언급됐을 때 처음에 이 개념을 얘기했을 때 그때 가정했던 게 있습니다 여기 보이시는 것처럼 학습자의 잠재된 지식상태를 예측하기 위해서는 온라인에 소실된 학습 데이터를 이용해서 학습자의 스킬 수달 정도를 모델링하는 것이다 라고 정의하고 있어요 그렇다면 온라인에 소실된 학습 데이터라는 것은 문항별 주요 개념 여기서는 키 컨셉을 주요 KCS 또는 KC라고 부를 건데요 여기에 대한 반응입니다 우리가 1번 문항, 2번 문항, 3번 문항이 있지만 그게 동일한 수화연산이라는 동일한 개념을 사실 물어볼 수 있잖아요 SNS라든지 그랬을 때 그 각각 문항에 대한 맞다 틀렸다 정보 이것을 데이터로 이용한다는 거고요 그런데 이 문항별 주요 개념에 대한 반응이라는 것은 이것은 인지과학 측면에서 보면은 이것은 문항별 주요 개념을 안다 모른다는 것은 선언적 지식들의 히스토리 이건 말 좀 어려울 수 있는데요 지식에 우리가 뭔가를 안다라고 했을 때 교육학에서는 지식의 상태를 세 가지로 구분하거든요 선언이나 선언적 지식이라는 것은 우리가 A는 B다, C는 D다 아주 간단한 그런 개념이 있지 않습니까 그런 것들을 얘기합니다 이게 아니면 무엇이 있느냐 절차적 지식이라는 게 있습니다 우리 문제 해결이라는 것처럼 우리가 예를 들어 발레를 하거나 할 때 동작을 하는 절차적인 순서 있지 않습니까 그런 것들은 보통 절차적 지식이라고 그리고 이 과정에 넘어가는 이 과정의 개념 크게 이렇게 세 가지로 나누는데요 어쨌든 인지과학에서 측면에서 보자면 이 문항별 주요 개념의 반응이라는 것은 선언적 지식들의 모음이라고 할 수 있습니다

그렇다면 이 선언적 지식들의 히스토리 즉, 이걸 가지고 학습자의 스킬 숫자를 정도를 본다는 건 도대체 무슨 의미일까요 이것도 인지과학에서 말하기를 선언적 지식들이 정보를 가지고 스킬의 숫자를 정도 이것을 안다는 것은 결국에는 이 개념에 대해서 지식의 우리의 뇌에서 이 지식을 리콜할 수 있느냐 아니면 언리콜하느냐 지식을 단순히 불러들일 수 있느냐 없느냐 이분법적으로 간단하게 표현을 해요 일단 정리하자면 결국에는 학습자의 잠재된 지지사태 그리고 우리가 지금 하려는 온라인에서 이 데이터셋을 활용한다면 결국에는 지식이라는 것을 리콜과 언리콜로 이분법적으로 봐야 된다는 이런 가정을 또는 근거를 가져올 수 있는데요 그렇게 봤을 때 과연 기존의 이런 지식추적 모델들이 지식을 리콜과 언리콜로 나누어서 보느냐 즉, 이 나누어진 상태를 모델링을 할 때 기록하고 보존하고 이것을 활용하려고 하느냐 그 측면으로 제가 기존에 있는 방법 접근들을 봤을 때 결과적으로 얘기하면 그렇게 하지 않았다는 거죠 물론 이런 접근에 맞게 하려는 시도가 교육공학 또는 교육분야의 데이터 마이 EDM이라고 부르는데 그쪽에서는 이런 이분법적인 접근들을 하려고 하는 시도가 있었어요.

그게 바로 PFA라는 모델인데요 그렇게 봤을 때 어쨌든 지금 지식추적 모델에서는 지식의 개념을 물론 DK-VMN의 모델이 컨셉과 그 다음에 학생의 반응 정보 이것을 나누어서 보려고 했으나 이 학생이 안다 모른다의 정보로 이 학생의 반응 정보 자체를 다시 또 이분법적으로 나누어서 보지는 않았다라는 것에서 아이디어를 좀 얻었고요 그래서 지금 보이시는 모델을 제안하게 됐습니다.

아마 기계학습이나 이쪽 분야에 아직 좀 낯서신 분들은 이게 갑자기 수식 나오니까 좀 헷갈릴 수 있는데요.

간단하게만 말씀드리겠습니다.

먼저 제가 제안한 모델은 보시는 것처럼 이분법적인 나리 트레이싱하는 모델이고요.

기본적인 구조는 사실 DK-VMN에 대한 모델을 대부분 그대로 가져왔습니다.

하지만 차별성은 무엇이냐?

여기 보이시는 것처럼 아까 말씀드린 것처럼 학생들이 안다 모른다는 정보 그것을 기존의 DK-VMN은 value라는 메모리 공간 안에 이 정보를 기록했거든요.

그것을 보시는 것처럼 unrecall과 recallable 이런 메모리로 다시 분리해서 저장하고 이 정보들을 활용해서 결국에는 최종적으로 이 학생이 보시는 것처럼 이 학생이 1번 문항을 풀었을 때 여기서 실제 데이터는 0인데 이런 정보들을 이용해서 예를 들어 45번 문항을 풀었을 때 실제는 0이죠.

그러면 우리 모델 역시도 기존의 메모리 공간 안에 크게 read process와 write process로 보시는 것처럼 아닙니다.

가상의 메모리를 두고요.

이 메모리에다가 사용자의 반응 정보를 기록을 하는 건데요.

기록을 할 때 특징은 여기 보이시면 학생의 question, 1번 문항에 대한 리스펜스가 여기서 실제라면 0이라고 할게요.

0이라는 정보, 0이니까 이것은 틀린 정보잖아요.

그러면 이건 unrecallable에 저장이 돼야 되겠죠.

초록색깔 이 패스로 전달이 되면서 이 정보가 이렇게 기존에 있는 메모리에 관련한 정보를 지우고 다시 또 이 새로운 정보가 기록되는 형태로 정보가 이제 누적되게 되고요.

이런 식으로 모델들이 진행되게 됩니다.

그리고 마지막에도 이런 기록된 정보들을 합쳐서 최종적으로 보시는 것처럼 주어진 질문에 대해서 이 학생이 맞을지 틀렸지에 대한 probability가 계산되는 모델입니다.

여기까지가 우선은 기존의 이런 가정을 바탕으로 이 정보를 학생이 안다 모른다는 정보를 기록하기 위해서 틀린 정보, 틀렸다는 것과 맞다는 것 이것을 따로따로 모델링 해야 된다는 접근을 DRKT 모델 제안을 해봤고요.

이것을 뒷단에 PFA라는 앞서 말씀드린 이런 이분법적으로 보는 접근을 교육공학에서 하는 대표적인 모델 중에 하나인데요.

이것을 끝단에다 붙여서 한번 결합도 시켜봤습니다.

이렇게 한 데는 이미 다른 연구에서 꽤 높은 성과를 낸 그런 유사 아키테이처가 있어서 그걸 모티브 삼아서 해봤고요.

이게 보이시는 게 성취해서 부속 PFA라는 모델의 기본적인 식입니다.

여기서 보이시면 각각의 요소들이 말하는 게 이런 거고요.

결국에는 성공시도 실패라시도가 돼 있지만 이 학생들의 맞은 문항의 개수와 틀린 문항의 개수 이 각각들을 이용해서 이 학생이 이 개념에 대해서 안다, 온다를 다시 이것도 예측하는 모델입니다.

보이시면 마지막 끝단에 이 모델들을 결합해서 한번 해봤고요.

적용하는 과정에서 사용했던 붙여진 수식입니다.

이런 것들은 혹시 이제 이런 연구에 대해서 관심 있으신 분 있으시면 별도로 문의 주시거나 이건 이미 논문이 공개된 거니까 얼마든지 제가 관심 있으시면 좀 더 자세히 설명 드릴 수 있도록 하겠습니다.

아마 궁금하신 것은 그래서 도대체 이 모델의 성능이 얼마야?

이게 아마 궁금하실 것 같아요.

사실.

데이터 세트는 이 날지드 트레이싱에서 보통 이런 데이터 세트를 많이 벤치마크로 활용하시잖아요.

어세스먼트와 스탭스, 순데릭.

이것을 공통적으로 사용했습니다.

여기서 스킬이라고 되어 있지만 저는 이 스킬을 그 KCS, 그 앞서 말씀드린 키 컨셉 이것들로 잡았고요.

여기서 밀도나 평균 점수, 표준 편차는 이 데이터 세트가 얼마나 이제 품질이 어떤지, 퀄리티가 어떤지를 보기 위해서 그냥 봤었습니다.

참고로 어세스먼트는 이런 식의 피처들을 가지고 있고요.

이중에서 유저 아이디와 보시는 것처럼 스킬 아이디, 그 다음에 맞다 틀렸다에 대한 정보.

예를 들면 아이디 15번 학생의 퀘스천들, 품문항제 이런 시퀀스를 가지고 반응이 이런 식으로 되는 투플형 케이더 세트입니다.

모델 구현은 PyTorch를 이용했고요.

여기 보시면 이런 세팅 각들을 이용했습니다.

그리고 여기서 데이터 인역 차원의 이런 디멘션 차원을 이용했는데 여기서 컨셉은 레이턴트 컨셉이라고 해서요.

앞서 여기에 이 학생이 품 문항 정보를 키 밸류라는 곳에 따로 저장을 하게 되는데 이때 이 correlation weight를 구합니다.

이것의 의도는 이 문항 자체가 다른 문항들과 얼마간의 관계성을 가지는지를 이미 개수만큼 해서 softmax로 이렇게 비교를 하는 거거든요.

이렇게 했을 때 이 개수를 뒤에 보이시는 컨셉으로 임의로 잡았습니다.

사실 이것이 50개를 넣게 됐을 때 속도가 늦어지니까 사용할 수 없었고 그래서 이 관련 있는 컨셉들을 임의로 지정을 했습니다.

이것은 50개 중에 이것을 유형화를 시키자면 이렇게 묶을 수 있겠네요 라고

생각을 해서 이렇게 잡아봤습니다.

이것이 실험 결과입니다.

보이시는 것처럼 사실 모든 데이터셋에 대해서 다 성능이 좋다는 아니고요.

하지만 유의미한 것은 우선은 그래도 이 벤치마커로 했던 세가지 데이터셋에 대해서는 AUC 측면에서는 모두 다 성능 향상을 보였다는 게 특징입니다.

하지만 제안했던 DIKT 여기에 PFA를 결합한 모델이다 보니까 예측 정확도가 확연히 좀 떨어지는 부분을 좀 보였던 것 같습니다.

그런데 제가 사실 논문을 이거를 퍼블리시 할 때도 그렇고 그리고 이 논문을 퍼블리시하는 컨퍼런스에서도 얘기했고 그리고 최종적으로 이 모델이 실제 서비스나 그래도 많은 실제 교육을 하시는 도메인 전문가들, 수학 교육을 하시는 분들에게 인정을 받았던 게 바로 이 부분인데요.

이 모델의 결국에는 이 모델이 하려는 것은 각 키 컨셉별로 이 학생이 각 컨셉별로 맞다 틀렸다의 예측률을 구하게 되지 않습니까 그것들을 결합해 놓은 겁니다.

스텝별로.

이걸 처음 보시는 분들은 좀 낯설실 수 있는데요.

보는 방법은 이렇습니다.

차근히 설명 드릴게요.

먼저 결과 비교 적용 데이터 예를 들어 id 30번인 학생 다 이제 여기 보신 DKT, DKVM에 보통 쭉 나오는데 제안했던 RKT도 그렇고요.

이 각각의 모델들의 동일한 이 id 학생의 정보들 넣은 겁니다.

퀘스션이 쭉 나가고 리스펀스가 쭉 들어갈 때 총 50개 스텝에 대해서 이걸 이제 러닝 트레이저토리라고 부르는데요.

러닝 트레이저토리를 생성한 건데요.

먼저 이 각각의 색깔이 나타내는 건 컨셉들입니다.

첫 번째는 도형 A, 두 번째는 측정, 초록색은 측정, 하늘색은 도형 B, 그 다음에 수화연산 A, B고요.

여기서 5번 개념 즉 수화연산이 이런 식으로 위에 보시면 색깔들이 칠해진 게 있고 테두리만 칠해진 게 있잖아요.

이것은 테두리만 칠해진 것이 틀렸다라는 겁니다.

그래서 DKT로 처음에 보면 첫 번째는 도형 A에 관한 문제를 풀었고 이것은 맞다라는 이력만 가지고 이 학생이 러닝 트레이저토리를 그렸을 때 처음 스텝에 당연히 동일 문제니까 이 첫 번째 네모를 보면 색깔이 진하죠.

진하다는 것이 1에 가깝다는 거고요.

바로 밑에 있는 초록색 같은 건 좀 연하죠.

이것은 0에 가깝다는 의미입니다.

이렇게 봤을 때 보시면 우선 DKT 모델 같은 경우는 여기 보이시면 초록색이 분명히 이 학생이 쭉 가다 보면 중간에 틀리죠, 두 개를.

그리고는 특별하게 초록색을 푼 게 없는데 다시 이 probability가 높아지는 경향을 보입니다.

물론 이것을 놓고 해석을 했을 때 사실 컨셉별로 관계가 있잖아요.

예를 들어 뭐 수화연상 같은 경우는 당연히 4번 같은 경우 4번 컨셉, 노란색 컨셉 같은 경우 5번 컨셉이랑 유사하기 때문에 다른 컨셉을 맞췄다 높아진 게 당연하겠죠.

하지만 보시는 측정 같은 경우는 사실 다른 컨셉들과 그렇게 연관성이 있지는 않습니다.

그런데 보시는 것처럼 이렇게 높아지는 경향을 보였죠.

그렇다면 제안했던 이 DIKT라는 모델을 보시면요.

보신 것처럼 이 낮은 이 학생의 러닝 트레젝토리를 그려진 걸 보면 여전히 낮은 probability를 계속 유지하는 걸 확인할 수 있습니다.

결과적으로 이렇게 두 번째 컨셉만 가지고 비교했을 때 그렇구요.

다른 컨셉들도 이렇게 놓고 보내게 되면 비교적 아주 확실하다고 할 수 없지만 비교적 다른 모델들에 비해서 러닝 트레젝토리가 상식적으로 이해되게, 상식적으로 하는 건 저 교육 전문가들입니다.

나중에 이제 설문을 진행한 것도 보여드리겠지만 이 해당하는 문항들을 개발하고 도메인 날리지가 있으신 그런 분들에게 설문을 진행했을 때 훨씬 더 유의미한 이런 학습 복선을 러닝 트레젝토리 보여준다는 거구요.

이것이 제안한 모델의 어찌 보면 가장 큰 유의미한 점이라고 생각합니다.

자 여기까지가 오늘 기존의 디지튜션 모델들의 이런 한계점을 개선하려고 제안했던 모델들에 대한 거구요.

이제 부터는 제가 실질적으로 서비스나 아니면 다른 적용 연구를 주로 했던 부분입니다.

크게 교수자와 학생 대상으로 적용을 해봤던 거구요.

이건 넘어갈게요.

먼저 교육부에서 지금 1년 대상으로 똑똑한 분들한 서비스를 하고 있습니다.

여기에 적용된 모델입니다.

먼저 여기서는 그 당시 여기서 요구했던 것은 두 가지입니다.

먼저 우리 나리지 트레이싱에서 지금 계속 하고 있는 다음 스텝에 이 학생이 지금까지 이런 식으로 문제를 풀었는데 다음에 이 문항이 제공됐을 때 이것을 맞을지 틀리지에 대한 것들 즉 다음 질문 예측에 대한 모델을 필요로 했구요.

다음은 최종적인 파이널코트 즉 기존에 있는 시퀀스 투 시퀀스가 아니라 그 리그레이션 프로라고 생각하시면 되겠습니다.

즉 그 학생이 보시는 것처럼 진단평가 즉 x라는 모델을 별도의 i라는 타켓 밸류에 해당하는 것을 예측하고 그리고 이것을 가지고 이 학생이 어떤 점이 부족할지를 알아낼 수 있는 모델을 제안했으면 좋겠다라는 게 여기서의 테스트였구요.

그래서 그 기존에 저희들은 연구에 참여했던 저희들은 knowledge tracing 모델을 활용해서 다음 질문에 대한 것으로 보시는 러닝 트레이저 트리와 knowledge concept relationship 이 두 가지를 제안했구요.

다음으로는 이 학생이 어느 부분이 부족한지를 알려줄 수 있는 weak point explainer를 붙였는데 총 세가지 산출물들을 제안을 한 것입니다.

먼저 다음 질문 예측 모듈에서는 기존에 knowledge tracing에서 하려고 했던 보시는 것처럼 이 학생의 question과 response가 제공됐을 때 다음 스텝에 question 그 다음에 제공됐던 question 예를 들어 50번까지 했을 때 51번째 이 학생이 맞을지 맞을 거라는 probability를 예측하는 테스트였구요.

이걸 가지고 저희는 이렇게 두 가지를 제공했습니다.

아 제가 지금 설명 좀 건너뜼네요.

여기서 부분은 교수자를 위한 서비스입니다.

교수자에게 결국에는 이 러닝 트레이저 트리와 knowledge concept relationship을 제공하려고 하는게 목표였습니다.

그리고 두 번째는 시험장소 예측 모델은 결국에는 이 최종평가 새로운 타킷값인 최종평가를 예측하려고 했구요.

그리고 여기에는 저희가 셰플릿 밸류를 이용해서 이 학생의 미스폰을 설명해줄 수 있는 미스폰 트레이너를 제안했습니다.

러닝 트레이저 트리는 앞서 보신 거니까 생략을 하겠구요.

여기서 knowledge concept relationship 이라는 것은 여기 보이는 이 하나의 원 하나 각각이 컨셉들입니다.

kcs 라고 불리는 앞서 말씀드린 컨셉들이구요.

이 컨셉들 간의 관계를 추출하는데 여기 나와 있는 이 수식 같은 경우는 2014년도 NIPS에 게재됐던 그 딥 knowledge tracing 그 모델에 있는 방법을 그대로 한번 차용을 해봤습니다.

여기서 의미하는 것은 보시는 것처럼 첫째 이 학생이 kcs 특정 문학을 마쳤을 때 다음 타임스텝에서 제2번째 kcs를 마칠 확률 이런 것들을 다 모은 다음에 여기서 이제 궁금해하는 해당하는 컨셉의 probability의 상대적인 값을 쓰려고 했구요.

이런 식으로 함으로써 혹시 뭐 질문 있으신가요?

누가 얘기하신 것 같은데.

아 아닙니까?

이런 식의 키 컨셉을 그려봤습니다.

다음에 위킹포인트 익스플레이너는 그 regression problem 이라고 말씀드렸잖아요.

예를 들어 이 학생의 실질적으로 밑에 보이시는 이런 문항들의 진단평가들을 봤습니다.

보시는 것처럼 모욱이라는 그 평가를 받고 그때 46점을 받았고 44점을 받았고 이런 식으로 문항을 받았을 때 최종적으로 학기 말에 테스트에 이 학생이 받을 점수, 실제 값은 뭐 여기서는 trust라고 70에 나오고요.

밑에 보이시는 좀 진하게 된게 이 모델의 예측한 값입니다.

물론 여기서 제시한 것은 잘 예측된 샘플을 좀 보여드렸구요.

어쨌든 의도 여기서 이제 셰플릿 밸류 이용해서 제공했던 것은 보이실 때 우측에 있는 파란색은 이 모델이 예측을 할 때 예측하는 데 네거티브하게 영향을 끼친 요소들을 영향력의 정도에 따라서 이렇게 나열을 한 겁니다.

즉, 바의 길이가 긴게 긴게 길수록 더 큰 영향을 끼쳤다는 거구요.

착아하시는 게 밑에 보시면 숫자들은 수순서 45, 수색이 55라는 것은 이 원점수라고 생각하시면 되겠습니다.

이 데이터 세트는 당시 이제 연구학교 학생들 대상으로 이 정도 인턴스를 가지고 수집을 했습니다.

사실 크게 큰 숫자는 아니구요.

물론 근데 이제 이 모델 같은 경우는 제가 여기서는 실천은 않았지만 다른 논문에서 준이라는 이런 중국에 있는 서비스가 있습니다.

거긴 공개된 데이터 세트 있고 인턴스가 기억에 만단이었던 것 같아요.

그 데이터를 가지고 이미 퍼블리쉬한 논문의 기법들을 여기다 적용했기 때문에 이 인턴스가 좀 작더라도 그대로 좀 적용한 차원에서 해봤구요.

보시는 것처럼 모델의 성능은 앞서 말씀드린 그런 테스트 결과 예측하는 모델, XGBoost라는 모델을 사용했는데 여기서 rms는 이 정도로 보였구요.

그리고 이 나리지 트레이싱 모델 앞서 말씀드린 dikt 모델 같은 경우는 이런 정도의 성능을 보였습니다.

그런데 그 특히나 이제 여기서 이제 실제 프로젝트에 적용하시고 할 때 하겠지만 물론 이 분야를 연구하시는 엔지니어분들께서는 이런 수치로 얘기하시면 당연히 끄덕끄덕 하시고 넘어갈 수 있지만 주로 이제 이걸 제안한 발주처라고 할 수 있나요?

그런 고객이라는 분들은 사실 모르시잖아요.

저도 프로젝트에 참여하면서 어떻게 보면 이런 큰 단위의 프로젝트에 사실 저처럼 경험 없는 사람의 모델이 적용될 수 있었던 것은 무엇보다 제가 그들의 니즈를 잘 알기 때문이지 않을까 싶습니다.

이런 수치는 사실 이런 의사결정하는 사람들에게 관심사는 아닙니다.

그냥 좋은가요 나쁜가요 그게 중요한 거지 정말 중요한 게 뭐냐?

실제 이거를 사용할 교육 전문가들이 봤을 때 이것이 과연 정말 의미할까?

그것이 저는 더 중요했고 그것 때문에 제가 제안한 모델이 실제 서비스에도 적용될 수 있지 않았을까 라고 생각하고 있고요 당시에 이제 이 프로젝트에 참여했던 전문가들 그리고 내용 전문가들 또는 이 시스템 담당자 관리자들 대상으로 앞서 보여드린 세 가지 있잖아요.

러닝 트레저토리, 그 다음에 컨셉 맵, 그리고 밀크포인트 익스플레이너 거창하게 이름을 보셨지만 보여드린 결국에는 교수자에게 제공해 줄 만한 학술자의 상태를 알 수 있는 이 세 가지 산출물들이 과연 의미할까요?

라는 측면으로 다시 제시를 해봤습니다.

그렇게 했을 때 결과적으로 어쨌든 좋은 평가를 받았고요.

무엇보다 크게 의미가 있었던 게 여기 보이시는 컨셉 릴레이션 같은 경우는 사실 이런 교육 분야에 이런 나래치 체신이나 추천 모델을 적용하시려는 분들의 입장에서는 제가 알기로는 제가 지금까지 만났던 많은 이런 현업에서 하시는 분들의 듣기로도 그렇고 아직도 그 룰 베이스로 컨셉 맵을 수작업으로 만드시고 컨셉 맵 바탕으로 학술자를 진단하고 추천하는 게 여전히 많이 쓰이고 있다고 알고 있습니다.

해외에 있는 유명 시스템들도 제가 관련 논문이나 관련 페이퍼를 찾아봤을 때는 여전히 이 방법이 유효하다고 보고요.

근데 이것의 문제는 무엇이냐?

많은 비용과 시간 그리고 내용 전문가들의 투입이 필요합니다.

즉 돈과 시간이 많이 든다는 거죠.

그런데 이것이 의미했던 것은 보이시는 이 제안한 모델이 추출한 컨셉 맵의 릴레이션십과 이분들이 정책 연구를 앞서 진행을 하셨어요.

18년도에.

내용 전문가들이 모여서 연구학교 대상으로 통계적인 기법에서 이걸 뽑아내고 그리고 이 문항 자체를 내용 전문가들이 만들었거든요.

이미 만들었을 때 설계한 컨셉 맵이 있습니다.

그것과 사실 많은 점이 유사했다는 거죠.

이런 점 때문에 신뢰를 무엇보다 높은 신뢰에 대한 평가를 받을 수 있었고요.

그래서 적용할 수 있었지 않을까 저렇게 저는 평가하고 있습니다.

실제 서비스 이건 초기 버전입니다.

베타 버전은 이런 식으로 적용이 됐고요.

앞서 말씀드린 위크포인트 익스플레이너가 이런 식으로 학생에게 대략적인 현재 자신의 너가 다음 학기 이정도 성취를 보일 것 같아.

그랬을 때 너는 보시는 것처럼 여기 중간에 텍스트로 지금 너무 좀 복잡하게 되어 있는데 보시면 뭐 수에 뭐 어떤 활동을 할 필요가 있어 이 개념을 이렇게 설명하고 있잖아요.

보시는 이런 부분들을 그 앞서 보이는 러닝 트레저표에서 가져온 부분 적용하고 있습니다.

지금까지가 교수자 입장에서 말씀드린 앞서 세 가지 그런 피드백들이 얼마나 유미했는지를 간단히 소개 드렸고요.

시간이 생각보다 많이 오버돼서 이 부분을 설명 드리겠습니다.

먼저 학습 유지율을 높일 수 있는 방법은 학습자가 부족한 점이 있으며 이 부족한 부분이 맞게 학생에게 필요한 부분을 순차 너는 이 순서대로 문항을 풀면 돼 또는 이 순서대로 개념을 풀면 되라는 러닝 패스를 제공해 주는 것.

이것을 저는 유미한 그런 맞춤을 추천이라고 생각했고요.

그래서 적용한 방법은 우선 데이터셋은 네이버 커넥트 에드위드에 있는 데이터셋을 활용했습니다.

데이터셋은 이런 식으로 생겼고요.

학생 수는 약 2,000명 정도였고 즉 이 학생들이 품 문항의 시퀀스가 60개 정도였습니다.

네, 이 정도였고요.

제안한 모델의 기본적인 구조는 이렇습니다.

여기서는 당시에 제가 연구했을 때는 이 DRKT 모델을 제가 아직 그 퍼블리쉬하거나 하기 전이라 적용하지는 않았었고요.

먼저 쉽게 DKVMNID, Knowledge Tracing Model이 하는 것은 probability를 측정하는 거잖아요.

이 학생이 맞을지 틀릴지.

그것을 그 리워드 펑션으로 삼았고요.

그리고는 이 강학습에 적용해서 어떤 순서의 시퀀스로 KCS를 제공해야 이 학생의 이 probability가 맥스마이지될 수 있을지를 계속적으로 찾아가는 모델들 두 가지를 결합해서 해봤습니다.

그런데 이것은 기존에 2017년도에, 2019년도에 나온 논문에 사실 이 방법이 제안된 게 있었고요.

그렇다면 차별성은 무엇이냐?

이 제공되는 모델들이 왼쪽에 보이시는 게 기존의 베이스 모델인데요.

제가 비교 삼았던 모델인데 여기에 색깔이 이렇게 검게 칠해져 있고 하얗게 칠해진 게 있죠.

이것이 의미하는 게 무엇이냐면요.

교육을 하지 않으시는 분들 입장에서 보면 이 파스는 그냥 이렇게 나오니까 probability가 맥스마이지되니까 좋은 게 아니냐고 생각할 수 있습니다.

하지만 이것이 이 색깔이 의미하는 것은요.

교육에서 사실 크게 좀 정설처럼 받아들인 개념이 있습니다.

블룸이라는 학자가 정의한 교육목표 분류학이라는 의미인데요.

쉽게 학생의 인지발달 단계로 봤을 때 여기 학습목표라고 되어 있고, 리멤버링이 되어 있고 밑에 보면 크레이팅이라고 되어 있는 게 있잖아요.

이게 인지수준이라고 단계를 나눈 거고요.

학습이 이뤄질 때 가장 기본적으로 먼저 기억하는 게 먼저고, 그 다음에 이해고 최종적으로는 창작하고 할 수 있어라고 나름의 분류를 해 놓은 겁니다.

그리고 이 분류에 따라서 이 동사를 정했는데 이 동사의 역할이 뭐냐면 우리 교육과정 교육을 선생님들이 너무 익숙할 수 있지만, 어쨌든 우리가 학생들이 뭘 할 수 있어.

이걸 배웠으니까 이걸 할 수 있어라는 게 학습 목표라는 개념이거든요.

학습목표의 동사를 이런 식으로 주문해 왔습니다.

지금 여기서 말하려고 하는 것은 이 학습목표 분류를 보시는 것처럼 리멤버링 understanding 이것을 낮은 단계 그리고 위에 있는 이 high를 높은 단계라고 나누고요.

이거를 기준으로 이 모델이 제공한 패스들을 쭉 나열해서 봤을 때 보이시는 것처럼 오히려 이 학생이 베이스라인 모델 같은 경우는 흰색이 낮은 인지수준의 문제나 개념들이거든요.

이것을 제공한다는 겁니다.

쉽게 말씀드려 이 학생에게 너는 이 진술에 대해서 아느냐를 물어보는 게 그 다음이고 끝에서 물어보고 있고 이 진술로 적용하고 활용하고 또는 이걸 가지고 다른데 분야 적용하는 이런 문항들을 먼저 알려주고 있다는 거죠.

강학습에 제공하는 이 모델의 패스상으로 그럴지 몰라도 데이터상으로 그럴지 몰라도 이것은 교육에서 봤을 때는 말이 안 되는 추천이라는 거죠.

그랬을 때 저희가 제공했던 이 모델의 차이점은 이 exercise level을 필터링을 겁니다.

그래서 이 패스가 최소한 구체적인 알고리즘은 제가 논문에는 밝혔는데 여기서는 생략하고요.

어쨌든 필터링을 걸어서 어느 정도 그 문항에 어느 정도의 부분 같은 경우의 수준에 따라서는 높은 수준을 제공해야 된다든지 낮은 수준을 제공해야 된다든지 이런 필터링을 하게 해서 이런 식으로 패스를 이미로 조작을 하는 거죠.

그렇게 되면 이렇게 됐을 때 걱정되는 게 있으실 거예요.

이렇게 되면 당연히 이 학생의 최종적인 probability의 평균이 낮아지는 거 아닐까라고 생각하실 수 있어요.

그렇기 때문에 비교를 해본 게 뭐냐면요.

학생 15명은 무작위로 선택하고 여기 15명은 데이터입니다.

선택한 다음에 기준과 제한된 모델에 각각 생성된 20개의 학습형으로 이 출력값에 여기 보이시는 p라는 것은 이 knowledge tracing 모델이 예측하는 거고요.

이 출력값들의 평균을 지금 보이시는 것처럼 이렇게 비교를 합니다.

그렇게 봤을 때 보시면 크게 다르지 않다는 거죠.

물론 뒷단에 가서 약간 높아지긴 하지만 큰 의미가 하지는 않다라고 저는 봤고요.

무엇보다 의미 있는 것은 보이시는 것처럼 교육자나 교육을 하는 사람 입장에서는 훨씬 더 유의미한 패스를 제공하지만 우리 프로포즌 모델이 성능적인 면에서도 큰 차이를 큰 부족함이나 이런 게 부족함이 없기 때문에 유의미하다.

이걸 제안하고 싶었던 거고요.

실제로 학생들 대상으로도 적용을 좀 해봤고요.

이거는 생략하도록 하겠습니다.

조금 두서없이 진행된 것 같은데요.

그럼 정리를 좀 해보겠습니다.

어쨌든 제가 지금 설명드린 건요.

먼저 gstudio 그 모델에 대한 배경이론에 대해서 좀 탐구를 해봤고요.

그것을 정보 처리 이론 관점에서 봤을 때 기존 모델들이 학생의 knowledge state를 안다 모른다 이분법적으로 따로따로 모델링 하려는 시도를 하지 않고 같이 뭉쳐서 하려는 시도를 했다.

그렇기 때문에 이것을 구분해야 된다.

그래서 gstudio 모델을 새롭게 한번 제안을 해봤고요.

dikt라는 모델을.

이것의 변형으로서 pfa라는 것도 있다는 출력단의 부침으로서 한번 비교도 해봤지만 그 당시에는 벤치마크 데이터를 봤을 때 그래도 유의미한 성과를 보였고 무엇보다 이 러닝 트레젝토리 측면에서 훨씬 더 유의미한 결과를 보였다.

그리고 이런 것들이 기존의 교수자와 학생에게 적용할 수 있는 적용했던 사례들을 한번 간단하게나마 소개 드려봤습니다.

Futurework 같은 경우에 마지막에 혹시나 답변할게 없으면 질문이 없으면 제가 한번 말씀드려 보겠고요.

궁금하신거나 아니면 제가 좀 부족했던 게 있으면 얘기해 주시기 바랍니다.

질문 있으신 분들은 마이크 켜시고 이제 바로 질문해 주셔도 괜찮을 것 같습니다.

안녕하세요.

저 업스테이지의 박성래입니다.

강의 너무 잘 들었고 많은 것을 배울 수 있는 자리가 된 것 같습니다.

궁금한 점이 몇 가지가 있는데요.

지금 개발하신 저 모델 또는 적용하실 때 전부 다 스킬 위주로 지금 트레이싱을 하신 것 같아요.

어떻게 보면 스킬 안에는 다양한 퀘스천이 있고 그러면 학습 로그를 보게 되면 퀘스천이 굉장히 많을 테니까 굳이 이런 knowledge tracing 안하고 스킬 레벨에 statistics를 좀 뽑아 가지고 본다든가 하는 게 더 효과적일 수도 있겠다라는 생각이 드는데요.

이 부분에 대해서 어떻게 생각하시나요?

퀘스천 레벨에서 본 것과 스킬 레벨에서 본 것 차이?

사실 먼저 스킬 레벨 말씀하신 것처럼 퀘스천보다 스킬로 가게 되면 훨씬 더 이제 개수가 작아지고 그러다 보니까 굳이 이런 복잡한 딥러닝 모델이나 이런 것보다는 통계적인 기법을 접근하시면 어떨까 지금 그런 말씀이실까요?

우선은 통계 모델로서 분명히 접근하는 것보다 예측률이 훨씬 더 높아졌다는 게 유의미했고요.

근데 그 전에 저는 우선 퀘스천이라는 게 퀘스천 단위로 보는 게 무엇보다 유의미할까?

저는 좀 거기에 대해서 부정적이었어요.

왜냐하면 우리가 문학이 많을 수 있는데 그 문학들이 실제로 물어보고 있는 개념들이 무엇이냐라고 봤을 때는 유사하다고 할 수 있고요.

그리고 그 개념 단위로 나중에 학습자가 진단이 되어야 실질적으로 그것을 활용할 때 훨씬 유의미하거든요.

예를 들어 이 학생은 1번 5번 문학이 라고 하는 것보다 이 학생은 수학연산을 몰라요 라고 하는 게 훨씬 더 유의미하게 이 학생에게 피드백을 줄 수 있고 그것을 활용해서 지금 보이시는 것, 지금 제안 드린 것처럼 교수자 또는 학습자에게 제공해 줄 수 있는 방법도 있거든요.

가장 이상적인 것은 맞습니다.

퀘스천 단위로 가는 게 가장 이상적이겠죠.

하지만 우선 제가 활용했던 데이터셋들 역시도 이런 퀘스천 단위보다는 그 퀘스천 별로의 스킬들이 이미 맵핑이 되어 있었고 그리고 그렇기 때문에라도 저는 사실 퀘션보다는 바로 스킬 단위로 접근을 했던 거죠.

데이터셋에 따라서 스킬 레벨의 퀘스천에 붙여있는 스킬 레벨의 태그가 없는 데이터도 존재할 수도 있을 것 같아요.

또 추가로 퀘스천에는 하나의 스킬셋으로만 구성되지 않고 여러 개의 스킬셋이 연결되어 있는 퀘스천들도 있을 것 같고

그러면 전자의 경우에는 스킬에 대한 태그가 없는 상황이고, 토자일 같은 경우에는 하나의 퀘스천에 여러 개의 스킬셋이 붙어 있는 상황이다 라고 한다면 어떤 식의 접근 방법을 취하시겠어요?

사실 말씀하신 것처럼 태깅이 안된게 리얼데이터에서 훨씬 많죠.

그렇기 때문에 제가 알기로는 이미 뭐 최근에는 아니지만 1, 2년 전에 그런 문항들의 컨셉들을 하이라이트를 자동으로 추출하고 그걸 가지고 다시 스킬을 맵핑하고 그걸 다시 인베이딩해서 하려는 시도가 이미 있지 않습니까?

그런 방법들도 저도 작게나마 좀 해보고 했는데 굉장히 성능이 아직은 떨어지더라고요.

이미 맵핑된 데이터셋을 제가 가지고 있는 입장에서는.

그런 것들이 계속적으로 이뤄져야 되겠죠.

하지만 제가 지금 실제로 서비스를 적용하는 것도 측면에서도 연구를 하다 보니까요.

아무래도 그런 위험성을 감수하는 것은 저에게는 조금 힘듦이 있었습니다.

그리고 그 말씀하신 것처럼 하나의 문항에는 여러가지 컨셉이 사실 들어가 있습니다.

그래서 제가 최근에 나와있는 좋은 모델보다도 DKVM에는 더 베이스로 삼았던 이유가 DKVM에서 키 밸류에서는 아까 말씀드린 correlation weight에서 latent 컨셉들을 물론 이미 값이긴 하지만 지정을 하고 그것들의 개수만큼 즉 그 한 문항에 그래도 한 20개나 몇 개 정도의 이런 유사 개념들 간에 관련성이 있을 거야.

그리고 그거를 correlation weight를 다시 계산을 하게 하거든요.

즉 이 모델에서도 말씀하신 것처럼 하나의 컨셉에는 다른 컨셉들과 관계성이 어느 정도 내포되어 있을 거야라는 가정을 담고 있긴 합니다.

그래서 저도 말씀하신 그런 부분들을 충분히 고려를 해서 이 모델에 있는 DKVM의 키 밸류에서 correlation weight를 계산한 것을 그대로 좀 차용을 해봤던 것이기도 하고요.

너무 답변 감사합니다.

질문이 또 하나 있는데 마지막으로 하나만 더 질문을 좀 하고 싶네요.

네.

아, 아, 잘 들리시나요?

네, 저는 잘 들립니다.

아, 마지막으로 질문 하나만 더 할게요.

지금 만약에 패션 어떤 문제가 있다 그리고 트레이싱을 한다고 했을 때 패션을 어떤 스킬 레벨로 이렇게 맵핑해서 본다고 했는데, 퀘스천 레벨에서 사실 들고 있는 어떤 지표들이 있잖아요.

같은 스킬이라고 하더라도 어떤 퀘스천은 4G 선다고 어떤 퀘스천은 2G 선다고 하면 이게 정답 기본적인 베이스가 되는 확률이 좀 차이가 많이 날텐데, 그런게 그럼에도 불구하고 스킬을 이렇게 잘 넣어도 충분히 나리 트레이싱이 된다고 생각을 하시나요?

그거를 반영할 수 있는 어떤 방법은 없을까요?

사실 이미 제가 했던 내용을 보시면 알겠지만 사실 퀘스천 단위로 접근하는 것 자체에 대해서 많은 고민을 하진 못했습니다.

그래서 지금 그냥 설명해 주신 것만 듣고는 뭐 원하시는 그런 정도의 내용은 말하기는 힘들 것 같고요.

다만 그 실은 최근에 지적하신 부분은 저도 충분히 공감하고 있어서 그 지금은 아직은 정리가 안 돼서 공유는 못드리지만 퀘스천 단위에서 이런 키 컨셉트를 추출하고 자동으로 추출하고 그리고 그것들을 활용해서 거기에 맞는 지지추적 모델을 개선하고 그런 연구를 최근에는 또 하고 있긴 하거든요.

좀 더 정리가 되고 유미한 결과가 있다면 공유 드릴 수 있는 기회가 있었으면 좋겠습니다.

저도 아직은 그 부분에 대해서는 아직은 뭐가 없습니다.

감사합니다.

저는 하나의 빅팬이 된 것 같습니다.

잘 모르는데 김성우 교수님이 얘기하셔서 그냥 용감하게 나왔습니다.

개발한 모델, 사실 제가 학위 논문 과정 중에 나온 거라 교수님의 권유로 어쩔 수 없이 특허가 등록 중임으로 알고 있습니다.

사실 뭐 특별할 건 없는데요.

지금 김형국 닉콩님께서 얘기를 하셔서 말씀드렸습니다.

안녕하세요.

업스테이지 2 원성입니다.

말씀해주신 내용 잘 들었고요.

그 디코토머스 DKT 모델에서 맞춘, Recall인 것과 Unrecall인 것을 각각 인베딩을 사용한 걸 Value Memory에서 사용하신 것 같아요.

그런데 기존에서 사실 DKT랑 그 이후에 연구해서 DKT에서는 맞춤 문제, 틀린 문제를 이제 문제의 개수 곱하기 이만큼의 인베딩으로 분류를 하고 혹은 맞춤 문제, 틀린 문제를 맞춤 문제는 앞부분에 인베딩을 컨켓을 한다든지 틀린 문제는 뒷부분에 인베딩을 컨켓한다든지 그런 식으로 약간 맞춤 것과 틀린 것을 인베딩 상에서 구분하려는 시도들이 있었던 걸로 알고 있어요.

잠시만요.

제가 Value랑 그것만 나눴지 인베딩하는 과정에서는 사실 동일하게 갔거든요.

이게 지금 이 화면 얘기시죠?

네, 인베딩 상에서는 그대로 EQ 차원의 인베딩을 사용했다고 이해하면 될까요?

아, 예.

맞습니다.

사실 말씀하신 것처럼 뭔가 다양한 시도를 좀 해보긴 했습니다.

앞에도 해보고 뒤에도 해보고 하지만 이렇게 했을 때가 가장 유의미한 성능 향상을 보이더라고요.

그래서 이걸 Recall of One, 결국에 맞다 틀렸다를 별도로 인베딩 했다는 것 말고는 나머지 프로세스는 동일하게 가져갔습니다.

그러면 메모리도 사실 두 개로 나눌 수 있을 것 같은데 그것도 테스트 해봤는데 성능상 이점이 없었다고 이해하면 될까요?

메모리는… 아, 죄송합니다.

Key요.

Key.

Key

역시 맞습니다.

그건 역시도 구분을 해봤습니다.

Key Value

자체도.

근데 예상하시겠지만 학습 시간이 굉장히 증가하기도 하고 그런 점을 고려했을 때 현재가 가장 이상적이라고 판단해서 하긴 했습니다.

네, 답장 감사드립니다.

아닙니다.

아, 예. 질문해도 될까요?

사실 엄청난 관심을 가지고 있어가지고요.

실제 사용을 하시고 서비스를 해보신 거에 굉장히 관심이 있어요.

그 모델 파트를 좀 보니까 결과를 분석하신 거 보니까 학년별로 1, 2학년을 대상으로 적용을 하신 것 같고 학년별로 별도의 DKT 모델을 학습해서 사용을 하신 것 같아요.

네.

그게 일단 맞나요?

아, 우선은 실제적인 적용 상황에서는 날이 스트레칭 모델이 사실 가능한 건 다음 스텝의 예측이지 않습니까?

하지만 어쨌든 고객이 요구한 것은 그것도 있지만 이 학생의 마지막 학기에 또는 다음 학기에 성취 정도로 예측해달라는 요구가 있어서 그렇다면 어떤 모델이 있을지, 결국은 리그레이션 프로블럼으로 되기 때문에 어떤 모델이 좋을까 해서 여러 가지를 결합해 봤습니다.

그렇게 했을 때 데이터셋이 워낙 작고 그리고 이것이 지금은 아니지만 최종적으로는 실시간으로 어댑티브하게 계속 반응해야 되는 이슈도 발생할 수 있어서 너무 복잡한 모델보다는 그냥 간단한 이런 XGBoost라는 모델을 활용하게 됐고요.

그리고 이 모델이 이미 잘 아시겠지만 Explainable AI 분야에서는 XGBoost와 셰플립 밸류를 결합해서 이미 많이 활용하지 않습니까?

그래서 그것을 한번 결합을 해 봤습니다.

그렇게 했을 때 셰플립 밸류에 의해서 나오는 이 학생의, 저희는 위크포인트 익스플레이로 이름 붙이긴 했지만 결국은 이 부분이, 보이시는 이 부분이 실질적인 그런 정책 연구 결과와도 굉장히 유사하기도 했고 그리고 연구학교 대상으로 저희가 적용해 보고 선생님들이 봤을 때 이 학생에 대한 성취 정도나 이런 것들을 잘 보여주고 있더라고요.

그러니까 교수자에게 잘 설명해 주고 있더라고요.

유의미하게.

그렇기 때문에 이건 역시도 물론 Knowledge Tracing이라고 부르기는 기존에 했던 분야와 조금 다르긴 하지만 Knowledge Tracing이 좀 넓게 봤을 때 어쨌든 학술자를 진단하고 추천하는 관점에서는 이런 적용도 하게 돼서 한번 소개를 해 봤습니다.

감사합니다.

그러면 기존에 이 모델을 평가를 하실 때 실무자분들에게 평가를 한번 받아 보셨다고 하셨잖아요.

그 프로세스는 어떻게 됐을까요?

어떤 것을 보여주고 어떤 것을 평가하는 것일까요?

이게 여기 보이시는 것처럼 앞서 보여드린 그 세 가지 결과물들을 설문을 저희가 구성했습니다.

그 설문은 당연히 참여하시는 분들 입장에서는 모르는 학생들이 평가할 수 없잖아요.

그래서 내용 전문가들 중에서 실제 자기들이 관리하는 학생들 그 학생들의 리얼 데이터를 활용했고요.

그 나오는 결과물들에 대한 이런 산출물들에 대해서 평가를 먼저 하게 했습니다.

그리고 컨셉맵 같은 경우는 실제 이 문항들을 평가 문항들을 개발했던 분들 그분들이 사실 제일 잘 아시잖아요.

그분들에게 질문을 하게 했었고요.

감사합니다.

아닙니다.

질문이 없으신 것 같아서 저에게 2분이 남아서 저는 어쨌든 이 자리가 저도 뭔가 얻어 갔으면 하는데 그게 결국에는 이렇게 관심 있으신 분들과의 네트워킹인 것 같습니다.

저는 지금 관심 있는 게 뭐냐면요.

여기 보이시는 것처럼 흔히 기계학습의 콜트 스타일 프로블럼이라고 얘기하잖아요.

많은 이런 온라인 시스템들이 가지고 있는 문제인데 학생의 진단 평가나 뭔가 진단을 해야 됩니다.

아니면 이력들이 쌓여야 되고 그 전까지 할 수 있는 게 사실 없잖아요.

그렇기 때문에 이걸 어떻게 개선할 수 있을까 그걸 했을 때 보통 대안점으로 받는 게 당연히 컨셉맵을 만드는 거고 그래서 그렇다면 다시 또 돌아가면 컨셉맵은 또 시간과 돈이 비용이 되니까 자동으로 해야 되는데 이 컨셉맵은 또 데이터가 사실 또 필요한 거고.

그러니까 이뤄져도 못하는 상황인 것 같은데 이거를 그래도 좀 자동으로 추출할 수 있는 이미 있는 그런 자료를 가지고 아니면 이 하당하는 학생이 아니지만 다른 학생들의 이력을 가지고 등 수학 영어 교과 내에서 관계도를 자동으로 추출하는 모델 또는 기법에 대한 연구를 지금 개인적으로는 진행하고 있고요.

이런 부분에 대해서 혹시 관심 있으신 분 있으면 같이 좀 교류했으면 좋겠다는 생각도 들고요.

그리고 사실 이 문항 간에 사전사후 개념만 중요한 게 아니라 이 문항들 간에 하이라키 정보, 이계정보도 사실 그거를 가지는 의미가 굉장히 큽니다.

이미 뭐 여기 그 이미 질문해주신 분들께 얘기하셨지만 이런 정보들을 활용할 수 있는 지시추적 모델, 이미 연구된 것도 있지만 이것들을 어쨌든 새롭게 또 만들어 보고 싶은 게 개인적인 소망이기도 한데요.

이런 부분에 대해서 혹시 관심 있는 분이 있다면 메일인데요.

메일 주시면 오늘 당연히 이 내용들 ppt도 그렇고 제가 공유하는 걸로 알고 있어요.

이후에도 지속적으로 좀 교류하고 했으면 좋겠습니다.

SUMMARY

같은 질문을 하면 여기 보이는 이 친구들 일부는 정말 시간이 모르는 것 같은 걸 느꼈습니다.

인공지능을 교육 분야에 적용한 Knowledge Tracing 분야에 대해 연구하거나 알고 있는 분들이 있는지 여쭤보는 이유는 그런 분야가 아니라 좀 낯설기 때문이다.

2014년 기준 소규모 학급의 80%가 다문화 학생이었고, 제가 속했던 학교는 70%가 다문화 학생이었다.

지금도 이런 교육 환경이 지역에 따라 서울보다 나쁘다는 것을 말하고 싶었고, 공교육 차원에서는 사교육이 활성화되었지만 공교육 차원에서 시도마다 선발된 학생들이 한 20명 남짓되는 것이었다.

이런 학생들에게 시간에 대해 이해하지 못하는 것 같다는 것을 느꼈다.

이런 방식으로 그렇게 만들어진 것이었습니다

새벽 5시에 일어난 사람이 수업이 12시쯤이고, 대중교통 이용해서 4시간 걸려서 가는 이야기.

그래서 내일 집에 갈 시간이 없었고, 그러다 보니 교육 격차 문제를 느끼게 되고, 그래서 EBS라는 곳에 교육방송 파견을 갔다.

여기서 하는 것은 무상으로 학생들에게 교육을 하고, 온라인 시스템의 문제는 자기 주도적인 학습이 불가능하다는 것.

그래서 이걸 개선하기 위해 다양한 보상을 준다고 하는데, 이를 위해 러닝맵이라는 것이 만들어졌고, 사용자가 이런 반응을 보이면 이럴 것이라는 규칙에 의해 롤베이스로 사용됐다고 합니다.

학습자 지식추적 모델은 교육학에서 학습상태를 예측하는 기계학습 모델로, 학생이 문제풀이 이력정보를 기반으로 모르는 개념을 잘 알거나 모를 지 예측합니다.

토크타운드라는 서비스는 14만 회원수를 가지고 괜찮은 평가를 받고 있으며, 지식추적 기반 추천을 적용할 수 있습니다.

이는 교사와 학생 모델의 챌린지에 대한 개별학습의 관심사로, 상호작용을 통해 충분한 의미 있는 학습이 이루어질 수 있도록 합니다.

학습 유지는 어려운 일입니다.

학습한 지식을 기억하고 적용하는 것은 쉽지 않습니다.

사람들은 일반적으로 배운 지식이나 능력을 잊고 무시하기 쉽습니다.

이것은 다양한 이유로 인해 발생합니다.

예를 들어, 학습 수준이 낮거나 관심이 부족하거나 적절한 피드백이 없거나 같은 것들입니다.

그래서 사람들은 학습을 유지하기 위해 노력해야합니다.

이는 각자의 학습 계획을 세우고 그 계획을 실행하고 자기계발을 위해 시간을 내는 것들을 포함합니다. .

사람들은 문제를 해결하기 위해 공통적인 해결책과 개별 맞춤 추천이 필요합니다.

이를 위해 지식추적 모델은 온라인 학습 데이터를 이용해 학습자의 스킬 수달 정도를 모델링합니다.

또한 인지과학 측면에서는 문항별 주요 개념의 반응이라는 것은 선언적 지식들의 모음이라고 할 수 있습니다.

그러나 여기서 실제로 정보를 이용해서 이 문항을 풀었을 때 실제로 이 학생이 이 문항을 알고 있는지 알고 있지 않은지를 정확하게 예측할 수 있는 것이죠.

우리는 기계학습 모델을 사용하여 학습자의 스킬 숫자를 측정하고 이를 이분법적으로 나누어 리콜과 언리콜로 보는 방법을 제안하고 있습니다.

이를 위해 기존 DK-VMN 모델의 메모리 공간을 분리하여 학생들이 안다 모른다는 정보를 저장하고 이 정보들을 활용하여 학생이 문항을 정확하게 풀 수 있는지 예측할 수 있습니다.

DRKT 모델의 적용 결과는 약 80퍼센트 정도의 정확도를 보여주고 있습니다.

기존의 메모리 공간에서 벗어나 DRKT 모델을 제안하여 가상의 메모리를 두고 사용자의 반응 정보를 기록하는데, 틀린 정보는 unrecallable에 저장되고 맞은 정보는 메모리에 누적되는 형태로 모델링되며, 이를 통해 학생이 맞을지 틀렸을지에 대한 확률을 예측하는 모델이다.

이 모델은 논문에서 꽤 높은 성과를 낸 것으로 보여지며, 데이터 세트는 이 날지드 트레이싱에서 벤치마크로 활용하여 적용한 결과 약 80%의 정확도를 보여준다.

이 논문에서는 KCS(Key Concept Sequence)를 이용해 밀도, 평균 점수, 표준 편차를 계산해 데이터 세트의 퀄리티를 확인하였고, PyTorch를 사용해 모델을 구현하였다.

레이턴트 컨셉을 사용해 이 문항이 다른 문항들과 얼마나 관계성을 가지는지를 확인하였고, 50개로 넣는 것이 속도가 느려 임의로 컨셉을 지정하였다.

실험 결과, 벤치마커로 한 3개 데이터셋에 대해 AUC 측면에서 성능 향상을 보였고, DIKT + PFA 모델은 예측 정확도가 떨어졌다.

이 모델은 각 키 컨셉별로 학생의 맞다 틀렸다의 예측률을 결합해 놓은 것이며, 실제 서비스에서 인정을 받았다.

학생의 데이터를 바탕으로 DKT, DKVM, RKT 모델을 비교하여 러닝 트레이저토리를 생성하는 방법을 소개하고 있다.

컨셉별로 색깔이 칠해진 도형을 보면 맞다는 이력이 있으면 색깔이 진하고 틀리면 색깔이 연하다.

DKT 모델을 비교해보면 중간에 틀린 경우가 보이고 다른 컨셉들과 연관성이 있는 경우에는 probability가 높아지는 경향을 볼 수 있다.

DIKT 모델을 보면 여전히 낮은 probability를 유지하는 것을 확인할 수 있다.

교육 전문가들이 상식적으로 비교한 결과 러닝 트레젝토리 모델이 다른 모델들보다 상식적으로 이해되는 것을 알 수 있었다.

또한 다음 질문 예측, knowledge concept relationship, weak point explainer 등의 산출물을 가지고 학생의 부족한 부분을 알 수 있는 모델을 제안했다.

교육부에서 이 모델을 적용하고 있으며 그 모델이 기존 디지트션 모델보다 더 유의미한 것으로 확인되었다.

교육 전문가들이 비교한 결과 러닝 트레젝토리 모델이 다른 모델들보다 상식적으로 이해되며 학생의 부족한 부분을 알 수 있는 모델로 교육부에서 적용하고 있으며 더 유의미한 것으로 확인되었다.

이 서비스는 교수자를 위한 것으로, 러닝 트레이저 트리와 knowledge concept relationship, 시험장소 예측 모델을 제공하고 있습니다.

이를 이용해 학생의 미스폰 트레이너를 제안하고, 각각의 컨셉 간의 관계를 추출하는 딥 knowledge tracing 모델을 차용하고 있습니다.

이를 통해 학생의 문항들의 진단평가들을 봤을 때 최종적으로 학기 말에 테스트에 받을 점수를 예측하고 있습니다.

그리고 데이터 세트는 당시 연구학교 학생들 대상으로 수집되었습니다.

나리지 트레이싱 모델을 적용할 때, 중국 서비스를 바탕으로 공개된 데이터 세트를 사용해 XGBoost 모델의 성능이 좋았고, 다른 논문의 기법도 적용해 프로젝트에 사용할 수 있었다.

이 모델의 성능은 다른 전문가들과 관리자들의 평가를 받아 좋은 평가를 받았다.

보이시는 컨셉 릴레이션 모델은 나래치 체신과 추천 모델을 적용하여 많은 현업에서 컨셉 맵을 수작업으로 만들고 학술자를 진단하고 추천하는 방법이 여전히 많이 쓰이고 있다.

이 방법의 문제는 비용과 시간, 내용 전문가들의 투입이 필요하다는 것이며, 이것은 신뢰할 수 있는 개념을 적용할 수 있었고 베타 버전으로 학생들에게 맞춤형 러닝 트레저표를 제공하는 초기 버전이 있었다.

네이버 커넥트 에드위드의 데이터셋을 활용한 방법을 적용하였습니다.

학생 수는 약 2000명, 문항의 시퀀스는 60개로 이루어졌습니다.

모델의 기본 구조는 DRKT 모델에서 probability를 측정하는 리워드 펑션을 적용하고, 기존 베이스 모델과 비교하여 교육목표 분류학(Blooms Taxonomy)에 따라 리멤버링, 이해, 창작 단계로 나누어 학습이 이뤄질 수 있도록 제안하였습니다.

그리고 그 배경이론에 따라 만들어진 이 모델이 어떤 패스를 제공하는지를 보여드렸고, 그리고 그것들을 학습형이 되는 것들을 보여드렸고, 그리고 이걸 교육에 적용하고 강학습에 적용하는 것들을 보여드렸습니다.

이 모델이 제공하는 패스를 이용해서 이 학생들의 수준을 필터링해서 유의미한 패스를 제공하고, 이걸 실제 학생들에게 적용해보고 비교를 해보니 성능적인 차이가 없다는 것을 보여드렸습니다.

이 모델은 gstudio 배경이론에 따라 제공하는 패스들로 학습형을 생성하고, 학생들의 수준을 필터링해서 유의미한 패스를 제공합니다.

이것을 실제로 학생들에게 적용해보니 성능적인 차이가 없었습니다.

따라서 이 모델은 교육에 유의미한 패스를 제공하며, 성능적인 면에서도 큰 부족함이 없다고 할 수 있습니다.

Gstudio 모델과 Dikt 모델을 제안하여 학생의 knowledge state를 모델링하고, PFA 모델의 변형으로 비교하여 유의미한 성과를 보여주고, 교수자와 학생에게 적용할 수 있는 사례들을 소개하였다.

그리고 문학 레벨과 스킬 레벨을 비교하여 통계 모델로 접근하는 것이 더 효과적일 수도 있다는 생각을 나타냈다.

기존 모델들은 학생의 knowledge state를 이분법적으로 모델링하려고 했지만 Gstudio 모델과 Dikt 모델을 제안하여 같이 뭉쳐서 모델링하는 시도를 했고, PFA 모델의 변형으로 비교하여 유의미한 성과를 보였다.

또한 교수자와 학생에게 적용할 수 있는 사례들도 소개하였으며, 퀘스천 레벨과 스킬 레벨을 비교하여 통계 모델로 접근하는 것이 더 효과적일 수도 있다고 생각하였다.

학습자가 스킬 단위로 진단되어 실질적으로 유의미한 피드백을 줄 수 있고, 그것을 활용해 교수자 또는 학습자에게 제공할 수 있는 방법이 이상적이다.

하지만 리얼 데이터는 태깅이 되지 않은 경우가 많아 자동으로 컨셉 추출하고 스킬 맵핑하는 방법들이 있지만 성능이 떨어지는 경우도 있다.

그리고 한 문항에는 여러 컨셉들이 들어가 있어 correlation weight를 계산하여 관련성을 분석하는 방법도 있다.

즉 이 모델에서는 하나의 컨셉에 다른 컨셉들과 관계성이 있다는 가정하에, correlation weight를 계산해 트레이싱 모델을 적용하고 있습니다.

이를 통해 퀘스천 단위로 접근하여 스킬 레벨별로 맵핑하고 자동으로 추출하는 방법을 고려하고 있으며, 이를 통해 지지추적 모델을 개선하고 있습니다.

디코토머스 DKT 모델에서는 Recall인 것과 Unrecall인 것을 각각 인베딩하여 Value Memory에서 사용하였다.

연구해본 결과 맞춤 문제는 앞부분, 틀린 문제는 뒷부분에 인베딩을 컨켓하여 인베딩 상에서 구분하는 것이 가장 유의미한 성능 향상을 보였다.

메모리는 두 개로 나누어 테스트 해보았지만 성능 이점이 없었다.

실제 사용을 하신 것에 관심이 있는데 학년별로 별도의 DKT 모델을 학습하여 사용하였고 리그레이션 프로토콜로 다양한 모델을 결합해 봤다고 한다.

이런 이슈를 해결하기 위해 작고 데이터셋이 작은 상황에서는 XGBoost라는 모델을 활용하고, Explainable AI 분야에서는 XGBoost와 셰플립 밸류를 결합해서 이를 활용하고 있으며, 이것을 실무자들에게 평가하기 위해 설문을 구성하고 내용 전문가들이 관리하는 학생들의 리얼 데이터를 활용해 평가하고 있다.

데이터셋이 작은 상황에서는 XGBoost라는 모델을 활용하고, Explainable AI 분야에서는 XGBoost와 셰플립 밸류를 결합해서 활용하고 있다.

실무자들에게 평가하기 위해 설문을 구성하고 내용 전문가들이 관리하는 학생들의 리얼 데이터를 활용해 평가하고 있다.

사실 학생들의 이력을 쌓는 것이 필요하지만 그것을 어떻게 개선할 수 있는지 고민하고 있습니다.

이 문제를 해결하기 위해 컨셉맵을 만들고, 데이터를 추출하는 모델이나 기법에 대해 개인적으로 연구하고 있습니다.

사전/사후 개념만 중요하지 않고, 하이라키 정보나 이계정보도 중요합니다.

관심 있는 분과 교류하고 새로운 모델을 만들어 보고 싶습니다.

메일을 보내주시면 PPT를 공유하는데요, 이후에도 지속적으로 교류하고 했으면 좋겠습니다.