[CV] Image Classification

myeongwang·2024년 2월 4일
0

Image Classification이란?

Image Classification: 컴퓨터 비전 분야에서 대중적인 task

  • Architecture: Backbone (CNN) + Classification head (FC Layer)

  • backbone에서는 이미지에 대한 특징 추출
  • fc에서 이미지가 속할 가능성이 있는 클래스에 대한 예측 수행
  • 활성화함수 이용하여 각 클래스에 속할 확률 출력 (이미지 분류에선 softmax 많이 사용)

가중치 업데이트는 당연히 backpropagation 이용
: activation function -> fully connected layer -> backbone

  1. Forward Propagation:
    입력이미지가 각 층의 뉴런을 통과하면서 가중치와 편향에 의해 변환
  2. Loss Calculation:
    출력에서 예측결과와 실제 label 차이를 계산하기 위해 loss function 사용
  3. Backpropagation:
    loss 최소화를 위한 과정 네트워크의 가중치 조정(손실함수에 대한 gradient 계산) 이를 통해 각 가중치의 기여도를 역으로 추정
  4. Weight Update :
    learning rate 조절하여 가중치 업데이트
  5. 반복

Image Classification Dataset

Logits & Softmax

  • Logits: 각 클래스에 대한 예측을 수치(실수값)로 나타내는 중간 단계
    fully connected layer에서 이뤄진 class score == logit
  • Softmax 함수는 실수 전체의 범위를 가지는 logits을
    지수 함수를 사용하여 클래스 간의 상대적 확률 (0 ~ 1 사이의 값) 계산

Dataset: (image, class) pair로 구성

Training Process

Preprocessing

Model

Loss

  • Loss function: 실제 class와 예측한 class의 차이를 줄이기 위해 사용
  • Cross-entropy loss를 이용해 loss function을 정의

Test Process

test도 train과 동일한 과정 거침. prediction만 다름 loss 측정도 X, prediction에 대한 evaluation metric: accuracy, precision, f1 score만 측정

Metric

  • 모델이 잘 학습되었는지 판별하기 위해, 정량적인 평가로 Accuracy와 Precision Metric을 이용한다.

profile
Real Cryptocurrency Trader & AI Engineer LV.0

0개의 댓글