Learning More about Active Learning

by seunglee

교과서에서 익힌 기계학습 기법을 교과서에 나오지 않는 데이터에 적용하려고 할 때 부딪치는 가장 큰 어려움이 뭘까? 내가 봤을 때 전처리가 잘 되어 있고 충분히 신뢰할 만한 품질의 데이터를 구하는 것이 가장 중요하고 또 어려운 것 같다. 여러 알고리즘 중에서 적절한 것을 찾는 것은 그 다음의 일이다. 좋은 데이터를 구하는 게 중요하지만 그렇다고 뾰족한 해결책이 있는 것은 아니다. 그냥 ‘알아서 잘 만들어라’ 외에는. 그래서 교과서는 여기에 대해 길게 설명하지 않지만, 실제로 맞닥뜨리면 상당히 많은 시간과 노력이 드는 작업이라는 걸 알게 된다. 인물 사진 수만 개를 보면서 그게 누구 얼굴인지 태그다는 일을 생각해보라. 그렇다면 요즘처럼 자동화를 외치는 시대에 컴퓨터를 써서 이 데이터를 만드는 수고도 좀 덜 수는 없을까?

자동으로 데이터를 만들 수는 없지만 좀더 효과적으로 만들 수는 있을 것이다. 그런 학습 방식을 Active Learning이라고 부르며 이미 많은 사람들이 연구해놓았다. Active Learning이란 기계가 조금 더 능동적으로 무언가를 배우는 방식이다. 이와 대비하여 앞에서 얘기한, 모든 데이터를 사람이 일일이 평가하여 기계에 학습시키는 방식을 Passive Learning이라고 부른다. 레이블이 달려 있지 않은 데이터가 주어졌을 때 기계가 데이터를 죽 살펴보고는 애매한 것 혹은 경계지점에 놓인 것(Informative Sample)을 콕 집어서 사람에게 “이건 뭐냐?”라고 물어본다. 개념적으로 생각했을 때 애매하고 경계에 놓인 것을 사람이 판단해줬으니까 기계는 이제 나머지에 대해서 알아서 판단하고 학습할 수 있을 것이고, Passive Learning보다 적은 노력으로 원하는 것을 얻을 수 있을 것이다.

Active Learning을 소개하는 글이 실렸다. 페이지 한장짜리 기사인데, 최근의 이론적 성취와 연구 이슈를 간단하게 소개하고 있다. 기계가 물어봤을 때 사람이 잘못 대답하면 어떻게 될까? 아니면 기계가 물어볼 데이터를 잘못 샘플링하면 어떻게 될까? 이런 문제들을 다룬다.