본문 바로가기
머신러닝, 딥러닝/컴퓨터비전

[컴퓨터비전] 컴퓨터 비전의 모든 것 (1. 컴퓨터 비전의 시작)

by 고경수 2023. 2. 4.

네이버 부스트코스의 '컴퓨터 비전의 모든 것' 정리 내용입니다.

 

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는

  1. 클래스의 평균적인 이미지와 동떨어져 있는 이미지의 경우 잘 표현되지 않는다.
  2. Test time에서의 성능이 매우 떨어질 수 있다는 문제점. (말의 전신 이미지를 통해 학습한 모델의 경우, test time에서 crop된 말 이미지를 입력했을 때 성능이 떨어질 수 있다.

이러한 문제점을 해결하고자 CNN(Convolutional Neural Network)가 등장

Fully가 아닌 국부적인 영역에 대한 연결만 고려한 Locally Connected Layer를 바탕으로 구성됨.

파라미터를 재활용(Parameter sharing)할 수 있기 때문에 파라미터 수를 획기적으로 줄일 수 있으며이게 결국 오버피팅도 방지.

CNN은 이미지를 다루기에 매우 적합한 구조


생각해보기

  • 딥러닝 기반의 방법론이 무조건 좋은 걸까요? 고전적인 기계학습 패러다임과 비교했을 때, 딥러닝 기반의 방법론이 가지는 문제점은 어떤 것들이 있을까요?
  • VGGNet은 AlexNet에 비해 깊은 network 구조를 기반으로 상당히 향상된 성능을 보여주었습니다. 그렇다면 네트워크를 깊게 만들면 무조건 좋은 것일까요? Network 구조를 깊게 만들었을 때 어떠한 문제가 발생할 수 있을지 생각해봅시다.