콘텐츠로 바로가기

Deep Learning & Transformer

인간 뇌의 뉴런 구조를 수리적으로 모사하여 복잡한 비선형 데이터를 처리하고, 이미지와 시퀀스 데이터에서 물리적 특징을 자동 추출하는 딥러닝의 역학을 다루는 학습 노드입니다.

Article
M

Me

hyunyoun's Blog

machine-learning-aimachine-learningaideep-learningtransformercomputer-vision-mechanicslearningpy-torch8 min read

1. Overview

딥러닝 및 신경망(Deep Learning & Neural Networks, DLN)은 인간의 뉴런 연결 구조에서 착안한 계산 모델을 행렬 연산으로 구현해, 단순한 선형 방정식으로는 표현하기 어려운 복잡한 '비선형(Non-linear) 패턴'을 학습하는 방법을 다룹니다.

전통적인 기계 학습이 사람이 고양이의 '귀 모양', '수염' 같은 특징을 직접 설계해야(Feature Engineering) 했다면, 딥러닝은 고양이 사진을 입력으로 받아 수십 개의 은닉층(Hidden Layer)을 거치며 점, 선, 면의 패턴을 계층적으로 학습합니다. 학습자는 퍼셉트론과 활성화 함수의 기초를 시작으로, 이미지의 공간 구조를 다루는 합성곱 신경망(CNN)과 시계열 데이터의 문맥을 보존하는 순환 신경망(RNN)의 역학을 배웁니다. 나아가 수백만 개의 미분값을 거꾸로 전파하며 오차를 줄이는 역전파(Backpropagation)의 엔진을 손수 조립합니다.

2. Scope & Boundaries

In-Scope

  • 신경망 기초 (Neural Foundations): 퍼셉트론, 다층 신경망(MLP), 활성화 함수(ReLU, Sigmoid, Softmax), 순전파(Forward Propagation).
  • 최적화와 역전파 (Optimization & Backprop): 오차 역전파(Backpropagation), 기울기 소실(Vanishing Gradient), 옵티마이저(Adam, RMSProp), 드롭아웃(Dropout).
  • 컴퓨터 비전 모델 (Computer Vision): 합성곱 연산(Convolution), 풀링(Pooling), CNN 아키텍처(ResNet, VGG).
  • 시퀀스 및 시계열 모델 (Sequential Modeling): 순환 신경망(RNN), 장단기 메모리(LSTM), GRU.

Out-of-Scope

  • 트랜스포머 아키텍처 및 거대 언어 모델(LLM): Attention 매커니즘 기반의 수백억 파라미터 텍스트 생성 모델 \rightarrow 11-03. LLM & RAG Engineering 영역으로 위임.
  • 분산 병렬 학습 인프라 구축: GPU 수백 대를 클러스터링하여 NVLink로 통신하는 물리적 인프라 \rightarrow 11-04. MLOps & Continuous Intelligence 영역으로 위임.

Boundaries

  • DLN vs. FML (11-01): FML(11-01)이 회귀와 트리를 중심으로 엑셀 같은 정형 데이터를 주로 다루는 '전통적 머신러닝'이라면, DLN은 행렬 연산과 다중 레이어를 통해 이미지, 소리 같은 비정형 데이터의 패턴을 학습하는 모델 계열입니다.

3. Counterexample

  • 은닉층 무한 맹신 (Deeper is Better Fallacy): "딥러닝이니까 층(Layer)을 1,000개쯤 쌓으면 무조건 성능이 좋아지겠지"라고 생각하며 무턱대고 Linear 레이어를 추가하는 행위. 층이 깊어질수록 곱해지는 미분값이 0으로 수렴하여 학습이 멈추는 기울기 소실(Vanishing Gradient) 문제가 발생합니다. ResNet의 잔차 연결(Residual Connection)이나 ReLU 활성화 함수 같은 구조적 보완 없이 깊이만 늘리면 학습이 오히려 불안정해질 수 있습니다.
  • 프레임워크 코더의 착각 (Blackbox API Coder Fallacy): import torch; model = CNN(); model.fit() 몇 줄의 코드만 다루면서 딥러닝을 이해했다고 믿는 현상. PyTorch나 TensorFlow가 역전파 미분을 자동으로 계산해 주기 때문에 편리하지만, Loss가 전혀 줄어들지 않을 때 모델 내부의 텐서(Tensor) 형상(Shape) 불일치나 학습률(Learning Rate) 발산을 스스로 디버깅하려면 내부의 행렬 닷(Dot) 프로덕트 흐름을 이해해야 합니다.

4. Prerequisites

  • 수리 및 컴퓨팅 논리 (Basic): 100만 차원의 데이터를 행렬(Matrix) 곱으로 한 번에 계산하는 선형 대수의 물리와 편미분의 체인 룰(Chain Rule)을 이해해야 합니다. (01. MAC)
  • 기초 기계 학습 (Recommended): 경사 하강법(Gradient Descent)과 손실 함수(Loss)의 기본 구조를 알아야 역전파를 이해할 수 있습니다. (11-01. LNO)

5. Learning Map

Sequence Core Cluster Objective & Description Evidence (BoK)
1 Neural Foundations 퍼셉트론을 수학적으로 모사하고 비선형 함수(ReLU)를 적용해 복잡한 패턴을 학습하는 신경망의 기본 구조를 세웁니다. P1
2 Backpropagation Engine 정답과의 오차를 계산한 뒤 미분의 연쇄 법칙을 타고 뒤로 역행하며 수만 개의 가중치를 미세 조정합니다. Industry
3 CNN (Spatial Vision) 필터를 이동시키며(합성곱) 픽셀에서 점, 선, 면을 추출하여 이미지를 인식하는 구조를 이해합니다. P4
4 RNN (Temporal Memory) 과거의 정보를 현재로 넘겨주며(Hidden State) 문장이나 시계열 데이터의 맥락을 기억하는 모델을 설계합니다. Industry

6. Learning Topics

Basic

Core Topic 01: 퍼셉트론과 활성화 함수 (Perceptron & Activations)

  • Why to Learn: 선을 하나밖에 그을 수 없는 단순한 선형 모델의 한계를, 어떻게 층을 쌓고 구부려서 비선형의 복잡한 세상(XOR 문제 등)을 풀어내는지 깨닫기 위함입니다.
  • What to Learn:
    • Concepts: 뉴런 모사(Perceptron), 다층 퍼셉트론(MLP: Multi-Layer Perceptron), 가중치(Weight)와 편향(Bias).
    • Skills: 비선형성(Non-linearity), 활성화 함수(Sigmoid, Tanh, ReLU, Softmax), 텐서(Tensor) 행렬 연산.
    • Tools: PyTorch, Numpy.
    • Trade-offs: 출력을 0~1 사이로 압축해 확률처럼 쓰기 좋은 Sigmoid의 장점 vs 층이 깊어질수록 미분값이 0에 가까워져 학습이 느려지는 한계, 그리고 양수는 그대로 통과시키는 단순한 ReLU가 현대 딥러닝에서 널리 쓰이게 된 이유.
  • How to Learn:
    • 1단계: 입력 XX와 가중치 WW의 내적에 편향 BB를 더하는 Y=WX+BY = WX + B 행렬 연산을 구현하고, 아무리 층을 쌓아도 결국 선형 함수일 뿐임을 수학적으로 확인합니다.
    • 2단계: 그 층 사이에 ReLU 활성화 함수를 넣어 '비선형성(Non-linearity)'을 주입하면, 모델이 동그라미나 세모처럼 다양한 형태의 결정 경계를 표현할 수 있게 되는 범용 근사 정리(Universal Approximation Theorem)를 실감합니다.
  • Implement: Numpy 행렬 곱셈만으로 3층 신경망(Input-Hidden-Output)의 순전파(Forward Propagation) 연산을 구현하고, 고양이 사진 배열(예: 64x64x3)을 넣어 랜덤한 분류 확률값을 뽑아내는 추론 엔진 뼈대 작성.

Core Topic 02: 오차 역전파와 옵티마이저 역학 (Backprop & Optimizers)

  • Why to Learn: 수십만 개의 가중치 WW를 어떻게 동시에 정답에 가깝게 조율하는지, '미분 연쇄 법칙(Chain Rule)'이 작동하는 학습 엔진을 이해하기 위해서입니다.
  • What to Learn:
    • Concepts: 오차 역전파(Backpropagation), 기울기 소실(Vanishing Gradient), 연쇄 법칙.
    • Skills: 경사 하강법 변형(SGD, Momentum, RMSProp, Adam), 가중치 초기화(Xavier, He), 드롭아웃(Dropout).
    • Tools: PyTorch Autograd.
    • Trade-offs: 한 스텝마다 조금씩 안정적으로 이동하는 순수 SGD의 장점 vs 과거의 가속도(Momentum)를 반영해 빠르게 수렴하지만 최저점을 지나칠 수도 있는 Adam의 타협점.
  • How to Learn:
    • 1단계: 출력층에서 발생한 오차(Loss)가 미분 함수를 타고 거꾸로 전달되면서, 중간층의 가중치가 오차에 얼마나 기여했는지 계산되는 미분 체인 룰을 손으로 추적합니다.
    • 2단계: 학습 중 뉴런의 50%를 무작위로 비활성화하는 드롭아웃(Dropout)을 켜면, 특정 뉴런에 대한 과도한 의존을 줄이고 과적합(Overfitting)을 억제하는 앙상블 효과를 분석합니다.
  • Implement: PyTorch를 이용해 MNIST 숫자 이미지 분류 모델을 만들 때, 옵티마이저를 SGD와 Adam으로 각각 설정하여 동일한 10 Epoch 동안 손실(Loss)이 떨어지는 궤적과 속도를 그래프로 비교하는 보고서.

Practical

Core Topic 03: 컴퓨터 비전과 합성곱 신경망 (CNN Mechanics)

  • Why to Learn: 이미지를 1차원 배열로 펼치면 픽셀 간의 상하좌우 '공간 정보'가 사라지는 문제를 해결하고, 이미지의 국소 구조를 보존하는 모델을 설계하기 위해서입니다.
  • What to Learn:
    • Concepts: 합성곱(Convolution), 채널(Channel), 필터(Filter/Kernel), 수용장(Receptive Field).
    • Skills: 스트라이드(Stride)와 패딩(Padding), 풀링 레이어(Max Pooling), 전이 학습(Transfer Learning), ResNet(잔차 연결).
    • Tools: Torchvision.
    • Trade-offs: 큰 필터(11x11) 하나로 넓은 영역을 한 번에 보는 직관성 vs 작은 필터(3x3) 여러 개를 깊게 쌓아 연산량을 줄이면서 더 깊은 추상화를 얻는 VGG 아키텍처의 장점.
  • How to Learn:
    • 1단계: 3x3 필터 윈도우가 이미지 위를 미끄러지며(Sliding) 원본 픽셀과 행렬 곱을 수행하여 테두리(Edge)나 질감(Texture)을 담은 피처 맵(Feature Map)으로 변환하는 물리적 스캐닝 작업을 시각적으로 시뮬레이션합니다.
    • 2단계: 레이어가 100층을 넘어갈 때, 입력 데이터 x를 레이어를 건너뛰어 뒤쪽에 더해주는 F(x) + x (Residual Connection) 구조가 어떻게 기울기 소실을 줄이고 깊은 망의 학습을 가능하게 했는지 살펴봅니다.
  • Implement: ImageNet 데이터로 수주에 걸쳐 훈련된 거대 CNN 모델(ResNet50)을 가져와, 마지막 레이어만 교체한 뒤(Transfer Learning) 강아지와 고양이 데이터 1,000장만 재학습시켜 10분 만에 정확도 95%를 달성하는 파이프라인 스크립트.

Advanced

Core Topic 04: 시퀀스 모델링과 순환 신경망 (RNN, LSTM)

  • Why to Learn: 어제 주식 가격이 오늘의 가격에 영향을 미치고 앞의 단어가 뒤의 단어 해석을 결정하듯, '시간적 순서(Sequence)'를 가진 문맥 데이터를 처리하기 위해서입니다.
  • What to Learn:
    • Concepts: 순환 신경망(RNN), 은닉 상태(Hidden State), 시퀀스 길이(Sequence Length).
    • Skills: 장기 의존성 문제(Long-Term Dependency Problem), 게이트 메커니즘(Forget, Input, Output), LSTM(Long Short-Term Memory).
    • Tools: PyTorch RNN/LSTM 모듈.
    • Trade-offs: "나는 어제 밥을 먹었다"라는 짧은 문장을 처리하기 쉬운 바닐라 RNN의 가벼움 vs 100문장 앞에 나온 주인공의 이름을 기억하기 위해 복잡한 게이트(Gate) 회로를 추가하면서 연산량이 크게 늘어나는 LSTM의 비용.
  • How to Learn:
    • 1단계: RNN 셀 하나가 현재 시점의 데이터 x_t를 입력받으면서 이전 상태 h_{t-1}을 함께 사용해 현재 상태를 업데이트하는 루프(Loop) 구조를 펼쳐(Unfold) 봅니다.
    • 2단계: 과거의 기억이 반복 곱셈 과정에서 약해지는 장기 의존성 문제를 해결하기 위해, LSTM이 셀 상태(Cell State)를 도입해 잊을 정보와 저장할 정보를 게이트로 제어하는 방식을 분석합니다.
  • Implement: 셰익스피어의 소설 텍스트 데이터를 문자(Character) 단위로 LSTM에 학습시킨 뒤, 첫 글자 "A"를 입력하면 모델이 과거 문맥을 반영해 그럴듯한 영문장 시퀀스를 계속 생성하는 텍스트 제너레이터 봇 구현.

7. Terminology

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry) Flags(core/misused/legacy)
Backpropagation 출력층의 오차를 반대 방향으로 전파하며 각 가중치가 오차에 기여한 정도를 계산하는 학습 알고리즘입니다. 기본 학습 엔진 Chain Rule Forward Path 단순히 '거꾸로 계산'으로 오해 P1:CS2023/Machine Learning core
Activation Function 입력 데이터의 가중합을 비선형적인 신호로 변환하여 신경망이 복잡한 패턴을 배울 수 있게 하는 수리 장치입니다. 기본 비선형성 ReLU / Sigmoid Perceptron 결과값만 정하는 함수로 오해 P1:CS2023/Machine Learning core
Convolution (합성곱) 필터를 슬라이딩하며 데이터의 특징을 추출하는 연산으로, 이미지의 공간적 구조를 물리적으로 보존합니다. 추천 특징 추출 Stride / Receptive Fully Connected 단순히 '이미지 크기 줄이기' P4:DS-BoK Analysis core
Dropout 학습 시 무작위로 뉴런을 비활성화하여 특정 뉴런에 대한 과도한 의존을 물리적으로 차단하는 기법입니다. 실무 정규화 Overfitting Ensemble 데이터 삭제로 오해 Industry AI Research core

8. References

Primary References

Secondary References

  • [Deep Learning] Ian Goodfellow et al. — The definitive academic textbook.
  • [Dive into Deep Learning (D2L.ai)] — Best interactive code-based learning resource.

Industry References

  • [PyTorch/TensorFlow Documentation - Core Concepts] — Implementation standards.
  • [NVIDIA Deep Learning Institute] — GPU-accelerated computing physics.

9. Final Checklist

Primary Checklist

  • 심층 신경망이 '특징 공학' 없이도 어떻게 물리적 데이터를 수리적으로 계층화하는지 설명 가능한가? (P1)
  • 셀프 어텐션의 수리적 연산량이 입력 토큰 수치 변화에 따라 물리적으로 어떻게 급증하는지 논증할 수 있는가? (P1)

Secondary Checklist

  • 활성화 함수 ReLU가 Sigmoid 대비 기울기 소실 문제를 물리적으로 어떻게 완화하는지 수식적으로 논할 수 있는가?
  • CNN에서 풀링 레이어가 데이터의 미세한 위치 변화에 강인한(Robust) 지능을 만드는 물리적 이유를 아는가?

Industry Checklist

  • 특정 모델 아키텍처의 파라미터 개수를 기반으로 필요한 하드웨어 메모리 점유량을 물리적으로 계산 가능한가? (SFIA)
  • 분산 학습 환경에서 데이터 병렬(Data Parallel) 처리 시 각 노드 간 가중치 동기화의 물리적 지연을 최소화할 수 있는가?

Deep Learning & Computer Vision Mechanics

2 / 6