2019년 2월 6일 수요일

Kaggle: 전문가 시대의 종료와 탐험가 시대의 개막

과거에는 문제가 단순해서 훈련된 전문가들이 문제의 본질을 파악하고 정확한 답을 제공하는 것이 가능했다. 하지만 세상이 발전함에 따라서 문제가 점점 복잡해진다.

이제 전문가들 조차도 이 복잡한 문제를 정확하게 해석하는 것이 어렵게 되었다.
그래서 사람들은 이제 직접 해석하기 보다는 해석하는 도구를 만드는 것으로 방향을 바꾸었다. 그 도구가 딥러닝이다.

딥러닝을 구성하는 3요소가 있다. 모델(알고리즘) 데이터 계산자원이다.
이 세 가지 중에서 유일하게 사람이 영향하는 요소가 모델이다. 모델은 일종의 컴퓨터가 세상을 해석하기 위한 하나의 틀이라고 할 수 있다.

요즘 머신러닝 전문가라는 분들은 (나포함) 대부분 이 "틀"을 설계하는 사람들이다. 방식은 과거에 그들이 문제를 풀던 방식과 유사하다. 즉 문제를 해석해서 모델을 설계한다.

그들은 특정 세상 문제를 잘 해결하기 위한 "모델"이라는 틀을 만들고 거기에 "데이터"라는 재료를 붓고 "GPU"라는 계산자원으로 일정시간동안 굽는다. 이것은 마치 옛날에 대장장이 나 도예공들이 일하던 방식과 매우 흡사하다.  그 결과물이 잘 나올지 안나올지 나올때까지 모른다는 점까지 말이다.

여기에 딜레마가 존재한다. 딥러닝은 기계가 알아서 답을 찾도록 하는것인데 그 틀은 사람이 만들어 준다. 그럼 결국 좋은 답을 위해서 결국 전문가가 필요한건가?

여기에 나의 의견은 "No"이다.
그 이유의 핵심은 세상문제가 너무 다양하고 복잡해서 어떤 문제에 어떤 틀이 좋은지는 일반화된 정답이 아직 없다는 것이다. 또 같은 틀이라고 하더라도 재료 (데이터)의 도메인에 따라서 결과물의 품질이 천자만별로 달라지는게 현재 머신러닝 기술의 현실이다. 실제로 저명한 학자들이 쓴 머신러닝 모델 논문의 결과물이 잘 재현되지 않고 조금만 다른 도메인에 적용해 보면 잘 되지 않는 경우가 많은 것이 알려져 있다.

그럼 결국에 중요한 것은 문제를 풀기 위한 다양한 틀을 만들어서 여러번 구워보는 것이다. 여기서 중요한 키워드는 "다양한" 과 "여러번" 이다.

나는 이 두 가지 키워드를 동시에 만족시킬 수 있는 방식이 Kaggle과 같은 대중 의존형 문제 풀이 방식에 있다고 생각한다.  하나의 구체적인 세상 문제 풀이에 대해서 다양성과 시도횟수를 동시에 만족 시킬 수 있다. 또 이 방식이 가능한 이유는 딥러닝에 대한 진입장벽이 매우 낮아지고 있기 때문이다. 전문가 수준의 지식이 없어서 모델을 한번 구워보는 것은 중고등학생 수준이면 가능하다고 생각한다. 그리고 그들이 만든 모델이 우연하게 대박결과를 만들어 낼 수 있다!

캐글에서 만들고
레딧과 페이스북에서 의견 교환을 하며
유투브에서 해설 비디오를 만들고
회사에서는 내부적으로 검토만 한다

"점차 대중이 생성한 기술이 전통적으로 전문가들이 만드는 기술을 대체할 것이다."

이것은 곧 전문가 시대의 종료와 실행력 있는 탐험가 시대의 개막을 알린다.







댓글 없음:

댓글 쓰기