1. AlexNet (Multi GPU, Data Augmentation)
AlexNet은 2012년 ImageNet 대회에서 압도적인 성능 향상을 보여준 모델로, CNN이 부활하는 계기가 되었음.
* Multi-GPU Training
당시 GPU 메모리 한계로 인해 네트워크를 두 개의 GPU에 병렬 분산해 학습.
-> 레이어를 나눠서 각각의 GPU에서 계산하고, 일부 레이어는 동기화함.
-> 병렬 컴퓨팅 도입으로 학습 시간 단축.
* Data Augmentation
훈련 데이터에 랜덤 크롭, 좌우 반전, 밝기 변화 등의 변형을 추가해 모델이 더 일반화되도록 학습시킴.
-> Overfitting 감소 + 더 다양한 feature 학습 가능
2. Sigmoid -> ReLU
기존 CNN에서는 Sigmoid, tanh 같은 함수를 썼는데, 이들은 기울기 소실(vanishing gradient) 문제가 있음.
- Sigmoid는 입력이 크거나 작으면 기울기가 거의 0 → 학습이 잘 안 됨
- ReLU (Rectified Linear Unit) 는 f(x) = max(0, x)
- 0 이하에서는 죽고, 0 이상에서는 그대로 전달
- 기울기 유지, 연산 간단, 학습 속도 빠름
3. Dropout
Dropout은 학습 중 뉴런을 랜덤하게 끊어서 학습하게 함
- 각 미니배치마다 일부 뉴런을 비활성화
- 특정 뉴런에 과도하게 의존하는 것을 방지
- 학습 단계에서는 무작위로 끊고, 추론(inference) 단계에서는 전체를 사용 (단, 출력값 스케일 조정)
- 네트워크 일반화 성능을 높이고, 과적합을 방지하는 간단하지만 강력한 테크닉
4. Batch Normalization
각 layer의 입력 분포 변화를 감소시켜 학습이 안정되고 수렴 속도를 증가시키게 하기 위함.
- Fully Connected → BatchNorm(γ, β) → Activation Function
- Batch 1, 2의 입력 분포가 다르지만, 정규화 과정을 통해 비슷한 분포로 맞춰짐. 즉, 다양한 입력 데이터도 일정한 스케일로 만들어 안정적인 학습 가능
5. 1X1 Convolution
채널 간 정보를 통합하는 데 사용. 채널 수를 줄여 계산량 감소, 혹은 늘려 표현력 증가.
- 모든 채널(feature map)이 항상 유의미한 건 아니라는 점에서 출발한 개념. 중복이 있거나, 정보량이 떨어지는 채널들을 선형 결합하여 새로운 조합으로 압축 or 강조함.
- GoogLeNet의 Inception Module에서 channel bottleneck 역할 수행
6. Inception Module
- 여러 스케일의 feature 추출을 병렬로 처리
- 1x1, 3x3, 5x5, MaxPool을 병렬 적용 → 다양한 receptive field 확보
- 1x1 Convolution으로 연산량 조절
- 같은 layer에서 local + global 특징을 동시에 학습
- GoogLeNet에서 처음 등장, 모델의 depth와 width 조절에 유리
7. Residual Block
- 딥러닝이 깊어질수록(100+ Layer) 학습 성능이 오히려 저하되는 문제 발생
- 입력값을 그대로 출력에 더하는 identity skip connection 사용
- output = F(x) + x
- gradient 소실 방지, 정보 흐름 유지
- 100+ layer 모델도 학습 가능
- ResNet은 ImageNet에서 최고 성능 달성, 이후 거의 모든 네트워크에서 사용되는 구조가 됨
'AI SOC COURSE > Python (Keras)' 카테고리의 다른 글
Python Course Review - 04. MNIST CNN (LeNet) (1) | 2025.04.10 |
---|---|
Python Course Review - 03. CNN(Convolutional Neural Network) (0) | 2025.04.10 |
Python Course Review - 02. Keras를 이용한 Sequential Model 생성 (1) | 2025.04.09 |
Python Course Review - 01. Machine Learning (0) | 2025.04.09 |
Python Course Review - 00. Machine Learning 개요 (1) | 2025.04.09 |