728x90
Image Classification
- Classifier
함수 f()에의해 입력 이미지가 category level로 mapping된다.
- k Nearest Neighbors (k-NN)
기존 데이터 안에서 현재 데이터로부터 가까운 k개의 데이터를 찾아 k개의 label 중 가장 많이 분류된 값으로 현재의 데이터를 분류하는 알고리즘이다. 하지만 데이터가 많을수록 시간, 공간복잡도가 비례해서 커지게되기 때문에 실험이 불가능하다.
- Convolutional Neural Networks
- single fully connected layer networks를 사용할 경우 layer가 한 층이라 단순해서 평균된 이미지들 이외에는 표현이 안되는 문제가 있다. 또한 test time에서 이미지의 일부분만 inference한다면 잘못된 결론을 뱉어내게 된다.
- locally connected layer networks은 국부적인 영역들만 connection을 고려한 것으로서 fully connected layer networks에서 모든 영역을 고려한 것보다 parameter가 획기적으로 줄어든다.
CNN architecture
1. LeNet-5
- 전체적인 구조 : Conv - Pool - Conv - Pool - FC - FC
- Convolution : 5x5 filters with stride 1
- Pooling : 2x2 max pooling with stride 2
2. AlexNet
- LeNet-5와 비슷하지만 더 깊은 구조를 가지고 있다. (7 hidden layers, 605k neurons, 60 million parameters)
- ImageNet으로 학습됨
- activation function : ReLU, regularization technique : dropout
- 전체적인 구조 : Conv - Pool - LRN - Conv - Pool - LRN - Conv - Conv - Conv - Pool - FC - FC - FC
- 11x11 convolution filter를 사용했지만 최신 CNN에서는 더 작은 filter size를 사용한다.
* Receptive field : 특정 부분의 CNN feature의 input space를 말한다. [참고]
3. VGGNet
- 더 깊은 구조로 16과 19 layers로 쌓아져있다.
- 하지만 더 간단하게 3x3 Conv filters block과 2x2 max pooling으로 구성되어있다.
- 작은 크기의 커널 사이즈로 많이 쌓으면 큰 receptive field를 얻을 수 있다. -> input의 이미지 영역의 많은 부분을 고려할 수 있다. -> 적은 parameter와 더 깊은 layer를 가지며 복잡은 network를 만들 수 있다.
728x90
'Boostcamp AI Tech' 카테고리의 다른 글
[Boostcamp Day-27] Computer Vision - Image Classification 2 (0) | 2021.09.08 |
---|---|
[Boostcamp Day-26] Computer Vision - Annotation, Data Efficient Learning (0) | 2021.09.08 |
[Wrap-up report] Image Classification (0) | 2021.09.03 |
[실험 일지 작성_목] Image Classification (0) | 2021.09.02 |
[실험 일지 작성_수] Image Classification (0) | 2021.09.01 |