우선 deep learning이라는 것은 artificial neural network model의 확장형입니다. artificial neural network는 단순하게 설명하면 통계학하는 사람에게 익숙한 logistic regression (logit function을 link function으로 쓴다면)을 stack으로 쌓은 모델입니다. 만약에 input X 와 output y사이에 hidden layer가 없다면 그냥 단순한 logistic regression인데 X와 y 사이에 hidden layer들을 넣는겁니다. 각각의 hidden layer들과 X, y 는 logistic regression 처럼 logit function으로 연결됩니다 (다른 link function이 더 많이 사용되기는 하지만 통계학하는 사람들한테는 누가 뭐래도 logit이 이해하기 쉽죠). 근데 예전에 고안된 인공신경망 모형과 가장 다른 점은 hidden layer 갯수가 많다는 점 입니다. 근데 단지 hidden layer 갯수늘린다고 모형의 성능이 그렇게 향상될지 대부분사람들은 예상못했죠. 아무도 시도조차 안했으니까요. 왜냐하면 layer가 늘어나면 optimization이 무척 어려워지거든요. (gradient diminishing 현상이 backpropagation algorithm을 무용지물로 만듭니다). 어쨌든 U of Toronto의 Hinton교수가 2006년에 이를 해결하는 trick들을 고안하면서 deep learning 천하가 시작됩니다.
그러면 알파고가 이세돌을 이긴 이야기를 하지 않더라도 이미 딥러닝은 우리 생활 깊숙히 들어왔습니다. apple의 smart device를 위한 최신 운영체제 iOS 9이 그 전 버전인 iOS 8 에 비해서 siri의 음성인식율을 40% 향상시켰는데 이에 딥러닝이 사용됐을 거라는 거의 확신에 가까운 추측이 있습니다. 왜냐하면 1년 사이에 40% 향상은 deep learning 아니면 불가능한 성능 향상이거든요. 그런데 문제는 딥러닝이 통계학계에서 완전히 배제되고 있다는 점입니다. 딥러닝이 나온지 10년이 지났지만 통계학 4대 탑 저널에서 단 한번도 언급된 적 없거든요. 그 이유에 대해서 이야기 해볼려고 합니다.
우선, 기계학습 학계와 통계학계의 차이에 기인합니다. 기계학습 학계는 conference paper를 중요하게 생각하는데 accept 되기도 매우 어렵고 accept된 paper를 발표하는 것을 큰 영광으로 생각합니다. conference paper reveiw process는 저널의 그것과 비교해서 매우 빠른데 이 점이 기계학습 분야가 한 번 큰 아이디어가 나오면 빠르게 발전시켜 나가는 원동력이됩니다. 이에 반해 통계학 저널들은 review process가 매우 느린데 submit에서 publish 까지 보통 1년 반 이상 걸립니다. 그러니 deep learning에 대한 아이디어가 있어도 1년 반이나 걸려서 출판되기 기다리기에는 다른 conference 논문들이 너무 빨리 나오게 되죠. 그래서 저널 중심인 통계학계는 자연스럽게 딥러닝을 배제하게 된거죠.
두번째로, 모델이 너무 복잡합니다. 통계적인 불확실성을 측정하고 보이는게 거의 불가능하죠. deep learning은 여러 function들의 composition으로 표현 가능한데 이게 복답하거든요. 사실 deep learning이 왜 잘 작동하는지는 여전히 분명하지 않습니다. 물리학 쪽에서 renormalization group theory를 이용해서 deep learning이 renormalized group에 근사한다고 보였는데 여전히 왜 layer 갯수가 커지면 성능히 급격히 좋아지는지는 여전히 불분명합니다 (저도 그 쪽은 잘 모르니 자세히는 설명할 수 없습니다). 더 궁급하시면 이 글을 참고하세요. https://charlesmartin14.wordpress.com/…/why-does-deep-lear…/
그래서 통계학에서 중요시하는 모델의 불확실성이나 parameter의 불확실성에 대한 이론 뿐만아니라 계산이 너무 복잡해서 computation으로도 불확실성 측정이 어렵다는 점이죠. 그래서 사실 통계학자들이 할 수 있는게 별로 없게 되는 거죠.
마지막으로, computation의 기술적인 측면이 있습니다. computer science 사람들 보다 통계학자들이 computation에 쓰이는 여러 테크닉들이 평균적으로 떨어집니다. 특히 deep learning에 쓰이는 optimization의 핵심은 gpu computing인데 (게임할 때 돌아가는 gpu 그거 맞습니다), 그걸 다루는데 통계학자들에게 진입장벽이 있다는 거죠. 사실 잘만 사용하면 gpu는 cpu보다 100 배 이상 빠를 수 있습니다. 특히 완벽히 병렬화할 수 있는 단순한 algorithm에서는요. 왜냐하면 cpu core갯수는 많아야 32개이지만 high-end gpu는 10000개 정도의 core를 가지고 있습니다. 그뿐만 아니라 architecture 자체도 병렬 computing에 최적화 되어 있어서 cpu-based cluster는 도저히 따라갈 수 없는 효율성을 자랑합니다. 만약에 단순 계산을 10000번 한다면 gpu는 극강의 계산능력을 보여줍니다. deep learning에서는 stochastic gradient decent algorithm을 병렬화시켜 gpu를 이용해 계산하는데 이걸 cpu로 하면 몇 달 몇 년이 걸릴지 모르는 일이죠. 아마 앞으로 통계학자도 이런거에 익숙해져야 할겁니다.
진짜 마지막으로, 그럼 통계학은 딥러닝도 안하면서 machine learner한테 밀려서 사라지는게 아니냐 라고 물을 수 있겠지만, 제 개인적인 생각은 "No' 입니다. 왜냐하면 여러 과학 분야에서 이미 통계학은 표준으로 자리 잡고 있고 (물론, 무분별한 p-value 사용 같은 부작용도 있지만) 여전히 과학분야에서는 불확실성에 대한 측정과과모델에 대한 해석을 중요시합니다. 딥러닝의 문제점은 이런 측면에서 과학적 결과를 증명하는 데 사용되기 부족하죠. 특히, deep learning이 잘 작동하려면 일단 엄청난 양의 표본 갯수가 필수인데 (그래서 big data와 맞물려 deep learning이 엄청난 시너지를 얻고 있죠), 과학 분야에서 쓰이는 데이터는 대부분 sample size가 많아야 몇백입니다. 사실 표본수는 작은데 latent variable이 표본 수보다 많으면 estimation에 문제가 많겠죠. 이런 경우 deep learning은 안쓰니만 못하거든요.
출처:http://www.statground.org/index.php?mid=FreeArticles&document_srl=6260
요약
1) 통계학과 딥 러닝 학계의 풍조 차이로 통계학이 머신러닝을 못 따라간다
2) 딥 러닝이 어떻게 작동하는지는 여전히 인간 이해 바깥의 영역이다
3) 컴퓨터공학을 통계학자들이 못한다
결론: 한때 통계학이 만학지왕이라 생각했는데 갓퓨터공학이 만학지황임.