딥러닝 — 2강: CNN, RNN, 트랜스포머
CNN (합성곱 신경망)
CNN의 등장 배경:
→ 이미지 데이터는 공간적 구조 있음
→ 일반 MLP: 픽셀을 1차원으로 펼침 → 공간 정보 손실
→ CNN: 2D 구조 유지하며 특징 추출
합성곱 연산 (Convolution):
→ 필터(커널)가 이미지를 스캔하며 특징 맵 생성
→ 에지, 코너, 패턴 등 국소 특징 추출
→ 가중치 공유 (Weight Sharing): 필터를 전체 이미지에 적용
→ 파라미터 수 대폭 감소
CNN 주요 구성 요소:
합성곱 층 (Convolutional Layer):
→ 여러 필터 적용 → 여러 특징 맵 생성
→ 하이퍼파라미터: 필터 수, 크기, 스트라이드, 패딩
풀링 층 (Pooling Layer):
→ 특징 맵 크기 축소 (다운샘플링)
→ 최대 풀링(Max Pooling): 구역 내 최대값
→ 평균 풀링(Average Pooling): 구역 내 평균
→ 이동 불변성(translation invariance) 확보
완전 연결층 (Fully Connected Layer):
→ 추출된 특징 → 최종 분류
→ Flatten 후 Dense 층
배치 정규화 (Batch Normalization):
→ 층 출력을 정규화 → 훈련 안정·가속
→ 기울기 소실/폭발 완화
주요 CNN 아키텍처
LeNet-5 (LeCun, 1998):
→ 최초의 성공적 CNN
→ 손글씨 숫자 인식 (MNIST)
AlexNet (Krizhevsky, 2012):
→ ImageNet 대회 우승 (딥러닝 붐의 시작)
→ ReLU 활성화 함수 대중화
→ 드롭아웃(Dropout) 적용
VGGNet (Simonyan, 2014):
→ 3×3 작은 필터를 깊게 쌓음
→ 단순한 구조, 이해하기 쉬움
→ VGG16, VGG19
ResNet (He, 2015):
→ 잔차 연결(Skip Connection) 도입
→ Residual Block: x + F(x)
→ 기울기 소실 문제 해결
→ 수백 층 학습 가능 (ResNet-50, 101, 152)
전이 학습 (Transfer Learning):
→ ImageNet 학습된 모델을 새 태스크에 재활용
→ 특징 추출기로 사용 (가중치 고정)
→ 파인튜닝(Fine-tuning): 일부 층 재학습
→ 데이터 부족 문제 해결
RNN (순환 신경망)
RNN의 등장 배경:
→ 시퀀스 데이터: 언어, 음성, 시계열
→ 이전 상태 정보를 현재에 활용
RNN 구조:
→ 은닉 상태 h_t = tanh(W_h * h_{t-1} + W_x * x_t + b)
→ h_{t-1}: 이전 시점 은닉 상태
→ x_t: 현재 입력
→ 파라미터 공유: 모든 시점에서 동일 가중치
RNN의 한계:
→ 장기 의존성 문제: 먼 과거 정보 기억 어려움
→ 기울기 소실: 역전파 시 기울기가 점점 작아짐
LSTM (Long Short-Term Memory):
→ 게이트 메커니즘으로 장기 기억 해결
→ 구성 요소:
- 망각 게이트 (Forget Gate): 이전 셀 상태 얼마나 잊을지
- 입력 게이트 (Input Gate): 새 정보 얼마나 저장할지
- 출력 게이트 (Output Gate): 얼마나 출력할지
- 셀 상태 (Cell State): 장기 기억 경로
GRU (Gated Recurrent Unit):
→ LSTM 경량화 버전 (게이트 2개)
→ 리셋 게이트 + 업데이트 게이트
→ LSTM과 유사한 성능, 빠른 학습
어텐션 메커니즘
어텐션의 직관:
→ 번역 시 모든 단어를 동등하게 참고하지 않음
→ 현재 단어 생성 시 관련 입력에 집중
어텐션 계산:
→ 쿼리(Query): 현재 디코더 상태
→ 키(Key): 인코더 각 위치의 표현
→ 값(Value): 실제 인코더 정보
→ Attention(Q, K, V) = softmax(QKᵀ/√d_k) V
→ 스케일 인수 √d_k: 내적값이 커지는 것 방지
자기 어텐션 (Self-Attention):
→ 쿼리·키·값이 모두 같은 시퀀스에서 옴
→ 문장 내 단어 간 관계 포착
→ "은행에서 돈을 꺼냈다" → '은행'이 금융기관임을 맥락 파악
멀티헤드 어텐션 (Multi-Head Attention):
→ 여러 어텐션 헤드를 병렬로 실행
→ 다양한 종류의 관계를 동시에 포착
→ 결과를 연결(concatenate)하여 선형 변환
트랜스포머 (Transformer)
트랜스포머의 혁신 (Vaswani, 2017 "Attention is All You Need"):
→ RNN 없이 어텐션만으로 시퀀스 처리
→ 병렬 처리 가능 → 훨씬 빠른 학습
→ 현대 NLP의 기반
트랜스포머 인코더:
→ 멀티헤드 자기 어텐션 + 피드포워드 층
→ 잔차 연결 + 층 정규화 (Layer Norm)
→ 위치 인코딩 (Positional Encoding): 순서 정보 추가
트랜스포머 디코더:
→ 마스크된 자기 어텐션 (미래 보지 않음)
→ 인코더-디코더 어텐션
→ 피드포워드 층
주요 트랜스포머 기반 모델:
BERT (Google, 2018):
→ 양방향 인코더 (Bidirectional)
→ 마스크 언어 모델(MLM) + 다음 문장 예측으로 사전 학습
→ 문서 분류, 질의응답, NER에 활용
GPT 시리즈 (OpenAI):
→ 디코더만 사용 (단방향, 자기회귀)
→ 다음 토큰 예측으로 학습
→ 텍스트 생성에 강력
→ GPT-3, GPT-4: 대화, 코드 생성, 창작
ViT (Vision Transformer):
→ 이미지를 패치로 분할 → 시퀀스처럼 처리
→ CNN 없이 트랜스포머만으로 이미지 인식
자주 묻는 질문
Q. CNN과 트랜스포머 중 이미지 분류에는 어느 것이 더 좋나요? A. 데이터양에 따라 다릅니다. 중소 데이터셋에서는 CNN(특히 ResNet, EfficientNet)이 이점이 있습니다. 대규모 데이터셋에서는 ViT(Vision Transformer)가 CNN을 능가하는 경우가 많습니다. 현재는 CNN과 어텐션을 결합한 하이브리드 모델도 활발히 연구됩니다.
Q. LSTM과 트랜스포머 중 시계열 데이터에는 무엇이 좋나요? A. 트랜스포머는 병렬 처리와 장기 의존성 포착에 강하지만 O(n²) 어텐션 연산 때문에 긴 시퀀스에 비효율적입니다. LSTM은 순차적이지만 메모리 효율적입니다. 최근에는 시계열 전용 트랜스포머(Informer, PatchTST)가 등장해 두 가지를 상황에 맞게 선택하는 것이 중요합니다.
O
OIYO 편집부
Content Editor지식 인큐베이터이자 전문 콘텐츠 크리에이터. 경영, 경제, 법률 및 실생활에 유용한 실무/자격증 중심의 깊이 있는 정보를 연구하고 공유합니다.