Computer Vision - Introduce
06 Sep 2021 | Deep LearningCV in Deep Learning
- 과거의 머신러닝 : Feature를 전문가가 설정 (Feature Extention)
- 딥러닝 : Feature 또한 자동으로 설정(사람의 눈 또한 선입견이 있음)
k-NN
- k Nearest Neighbors
쿼리 데이터가 들어오면 주변에 얼마나 많은 데이터가 있는지
간단하고 단순하지만, 시간과 공간 복잡도가 전부 O(n)으로 방대한 데이터를 넣을 수 없다.
또한 영상의 통일성까지 갖춰야하므로 이론은 간단하지만 상당히 어렵다.
Single Fully Connected Layer
클래스를 전부 1차원으로 늘려놓고 weight에 따라 이미지를 분류하는 것
학습중에 본 적 없는, 예를들면 부분만 Crop되어 들어온 이미지에 대하여 취약하다.
Locally Connected Layer
하나의 특징을 영상의 공간적인 특징들을 고려해 국소적인 부분들만 판단하여 가중치를 여러개 결정
슬라이딩 윈도우 방식으로 파라미터를 재활용 할 수 있어 적은 파라미터로도 효과적으로 특징 추출이 가능
CNN
영상 처리에 최적화된 네트워크로 대부분의 CV task에서 Backbone으로 설정
AlexNet
유명했던 모델 중 가장 오래된 모델이다.
Conv - Pool - Conv - Pool - Fc - Fc
형태로 구성되어이다.5x5
에 stride : 1인 Conv 필터를 갖는다.2x2
에 stride : 2인 Pooling Layer를 갖는다.
특이하게 두 개로 나누어진 네트워크 구조를 갖고있는데, 그 당시 GPU의 성능이 좋지 않아서 그랬던 것이다.
fc레이어로 갈 때 torch.flatten(x,1)
과 같은 레이어를 1차원으로 쭉 펴주는 방식을 이용한다.
5x5인 상당히 큰 Conv 필터를 사용하는데, 이는 이후 3x3을 두번 쓰는 방식으로 개선되었다(VGGNet)
VGGNet
현재에도 자주 사용되는 네트워크로, 3x3을 두번 썼다.
이 때 5x5와 같은 결과를 보이지만 파라미터 수로 비교해보면 5x5, 3x3x2로 약 70%정도의 파라미터만을 가진다.
여러 특징이 있지만, 이미 다 배운것들이라 논문 링크를 참고하자