Image Classification
- classification : 이미지를 분류하기 위한 인공지능의 한 분야. 이미지가 입력으로 들어와 합성신경망을 통과한 후 출력으로 카테고리 중 하나를 선택하여 출력하는 것을 말함
Convolution Layer
- 입력 데이터의 특징을 추출하는 Layer
- 학습 전에 필터는 무작위로 초기화 되며, loss 계산을 통해 최적의 필터 파라미터를 찾아가는 과정이 딥러닝에서 말하는 학습
Stride
- Convolution Kernel이 이동하는 간격
- Stride를 크게 할수록 Convolution Layer의 Output Feature의 폭이 감소
Zero Padding
- Convolution 연산 시 Feature 모서리 부분의 손실을 막기 위해 0으로 이루어진 값을 추가
- Convolution Layer Output feature 크기에 영향을 줌
Pooling Layer
- 데이터의 크기를 줄여주어 모델의 매개변수를 줄여주는 Layer
- Max pooling : 해당 이미지 영역에서 최댓값을 활용
- Average pooling : 해당 이미지 영역에서 평균값을 활용
Activation function
- 신경망의 출력값을 비선형적으로 변경시키는 함수. 선형함수로 activation function을 사용하면 여러 Layer를 쌓더라도 하나의 Layer 쌓은 것과 같기 때문에 비선형 함수를 사용해야 함
- ReLU : 가장 대표적으로 사용하는 activation function으로 식으로 표기하면 Relu(x) = max(0,x). 양수에서 Linear Function과 같으며 음수는 0으로 버려버리는 함수
Alex Network
- CNN구조. CNN의 부흥에 아주 큰 역할을 한 구조라고 할 수 있음
VGG Network
- 7x7의 필터사이즈를 가진 Convolution Layer와 3x3의 필터사이즈를 연속적인 3개의 Convolution Layer는 receptive filed 크기는 같으나 파라미터와 성능은 3x3의 필터사이즈를 가진 연속적인 3개의 Convolution Layer가 효율적이다. (7x7=49, 3x3x3=27)
Residual Network
- 주로 ResNet으로 불리는 네트워크로 CNN의 Layer 수가 증가될수록 Vanishing Gradient(기울기가 사라지는 현상)가 발생하여 과하게 학습되는 문제를 해결하기 위하여 Skip Connection을 제안함.
- DeepMind의 알파고의 back bone network의 구조도 ResNet 기반
MobileNet
- 고성능 하드웨어가 아닌 엌퓨팅 성능이 제한되거나 배터리 퍼포먼스가 중요한 곳에서 사용할 수 있게 제안된 네트워크로 Depthwise Convolution과 Pointwise Convolution을 결합한 Depthwise Separable Convolution을 통해 모델의 연산량 및 파라미터를 기존 Convolution보다 8~9배 감소 시킴
- NLP 분야에서 널리 사용되는 Transfomer의 구조를 Vision 분야에서 활용한 모델. Patch 단위의 이미지 간의 연관성을 고려한 연산(Attention Mechanism)이 작용. 많은 사전 데이터의 학습을 통해 높은 성능을 낼 수 있음
- 단점 : 이미지가 아주 많이 필요함 -> 현재는 성능을 높여 이미지가 많이 필요하지 않음
최신 트렌드(Stat-Of-The-Art)
- 현재는 Large parameter로 fine-tune 시킨 Transformer 계열의 분류 모델이 상위권 성능을 달성하고 있음