본문 바로가기
딥러닝

[딥러닝] 딥러닝 모델은 어떻게 학습되는가? – DNN & CNN 학습 구조

by LSB98 2025. 4. 20.
728x90
반응형

1. Gradient와 Jacobian의 차이

항목 Gradient Jacobian
정의 스칼라 함수의 편미분 벡터 벡터 함수의 편미분 행렬
형태 1차원 벡터 2차원 행렬
사용 DNN의 파라미터 업데이트 다층 신경망, 출력 다중인 경우

 

즉, Gradient는 기울기, Jacobian은 벡터 기울기의 집합

 

2. Forward & Backward Propagation

Forward Propagation (순전파)

: 입력 → 가중치합 → 활성화함수 → 출력

 

Backward Propagation (역전파)

: 출력 오류 → 기울기 계산 → 가중치 업데이트

 

핵심 공식 (오차 역전파):

Chain Rule(연쇄법칙)로 이전 층까지 전달됨


3. 경사하강법 종류 (BGD vs MBGD vs SGD)

방식 설명 단점
BGD (Batch) 전체 데이터로 한 번 업데이트 정확하나 느림
SGD (Stochastic) 1개 샘플로 즉시 업데이트 빠르지만 진동 큼
MBGD (Mini-batch) 일부 묶음(batch) 단위 속도와 정확도 균형 탁월

 

4. 평가 지표 (Classification)

 

기호 전체 이름의 예시 (스팸 메일 분류기 기준)

TP True Positive 실제로 Positive이고, 예측도 Positive 스팸 메일을 정확히 스팸이라고 예측함
FP False Positive 실제로는 Negative인데, 예측은 Positive 일반 메일을 잘못 스팸이라고 예측함 (오탐)
FN False Negative 실제로는 Positive인데, 예측은 Negative 스팸 메일을 놓치고 일반 메일이라고 예측함
TN True Negative 실제로 Negative이고, 예측도 Negative 일반 메일을 정확히 일반이라고 예측함

 

5. Validation vs Test set

용도 설명
Validation Set 학습 중 모델 튜닝용
Test Set 학습 후 최종 성능 평가용

 

과적합 방지에는 Validation!

 

6. 대표 이미지 데이터셋

데이터 SET 크기 클래스 특징
MNIST 28×28 10 흑백 숫자 이미지
CIFAR-10/100 32×32 10/100 컬러, 사물 이미지
ImageNet 다양한 크기 1000+ 대규모, 실생활 객체

 

7. Multimodal Deep Learning (멀티모델 딥러닝)

여러 종류의 데이터를 함께 학습 (예: 이미지 + 텍스트)

 

예시:

  • VQA (Visual Question Answering): 이미지 + 질문 → 답 생성
  • COCO Dataset: 이미지 + 캡션
  • CLIP, Flamingo: 텍스트와 이미지를 동시에 이해

 

8. CNN 입력 형태 정리

입력 이미지: 2차원 행렬 + 채널 → (Width × Height × Channel)
예: 28×28 (흑백), 32×32×3 (컬러)

 

CNN 학습 흐름:
Convolution → ReLU → Pooling → Flatten → FC Layer → Softmax

 

 

 

✅ CNN 처리 단계 설명

단계이름설명
1️⃣ Convolution 합성곱 연산 이미지의 **특징(모서리, 색상 변화 등)**을 추출하는 단계
작은 필터(커널)가 이미지를 스캔하며 새로운 Feature map을 만듬
2️⃣ ReLU 활성화 함수 (비선형성 부여) Convolution 결과에 비선형성 추가
→ 음수는 0으로, 양수는 그대로: f(x)=max⁡(0,x)f(x) = \max(0, x)
→ 신경망이 더 복잡한 패턴을 학습 가능하게 함
3️⃣ Pooling 서브샘플링 특징 맵의 크기를 줄이는 단계 (예: 2×2에서 가장 큰 값만 뽑음 = Max Pooling)
→ 연산량 감소, 과적합 방지, 위치 변화에 강한 모델 생성
4️⃣ Flatten 평탄화 2차원 Feature map을 1차원 벡터로 변환
→ Fully Connected Layer에 입력하기 위한 준비 작업
5️⃣ FC Layer 완전 연결 계층 Flatten된 벡터를 받아서 분류 작업을 수행
→ 이미지 속 고차원적인 의미를 파악해 최종 분류함
6️⃣ Softmax 확률 출력 함수 분류 문제에서 사용되는 출력층 활성화 함수
→ 각 클래스에 속할 확률로 변환, 총합은 1이 됨
예: [0.1, 0.8, 0.1] = 두 번째 클래스일 확률이 가장 높음

📌 예시: 고양이 vs 개 분류기

  • Convolution → 고양이 귀 같은 형태 특징을 감지
  • ReLU → 중요한 특징만 남김
  • Pooling → 크기 축소, 위치 변화 무시
  • Flatten → 2D를 1D로 변환
  • FC Layer → “이건 고양이 같다”고 판단
  • Softmax → "고양이일 확률 90%, 개인 확률 10%"
728x90
반응형