초록
▼
#10월 우수전문가 동향보고서(KOSEN Expert Insight)#
이 자료는 HGST에 계신 정태희박사님께서 작성해주셨습니다.
1. 개요
최근에 딥러닝(deep learning) 또는 인공지능(artificial intelligence)이 한국뿐만 아니라 전 세계적으로(적어도 미국이나 중국에서는) 큰 관심을 불러일으키고 있습니다. 딥러닝의 실제 응용 분야로는 현재로서는 음성 인식(speech recognit
#10월 우수전문가 동향보고서(KOSEN Expert Insight)#
이 자료는 HGST에 계신 정태희박사님께서 작성해주셨습니다.
1. 개요
최근에 딥러닝(deep learning) 또는 인공지능(artificial intelligence)이 한국뿐만 아니라 전 세계적으로(적어도 미국이나 중국에서는) 큰 관심을 불러일으키고 있습니다. 딥러닝의 실제 응용 분야로는 현재로서는 음성 인식(speech recognition), 이미지 인식(image recogni-tion)이나 사진 검색(photo search), 그리고 언어 번역(machine translation)과 자연어 처리(natural language processing) 등입니다. 그리고, 이미지 인식의 향후 응용 분야로는 (자율동작) 로봇, (자율비행) 드론, 자유주행 자동차가 있을 수 있습니다. 그리고, 딥러닝을 의료 분야(이미지 인식 기술을 이용한 X-ray, CT, MRI 사진 분석, 혈액분석을 통한 DNA 분석 및 질병 진단 등)에 응용하고자 하는 시도들이 있습니다.
사실 이 분야에 대해서 많은 사람들이 관심을 가지고 있습니다만, 이 분야가 아주 최근에 급속하게 성장하고 있는 분야라서, 사람들마다 정의하는 개념들이 서로 다를 수 있습니다. 그래서, 저는 최근(2016년 10월) 《포춘(Fourtune)》의 “The Deep-Learning Revolution”으로 게재된 것을 다시 업데이트한 인터넷 버전인 “Why deep learning is suddenly changing your life”를 주로 참고해서 기술하도록 하겠습니다. 관심 있는 분들은 영어로 된 원문[1]을 읽어보시기 바랍니다.
2. 주요 내용
먼저 인공지능과 관련된 용어들에 대해서 정리해보도록 하겠습니다. 인공지능(artificial intelligence)은 매우 광범위한 의미를 갖는 용어로서, 컴퓨터를 이용해서 인간의 지능을 흉내 내는 것을 가능하게 하는 테크놀로지에 모두 적용할 수 있습니다. 이것은 기존의 로직(logic)이나 룰 기반(rule based) 시스템(if then)을 포함합니다. 이 안에 기계학습(machine learning) 개념이 포함되어 있습니다.
기계학습은 인공지능 안에 속해 있는 개념으로, 기계가 데이터를 통한 학습을 통해서 예측 능력을 향상시킬 수 있도록 하는 것으로, 수학 및 통계 기술을 바탕으로 하고 있습니다. 이 안에 딥 러능 개념을 포함하고 있습니다.
딥러닝은 기계학습에 속해 있는 개념으로, 업무를 수행함에 따라서 자체 학습을 하는 컴퓨터 알고리듬으로 이루어져 있습니다. 엄청난 양의 데이터를 다층(multilayered) neural networks을 이용해서 학습합니다. 대부분의 과학자들은 딥 러능이라는 용어보다는 deep neural networks라고 부르는 것을 선호합니다. Neural networks에서 어떤 패턴을 인식하는 과정은 input과 output 사이에 숨겨진 여러 개의 층(hidden layers)들을 이용해서 예측의 정확도를 높이도록 설계됩니다. 이러한 숨겨진 층이 하나 이상일 때에 deep이라고 부릅니다.
사실 neural networks이라는 개념은 1950~ 60년에 이미 나왔던 개념입니다. 그 당시 Perceptron이라는 neural networks의 prototype이 있었습니다만, 이것은 오직 단일 층의 neuron-like nodes만을 사용했고, application에 있어서 여러 가지 제한이 있었습니다.
1980년대에 LeCun과 Hinton에 의해서 multilayer neural nets라는 개념이 새롭게 소개되었고, 이것이 현재의 neural nets의 기초가 됩니다.
2012년에 Hilton의 두 학생이 Imagenet (2007년에 스탠퍼드 대학교의 Fei-Fei Li 교수가 만들었고, 수천만 개의 이미지를 모으는 free database)의 competition에서 딥러닝 알고리듬으로 우승함으로써, 딥러닝의 도입이 성공적일 수 있음을 관련 분야의 전문가들에게 인식시켰습니다. 그리고, 우리도 잘 알듯이, 2016년에 구글 deep Mind의 알파고가 바둑에서 이세돌을 이겼고, 이를 통해서 일반인들에게도 딥러닝의 성능이 알려지게 되었습니다.
그림 1. 딥러닝 알고리듬을 이용해 여러 사진들 속에서 개를 인식하는 과정(여러 층의 hidden layers들이 input과 output 사이에 있는 multilayer neural network)[1]
이러한 multilayer neural nets는 학습에 필요한 엄청난 양의 데이터를 필요로 합니다. 최근에 인터넷을 통해, 빅데이터를 쉽게 접근하게 된 것이 이러한 딥러닝이 크게 성장할 수 있게 된 바탕이 됩니다. 또한 최근의 IoT (Internet of things)를 통해서 수많은 데이터들이 실시간으로 생성되고, 이것이 인터넷을 통해서 공유되는 것도 deep neural networks의 사용을 부추기게 된 요인들 중에 하나라고 여겨집니다.
또 한 가지는 GPU(Graphics processing units)의 등장으로 computing 성능의 대폭적인 향상이 가능하게 되었습니다. 왜냐하면, deep learn-ing의 알고리듬을 작동시키는 데에는 엄청난 computer power가 필요하기 때문입니다.
딥러닝에서 선두를 달리고 있는 기업들로는 구글(음성 인식, 이미지 인식 및 사진 검색, 언어 번역, 자율주행 자동차, 알파고 등), 마이크로소프트(음성 인식, 사진 검색, 언어 번역), 페이스북(언어 번역, 사진 검색), Baidu(음성 인식, 언어 번역, 사진 검색, 자율주행 자동차) 등입니다. 이외에도 애플도 음성 인식 소프트웨어를 사용하고 있고, 포드나 테슬라는 자율주행 자동차를 개발하고 있습니다. 그리고 실리콘밸리의 수많은 startup들이 딥러닝을 이용한 의료 기술 개발에 집중하고 있습니다.
딥러닝의 선두 연구자들로는 Andrew Ng(현재 Baidu의 딥러닝 프로젝트를 이끌고 있고, 이전의 구글의 딥러닝 프로젝트를 이끌었고, 스탠퍼드 대학교의 인공지능 랩의 head로도 활동했음), Geoffrey Hinton(neural nets의 선구자, 토론토 대학의 교수, 마이크로소프트사의 음성 인식 프로그램 개발을 도움, 구글에서도 일했음), Yann LeCun(Hinton과 같이 일했고, 페이스북에서 일함), 그리고 UC 버클리의 Michael I. Jordan 교수(Andrew Ng의 지도교수), 카네기멜론 대학교의 Tom M. Mitchell 교수 등이 유명합니다. Johns Hopkins University의 교수들은 machine learning을 이용한 의료 분야 분석에 집중하고 있습니다.
3. 결론
기계학습과 딥러닝은 사람이 특정 경우에 대해서 로직을 만들고, 그에 따른 알고리듬을 작성하는 것이 아니라, 데이터를 기반으로 학습을 통해서 결과를 예측한다는 측면에서 동일합니다. 기계학습은 크게 Supervised learning과 Unsupervised learning으로 나뉩니다. Supervised learning은 우리가 예측하는 그 결과값을 미리 알고 있는(적어도 training data의 경우) 경우입니다. 그 결과값이 continuous nu-merical value인 경우는 regression을, 그 결과값이 categorical value(예를 들어, 0/1 또는 A/B/C/D)이면 classification이라고 부르는 알고리듬을 사용하여 데이터를 학습하고, 결과값을 예측합니다. 그리고, unsupervised learning은 그 결과값이라고 하는 것 자체가 없는 경우입니다. 예를 들어 사진 검색에 이용할 수 있겠죠. Regression의 대표적인 알고리듬으로서는 linear multivariate regression, lasso regularization, support vector machine(SVM) 등이 있고, classification으로서는 logistic regression, random forest, boosting, clustering에서는 k-means, k-nearest neighbor, principal component analysis (PCA), Expectation Maximization(EM), Hidden Markov models(HMMs) 등이 있습니다.
현재 미국에서는 여러 분야들(제조, SNS, 금융 등)에 있어서 기계학습의 모델들을 이용하고 있거나, 이용하고자 하는 시도들이 있습니다. 동일한 데이터라도 어떤 모델을 이용하느냐에 따라서 예측 결과에 대한 정확도나 예측 계산 시간이 크게 다를 수 있기 때문에, 데이터에 대한 이해 및 모델들에 대한 이해가 필요합니다.
딥러닝(deep neural networks)은 예측 모델에 있어서 단일 층이 아닌 여러 층의 hidden layers을 이용해서 예측 결과에 대한 정확도를 높인다고 하는 장점이 있습니다. 그렇지만, 이를 위해서는 machine learning에 비해서 훨씬 많은 계산이 필요하고, 이에 따라, GPU를 사용해야 하거나 cloud 시스템을 이용해야 합니다(예를 들어, 알파고는 수백 대의 GPU를 사용했습니다). 또한 계산에 소용되는 시간이 상대적으로 매우 많이 소요된다는 단점이 있습니다. 따라서, 본인은 과연 딥러닝 기술을 0.1초의 판단력이 요구되는 자동차 운전에 사용하는 것이 현재 기술로 가능한가 하는 의구심이 있습니다.
multilayer neural networks를 이용하지 않고도 만족할 만한 예측 결과의 정확도를 얻을 수 있다면, 굳이 딥러닝을 이용하지 않는 것이 현명한 방법이라고 생각합니다. 딥러닝과 달리, 대부분의 기계학습 알고리듬들은 일반적인 노트북 컴퓨터에도 쉽게 작동되고, 수초에서 수십 분 정도의 짧은 시간 또는 실시간(1초 미만)으로 예측 결과를 얻는 것이 가능합니다. 또한, 웬만한 빅데이터의 처리도 가능합니다. 따라서, 딥러닝에만 의존할 것이 아니라, 일반적인 기계학습 알고리듬을 이용한 빅데이터의 분석 및 제조, 금융, 교육, 의료 산업으로의 응용이 가능하다고 여겨집니다.
References
1. Roger Parloff, Why deep learning is suddenly changing your life, fortune, September 2016. (Kosen의 지식큐레이터에도 게재되어 있음)
※ AI-Helper는 부적절한 답변을 할 수 있습니다.