개요
인간의 뇌 신경망 구조를 모방한 여러 층의 인공 신경망을 사용하여 데이터로부터 복잡한 패턴을 학습하는 머신러닝의 한 분야
딥러닝 vs 전통적 머신러닝
전통적 머신러닝:
- 사람이 특징(Feature)을 수동으로 설계
- 간단한 패턴 학습
- 작은 데이터셋에 효과적
- 예: Random Forest, SVM
딥러닝:
- 자동으로 특징을 학습 (Feature Learning)
- 복잡한 비선형 패턴 학습
- 대규모 데이터셋에서 강력
- 예: CNN, RNN, Transformer
딥러닝이 강력한 이유
- 표현 학습 (Representation Learning): 원시 데이터에서 고수준 특징 자동 추출
- 계층적 학습: 낮은 층에서 단순한 패턴, 높은 층에서 복잡한 패턴
- 비선형성: 복잡한 함수를 근사할 수 있음
- 확장성: 데이터와 컴퓨팅 파워가 많을수록 성능 향상
학습 로드맵
딥러닝을 학습하기 위해 다음 순서로 각 주제를 학습하세요:
1단계: 기초 개념
- 퍼셉트론과_신경망 - 신경망의 기본 구조 이해
- 퍼셉트론의 구조와 한계
- 다층 퍼셉트론 (MLP)
- 순전파 과정
2단계: 핵심 구성 요소
-
활성화_함수 (Activation Function) - 비선형성을 부여하는 함수들
- Sigmoid, Tanh, ReLU, Leaky ReLU, ELU, Softmax
- 각 함수의 장단점과 사용 시기
-
손실_함수와_최적화 - 학습의 핵심 메커니즘
- 손실 함수 (MSE, Cross-Entropy)
- 역전파 (Backpropagation)
- 최적화 알고리즘 (SGD, Adam, AdamW)
- 학습률 스케줄링
3단계: 성능 향상 기법
- 정규화_기법 (Regularization) - 과적합 방지와 안정적인 학습
- Weight Decay, Dropout
- Batch Normalization, Layer Normalization
- Early Stopping, Data Augmentation
- 가중치 초기화
4단계: 실전 적용
-
딥러닝_실전_가이드 - 문제 해결과 튜닝
- 하이퍼파라미터 튜닝
- 일반적인 문제와 해결책
- 체크리스트
-
딥러닝_코드_실습 - 프레임워크 활용
- PyTorch 구현
- Keras 구현
- MNIST 실습 프로젝트
다음 단계
딥러닝 기초를 마스터했다면:
- 컴퓨터 비전 (CNN) - 이미지 데이터 처리
- 자연어 처리 (RNN, Transformer) - 텍스트 데이터 처리
- 생성 모델 (GAN, VAE) - 데이터 생성
- 강화학습 - 행동 학습
참고 자료
온라인 강의
책
- 밑바닥부터 시작하는 딥러닝
- Deep Learning (Ian Goodfellow)
- Hands-On Machine Learning
문서
실습
- Kaggle - MNIST, Fashion MNIST
- Google Colab - 무료 GPU
학습 팁
💡 이론을 이해하는 것도 중요하지만, 직접 코드를 작성하고 실험해보는 것이 가장 중요합니다. MNIST부터 시작하여 점점 복잡한 문제로 나아가세요!
효과적인 학습 방법
- 순서대로 학습: 위의 로드맵을 따라 단계별로 학습
- 실습 중심: 각 개념을 배운 후 반드시 코드로 구현
- 문제 해결: 작은 프로젝트부터 시작 (MNIST → Fashion MNIST → CIFAR-10)
- 커뮤니티 활용: Kaggle, GitHub에서 다른 사람의 코드 참고
- 반복 학습: 어려운 개념은 여러 번 복습