딥 러닝

딥 러닝은 인공지능(AI)과 머신 러닝(ML)의 하위 집합으로, 다층 인공 신경망을 사용하여 개체 탐지, 음성 인식, 언어 번역 등과 같은 작업에서 최첨단 정확도를 제공합니다.

The progression of AI, machine learning, and deep learning.

딥 러닝이란 무엇입니까?

딥 러닝은 머신 러닝의 하위 집합이지만, DL 알고리즘은 사람의 도메인 지식을 도입하지 않고도 이미지, 비디오, 텍스트 등의 데이터에서 표현을 자동으로 학습할 수 있다는 점에서 차이가 있습니다. 딥 러닝에서 '딥'이라는 단어는 데이터의 패턴을 인식하는 데 사용되는 알고리즘 또는 신경망의 여러 층을 나타냅니다. DL의 매우 유연한 아키텍처는 인간의 두뇌가 작동하는 방식과 유사하게 원시 데이터에서 직접 학습할 수 있으며, 더 많은 데이터가 제공될수록 예측 정확도를 높일 수 있습니다. 

또한 딥 러닝은 음성 인식, 언어 번역, 개체 탐지와 같은 작업에서 높은 정밀도와 정확도를 가능하게 하는 주요 기술로, 최근 AI 분야에서 Google DeepMind의 AlphaGo, 자율주행차, 지능형 음성 비서를 비롯한 많은 혁신을 불러일으켰습니다.

딥 러닝의 작동 방식

딥 러닝은 입력과 출력 사이에 여러 '은닉층'의 노드가 존재하는 네트워크인 다층 인공 신경망(ANN)을 사용합니다. 

Image recognition.

인공 신경망은 입력의 가중합에 비선형 함수를 적용하여 입력 데이터를 변환합니다. 변환은 신경층이라 하고, 함수는 신경 단위라고 합니다. 

An artificial neural network.

한 층의 중간 출력은 특징이라고 하며, 다음 층의 입력으로 사용됩니다. 신경망은 반복적인 변환을 통해 여러 층의 비선형 특징(예: 가장자리와 모양)을 학습한 다음, 최종 층에서 이를 결합하여 (더 복잡한 개체에 대한) 예측을 생성합니다. 

오차가 경사 하강이라는 프로세스 내에서 역전파를 통해 다시 신경망 전체로 전달되면 가중치가 조정되고 모델이 개선됩니다. 신경망은 신경망의 예측과 원하는 값 사이의 차이를 최소화하도록 네트워크의 가중치 또는 매개변수를 변경하는 방식으로 학습합니다. 발생하는 오차에 대응하여 모델의 가중치를 조정하는 이 프로세스는 오차를 더 이상 줄일 수 없을 때까지 수천 번 반복됩니다. 인공 신경망이 데이터에서 학습하는 이 단계를 훈련이라고 합니다. 이 과정에서 층들은 모델을 위한 최적의 특징을 학습하므로, 특징을 미리 결정할 필요가 없다는 장점이 있습니다.

NVIDIA DIGITS and NVIDIA TensorRT.

GPU: 딥 러닝의 핵심

구조적으로 볼 때, CPU는 단 몇 개의 코어와 많은 캐시 메모리로 구성되어 있어 한 번에 처리할 수 있는 소프트웨어 스레드가 적습니다. 반대로 GPU는 수백 개의 코어로 구성되어 있어 수천 개의 스레드를 동시에 처리할 수 있습니다.

Difference between a CPU and GPU.

최첨단 딥 러닝 신경망의 경우 역전파를 통해 조정해야 하는 매개변수가 수백만 개에서 10억 개 이상에 이를 수 있습니다. 또한 높은 정확도를 얻기 위해 많은 양의 학습 데이터가 필요합니다. 즉, 수십만에서 수백만 개에 이르는 입력 샘플을 순방향 패스 및 역방향 패스 양쪽으로 실행해야 합니다. 신경망은 수많은 동일 뉴런에서 생성되기 때문에 본질적으로 병렬성이 매우 높습니다. 이러한 병렬성은 자연스럽게 GPU로 매핑됩니다. GPU는 CPU만 사용하는 훈련에 비해 월등히 높은 연산 속도를 제공하므로 복잡한 대규모 신경망 기반 시스템을 훈련시키기 위한 플랫폼으로 선택되어 왔으며, 병렬성이 특징인 추론 작업 또한 GPU에서 실행하기에 매우 알맞습니다.

딥 러닝 사용 사례

딥 러닝은 컴퓨터 비전, 대화형 AI 및 추천 시스템 분야의 앱에 일반적으로 사용됩니다. 컴퓨터 비전 앱은 딥 러닝을 사용하여 디지털 이미지와 동영상에서 지식을 얻습니다. 대화형 AI 앱은 컴퓨터가 자연어를 이해하고 자연어로 소통할 수 있도록 돕습니다. 추천 시스템은 이미지, 언어, 사용자의 관심사를 사용하여 의미 있고 관련성 높은 검색 결과와 서비스를 제공합니다.

딥 러닝은 자율주행차, 스마트 개인 비서, 더 스마트한 웹 서비스를 지원하고 있습니다. 사기 탐지, 공급망 현대화와 같은 딥 러닝의 응용 사례는 세계 최고 수준의 팀과 조직에서 활용되고 있습니다.

딥 러닝 알고리즘에는 다음과 같은 다양한 변형이 있습니다.

  • 정보가 한 층에서 다음 층으로만 전달되는 ANN을 순방향 인공 신경망이라고 합니다. 다층 퍼셉트론(MLP)은 입력층, 은닉층, 출력층 등 최소 3개 노드로 구성된 순방향 ANN의 한 가지 유형입니다. MLP는 레이블이 지정된 입력을 사용하는 분류 예측 문제에 적합하며 다양한 시나리오에 적용할 수 있는 유연한 네트워크입니다.
  • 합성곱 신경망은 개체를 식별하는 이미지 분석 도구입니다. CNN 이미지 인식은 일부 시나리오에서 사람보다 더 뛰어나며, 식별 가능한 개체는 고양이부터 혈액 내 암 지표, MRI 스캔의 종양에 이르기까지 다양합니다. CNN은 오늘날 자율주행차, 석유 탐사, 융합 에너지 연구 등에서 눈의 역할을 하고 있습니다. 의료 분야에서는 의료 영상에서 더 빨리 질병을 발견하여 생명을 구하는 데 도움이 될 수 있습니다.
  • 순환 신경망은 언어 패턴과 시퀀스 데이터를 파싱하는 수학 엔진입니다.
    • 네트워크음성 기반 컴퓨팅 혁명을 촉진하고 Amazon의 Alexa, Google의 Assistant, Apple의 Siri에 듣고 말할 수 있는 자연어 처리(NLP) 두뇌를 제공하고 있습니다. 또한 검색어 입력란을 채워주는 Google의 자동 완성 기능에 투시력 같은 마법을 부여하고 있습니다.
    • RNN 응용 사례는 자연어 처리와 음성 인식 이외에도 무궁무진합니다. 언어 번역, 주식 예측, 알고리즘 트레이딩 등에도 사용됩니다.
    • 금융 분야에서는 데이터 시퀀스에서 다음에 나올 것을 추측하는 데 특히 능숙한 RNN을 사기 탐지에 사용하여 비정상적인 지출 패턴을 위험 신호로 식별할 수 있습니다. American Express는 사기를 탐지하기 위해 NVIDIA® TensorRT™로 최적화한 딥 러닝 기반 모델을 배포하고 NVIDIA Triton™ 추론 서버에서 실행하고 있습니다.

딥 러닝의 이점

딥 러닝의 이점 중 하나는 다양한 데이터 세트에 대한 근사(approximation) 방법을 개발할 수 있는 고유한 유연성입니다. 데이터 사이언티스트는 딥 러닝과 신경망을 사용하여 거의 모든 것에 대한 근사 방법을 개발할 수 있습니다. 방대한 양의 데이터로 훈련하는 경우, 딥 러닝의 예측 및 분석 정확도는 타의 추종을 불허합니다.

머신 러닝과 비교할 때 딥 러닝의 뚜렷한 이점은 특징 공학을 스스로 실행할 수 있는 능력에 있습니다. 딥 러닝을 사용하면 알고리즘이 데이터를 탐색하고 상관관계가 있는 특징들을 찾아낸 다음 이를 결합할 수 있어, 사람의 개입 없이도 더 빠르게 학습할 수 있습니다.

연구자와 데이터 사이언티스트에게 딥 러닝이 중요한 이유

NVIDIA GPU 가속 딥 러닝 프레임워크를 사용하면 연구자와 데이터 사이언티스트가 딥 러닝 훈련을 크게 가속화할 수 있습니다. 며칠에서 몇 주가 걸렸을 작업을 몇 시간에서 몇 일로 단축할 수 있습니다. 모델을 배포할 준비가 되었다면 개발자는 클라우드, 임베디드 장치 또는 자율주행차를 위한 GPU 가속 추론 플랫폼을 사용하여 가장 연산 집약적인 심층 신경망의 고성능 저지연 추론을 지원할 수 있습니다.

개발자용 NVIDIA 딥 러닝

GPU 가속 딥 러닝 프레임워크는 맞춤형 심층 신경망을 유연하게 설계하고 훈련할 수 있는 기능과 파이썬, C/C++와 같이 일반적으로 사용되는 프로그래밍 언어를 위한 인터페이스를 제공합니다. MXNet, 파이토치, 텐서플로 등과 같이 널리 사용되는 딥 러닝 프레임워크는 고성능 멀티 GPU 가속 훈련을 제공하기 위해 NVIDIA GPU 가속 라이브러리를 사용합니다.

Widely used deep learning frameworks.

다음 단계

  • NVIDIA는 딥 러닝 워크플로의 학습 및 추론 단계를 가속화하는 최적화된 소프트웨어 스택을 제공합니다. NVIDIA 딥 러닝 홈 페이지에서 자세히 알아보세요.
  • 개발자, 연구자와 데이터 사이언티스트는 NVIDIA GPU를 위한 성능 조정 및 테스트를 거친 딥 러닝 예제가 포함된 NVIDIA 최적화 딥 러닝 프레임워크 컨테이너에 쉽게 액세스할 수 있습니다. 따라서 패키지와 종속 항목을 관리하거나 소스에서 딥 러닝 프레임워크를 구축할 필요가 없습니다. NVIDIA NGC에서 더 자세히 확인하고 바로 시작해 보세요.
  • NVIDIA Volta™ 및 Turing™ GPU를 기반으로 하는 Tensor 코어는 특별히 딥 러닝을 위해 설계되어 훈련 및 추론 성능이 월등히 더 뛰어납니다. 참조 구현에 액세스하는 방법을 더 자세히 알아보세요.
  • NVIDIA Deep Learning Institute(DLI)에서는 AI 및 가속 컴퓨팅 분야의 개발자, 데이터 사이언티스트, 연구원을 위한 실습 교육을 제공합니다.
  • 딥 러닝에 대한 기술적인 심층 분석은 간단명료한 딥 러닝에서 확인하세요.
  • 개발자 뉴스와 리소스는 NVIDIA 개발자 사이트를 확인하세요.
  • NVIDIA Merlin: 딥 추천 시스템을 위한 애플리케이션 프레임워크를 읽고 딥 러닝 추천에 대해 자세히 알아보세요
  • 딥 러닝에 대해 자세히 알아보려면 간단명료한 딥 러닝을 읽어보세요.