이제 전문가들 조차도 이 복잡한 문제를 정확하게 해석하는 것이 어렵게 되었다.
그래서 사람들은 이제 직접 해석하기 보다는 해석하는 도구를 만드는 것으로 방향을 바꾸었다. 그 도구가 딥러닝이다.
딥러닝을 구성하는 3요소가 있다. 모델(알고리즘) 데이터 계산자원이다.
이 세 가지 중에서 유일하게 사람이 영향하는 요소가 모델이다. 모델은 일종의 컴퓨터가 세상을 해석하기 위한 하나의 틀이라고 할 수 있다.
요즘 머신러닝 전문가라는 분들은 (나포함) 대부분 이 "틀"을 설계하는 사람들이다. 방식은 과거에 그들이 문제를 풀던 방식과 유사하다. 즉 문제를 해석해서 모델을 설계한다.
그들은 특정 세상 문제를 잘 해결하기 위한 "모델"이라는 틀을 만들고 거기에 "데이터"라는 재료를 붓고 "GPU"라는 계산자원으로 일정시간동안 굽는다. 이것은 마치 옛날에 대장장이 나 도예공들이 일하던 방식과 매우 흡사하다. 그 결과물이 잘 나올지 안나올지 나올때까지 모른다는 점까지 말이다.
여기에 딜레마가 존재한다. 딥러닝은 기계가 알아서 답을 찾도록 하는것인데 그 틀은 사람이 만들어 준다. 그럼 결국 좋은 답을 위해서 결국 전문가가 필요한건가?
여기에 나의 의견은 "No"이다.
그 이유의 핵심은 세상문제가 너무 다양하고 복잡해서 어떤 문제에 어떤 틀이 좋은지는 일반화된 정답이 아직 없다는 것이다. 또 같은 틀이라고 하더라도 재료 (데이터)의 도메인에 따라서 결과물의 품질이 천자만별로 달라지는게 현재 머신러닝 기술의 현실이다. 실제로 저명한 학자들이 쓴 머신러닝 모델 논문의 결과물이 잘 재현되지 않고 조금만 다른 도메인에 적용해 보면 잘 되지 않는 경우가 많은 것이 알려져 있다.
그럼 결국에 중요한 것은 문제를 풀기 위한 다양한 틀을 만들어서 여러번 구워보는 것이다. 여기서 중요한 키워드는 "다양한" 과 "여러번" 이다.
나는 이 두 가지 키워드를 동시에 만족시킬 수 있는 방식이 Kaggle과 같은 대중 의존형 문제 풀이 방식에 있다고 생각한다. 하나의 구체적인 세상 문제 풀이에 대해서 다양성과 시도횟수를 동시에 만족 시킬 수 있다. 또 이 방식이 가능한 이유는 딥러닝에 대한 진입장벽이 매우 낮아지고 있기 때문이다. 전문가 수준의 지식이 없어서 모델을 한번 구워보는 것은 중고등학생 수준이면 가능하다고 생각한다. 그리고 그들이 만든 모델이 우연하게 대박결과를 만들어 낼 수 있다!
캐글에서 만들고
레딧과 페이스북에서 의견 교환을 하며
유투브에서 해설 비디오를 만들고
회사에서는 내부적으로 검토만 한다
"점차 대중이 생성한 기술이 전통적으로 전문가들이 만드는 기술을 대체할 것이다."
이것은 곧 전문가 시대의 종료와 실행력 있는 탐험가 시대의 개막을 알린다.
댓글 없음:
댓글 쓰기