Deep Learning (DL)
딥러닝(DL)은 여러 계층의 신경망으로 원시 데이터에서 특성을 학습하는 머신러닝입니다. 작동 원리, 주요 아키텍처, 활용 사례를 다룹니다.
딥러닝(DL)은 머신러닝(ML)의 한 분야로, 여러 계층을 쌓은 신경망을 학습시켜 픽셀, 오디오 파형, 텍스트와 같은 원시 데이터에서 직접 학습합니다. 여기서 "딥"은 계층의 깊이를 가리킵니다. 각 계층은 이전 계층의 출력을 변환하므로 엔지니어가 특성을 직접 설계하지 않아도 네트워크가 이미지의 가장자리, 질감, 전체 객체에 이르는 자체적인 특성 계층 구조를 구축합니다. 딥러닝은 현대의 컴퓨터 비전, 음성 인식, 대규모 언어 모델(LLM), 생성형 AI를 뒷받침합니다.
딥러닝 작동 방식#
신경망은 계층을 연결한 구조입니다. 각 계층은 입력에 학습된 가중치 행렬을 곱하고 편향을 더한 뒤, ReLU와 같은 비선형 활성화 함수를 통과시킵니다. 비선형성이 있어야 깊이가 유용합니다. 비선형성이 없다면 계층을 아무리 쌓아도 하나의 선형 변환으로 축약됩니다.
학습에서는 네트워크의 출력이 학습 라벨과 일치하도록 가중치를 조정합니다. 각 단계에서 데이터 배치가 네트워크를 순방향으로 통과하고, 손실 함수가 오차를 계산하며, 역전파가 각 가중치가 오차에 기여한 정도를 계산합니다. 그런 다음 확률적 경사 하강법(SGD)이나 Adam과 같은 옵티마이저가 오차를 줄이는 방향으로 각 가중치를 조정합니다. 여러 에포크에 걸쳐 이를 반복하면 무작위 가중치가 유용한 특성으로 바뀝니다. 아래 PyTorch 예제에서는 원 안에 있는지 여부로 라벨을 지정한 점 데이터를 사용해 선형 계층 하나와 3계층 네트워크를 학습합니다.
import torch
from torch import nn
torch.manual_seed(0)
# Points inside a circle are class 1: no straight line separates the classes
x = torch.rand(1000, 2) * 2 - 1
y = (x.pow(2).sum(dim=1) < 0.5).float().unsqueeze(1)
# A single linear layer versus stacked layers with nonlinear activations
models = {
"linear": nn.Linear(2, 1),
"deep": nn.Sequential(nn.Linear(2, 16), nn.ReLU(), nn.Linear(16, 16), nn.ReLU(), nn.Linear(16, 1)),
}
for name, model in models.items():
optimizer = torch.optim.Adam(model.parameters(), lr=0.01)
for step in range(500):
loss = nn.functional.binary_cross_entropy_with_logits(model(x), y)
optimizer.zero_grad()
loss.backward() # backpropagation computes gradients for every layer
optimizer.step()
accuracy = ((model(x) > 0) == y).float().mean()
print(f"{name}: {accuracy:.1%} accuracy")선형 모델의 정확도는 60.8%로, 원 바깥에 있는 점의 비율과 비슷합니다. 직선 경계로는 영역을 둘러쌀 수 없기 때문입니다. 딥 모델은 99.9%의 정확도에 도달합니다. 은닉 계층이 데이터에서 학습한 곡선 형태로 결정 경계를 구부리기 때문입니다. Ultralytics YOLO26은 훨씬 큰 규모에서 같은 반복 과정을 사용해 학습하며, GPU를 사용할 수 있는 경우 model.train()는 라벨이 지정된 이미지에 대해 순방향 연산, 손실 계산, 역전파를 수행합니다.
딥러닝과 머신러닝 비교#
딥러닝은 머신러닝의 하위 분야이며, 두 분야의 주된 차이는 특성을 얻는 방법에 있습니다. 의사결정 트리, 서포트 벡터 머신, 그래디언트 부스팅 트리와 같은 기존 알고리즘은 트랜잭션 크기나 단어 수처럼 사람이 정의한 특성으로 학습합니다. 딥 네트워크는 특성 자체를 학습하므로 이미지, 오디오, 텍스트와 같은 비정형 데이터에서 우세합니다. 하지만 이러한 능력에는 더 많은 비용이 듭니다. 딥 모델은 일반적으로 훨씬 많은 라벨링된 데이터가 필요하고, GPU나 다른 가속기에서 학습하며, 추론 과정을 덜 투명하게 보여줍니다. 테이블 데이터에서는 XGBoost와 같은 그래디언트 부스팅 트리가 여전히 강력한 경쟁력을 보입니다. 전이 학습은 대규모 데이터셋으로 사전 학습된 네트워크에서 시작해 딥 모델의 데이터 격차를 줄입니다.
주요 아키텍처#
- 합성곱 신경망(CNN): 학습된 작은 필터를 이미지 전체에 이동시키므로 프레임의 어느 위치에서든 같은 패턴을 인식합니다. CNN은 실시간 객체 탐지와 이미지 분할의 기반입니다.
- 순환 신경망(RNN): 은닉 상태를 유지하면서 시퀀스를 한 단계씩 처리합니다. LSTM과 같은 변형 모델은 Transformer가 등장하기 전까지 음성 및 번역 분야를 주도했습니다.
- Transformer: 셀프 어텐션을 사용해 시퀀스의 모든 요소를 병렬로 서로 연결합니다. 2017년에 소개되었으며, LLM과 비전 Transformer(ViT)의 기반입니다.
- 확산 모델: 단계별로 노이즈를 제거하는 방법을 학습하여 무작위 노이즈에서 이미지, 비디오, 오디오를 생성합니다.
간략한 역사#
딥러닝의 기반이 된 아이디어는 수십 년 전부터 존재했습니다. 역전파는 David Rumelhart, Geoffrey Hinton, Ronald Williams가 1986년에 발표한 논문을 통해 널리 알려졌지만, ImageNet과 같은 대규모 레이블 데이터셋, 이를 학습할 만큼 빠른 GPU, ReLU 활성화 및 드롭아웃과 같은 기법이라는 세 가지 요소가 함께 등장하기 전까지 신경망은 얕은 구조에 머물렀습니다. 2012년 AlexNet은 ImageNet 상위 5개 오류율을 15.3%로 낮췄습니다. 이는 다음으로 성능이 좋았던 모델의 26.2%와 비교되는 수치였으며, 이로 인해 거의 하룻밤 사이에 딥 네트워크 중심으로 분야가 전환되었습니다. Hinton, Yann LeCun, Yoshua Bengio는 이 연구로 2018년 튜링상을 받았고, 인공 신경망을 통한 머신러닝을 가능하게 한 발견을 인정받아 2024년 노벨 물리학상은 Hinton과 John Hopfield에게 수여되었습니다. 네트워크의 깊이도 계속 증가했습니다. 잔차 연결을 통해 ResNet은 152개 레이어로 구성된 네트워크를 학습할 수 있었고, 이를 앙상블한 모델은 2015년 ImageNet 분류 챌린지에서 상위 5개 오류율 3.57%로 우승했습니다.










