본문 바로가기

AI/DL

[AI] 인공지능의 역사 - 딥러닝이란?(DL)

머신러닝의 한 부분이지만, 실행 방식과 응용 분야에서 특별한 접근법과 기술을 필요로 하는 딥러닝에 대해서 알아보도록 하겠습니다.

 

 

 

딥러닝Deep Learning 의 기원

 

Imagenet Large Scale Visual Recognition Challenge, 줄여서 ILSVRC는 2010년부터 시작된 컴퓨터 비전 분야의 중요한 경연 대회입니다. 이 대회는 다양한 카테고리의 이미지를 분류하고 객체를 탐지하는 것을 목표로 합니다. ILSVRC는 대규모 이미지 데이터셋인 ImageNet을 사용하여, 알고리즘의 정확도와 처리 능력을 평가합니다. 대회의 목적은 인공 지능과 컴퓨터 비전 기술의 발전을 촉진하고, 실제 세계의 시각적 인식 문제에 대한 이해를 높이는 것입니다.

 

2012년 ILSVRC에서는 특히 중요한 변화가 있었습니다. 토론토 대학의 연구팀이 개발한 'AlexNet'이라는 심층 신경망 모델이 대회에서 압도적인 성과를 보여주며 1위를 차지했습니다. 이 모델은 제프리 힌튼Geoffrey Hinton 교수가 이끄는 연구팀에 의해 개발되었으며, 'SuperVision'이라는 이름으로도 알려져 있습니다. AlexNet은 8개의 학습 가능한 층으로 구성된 심층 합성곱 신경망(Convolutional Neural Network, CNN)을 사용했으며, 이는 당시 다른 참가자들이 사용한 기술보다 훨씬 우수한 결과를 도출했습니다.

AlexNet의 성공은 딥러닝이 인공 지능 연구에서 중요한 도구로 자리 잡게 만들었고, 이후 많은 연구자들이 신경망을 이용한 연구에 더욱 몰두하게 되었습니다. 이 결과는 딥러닝 기술의 상용화를 촉진하고, 더 복잡하고 다양한 신경망 구조의 개발로 이어졌습니다.

 

 

인간의 뇌 구조와 신경망(Neural Networks)

신경망은 인간의 뇌의 구조에서 영감을 받아 만들어진 인공지능 기술입니다.

 

인간의 뇌는 수십억 개의 신경 세포(뉴런)로 구성되어 있으며, 이 뉴런들이 서로 복잡하게 연결되어 있습니다. 각 뉴런은 신호를 수신, 처리, 전달하는 기능을 합니다.

 

컴퓨터 과학에서의 인공 신경망은 이 뉴런들의 네트워크를 모방한 것입니다. 기본적인 신경망 구조는 다음과 같이 세 부분으로 구성되어 있습니다.

 

  • 입력 계층(Input Layer): 외부로부터 데이터를 받아들이는 부분입니다. 각 입력 노드는 실제 입력 데이터의 하나의 특성(feature)을 대표합니다.
  • 은닉 계층(Hidden Layers): 하나 이상 존재할 수 있으며, 입력된 데이터에서 중요한 특징을 추출하고 변환하는 역할을 합니다. 이 층들은 신경망이 복잡한 문제를 해결할 수 있게 해줍니다.
  • 출력 계층(Output Layer): 신경망의 최종 예측 또는 결정을 도출합니다.

이러한 구조를 통해 신경망은 입력 데이터로부터 학습을 진행하며, 오류를 최소화하는 방향으로 가중치를 조정합니다. 딥러닝에서는 이러한 계층이 많아져 더 복잡하고 추상적인 특징을 학습할 수 있습니다.

 

신경망 구조

 

 

딥러닝이란?

딥러닝은 머신러닝의 한 분야로서, 인공 신경망을 사용하여 복잡한 패턴과 데이터에서의 관계를 학습하는 기술입니다.

 

"딥(deep)"은 모델에 여러 처리 층이 있다는 의미로, 이 층들이 데이터에서 점점 더 추상적이고 고차원적인 특징을 학습할 수 있게 합니다. 신경망의 구조에서 은닉 계층이 2개층 이상인 경우 Deep이라고 생각합니다.

 

 

또 다른 의미로 딥러닝은 '심화학습'을 뜻하기도 합니다. 딥러닝은 기본적인 패턴 인식을 넘어서서, 이미지, 소리, 텍스트 등에서 더욱 세밀하고 추상적인 특성을 파악하고 이를 기반으로 결정을 내릴 수 있는 능력을 갖추게 됩니다.

 

딥러닝은 이와 같은 방식으로, 표면적인 특징을 넘어서 데이터의 깊은 구조를 이해하고 학습하는 과정을 포함하므로 '심화학습'이라고도 불리며, 이는 말 그대로 학습 과정이 심층적이라는 뜻을 담고 있습니다. 이러한 심층적 학습 능력은 딥러닝을 다양한 분야에서 매우 강력한 도구로 만들어주며, 인간의 뇌가 처리하는 방식을 모방하여 더욱 복잡하고 다양한 문제를 해결할 수 있게 합니다.

 

 

딥러닝과 머신러닝의 차이점

1. 개념과 범위

  • 머신러닝은 컴퓨터가 명시적인 프로그래밍 없이 데이터로부터 학습하고 예측을 할 수 있게 하는 알고리즘과 기술의 집합입니다. 지도학습, 비지도학습, 강화학습이 있습니다.
  • 딥러닝은 머신러닝의 한 분야로서, 특히 깊은(많은 층) 신경망을 사용해서 복잡한 문제를 모델링하는 방법입니다. 딥러닝은 데이터의 추상적인 특징을 자동으로 학습하고 이해하는 데 탁월합니다.

2. 아키텍처와 접근 방식

  • 머신러닝 알고리즘은 일반적으로 상대적으로 간단한 모델을 사용합니다. 이는 결정 트리, 서포트 벡터 머신, 선형 회귀 등을 포함할 수 있으며, 이러한 모델들은 종종 입력 데이터에서 수동으로 추출한 특징에 의존합니다.
  • 딥러닝여러 층을 통해 데이터의 특징을 자동으로 추출하고 학습합니다. 이 층들은 점차 복잡한 특징을 감지할 수 있도록 설계되어 있으며, 수동 특징 추출의 필요성을 줄입니다.

3. 데이터 요구 사항

  • 머신러닝 모델은 종종 적은 양의 데이터로도 효과적으로 작동할 수 있습니다. 이는 모델이 비교적 간단하고 과적합(overfitting)의 위험이 더 적기 때문입니다.
  • 딥러닝 모델은 대규모 데이터 세트를 필요로 합니다. 이는 모델이 수백만 개의 파라미터를 가질 수 있고, 충분한 데이터가 없을 경우 학습이 제대로 이루어지지 않을 수 있기 때문입니다.

4. 계산 복잡성

  • 머신러닝 알고리즘은 일반적으로 비교적 간단한 계산을 수행하므로, 보통 일반 CPU에서 충분히 처리할 수 있습니다.
  • 딥러닝은 계산적으로 매우 복잡하며 GPU와 같은 고성능 컴퓨팅 자원을 필요로 합니다. 이는 학습 과정에서 방대한 양의 데이터를 처리해야 하고, 많은 수의 층과 파라미터를 최적화해야 하기 때문입니다.