교육/멋쟁이사자처럼 AI School 7기
TIL 35. 딥러닝 - CNN(3)
삶은돼지고기
2022. 12. 8. 22:36
728x90
CNN의 역사
- 1988 LeNet
- LeCun이 만든 네트워크
- 최초의 CNN
- 손글씨 인식을 위한 architecture
- pooling, padding, activation, FC로 연계됨
- MNIST Dataset을 기준으로 99.05% 정확도 달성
- 2012 AlexNet
- 저자 Alex
- 224x224 크기의 RGB 3 채널 이미지를 input으로
- LeNet과 비슷한 구조
- 2개의 GPU를 기반으로 한 병렬 구조와 5개의 합성곱층과 3개의 FC층으로 구성
- activation function : ReLU
- normalization : Local Reponse Normalization (LRN)
- 주변에 큰 픽셀 값에 영향 방지
- pooling 커널 사이즈를 stride보다 크게 하는 overlapping pooling
- dropout, PCA 이용한 augmentation 등의 기법 사용
- 적은 데이터의 과대적합 해결방법
- 2013 ZFNET
- Zeiler와 Fergus
- AlexNet을 기반으로 CNN 가시화 -> 증명
- 파라미터 튜닝
- 2014 GoogLeNet
- 깊은 층 (layer)을 구축하여 생기는 문제들의 해결책
- 인셉션 모듈, AUXILIary Classifer, GAP 도입
- GAP(Global Average Pooling)
- 훨씬 적은 수의 파라미터 보유
- 깊은 층 (layer)을 구축하여 생기는 문제들의 해결책
- 2014 VGGNet
- oxford 연구진
- 간단한 구조, 단일 네트워크
- 높은 성능과 피쳐 추출 우수성 -> GoogLeNet보다 널리 사용
- AlexNet의 8-layer 모델보다 깊이가 2배 이상 깊은 네트워크 학습에 성공
- 2015 ResNet
- 깊은 층 구성 문제
- Residual을 이용해 성능 저하 Degradation 해결
- 2017 SENet
- Squeeze and Excitation Network
- 성능 유지하면서 딥러닝 모델 파일 크기 줄이는 것이 목적
- 이미 존재하는 CNN architecture에 붙여서 사용할 수 있다
데이터 증강 (Image augmentation)
- 학습 데이터가 적어서 과대적합이 우려될 때, 기준 데이터로부터 이미지를 랜덤하게 생성
이미지 증강을 할 때 주의해야 할 사항이 있다면?
- 노이즈를 확대하거나 크롭하면 문제가 된다.
- 6과 9처럼 돌리면 비슷해지는 숫자같은 경우도 X
- 색상이 중요한 역할을 하는 이미지일 경우에 색상 반전 혹은 변경을 하면 안된다.
- 신호등, 무지개 등
- 증강할 때 train 에만 해준다. test에는 해주지 않는다. 왜냐하면 현실세계 문제를 푼다고 가정했을 때 현실세계 이미지가 들어왔을 때 증강해주지는 않고 들어온 이미지로 판단하기 때문에 train에만 사용한다.
- 증강할때는 현실세계의 문제와 함꼐 고민을 해봐야 함
전이학습이란?
전이학습 : 한 분야의 문제를 해결하기 위해서 얻은 지식과 정보를 다른 문제를 푸는데 사용하는 방식