페이지

2022년 7월 16일 토요일

1.3.6 지속될까?

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

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

- 단순함: 딥러닝은 특성 공학이 필요하지 않아 복잡하고 불안정한 많은 엔지니어링 과정을 엔드-투-엔드로 훈련시킬 수 있는 모델로 바꾸어 줍니다. 이 모델은 일반적으로 5-6개의 텐서 연산만을 사용하여 만들 수 있습니다.

- 확장성: 딥러닝은 GPU또는 TPU에서 쉽게 병렬화할 수 있기 때문에 무어의 법칙 혜택을 크게 볼 수 있습니다. 또 딥러닝 모델은 작은 배치(batch) 데이터에서 반복적으로 훈련되기 때문에 어떤 크기의 데이터셋에서도 훈련될 수 있습니다(유일한 병목은 가능한 병렬 계산능력이지만 무어의 법칙 덕택에 빠르게 그 장벽이 사라지고 있습니다).

- 다용도와 재사용성: 이전의 많은 머신 러닝 방법과는 다르게 딥러닝 모델은 처음부터 다시 시작하지 않고 추가되는 데이터로도 훈련할 수 있습니다. 대규모 제품에 상요되는 모델에는 아주 중요한 기능인 연속적인 온라인 학습(online learning)을 가능하게 합니다. 더불어 훈련된 딥러님 모델은 다른 용도로 쓰일 수 있어 재사용이 가능합니다. 옐르 들어 이미지 분류를 위해 훈련된 딥러닝 모델을 비디오 처리 작업 과정에 투입할 수 잇습니다. 더 복잡하고 강력한 모델을 만들기 위해 이전의 작업을 재활용할 수 있습니다. 또 아주 작은 데이터셋에도 딥러닝 모델을 적용할 수 있습니다.

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


1.3.5 딥러닝의 대중화

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

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)는 "머신 러닝은 우리가 일을 하는 모든 방법을 다시 생각하게 만드는 중요하고 혁신적인 도구입니다. 우리는 머신 러닝을 검색, 광고, 유튜브, 그글 플레이 같은 전체 제품에 신중하게 적용하고 있습니다. 아직은 초기이지만 체계적으로 모든 분야에 머신러닝을 적용할 것입니다." 라고 말했ㅅ브니다.

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

1.3.3 알고리즘

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

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

- 신경망이 층에 더 잘 맞는 활성화 함수(activation function)

- 층별 사전 훈려(pretraining)을 불필요하게 만든 가중치 초기화(weight initialization)방법

- RMSProp과 Adam같은 더 좋은 최적화 방법

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

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


1.3.2 데이터

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

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

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

1.3.1 하드웨어

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

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

게임 시장이 차세대 인공 지능 애플리케이션을 위한 슈퍼컴퓨팅에 투자를 한 셈입니다. 이처럼 이따름 엄청난 일들이 케임에서 시작되곤 합니다. 2015년 말 시세로 1,000달러짜리 게임용 GPU인 NVIDA TITAN X는 6.6테라플롭(TFLOPS)의 단정도 연산 성능을 제공합니다. 즉 초당 6.6조개의 float32 연산을 수행합니다. 이는 최슨 노트북의 성능보다 350배나 빠릅니다. TITTAN X를 사용하면 몇 년 전 ILSVRC 대회에서 우승했던 ImageNet 모델을 며칠 안에 훈련시킬 수 있습니다. 한편 큰 회사들은 NVIDIA Tesla K80처럼 딥러닝을 위해 개발된 GPU 수백 개로 구성된 클러스터에서 딥러닝 모델을 훈련시킵니다. 이런 클러스터의 계산 능력은 최신의 GPU가 없었다면 절대로 불가능했을 것입니다.이에 더하여 딥러닝 산업은 GPU를 넘어서 더 효율적이고 특화된 딥러닝 칩에 추자하기 시작했습니다. 구글은 2016년 I/O연례 행사에서 텐서 처리 장치(Tensor Procesing Init, TPU) 프로젝트를 공개했씁니다. 이 칩은 심층 신경망을 실행하기 위해 완전히 새롭게 설계한 것으로 최고 성능을 가진 GPU 보다 10배 이상 빠르고 에너지 소비도 더 효율적입니다.

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

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

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

- 하드웨어

- 데이터셋과 벤치마크(banchmark)

- 알고리즘 향상

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

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