[인공지능 이야기] 정의, 주요 개념 구분, 종류, 예시
알파고 이후 인공지능, 머신러닝, 딥러닝 이라는 용어가 유행하고 있으며, 인공지능은 머신러닝, 딥러닝과 거의 같은 개념으로 이해되고 있다. 하지만 이들 개념에는 엄연한 차이가 있다. 여기서는 인공지능과 머신러닝, 딥러닝의 개념에 대해 간략하게 살펴보자. 이를 위해 당초 [인공지능 이야기 시리즈]로 썼던 다섯 개의 글을 간략히 요약해 본다.
[인공지능 이야기 시리즈]
인공지능 개념(AI) | 인공지능 정의, 유형. 분야, 역사
머신러닝 개념(Machine Learning) | 머신러닝 정의, 종류, 예시, 통계와 비교
머신러닝, 기계가 학습한다는 의미 | 머신러닝 과정에 구체적으로 무슨 일이 일어나는가?
인공신경망 개념(Artificial Neural Network) | 생물학적 신경망, 인공신경망, 퍼셉트론, MLP
딥러닝 개념(Deep Learning) | 딥러닝 등장 3대 사건, 기본 개념, CNN, RNN, 장단점
인공지능 ⊃ 머신러닝 ⊃ 인공신경망 ⊃ 딥러닝
인공지능 개념(Artificial Intelligence)
먼저 인공지능에 대해서 알아보자. 인공지능(AI, Artificial Intelligence)이라는 용어는 1956년 다트머스 회의에서 처음 등장했다. '인공지능'이라는 용어를 만든 존 매카시(John McCarthy)는 ‘인텔리전트한 기계를 만드는 과학과 공학(the science and engineering of making intelligent machines)’이라고 정의했다. 하지만 인텔리전트한 기계(intelligent machines)의 개념은 여전히 모호하다.
인공지능 알파고(AlphaGo)는 이세돌 9단에게 바둑을 이길 정도로 사람보다 뛰어난 실력을 발휘했고, IBM의 왓슨(Watson) 또한 미국의 퀴즈쇼(제퍼디쇼)에서 사람을 이기는 등 일반적으로 생각하는 '대단한' 인공지능 다운 면모를 과시했다. 하지만 일상 생활에서는 세탁기부터 냉장고, 가습기까지 생활 가전에 간단한 기능을 추가했을 뿐인데 인공지능을 이용하고 있다고 광고하고 있어 인공지능의 개념이 혼란스러운 상황이다.
인공지능 정의
인공지능 효과(AI effect)
인공지능의 4가지 유형
인공지능 논의 초기에는 인간의 뇌와 사고 방식을 모방하여 인간과 유사한 기계를 만들기 위해 노력하였으나, 점점 인간의 지능 구현 자체보다는 현실의 문제를 기계를 이용하여 효율적으로 풀기위해 노력하는 방식으로 발전하였다.
* 인공지능 개념에 대한 상세한 내용 : 인공지능 개념(AI) 참고
머신러닝 개념(Machine Learning)
머신러닝 정의
머신러닝 종류
머신러닝 사례 영상
머신러닝의 결과는 가중치(파라미터)
사람이 하는 학습의 결과는 두뇌에 지식 형태로 축적된다. 그렇다면 머신러닝을 하여 학습을 한 결과는 기계에 어떤 식으로 축적될까? 머신러닝의 결과는 가중치(weight) 값, 즉 파라미터(parameter) 값의 형태로 축적된다. 예를 들어, 머신러닝을 이용하여 손으로 쓴 숫자를 인식하는 프로그램을 만들 때, 입력값은 숫자 그림의 픽셀값이며, 머신러닝을 통해 각 픽셀값에 대응하는 최적의 가중치를 찾는 과정을 거친다. 숫자 인식을 위한 입력값이 20x20=400개의 픽셀값이라 하자. 손으로 쓴 숫자를 인식하기 위해 예측함수인 hi함수가 h1부터 h0까지 10개가 필요하며(각각 1, 2, ..., 9, 0의 확률값을 계산), 각 함수마다 400개의 픽셀값에 대응하는 θ값(θ1, θ2, ..., θ399, θ400)이 필요하므로 총 4,000개(400*10)의 θ값들을 찾아야 한다.
* 머신러닝 개념에 대한 상세한 내용 : 머신러닝 개념(Machine Learning) 참고
* 머신러닝 결과인 가중치에 대한 상세한 내용 : 머신러닝, 기계가 학습한다는 의미 참고
딥러닝 개념
인공신경망(Artificial Neural Network, Neural Network)
딥러닝은 인간의 뇌 신경망을 모방한 인공신경망의 한 종류이다. 먼저 인공신경망에 대해서 알아보자.
인간의 뇌는 1000억 개가 넘는 신경세포(뉴런)가 100조 개 이상의 시냅스를 통해 병렬적으로 연결되어 있다고 한다.(참고11) 각각의 뉴런은 수상돌기(Dendrite)를 통해 다른 뉴런에서 입력 신호를 받아서 축색돌기(Axon)를 통해 다른 뉴런으로 신호를 내보낸다. 시냅스(Synapse)는 뉴런과 뉴런을 연결하는 역할을 한다. 출력신호는 입력된 신호가 모여서 일정한 용량을 넘어설 때 일어난다.
인공신경망 뉴런 모델은 생물학적인 뉴런을 수학적으로 모델링한 것이다. 즉, 생물학적인 뉴런이 위의 그림과 같이 다른 여러개의 뉴런으로부터 입력값을 받아서 세포체(cell body)에 저장하다가 자신의 용량을 넘어서면 외부로 출력값을 내보내는 것처럼, 인공신경망 뉴런은 여러 입력값을 받아서 일정 수준이 넘어서면 활성화되어 출력값을 내보낸다.
인공신경망은 이렇게 수학적으로 모델링된 인공 뉴런들을 여러개 쌓아서 만들 수 있다. 아래 그림들은 Layer1(input layer, 입력층), Layer2(hidden layer, 은닉층), Layer3(output layer, 출력층)로 구성된 인공신경망(뉴럴 네트워크)이다. 이러한 모델을 인공신경망에서는 다층 퍼셉트론(MLP, Multi-Layer Perceptron)이라고 한다.
딥러닝은 최근 유행하는 인공신경망(Artificial Neural Network)의 새로운 이름
인공신경망에서 이용했던 다층 퍼셉트론(MLP, Multi-Layer Perceptron)은 근본적인 한계를 가지고 있었다. 복잡한 문제를 해결하기 위해서는 신경망의 층수를 여러층 쌓은 모델을 이용해야 하는데, 깊은 층수를 쌓을 경우 역전파(Backpropagtion) 학습과정에서 데이터가 사라져 학습이 잘 되지 않는 현상인 '사라지는 경사도(Vanishing Gradient)' 문제가 있었다. 또한 학습한 내용은 잘 처리하나 새로운 사실을 추론하는 것, 새로운 데이터를 처리하는 것을 잘하지 못하는 한계도 있었다. 이로 인해 오랜 기간 동안 인공신경망은 이용하기 어려워 거의 몰락에 가까운 상황에 이르렀으며 '인공신경망'이라는 단어는 사용하면 안되는 단어가 되었다고 한다.(참고 14~17) "90년대 초부터 인공신경망 분야가 완전히 몰락을 했습니다. 미국, 일본, 유럽에서 인공신경망이란 단어 자체를 사용해서는 안되는, 그 단어를 사용하면 정부 과제를 받을 수 없을 정도로..."(김대식, 참고17)
인공신경망의 이러한 한계는 2000년이 넘어서야 극복할 수 있는 방법이 나왔다. 캐나다 토론토 대학의 제프리 힌튼(Geoffrey Hinton) 교수는 2006년에 깊은 층수의 신경망 학습시 사전 학습(Pretraining)을 통해서 학습함으로써 Vanishing Gradient 문제를 해결할 수 있음을 밝혔다. 또한 새로운 데이터를 잘 처리하지 못하는 문제는 학습 도중에 고의로 데이터를 누락시키는 방법(dropout)을 사용하여 해결할 수 있음을 2012년에 밝혔다. 이런 방법을 사용하여 기존의 인공신경망의 한계를 뛰어넘은 인공신경망을 '딥러닝'이라는 새로운 이름으로 부르기 시작했다. '인공신경망'이라는 이름이 가진 부정적인 인식에서 벗어나기 위해서였다.(참고14, 17)
"기존 인공신경망의 한계를 뛰어넘은 인공신경망을 '딥러닝'이라고 이름을 새로 붙인겁니다. 리브랜딩 한 겁니다. 왜냐, 인공신경망이 이미지가 너무 안좋으니까..." (김대식, 참고17)
딥러닝이 최근 유행한 데는 이러한 한계 극복과 함께 다양한 요인이 작용했는데, 여기에는 세가지 요인이 있다. 첫번째는 위에서 살펴본 것과 같이 기존의 인공신경망의 한계를 극복할 수 있는 알고리즘의 개발, 두번째는 오랜 정보화의 결과로 신경망 학습에 필요한 막대한 학습데이터가 축적됐다는 점, 세번째는 신경망을 이용한 학습과 계산에 적합한 그래픽 처리장치(GPU, Graphics Processing Unit) 등 하드웨어의 발전이다.
딥러닝 유행 3대 사건
딥러닝은 2010년대부터 유행하고 있는데, 이러한 유행에는 몇 가지 중요한 사건이 계기가 되었다.
먼저, 마이크로소프트사의 음성인식 정확도가 급격히 좋아진 사례를 살펴보자. 아래 자료를 보면 1990년대는 음성인식 오류율이 꾸준히 줄었으나 2000년부터 2010년까지 10년간 전혀 발전이 없었다. 그러다가 딥러닝(DL, Deep Learning)을 도입하고 오류율이 급격히 줄어든 것을 볼 수 있다. 이를 통해 딥러닝의 강력한 힘을 깨달았다고 한다.
다음으로 이미지 인식 분야의 경진대회인 이미지넷(IMAGENET)의 정확도가 급격히 향상된 사건을 살펴보자. 이미지넷 대회는 사진을 보고 사진속의 대상을 인식하는 대회로서, 2011년까지 인식 오류율이 26%에 가까운 상황이었으며, 사람들은 1년 내내 노력해서 1% 올리기가 어려운 상황이었다고 한다. 2012년 캐나다 토론토 대학교의 수퍼비전팀(SuperVision)이 딥러닝 방식인 deep convolutional neural network을 적용한 알렉스넷(AlexNet)으로 16.4%라는 경이로운 오류율을 기록했다. 1년만에 거의 10% 가까이 오류율을 끌어올린 이 사건을 보고 이미지 인식분야의 많은 사람들이 거의 경악 수준으로 놀랐다고 한다. 그 후 이미지넷에 참여하는 모든 참가자가 딥러닝 방식을 적용했으며, 이미 2015년에 사람의 오류율(5.1%)보다 더 뛰어난 3.57%의 오류율을 달성했다. 참고로, 수퍼비전팀을 이끌었던 사람이 캐나다 토론토 대학교의 인공지능 대부 제프리 힌튼 교수(Geoffrey Hinton)이다.
세번째는 비지도학습(Unsupervised Learning)을 이용하여 이미지를 인식하는 것이 가능함을 보여준 사건이다. 2012년 구글에서 유튜브(Youtube) 동영상을 캡쳐한 화면(200x200) 1000만개를 학습시켜서 고양이, 인간 등을 인식시키는 데 성공했다. 지금까지는 지도학습(Supervised Learning)을 이용하여 이미지를 인식시켰으나 이번 사건은 비지도학습을 통한 학습의 가능성을 확인한 중요한 사건이라고 한다. 이 프로젝트는 앤드류 응(Andrew Ng) 교수가 주도했으며, 16,000개의 CPU 코어를 가지고 9개층 10억개 파라미터(parameter)를 가진 인공신경망을 3일간 학습시켰다. 아래 그림은 고양이를 인식시킨 사진으로 유명한데, 실제 발표된 논문을 보면 인간의 얼굴에 대한 인식 정확도가 81.7%, 인간의 몸은 76.7%이고 정작 고양이 인식 정확도는 74.8%였다.(참고20)
이러한 3대 사건은 딥러닝을 성능을 확인시켜 주었으며, 사회 여러 분야에서 딥러닝을 활발히 이용하는 계기가 되었다.
딥러닝 4대 천왕
최근 딥러닝의 발전에는 아래 교수님들의 기여가 컸다고 한다. 사진 왼쪽부터 Yann LeCun, Geoffrey Hinton, Yoshua Bengio, Andrew Ng 교수인데, 딥러닝 분야를 선도하는 4명의 교수들이다. 대학교와 함께 페이스북, 구글, IBM, 바이두 등 기업에서도 같이 일하면서 학계와 업계를 이끌고 있다.
인공지능에 대해서 더 궁금하시면, 제가 쓴 아래 책을 참고하세요.
http://www.yes24.com/Product/Goods/110044822
참고자료
[1] http://blogs.nvidia.co.kr/2016/08/03/difference_ai_learning_machinelearning/
[2] https://www.artificial-solutions.com/blog/homage-to-john-mccarthy-the-father-of-artificial-intellige
[3] “Artificial Intelligence A Modern Approach” 3rd Edition 1~2 p, Stuart Russell, Peter Norvig, Prentice Hall
[4] “인공지능과 딥러닝” 마쓰오 유타카, 박기원 옮김, 동아 엠엔비
[5] https://en.wikipedia.org/wiki/AI_effect
[6] “인공지능과 딥러닝” 마쓰오 유타카, 박기원 옮김, 동아 엠엔비, 54p
[7] Andrew Ng 교수, Coursera Machine Learning 강의, https://www.coursera.org/learn/machine-learning/
[8] “구글에서 배우는 딥러닝” 닛케이 빅 데이터 著, 서재원 옮김, 영진닷컴, 28p
[9] “인공지능, 기계학습 그리고 딥러닝” 강의자료, https://www.slideshare.net/JinwonLee9/ss-70446412
[10] 인공지능, 머신러닝, 딥러닝 입문, 김의중, 위키북스
[11] https://news.skhynix.co.kr/1827
[12] https://www.yumpu.com/en/document/view/33756198/axon-dendrite-cell-body-neuron-nerve-cell-anatomy-synapse
[13] https://en.wikipedia.org/wiki/Artificial_neural_network
[14] “인간 vs 기계”, 김대식, 동아시아
[15] http://economyplus.chosun.com/special/special_view_past.php?boardName=C24&t_num=11363&img_ho=190
[16] “On the Origin of Deep Learning” 3page, Haohan Wang, Bhiksha Raj, https://arxiv.org/pdf/1702.07800.pdf
[17] 2016 카오스 [Brain] 10강 뇌의 미래와 인공 자아의 탄생 – 2(10분쯤), https://www.youtube.com/watch?v=MpUNjGeon70
[18] Yoshua Bengio “Scaling up Deep Learning”(2014) 강의자료 7page, http://www.iro.umontreal.ca/~bengioy/talks/KDD2014-tutorial.pdf, http://videolectures.net/kdd2014_bengio_deep_learning/
[19] Fei-Fei Li : Lecture 1 | Introduction to Convolutional Neural Networks for Visual Recognition 강의자료, https://www.youtube.com/watch?v=vT1JzLTH4G4
[20] http://www.hani.co.kr/arti/science/science_general/777909.html, https://blog.google/topics/machine-learning/using-large-scale-brain-simulations-for/, https://static.googleusercontent.com/media/research.google.com/ko//archive/unsupervised_icml2012.pdf
[21] http://www.etnews.com/20150320000014?m=1
[22] https://www.kdnuggets.com/2015/03/talking-machine-deep-learning-gurus-p1.html