네이버 부스트코스의 '컴퓨터 비전의 모든 것' 정리 내용입니다.
1. 컴퓨터 비전의 시작
머신러닝 : Input → Feature extraction → Classification → Output
딥러닝 : Input → Feature extraction + Classification → Output
머신러닝은 사람이 Feature을 추출해내지만 딥러닝은 자동으로 이루어진다. End-to-end로 학습!
사람이 일일이 특징을 분석하는 것과 Gradient descent가 대응하는 관계. 데이터에서 중요한 정보를 추출하는 작업에서 후자가 전자보다 훨씬 낫다.
Image Classification (1) : 개념
Image Classification은 주어진 입력 이미지를 특정 클래스로 분류하는 task.
이미지 인식에 대한 이상적인 접근
분류기가 이 세상의 모든 이미지 데이터를 저장하고 있다고 가정하면, 입력 이미지가 주어졌을 때 가장 비슷한 이미지를 찾아 그 이미지의 클래스로 분류하는 방식으로 분류기를 구현할 수 있음. 즉 Nearest Neighbor 문제로 변환하여 해결할 수 있게됨. 물론 가정이 현실에서 이뤄질 수 없을 뿐더러 이뤄진다고 하더라도 선형적으로 증가하는 복잡도 O(n) 에 의해 실현하기 어려움,
CNN(Convolutional Neural Network)
FULLY CONNECTED NEURAL NET ↔ LOCALLY CONNECTED NEURAL NET
Fully Connected는
- 클래스의 평균적인 이미지와 동떨어져 있는 이미지의 경우 잘 표현되지 않는다.
- Test time에서의 성능이 매우 떨어질 수 있다는 문제점. (말의 전신 이미지를 통해 학습한 모델의 경우, test time에서 crop된 말 이미지를 입력했을 때 성능이 떨어질 수 있다.
이러한 문제점을 해결하고자 CNN(Convolutional Neural Network)가 등장
Fully가 아닌 국부적인 영역에 대한 연결만 고려한 Locally Connected Layer를 바탕으로 구성됨.
파라미터를 재활용(Parameter sharing)할 수 있기 때문에 파라미터 수를 획기적으로 줄일 수 있으며이게 결국 오버피팅도 방지.
CNN은 이미지를 다루기에 매우 적합한 구조
생각해보기
- 딥러닝 기반의 방법론이 무조건 좋은 걸까요? 고전적인 기계학습 패러다임과 비교했을 때, 딥러닝 기반의 방법론이 가지는 문제점은 어떤 것들이 있을까요?
- VGGNet은 AlexNet에 비해 깊은 network 구조를 기반으로 상당히 향상된 성능을 보여주었습니다. 그렇다면 네트워크를 깊게 만들면 무조건 좋은 것일까요? Network 구조를 깊게 만들었을 때 어떠한 문제가 발생할 수 있을지 생각해봅시다.
'머신러닝, 딥러닝 > 컴퓨터비전' 카테고리의 다른 글
[컴퓨터비전] 컴퓨터 비전의 모든 것 (3. Seg & Det - 1) (0) | 2023.02.05 |
---|---|
[컴퓨터비전] 컴퓨터 비전의 모든 것 (2. 컴퓨터 비전과 딥러닝 - 2) (0) | 2023.02.05 |
[컴퓨터비전] 컴퓨터 비전의 모든 것 (2. 컴퓨터 비전과 딥러닝 - 1) (0) | 2023.02.05 |
컴퓨터비전 용어 정리 (0) | 2023.01.17 |
DeepFaceLab 사용 방법 (Window) (2) | 2023.01.16 |