2012년 이미지넷에서 알파고까지… 딥 러닝의 모든 것

by NVIDIA Korea

2012년 이미지넷에서 알파고까지… 딥 러닝의 모든 것

 

세기의 주목을 받았던 ‘알파고’와 ‘이세돌 9단’의 대국은 결국 알파고의 승리(4승 1패)로 마무리되었습니다. 인간 대표로 나선 이세돌 9단이 끝까지 보여주었던 열정과 집념, 그리고 도전정신으로 거둔 1승은 인간만이 보여줄 수 있는 아름다운 정신적 승리라고 할 수 있죠. 하지만 대국의 결과가 진정으로 시사하는 바는 바로 알파고의 인공지능에 대한 관심과 이해, 그리고 실제 활용방안이라고 할 수 있습니다. 알파고가 과연 어떻게 승리할 수 있었을까요? 그 핵심 기술인 딥 러닝에 대해 알아보겠습니다.

딥러닝 연구의 결정체, 알파고
알파고란 인공지능은 기본적으로 머신러닝(Machine Learning)의 한 방법인 딥 러닝(Deep Learning)을 활용한 결과물입니다. 머신러닝, 즉 기계학습이란 이 빅데이터를 확률적, 통계적으로 분석하여 가장 ‘가치’ 있는 데이터를 찾아내 분류하는 능력을 학습하는 것이고, 딥 러닝이란 인간의 뇌 신경망을 본따 만든 인공 신경망 모델로 기존의 머신러닝의 한계(데이터에 포함된 다양한 변수를 파악하지 못함)를 보완한 방법인데요, 오늘은 이 딥러닝이 어떻게 발전해 왔고 오늘에 이르렀는지 간단히 소개해볼까 합니다.

 

딥 러닝의 탄생과 암흑기
딥 러닝이란 용어가 처음 나온 것은 1980년대입니다. 캘리포니아 대학 심리학자와 컴퓨터 관련 학자들의 신경망 연구를 요약한 <PDP>라는 저서가 등장하면서 부터인데요, 사실 이때까지만 해도 주변 여건이 맞지 않아 크게 빛을 발하지는 못하였습니다. 딥 러닝 알고리즘을 구현하기 위해서는 무엇보다 엄청난 데이터를 넣어야 하고 이를 분석해야 하는데,  지금 처럼 인터넷이 발달하지 않은 당시만 해도 데이터가 많지 않았고, 무엇보다 많은 데이터를 연산하기 위한 컴퓨팅 속도도 크게 못 미쳤기 때문입니다.

 

2012 이미지넷에서 부활의 신호탄을 쏘다
지난 포스팅에서 설명했지만 인공지능(AI), 특히 딥 러닝의 역사에서 2012년 이미지넷(ImageNet)은 결코 빠질 수 없는 엄청난 사건이였습니다.  지난 2010년 부터 시작된 이미지넷은 무려 1,000개가 넘는 카테고리로 분류된 100만개의 이미지를 인식하여 그 정확도를 겨루는 대표적인 시각지능 대회입니다.

 

사실 2012년  대회 이전까지는 기계의 이미지 인식률이 75%를 넘지 못했었습니다. 캐나다 토론토대학의 알렉스 크리제브스키가 GPU 기반 딥 러닝 기술을 들고 나오기 전까지는요.  2012년 이미지넷에 출전한 알렉스가 들고 나온 ‘알렉스넷(Alexnet)’은 기존의 시스템과는 무척 달랐습니다. 인간의 뇌 구조를 본딴 인공신경망 모델인 나선형신경망(Convolution Neural Network, CNN)을 사용하여 심층 신경망(Deep Neural Network)을 구현한 것입니다. 바로 이것이 바로 기존의 기계 학습법(Machine Learning)을  더욱 발전시킨 딥 러닝(Deep Learning)입니다.

 (2010년부터 이미지넷 경진대회 결과 데이터. GPU 기반 딥러닝을 도입한 2012년(빨간색 원)부터

딥 러닝의 구조
보통 인간의 신경망은 여러 개의 연결된 신경망으로 이루어져 있습니다. 새로운 데이터가 들어오면 이 연결구조가 바뀌면서 학습하게 되는데, 딥 러닝도 이같은 방식으로 기계가 학습하게 되는 구조죠. 예를 들면 A라는 신경망은 크기를 구분하고, B라는 신경망은 색깔을 구분하고, C 라는 신경망은 생김새를 구분하는 등 말이지요. 이 신경망 갯수가 많아지면 많아질수록 연산해야 하는 데이터가 많아지는 만큼 그 정확도도 높아질 수 있답니다. 참고로 알파고의 경우에는 신경망 층이 무려 13개로 이루어져 있다고 하니 정말 어마어마한 데이터지요?

 

딥 러닝에 GPU가 필요한 이유?
2012년 이미지넷에서 선보인 알렉스넷도 8개나 되는 신경망으로 구성되어 있습니다. 그 만큼 요구되어지는 연산량도 많아질 수 밖에 없었습니다. 딥 러닝 연구가 그 이전에도 활발히 진행되고 있었지만 정작 빛을 보지 못했던 건 CPU의 성능만으로 도저히 감당할 수 없는 엄청난 컴퓨팅 파워를 요구하기 때문에 헤아릴 수 없는 시간과 많은 비용이 들었기 때문입니다. 알렉스는 바로 여기에서 동시다발적인 연산, 즉 병렬컴퓨팅에 유리한 GPU를 딥 러닝 연구에 활용하기 시작했습니다.

 

 

GPU 기반 딥러닝의 붐업
2012년 이미지넷 대회 당시 그가 사용한 GPU2-way SLI의 GeForce GTX 580 (3GB 메모리). 기존에는 수 십일이 걸렸던 기계 학습 시간을 불과 5~6일로 단축시켜 그 동안 마의 벽이였던 이미지 인식 정확도 80%를 뛰어넘었을 뿐만 아니라 자신의 소스코드를 공개하여 이후 딥러닝의 붐업을 이끌어 갔습니다. 이후에 진행된 대회에서 모든 참가자들이 GPU 기반 딥러닝을 활용하기 시작했음은 물론이구요. 최근에 열린 이미지넷 경진대회에서는 마이크로소프트(MS)팀이 GPU 기반 딥러닝으로 거의 사람의 수준인 96%까지 끌어올렸답니다.

 

 

가속화된 인공지능 연구
앞서 설명했듯이 알파고는 13개라는 아주 정교한 신경망을 사용하여 바둑을 학습해왔습니다. 이 천문학적인 데이터 연산을 위한 분산형 컴퓨터는 1202개의 CPU와 176개의 GPU를 이용한 것으로 알려졌는데,  실제로 연산을 하는 GPU코어 숫자를 보면 무려 50만 개(하나의 GPU 칩이 2,280개의 코어를 지님)를 이용한 것이 됩니다^^ 인공지능 시스템을 구현하기 위한 이 같은 3 요소는 다음과 같이 설명할 수 있는데요,

1. 강력한 컴퓨팅 파워  2. 데이터 센터 3.  구현을 위한 알고리즘

GPU 기반 병렬 컴퓨팅의 성능은 인공지능(AI) 개발에  있어서 이제 없어서는 안 될 중요한 존재가 되어버렸습니다. GPU 자체 성능도 날이 갈수록 더욱 높아지고 있기 때문에 인공지능 개발을 더욱 가속화할 것으로 기대되는데요, 다음엔 또 어떤 ‘알파고’가 우리에게 놀라움을 안겨줄까요? 자율주행자동차(Automotive)와 같이 앞으로 인공지능이 우리 생활을 어떻게 바꾸게 될지 관심있게 지켜봐야 하는 때입니다. 앞으로 엔비디아 블로그에서 차근차근 소개해 드릴테니 많은 관심 부탁드려요~^^