1.3 왜 딥러닝일까? 왜 지금일까?

1.2 딥러닝 이전: 머신 러닝의 간략한 역사 | 목차 | 2 시작하기 전에: 신경망의 수학적 구성 요소

 

컴퓨터 비전에 대한 딥러닝의 두 가지 핵심 아이디어인 합성곱 신경망과 역전파는 이미 1989년에 소개되었습니다. 시계열을 위한 딥러닝의 기본인 LSTMLong Short-Term Memory 알고리즘은 1997년에 개발되었고 그 이후로는 변화가 거의 없습니다. 왜 2012년 이후에 딥러닝이 부상하게 되었을까요? 지난 20년간 어떤 변화가 있었던 것일까요?

일반적으로 세 가지 기술적인 힘이 머신 러닝의 진보를 이끌었습니다.

  • 하드웨어
  • 데이터셋과 벤치마크benchmark
  • 알고리즘 향상

이 분야는 이론보다 실험을 통해서 성장해 왔기 때문에 새로운 아이디어를 실험할 (또는 종종 기존 아이디어를 확장하기 위해서) 적절한 데이터와 하드웨어가 준비되어 있어야만 알고리즘이 발전할 수 있습니다. 머신 러닝은 주로 연필과 종이로 발전되는 수학이나 물리학이 아닙니다. 머신 러닝은 하나의 공학engineering science입니다.

1990년대와 2000년대에 걸친 진짜 병목은 데이터와 하드웨어였습니다. 하지만 이 기간 동안 인터넷이 시작되었고, 게임 시장이 커지면서 고성능 그래픽 칩이 개발되었습니다.

 

1.3.1 하드웨어

시중에 판매되는 CPU는 1990년과 2010년 사이에 거의 5,000배가 빨라졌습니다. 그 덕에 요즘에는 노트북에서도 작은 딥러닝 모델을 실행시킬 수 있습니다. 25년 전이라면 현실적으로 불가능했던 일입니다.

하지만 컴퓨터 비전이나 음성 인식에서 사용되는 일반적인 딥러닝 모델들은 노트북보다 10배의 계산 능력이 필요합니다. 2000년대에 NVIDIA와 AMD 같은 회사들이 실사와 같은 비디오 게임의 그래픽 성능을 높이기 위해 대용량 고속 병렬 칩(그래픽 처리 장치GPU)을 개발하는 데 수십 억 달러를 투자해 왔습니다. 이런 칩은 복잡한 3D 장면을 실시간으로 화면에 그리려는 목적으로만 설계된 저렴한 슈퍼컴퓨터와 같습니다. 2007년 NVIDIA가 자사의 GPU 제품을 위한 프로그래밍 인터페이스인 CUDA(https://developer.nvidia.com/about-cuda)를 출시하면서 과학 커뮤니티가 이런 투자의 혜택을 보게 되었습니다. 물리 모델링을 시작으로 다양한 병렬 애플리케이션의 대형 CPU 클러스터가 소량의 GPU로 대체되기 시작했습니다. 대부분 많은 수의 간단한 행렬 곱셈으로 구성된 심층 신경망도 높은 수준으로 병렬화가 가능합니다. 2011년 즈음에 댄 크리슨17과 알렉스 크리체브스키18 등 일부 연구자들이 CUDA를 사용한 신경망 구현을 만들기 시작했습니다.

게임 시장이 차세대 인공 지능 애플리케이션을 위한 슈퍼컴퓨팅에 투자를 한 셈입니다. 이처럼 이따금 엄청난 일들이 게임에서 시작되곤 합니다. 2015년 말 시세로 1,000달러짜리 게임용 GPU인 NVIDIA TITAN X는 6.6테라플롭TFLOPS의 단정도 연산 성능을 제공합니다. 즉 초당 6.6조 개의 float32 연산을 수행합니다. 이는 최신 노트북의 성능보다 350배나 빠릅니다. TITAN X를 사용하면 몇 년 전 ILSVRC 대회에서 우승했던 ImageNet 모델을 며칠 안에 훈련시킬 수 있습니다. 한편 큰 회사들은 NVIDIA Tesla K80처럼 딥러닝을 위해 개발된 GPU 수백 개로 구성된 클러스터에서 딥러닝 모델을 훈련시킵니다. 이런 클러스터의 계산 능력은 최신의 GPU가 없었다면 절대로 불가능했을 것입니다.

이에 더하여 딥러닝 산업은 GPU를 넘어서 더 효율적이고 특화된 딥러닝 칩에 투자하기 시작했습니다. 구글은 2016년 I/O 연례 행사에서 텐서 처리 장치Tensor Processing Unit, TPU 프로젝트를 공개했습니다. 이 칩은 심층 신경망을 실행하기 위해 완전히 새롭게 설계한 것으로 최고 성능을 가진 GPU보다 10배 이상 빠르고 에너지 소비도 더 효율적입니다.19

 

1.3.2 데이터

이따금 AI는 새로운 산업 혁명으로 불립니다. 딥러닝이 이 혁명의 증기 기관이라면 데이터는 이 기관에 필요한 연료입니다. 인공 지능이란 기관을 움직이는 원료가 없다면 어떤 것도 불가능합니다. 데이터에 관해서라면 지난 20년간 (무어의 법칙Moore’s law에 따라) 저장 장치의 급격한 발전과 더불어, 머신 러닝을 위한 대량의 데이터셋을 수집하고 배포할 수 있는 인터넷 성장이 시장의 판도를 바꾸었습니다. 요즘 큰 규모의 회사들이 사용하는 이미지 데이터셋, 비디오 데이터셋, 자연어 데이터셋은 인터넷 없이는 수집할 수 없습니다. 예를 들어 플리커Flickr에서 사용자가 붙인 이미지 태그는 컴퓨터 비전의 입장에서는 보물 같은 데이터입니다. 유튜브YouTube 비디오도 마찬가지입니다. 위키피디아Wikipedia는 자연어 처리 분야에 필요한 핵심 데이터셋입니다.

딥러닝의 성장을 이끈 촉매제와 같은 데이터셋 하나를 꼽는다면, 바로 1,400만 개의 이미지를 1,000개의 범주로 구분해 놓은 ImageNet 데이터셋입니다(하나의 이미지는 하나의 범주를 가집니다). ImageNet이 특별한 것은 크기만이 아니라 이와 연계되어 매년 열린 경연 대회입니다. 20

캐글이 2010년에 선보인 후 공개 경연 대회는 연구자들과 기술자들이 한계를 뛰어넘도록 만드는 아주 훌륭한 도구가 되었습니다. 연구자들이 경쟁하기 위한 일반적인 기준이 있다는 것 역시 최근 딥러닝의 성장에 큰 도움을 주었습니다.

 

1.3.3 알고리즘

하드웨어와 데이터에 이어 2000년대 후반까지는 매우 깊은 심층 신경망을 훈련시킬 수 있는 안정적인 방법을 찾지 못했습니다. 이런 이유로 하나 또는 2개의 층만 사용하는 매우 얕은 신경망만 가능했습니다. SVM과 랜덤 포레스트처럼 잘 훈련된 얕은 학습 방법에 비해 크게 빛을 보지 못했습니다. 깊게 쌓은 층을 통과해서 그래디언트gradient, 21를 전파하는 것이 가장 문제였습니다. 신경망을 훈련하기 위한 피드백 신호가 층이 늘어남에 따라 희미해지기 때문입니다.

2009~2010년경에 몇 가지 간단하지만 중요한 알고리즘이 개선되면서 그래디언트를 더 잘 전파되게 만들어 주었고 상황이 바뀌었습니다.

  • 신경망의 층에 더 잘 맞는 활성화 함수activation function, 22
  • 층별 사전 훈련pretraining을 불필요하게 만든 가중치 초기화weight initialization 방법23
    • RMSProp과 Adam 같은 더 좋은 최적화 방법

이런 기술의 향상으로 10개 이상의 층을 가진 모델을 훈련시킬 수 있게 되었을 때 비로소 딥러닝이 빛을 발하기 시작했습니다.

2014~2016년 사이에 그래디언트를 더욱 잘 전파할 수 있는 배치 정규화batch normalization, 잔차 연결residual connection, 깊이별 분리 합성곱depthwise separable convolution 같은 고급 기술들이 개발되었습니다. 요즘에는 층의 깊이가 수천 개인 모델을 처음부터 훈련시킬 수 있습니다.24

 

1.3.4 새로운 투자의 바람

딥러닝이 2012~2013년에 컴퓨터 비전과 지각에 관련된 모든 문제에서 최고의 성능을 내자 업계의 리더들이 주목하기 시작했습니다. 과거 AI의 역사에서 보았던 것을 뛰어넘는 투자가 서서히 이루어지고 있습니다.

딥러닝이 주목을 받기 직전인 2011년에 전체 벤처 캐피탈이 AI에 투자한 금액은 1,900만 달러였고 대부분은 얕은 학습 방식의 머신 러닝 애플리케이션이었습니다. 2014년에는 믿기 힘들지만 3억 9,400만 달러로 늘었습니다. 이 기간에 딥러닝의 인기에 힘입어 수십 개의 스타트업을 런칭했습니다. 한편 구글, 페이스북, 바이두, 마이크로소프트 같은 테크 공룡들은 벤처 캐피탈의 투자를 무색하게 만들 정도로 많은 금액을 내부 연구 부문에 투자했으며, 그중 아주 일부만 알려져 있습니다. 2013년 구글은 5억 달러에 딥러닝 스타트업인 딥마인드DeepMind를 인수했습니다. AI 역사상 가장 큰 금액의 인수였습니다. 2014년에 바이두는 실리콘 밸리에 3억 달러를 투자하여 딥러닝 연구 센터를 설립했습니다. 2016년에는 인텔이 딥러닝 하드웨어 스타트업인 너바나Nervana 시스템즈를 4억 달러에 인수했습니다.

머신 러닝(특히 딥러닝)은 테크 공룡들의 핵심 상품 전략이 되었습니다. 2015년 후반에 구글의 CEO 선다 피차이Sundar Pichai는 “머신 러닝은 우리가 일을 하는 모든 방법을 다시 생각하게 만드는 중요하고 혁신적인 도구입니다. 우리는 머신 러닝을 검색, 광고, 유튜브, 구글 플레이 같은 전체 제품에 신중하게 적용하고 있습니다. 아직은 초기이지만 체계적으로 모든 분야에 머신 러닝을 적용할 것입니다.”25라고 말했습니다.

이런 투자의 물결로 인해 딥러닝 분야에서 일하고 있는 사람들의 수가 지난 5년간 몇 백 명에서 몇 만 명으로 늘어났고 연구는 엄청난 속도로 진전되고 있습니다. 현재는 이런 트렌드가 느려질 어떤 징후도 없습니다.

 

1.3.5 딥러닝의 대중화

딥러닝에 새로운 사람들이 참여할 수 있도록 만드는 핵심 요소 중 하나는 이 분야에서 사용하는 도구들의 대중화입니다. 초창기에 딥러닝을 하려면 흔치 않은 C++와 CUDA의 전문가가 되어야 했습니다. 요즘에는 기본 파이썬 스크립트 기술만 있으면 고수준의 딥러닝을 연구하는 데 충분합니다. 대부분 씨아노Theano와 텐서플로TensorFlow가 개발된 덕분이었습니다. 심볼릭 텐서 조작 프레임워크인 이 두 프레임워크는 파이썬과 자동 미분을 지원하여 새로운 모델을 아주 간단하게 구현할 수 있게 만들었습니다. 그리고 레고LEGO 블록을 만들 듯 딥러닝 모델을 쉽게 만들 수 있는 케라스 같은 사용자 편의 도구들이 등장했습니다. 케라스가 2015년에 처음 공개된 이후 이 분야의 많은 스타트업과 학생, 연구자들에게 새로운 딥러닝의 주력 솔루션으로 금방 자리 잡았습니다.

 

1.3.6 지속될까?

회사가 투자를 하고 연구자들이 모이는 것이 당연한 어떤 특별한 점이 심층 신경망에 있는 것일까요? 아니면 딥러닝은 그저 유행이라 사라지게 될까요? 20년 후에도 심층 신경망을 사용하고 있을까요?

딥러닝의 현재 상태를 AI의 혁명이라고 정의할 수 있는 몇 가지 특징이 있습니다. 지금부터 20년 후에는 신경망을 사용하지 않을지도 모르지만, 딥러닝과 딥러닝의 핵심 개념에서 직접 파생된 무엇인가를 사용할 것입니다. 이 중요한 특징은 크게 세 가지 범주로 나눌 수 있습니다.

  • 단순함: 딥러닝은 특성 공학이 필요하지 않아 복잡하고 불안정한 많은 엔지니어링 과정을 엔드-투-엔드로 훈련시킬 수 있는 모델로 바꾸어 줍니다. 이 모델은 일반적으로 5~6개의 텐서 연산만을 사용하여 만들 수 있습니다.
  • 확장성: 딥러닝은 GPU 또는 TPU에서 쉽게 병렬화할 수 있기 때문에 무어의 법칙 혜택을 크게 볼 수 있습니다. 또 딥러닝 모델은 작은 배치batch 데이터에서 반복적으로 훈련되기 때문에 어떤 크기의 데이터셋에서도 훈련될 수 있습니다(유일한 병목은 가능한 병렬 계산 능력이지만 무어의 법칙 덕택에 빠르게 그 장벽이 사라지고 있습니다).
  • 다용도와 재사용성: 이전의 많은 머신 러닝 방법과는 다르게 딥러닝 모델은 처음부터 다시 시작하지 않고 추가되는 데이터로도 훈련할 수 있습니다. 대규모 제품에 사용되는 모델에는 아주 중요한 기능인 연속적인 온라인 학습online learning을 가능하게 합니다. 더불어 훈련된 딥러닝 모델은 다른 용도로 쓰일 수 있어 재사용이 가능합니다. 예를 들어 이미지 분류를 위해 훈련된 딥러닝 모델을 비디오 처리 작업 과정에 투입할 수 있습니다. 더 복잡하고 강력한 모델을 만들기 위해 이전의 작업을 재활용할 수 있습니다. 또 아주 작은 데이터셋에도 딥러닝 모델을 적용할 수 있습니다.26

딥러닝이 스포트라이트를 받은 지 겨우 몇 년밖에 되지 않았고 할 수 있는 모든 영역에 접목해 보지 못했습니다. 매달 새로운 사례와 이전의 제약을 허무는 향상된 기술이 등장합니다. 과학 혁명 뒤에는 일반적으로 시그모이드sigmoid 곡선27 형태로 진행됩니다. 초창기에는 매우 빠르게 진행되고 연구자들이 험난한 난관에 부딪히면서 점차 안정되어 나중에는 조금씩 향상됩니다. 2017년의 딥러닝은 시그모이드의 처음 절반 안쪽에 있는 것 같습니다. 앞으로 몇 년 동안 이 혁명은 훨씬 더 빠르게 진행될 것입니다.

 


 

17 “Flexible, High Performance Convolutional Neural Networks for Image Classification,” Proceedings of the 22nd International Joint Conference on Artificial Intelligence (2011), http://www.ijcai.org/Proceedings/11/Papers/210.pdf.
18 “ImageNet Classification with Deep Convolutional Neural Networks,” Advances in Neural Information Processing Systems 25 (2012), http://mng.bz/2286.
19 역주 2017년 I/O 콘퍼런스에서 발표한 TPU 2.0은 무려 180테라플롭의 연산 성능을 가지고 있습니다.
20 The ImageNet Large Scale Visual Recognition Challenge(ILSVRC), http://www.image-net.org/challenges/LSVRC.
21 역주 그래디언트와 경사 하강법에 대해서는 2.4절에서 자세히 설명합니다.
22 역주 세이비어 글로럿(Xavier Glorot), 앙투안 보르드(Antoine Bordes)와 요슈아 벤지오(Yoshua Bengio)가 “Deep Sparse Rectifier Neural Networks”(2011, https://goo.gl/vyV7QC)에서 심층 신경망을 훈련하기 위해 적용했던 ReLU(Rectified Linear Unit) 함수를 말합니다. ReLU 함수는 3.4.3절에서 자세히 설명합니다.
23 역주 심층 신경망을 만들기 위해 사전 훈련을 사용하기보다 근본적인 원인을 분석했던 세이비어 글로럿과 요슈아 벤지오의 “Understanding the Difficulty of Training Deep Feedforward Neural Networks”(2010, http://goo.gl/1rhAef)를 말하며, 저자의 이름을 따서 Xavier 초기화 또는 Glorot 초기화라고 부릅니다.
24 역주 2015년 ILSVRC 대회에서 우승을 차지한 마이크로소프트 연구 팀이 잔차 네트워크로 1,000개의 층이 넘는 모델을 훈련시킬 수 있다는 것을 보였습니다.
25 선다 피차이, 알파벳(Alphabet) 실적 발표, 2015년 10월 22일.
26 역주 이미 학습된 모델의 층을 재사용하여 대부분을 구성하고 1~2개의 층만 새롭게 추가한다면 적은 수의 데이터셋으로도 규모의 모델을 만들 수 있습니다. 이런 경우 재사용되는 층의 가중치가 더 이상 학습되지 않게 동결시킬 수 있습니다. 5장과 7장에서 이에 대해 자세히 소개합니다.
27 역주 시그모이드 함수는 S 형태를 띤 곡선입니다. 그림 3-5를 참고하세요.

 

1.2 딥러닝 이전: 머신 러닝의 간략한 역사 | 목차 | 2 시작하기 전에: 신경망의 수학적 구성 요소

 

이 글은 도서출판 길벗에서 출간한  “케라스 창시자에게 배우는 딥러닝“의 1장~3장입니다. 이 책의 저작권은 (주)도서출판 길벗에 있으므로 무단 복제 및 무단 전제를 금합니다.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

This site uses Akismet to reduce spam. Learn how your comment data is processed.