교육/멋쟁이사자처럼 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)
    • 훨씬 적은 수의 파라미터 보유
  • 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에만 사용한다.
  • 증강할때는 현실세계의 문제와 함꼐 고민을 해봐야 함

전이학습이란?

전이학습 : 한 분야의 문제를 해결하기 위해서 얻은 지식과 정보를 다른 문제를 푸는데 사용하는 방식