01. Introduction
CNN(Convolutional Neural Networks)
- 본 모델에서는 CNN을 사용하여 AI를 학습시킴
- CNN은 입력층, 여러개의 은닉층, 출력층을 가진 Deep Neural Network임.
- 일반적으로 Convolution, ReLU(03-1에서 설명), Pooling 계층으로 이루어짐.
- Pooling : 계산할 input size를 줄이고 overfitting을 방지하기 위해 비선형 downsapling 수행(03-4에서 추가 설명)
- Convolution : 특정 Filter를 이용하여 탐색하면서 이미지의 특징들을 추출하고, 추출한 특징들을 Feature Map으로 생성
(출처 : https://jarikki.tistory.com/26)
02.DataSet
- ImageNet의 하위 집합 데이터를 쓰는 ILSVRC의 데이터를 사용
- ILSVRC에서는 120만개 training images, 5만개의 validation images, 15만개의 testing images를 사용
- ImageNet의 데이터는 가변 해상도의 이미지로 구성되어있음.
- 본 모델에서는 일정한 dimensionality가 필요하므로 이미지를 256X256으로 downsapling함
03.The Arcitecture
03-1. ReLU Nonlinearity
- 원래 보통 사용하던 뉴런의 출력 함수는 하이퍼볼릭 탄젠트나 시그모이드 함수였음.
- 이러한 함수들에서는 saturation(포화) 문제로 인해 훈련 시간이 느렸음.
** saturation : 미분값이 0이되어서 가중치가 업데이트 되지 않는 현상
- 이 문제들을 해결하는 non-saturation nonlinearty(비포화 비선형성) 함수인 ReLu함수를 도입함
- ReLU -> $f(x) = max(0,x)$
(출처 : 위키백과)
