Learning More about Active Learning
교과서에서 익힌 기계학습(machine learning) 기법을 교과서에 나오지 않는 데이터에 적용하려고 할 때 부딪치는 가장 큰 어려움이 뭘까?
내가 봤을 때 전처리가 잘 되어 있고 충분히 믿음직한 좋은 품질의 데이터를 구하는 것이 가장 중요하고 또 어려운 것 같다. 여러 알고리즘 중의 가장 적절한 것을 찾는 것은 그 다음의 일이다.
좋은 데이터를 구하는 게 중요한 일이지만 그렇다고 뾰족한 해결책이 있는 것은 아니다. 그냥 ‘알아서 잘 만들어라.’ 외에는. 그런 이유로 교과서에서는 여기에 대해 길게 설명하지 않는다. 하지만, 실제로 맞닥뜨리면 상당히 많은 시간과 노력을 필요로 하는 작업이라는 걸 알게 된다. 왜냐하면 기본적으로 사람이 데이터를 하나하나 보면서 직접 판단을 해야 하기 때문이다. 인물 사진 10000개를 보면서 그게 누구 얼굴인지 태그다는 일을 생각해보라.
그렇다면… 요즘 ‘자동화!, 자동화!’ 하는데, 컴퓨터를 써서 이 데이터를 만드는 수고도 좀 덜 수는 없을까?
있다. 예로부터 연구자들은 그런 학습 방식을 Active Learning이라고 부르며, 연구된 지도 꽤 되었다.(참고로, 앞에서 얘기한 방식, 즉 모든 데이터를 (사람이) 일일이 평가한 뒤 기계에 학습시키는 방식을 passive learning이라고 부른다.) Active Learning이란 -그 이름이 암시하는 것처럼- 기계가 조금 더 능동적으로 무언가를 배우는 방식이다. 이를테면, 레이블이 달려 있지 않은 데이터가 주어졌을 때 기계가 데이터를 죽 살펴보고는 애매한 것, 경계지점에 놓인 것(informative sample)을 콕 집어서 사람에게 “이건 뭐냐?” 라고 물어보는 식이다. 개념적으로 생각했을 때, 애매하고 경계에 놓인 것을 사람이 판단해줬으니까 기계는 이제 나머지에 대해서 알아서 판단하고 학습할 수 있을 것이고, 따라서 Passive Learning과는 비교도 할 수 없는 적은 노력으로 원하는 것을 얻을 수 있는 것이다. 이론적으로는 말이다.
CACM 2009년 4월호에 Active Learning을 소개하는 글이 실렸다. 페이지 한장짜리 기사인데, 최근(?)의 이론적 성취와 연구 이슈를 간단하게 소개하고 있다. 기계가 물어봤을 때 사람이 잘못 대답해주면 어떻게 될까? 아니면 기계가 물어볼 데이터를 잘못 샘플링하면 어떻게 될까? 뭐 이런 문제들에 대한 이론적인 해답을 조금씩 찾아가는 모양이다.
또, 이론적으로는 완벽하지 않다고 해서 (사람은 어디 완벽히 합리적이고 일관적이던가?) 실제 문제에 적용했을 때 꼭 실패하는 것은 아니다. 성공적인 사례가 보고되면 다시 이론가들은 “어? 이게 어째서 잘 되지?”를 묻기 시작하고, 어떤 사람들은 특정한 사례에 성공했으니까 더 일반화 시키려는 시도를 하기도 하고, 그게 잘 안 될 것 같으면 아예 다른 방향으로 해결책을 고민하는 사람들도 나온다. 예를 들면, 기계가 “이거 애매한데 정답이 뭐에요?”라고 사람에게 물어보는 것처럼, 사람은 기계에게 “이거 틀렸으니까 조금 더 잘 해봐!” 라고 인터랙션을 주는 방식이 있겠다. (Balcan)
아무튼 최근의 기계학습 관련 학회에 실린 논문집을 훑다 보면 Active Learning이라는 단어를 심심찮게 발견할 수 있는데, 최근의 이슈이자 흥미로운 주제인 것만큼은 분명해 보인다.
|
이글과 관련이 있을지도 모르는 글 |
Tags: Active Learning, CACM, 기계학습, 논문
이글을 찾은 사람들이 쓴 검색어: Active Learning / Active Learning Machine Learning / active learning 기계학습 / active learning machine /| This entry was posted on Friday, September 4th, 2009 at 7:09 pm and is filed under 공부. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site. |