왜 지금인가? - 딥러닝의 역사
2016년, 구글의 바둑 인공지능 알파고가 인간 바둑 기사 이세돌을 이긴 이후, 바야흐로 딥러닝의 시대가 도래했다. 사실 학계에서는 이미 2012년부터 딥러닝이 이슈화 되어가고 있었지만, 단순한 비싼 계산기 혹은 게임기로만 알았던 컴퓨터가 인간을 인류 역사상 가장 복잡한 전략 게임에서 앞질렀다는 사실은 특히 바둑의 본고장인 아시아에 큰 충격을 가져왔다.
정치인, 교육자, 학부모를 비롯하여 수많은 사람들이 인공지능 얘기를 시작했고, 이 중 일부는 실용적이고 깊은 수준으로 발전하기도 하였고 일부는 인공지능과의 미래에 대한 막연한 공포를 조장하는 루머로 번지기도 했다.
그러나 사실 인공지능 기술, 특히 딥러닝에 대한 연구는 1900년대부터 진행 중이었고, 최근 개발된 AI에도 이 기술들이 적용된다면 믿을 수 있겠는가? 이 글에서는 컴퓨터가 인간처럼 인지하고, 상상하고, 게임할 수 있게 하는 기술인 딥러닝의 역사를 사건 중심적으로 쉽게 다뤄보고자 한다.
이와 더불어, 왜 하필 지금와서 이 오래된 분야가 각광받고 있는지, 이 기술의 한계가 어디까지 확장되어가고 있는지를 몇 가지 소개할 것이다.
20세기 중반: 인공신경망(Artificial Neural Networks:ANN)의 등장
인간의 뇌는 대략 860억 개의 뉴런 세포들이 상호 연결된 구조로 이루어져 있다. 각 뉴런은 시냅스라 부르는 것들로 서로 연결되어 정보를 주고받으며, 이는 인간으로 하여금 인지하고, 생각하고, 상상하는 등의 모든 사고 기능을 가능케 해준다.
1943년, 월터 피츠(Walter Pitts)를 비롯한 학자들은 그들의 논문에서 뇌를 여러 개의 스위치를 상호 연결한 네트워크의 형태로 컴퓨터에 구현할 수 있다며 인공신경망의 개념을 처음으로 제안했다.
그로부터 15년 후인 1958년, 프랭크 로젠 블렛(Frank Rosenblatt)은 그의 논문에서 인공신경망에서 각각의 뉴런으로 동작하는 퍼셉트론(Perceptron)을 제안하여 이 이론을 발전시켰다. 퍼셉트론이란, 입력값에 대하여 가중치를 곱하고 편향을 더한 결괏값이 임의의 임계값 미만이면 0, 이상이면 1을 출력하는 간단한 선형 분리기이다. 이를 식으로 표현하면 f(x)=ax+b에서 f(x)가 임계값 t를 넘으면 1, 아니면 0을 출력하는 단순한 문제로 표현할 수 있다.
이는 장족의 발전으로, 인간의 뇌신경 구조를 컴퓨터로 완벽히 재현할 수 있으리라는 가능성을 보인 연구였다.
그러나 이러한 기대감은 오래가지 않았다. MIT의 마빈 민스키(Marvin Minsky) 교수와 그의 동료들이 퍼셉트론의 수학적 한계를 지적한 것인데, 이는 단일 퍼셉트론으로는 XOR을 비롯한 아주 간단한 연산도 수행하지 못하며, 이를 퍼셉트론을 여러 층으로 쌓아 해결할 수 있지만, 이렇게 될 경우 기하급수적으로 늘어나는 변숫값들을 자동으로 설정해 줄 방법이 없다는 것이었다.
(퍼셉트론을 비롯한 이론들과 민스키 교수가 지적한 한계점의 자세한 설명과 프로그램적 구현은 다음 글에서 다루도록 하겠다.)
이 사실을 민스키 교수가 책까지 펴내며 피력하고, 실제로 수년간 AI 분야에 막대한 투자가 이루어졌음에도 별다른 성과가 나오지 않자, 퍼셉트론 이론을 위시한 연구에 대한 투자가 전면 중단되는 시기가 찾아오게 되는데 이 암흑기를 첫 번째 AI 겨울이라고 한다.
20세기 후반: 심층 신경망(Deep Neural Networks:DNN)과 역전파(Back propagation)
AI 겨울의 여파로 인공신경망 이론에 대한 투자가 급감한 와중에도 일부 학자들은 연구를 멈추지 않았는데, 쿠니히코 후쿠시마 교수는 1979년, 퍼셉트론을 여러 층으로 쌓고, 고양이의 시각 피질에서 아이디어를 얻은 합성곱 필터를 접목하여 이미지를 구별하기 위한 첫 합성곱 신경망(Convolutional Neural Networks:CNN)을 구현했다. Neocognitron이라 불린 이 최초의 합성곱 신경망은, 합성곱 필터를 통과한 값 중 중요한 값을 연구원이 찾아내어 그 가중치를 높게 설정해 줌으로써 성능을 높였는데, 이는 수만 개의 변수들을 인간이 하나하나 분석해야 하는 어려움이 있었다.
이후 1985년, 전설적인 AI 연구자 제프리 힌튼(Geoffrey Hinton) 교수와 그의 동료들이 학습 데이터와 정답 데이터 세트를 기반으로 신경망의 가중치를 자동으로 찾아주는 역전파(Back propagation) 알고리즘을 공개하였고, 1989년, 얀 르쿤(Yann LeCun) 교수가 이를 실용적으로 응용한 사례를 공유하며 다시금 학계에 AI 열풍이 불게 되었다.
이후 퍼셉트론을 여러 계층(Layer)으로 쌓은 심층 신경망(Deep neural networks:DNN)이 기계에 의해, 역전파 알고리즘을 통해 스스로 학습하기에 이 분야는 딥러닝(Deep Leaning)이라 불리게 되었다.
당시 얀 르쿤이 개발한 것은 미국 우체국을 위한 우편번호 자동 인식 프로그램으로, MNIST라는 이름의 데이터셋을 활용하였으며 이는 현재까지도 우편물 분류 시스템에 활용되고 있다.
20세기 말 ~ 21세기 초: 두 번째 AI 겨울
얀 르쿤의 손글씨 인식 시연 이후 학계는 다시금 AI와 딥러닝의 가능성에 주목하며 대규모 투자를 재개하게 되었다. 그러나 당시 컴퓨터로써는 대규모의 신경망을 학습시킬 연산 성능도, 데이터 양도 모자랐기에 손으로 쓴 숫자를 분류하는 것 이외에 큰 성과는 거두지 못하였고, 당장 영화 터미네이터의 T-800을 꿈꾸던 투자자들은 다시금 큰 실망만을 얻고 투자를 그만두게 된다.
엎친데 덮친 격으로 기술적인 문제가 또 하나 등장했다. 초창기 딥러닝은 큰 신경망을 많은 데이터로 많이 학습시키면 더 좋은 성과를 내는 것으로 여겨졌다. 그러나 고가의 슈퍼 컴퓨터를 동원하여 실험을 진행한 학자들은 모두 예상치 못한 장벽을 마주했다.
학습이 진행되며 점차 정확도가 개선되던 신경망들이 어느 시점을 경계로 학습을 멈추거나, 망가져버리는 것이었다. 학자들은 신경망 학습에 방향성을 제시해주는 기울기가 어느 순간 0이 되어 소멸되는 기울기 소멸(Vanishing gradient)이 문제라는 것까지는 알아내었으나, 이런 문제가 어째서 발생하는지는 알아낼 수 없었다.
결국 딥러닝 기술은 다시금 투자 부족과 기술적 한계로 두 번째 AI 겨울을 맞이하게 된다.
2010년대 ~ 현재: 돌파구
이후 딥러닝 기술이 AI 연구에서 뒷전으로 밀려난 지 10여 년이 흘렀다.
2011년, 요슈아 벤지오(Yoshua Bengio) 교수와 동료들은 마침내 기울기 소멸의 원인을 특정하고, 개선된 신경망을 만들어내는 데 성공한다. 이는 별도의 글에서 자세히 다루도록 하겠다.
그리고 2012년, 학계에서 딥러닝에 대한 인식을 완전히 재고하게 된 대사건이 일어난다.
2010년부터 진행된 이미지넷 (ImageNet) 대회는 전 세계의 학자들이 모여 100만 개의 이미지를 1000여 개의 카테고리로 분류하는 대회이다. 2012년 이전까지, 종래의 컴퓨터 비전(Computer Vision) 전문가들이 기록한 정확도는 최대가 75%에 미치지 못하였으나, 굉장히 고사양의 컴퓨팅 성능을 요구했다.
2012년 이미지넷 대회에서 요수아 벤지오 교수의 제자 알렉스 크리제브스키(Alex Krizhevsky)가 고안한 AlexNet은 딥러닝을 이용해 첫 대회 참여에서 85%에 육박하는 기록을 세웠다. 그는 딥러닝의 단점이었던 대량의 컴퓨팅 연산을 기존 컴퓨터의 중앙 처리 장치(CPU)가 아닌 그래픽 처리 장치(GPU)에 할당함으로써 합리적인 컴퓨팅 자원으로 괄목할 만한 성과를 보였다.
CPU는 매우 복잡하고 어려운 연산을 잘 하지만, 방대한 데이터의 단순 연산을 여러 번 하는 작업에는 GPU가 유리하다는 점을 응용한 것이었다.
대부분의 학자들이 잊고 있던 사이, 딥러닝의 가장 큰 문제점이었던 기울기 소멸과 컴퓨팅 자원의 부족이 시간이 지나 GPU가 탄생하고 빅 데이터가 등장하며 연구가 가속화됨에 따라 사라진 것이었다.
이후, 학계에서는 그 어느 때보다 열띤 딥러닝 열풍이 불었고, 기존 컴퓨터 비전 분야 외에도 시계열 예측이나 자연언어 처리, 게임 등 여러 분야에 딥러닝이 적용되기 시작했다.
딥러닝 기술이 마침내, 실용적인 차원에서 논의되기 시작한 것이다.
강화 학습과 생성 모델링: 한계를 넘어
아버지는 창조야말로 인간만이 할 수 있는 것이라 하셨다.
기계가 인간을 이긴 사례는 많다. 산업혁명에서 단순 노동에 인간보다 적합함을 밝혔고, 덧셈이나 뺄셈 같은 계산을 비롯해 다양한 분야에서 컴퓨터는 인간을 뛰어넘었다.
그럼에도 사람들이 자부심을 느꼈던 것은 창의성과 감정이었다.
기계가 하는 것은 계산과 시뮬레이션이며, 기계가 게임의 완전히 새로운 수를 창조하거나, 감동적인 음악을 작곡하는 일은 없으리라고 믿어 의심치 않았다.
내가 어릴 적 기계와 인간의 대립을 그린 영화들도 그랬다. 항상 기계가 물리적으로 우수하지만, 인간은 기계가 상상치 못한 방법이나 지혜로 기계로부터 승리를 쟁취했다. 이는 클리셰를 넘어 사람들에게 하나의 신념이 되었던 것 같다.
그러나 2016년 초, 그 신념이 산산조각 났다. 우리나라 바둑계의 자랑인 이세돌 9단이 바독의 본고장도 아닌 미국의 인공지능에게 패한 것이다.
특히 2국의 81수에 대한 평가는, 인간이라면 둘 수 없는 수라며 바둑을 아는 사람들에게 큰 충격을 주었다. 인간이 둘 수 없는 수라는 것은, 알파고가 인간이 만든 기보 사이에서 가장 승률이 높은 수가 아니라, 창조적인 수를 두었다는 의미였다.
알파고의 승리가 가능했던 것은 강화 학습(Reinforcement Learning)의 공산이었다. 강화 학습에서, 인공지능은 게임에 대한 사전 지식을 입력받지 않는다. 다만 게임 내에서 어떤 조작이 가능한지만을 안내받은 후, 점수를 제공받는다. 인공지능은 이 점수를 높이기 위해, 어떤 상황에서 어떤 조작이 적절한지를 스스로 수만 번의 게임을 반복하며 찾아내는 것이다.
이 영상은 강화 학습을 통해 인공지능이 벽돌깨기 게임을 학습하는 과정을 보여준다. 처음에 인공지능은 빠르게 움직이는 공 사이에서 배트로 무엇을 해야 할지 몰라 우왕좌왕한다. 그러나 학습 120분이 경과하자, 마침내 배트로 공을 튕겨내 벽돌을 격파한다는 사실을 학습한다. 그리고 마침내 240분 후에는, 벽돌 사이에 작은 구멍을 뚫어, 공이 위에서 계속 벽돌을 부수도록 하는 것이 가장 효율적임을 찾아낸다.
이는 인공지능이 게임의 플레이 방법뿐 아니라, 그 노하우까지도 스스로 발견하고 강화할 수 있음을 시사한다. 이미 바둑계에서는 바둑 인공지능과의 연습을 통해 실력을 기르는 프로 기사들이 늘어나는 추세이다. 인간이 인공지능에게 새로운 전략을 배우는 것이다.
인공지능이 사람을 따라잡고 있는 분야는 게임뿐만이 아니다. 인공지능은 창조에 있어서도 인간과 맞먹거나 그 이상의 잠재력을 보여주고 있다.
프랑스의 음악가이자 공학자 피에르 바로우(Pierre Barreau)가 개발한 AIVA는 인공지능이 음악을 작곡할 수 있음을 증명하는 중이다. AIVA는 사용자의 요구(음악의 길이, 장조, 장르 등)에 따라 교향곡부터 SF 풍 사운드트랙까지 다양한 음악을 1분 안으로 작곡한다.
AIVA에는 청각과 관련된 기능이 없다. 다만 AIVA는 위대한 음악가들의 다양한 악보를 보고, 각 악기별로 어떤 음을 내는 것이 어떤 분위기와 어떤 장르의 느낌을 주는지 파악하여, 사용자가 원하는 음악을 만들어내는 것이다. 귀가 들리지 않는 작곡가라니, 베토벤 같지 않은가?
음악을 비롯하여 가짜 사진이나 그림 등을 창조하는 딥러닝의 한 분야를 생성 모델링(Generative Modeling)이라고 한다. 생성 모델링은 컴퓨터 비전을 비롯한 다른 분야에 비해 적은 관심을 받고 있으나, 가장 큰 잠재력을 가지고 있는 분야 중 하나이며, 무엇보다 우리 인간과 기계를 나누는 것을 다시금 생각해보도록 하는 분야이다.
결론
이 글에서 우리는 딥러닝 기술의 태동부터 비교적 최근인 알파고, 생성 모델링 기술 등을 간략히 살펴보았다.
딥러닝 기술은 1900년대에 등장하여 수차례의 AI 겨울을 겪었다. 어떤 이들은 최근 들어 다시금 딥러닝 기술이 기술적, 현실적 한계를 만나고 있음을 들어 다시 AI 겨울이 올 것이고, 결국 달라질 것은 없다고 주장한다.
그러나 우리의 삶은 이미 바뀌고 있다. 유튜브 영상 추천, 네이버의 스팸 메일 필터링, 일기예보, 휴대폰의 지문 인식 등 이미 딥러닝 기술은 우리의 삶을 다방면에서 바꿔놓고 있다. 설령 다시 기술 발전에 정체기가 오더라도, 이제 딥러닝의 발전은 멈출 수 없는 수준에 다다랐다.
그렇다면 딥러닝은 앞으로 우리의 삶을 어떤 식으로 바꿀 수 있을까? 우리는 이를 어떻게 경계해야 할까?
다음 글에서는 딥러닝의 미래에 대해 논해보고자 한다.
또한, 딥러닝에 조금 더 관심을 갖고 한 번 배워보고자 하는 분들은 필자가 작성한 나만 알기 아까운 딥러닝 시리즈를 읽어보길 권한다. 비전공자라도 쉽게 적용 가능한 수준에서 딥러닝을 배워볼 기회를 얻을 수 있을 것이다.
'강의 > 딥러닝 기초' 카테고리의 다른 글
데이터 일반화 vs 표준화 (Normalization and Standardization of Data) (3) | 2020.04.28 |
---|---|
Convexity와 딥러닝 (Convex Function과 Convex Set) (1) | 2020.04.13 |
경사하강법과 손실 함수: 심층 신경망 학습시키기 (Gradient Descent and Loss Function) (8) | 2020.01.23 |
퍼셉트론(Perceptron): 덧셈과 곱셈으로 뉴런 구현하기 (3) | 2020.01.06 |
나만 알기 아까운 딥러닝 연재 계획 (0) | 2020.01.05 |
댓글
이 글 공유하기
다른 글
-
Convexity와 딥러닝 (Convex Function과 Convex Set)
Convexity와 딥러닝 (Convex Function과 Convex Set)
2020.04.13 -
경사하강법과 손실 함수: 심층 신경망 학습시키기 (Gradient Descent and Loss Function)
경사하강법과 손실 함수: 심층 신경망 학습시키기 (Gradient Descent and Loss Function)
2020.01.23 -
퍼셉트론(Perceptron): 덧셈과 곱셈으로 뉴런 구현하기
퍼셉트론(Perceptron): 덧셈과 곱셈으로 뉴런 구현하기
2020.01.06 -
나만 알기 아까운 딥러닝 연재 계획
나만 알기 아까운 딥러닝 연재 계획
2020.01.05