https://cs231n.github.io/classification/
CS231n Deep Learning for Computer Vision
This is an introductory lecture designed to introduce people from outside of Computer Vision to the Image Classification problem, and the data-driven approach. The Table of Contents: Image Classification Motivation. In this section we will introduce the Im
cs231n.github.io
이번에는 위 내용에 대해서 한글로 정리하도록 하겠습니다.
이미지 분류
고정된 카테고리에서 하나의 라벨을 지정하는 이미지 분류에 대해서 소개한다.
예를 들어 특정 사진이 고양이, 강아지, 모자, 머그컵 중에 어떤 것인지 고르는 문제이다.
이미지는 컴퓨터의 입장에서는 3차원 숫자 배열에 불과하다.
사진 가로 크기가 248 픽셀 , 세로 크기가 400 픽셀이면 248 X 400 X 3 = 297,600 개의 숫자라는 것이다.
사람에게는 이미지 분류가 매우 쉽지만 컴퓨터 비전 알고리즘에서는 난이도가 높은 문제이다.
다른 방향에서 관측한 이미지라던가 크기나 형태가 달라진다거나 배경과 구분하기 어려운 이미지 등의 경우이다.
데이터 기반 접근
이미지를 분류하는 알고리즘을 작성하는 것은 명확치 않기 때문에 컴퓨터에게 많은 예시를 제공하고
학습시키는 방식을 사용할 수 있으며 이를 데이터 기반 접근이라고 한다.
라벨링이 되어있는 훈련 데이터셋을 기반으로 학습을 한다.
이미지 분류 파이프라인
입력 : K개의 다른 분류를 갖는 N개의 이미지 (훈련 데이터)
학습 : 각 분류가 어떤지 학습 (training a classifier, or learning a model)
평가 : 분류기(classifier)가 얼마나 잘 학습되는지를 평가, 훈련 데이터에 없던 새로운 이미지를 사용하며
정답 라벨과 분류기가 내놓은 결과를 비교하여 평가한다.
최근접 이웃 분류기 (Nearest Neighbor Classifier)
각 이미지를 1차원 벡터로 펼친 뒤, 테스트 이미지와 훈련 이미지 간 거리를 계산해
가장 가까운 훈련 이미지의 분류(class)를 선택하여 예측한다.
거리 함수에는 L1 거리와 L2 거리를 사용하며 다음과 같다.
k-최근접 이웃 분류기 (k-Nearest Neighbor Classifier)
단일 이웃 대신 상위 k개의 이웃을 찾아 다수결 방식으로 레이블을 결정한다.
즉, k가 5라면 가장 가까운 훈련 이미지 5개를 뽑아 각 분류를 확인하고 가장 많은 분류를 선택한다.
k값이 커질수록 결정 경계가 매끄러워지고 이상치에 덜 민감해진다.
하이퍼파라미터 튜닝을 위한 검증 세트 (Validation sets for Hyperparameter tuning)
k값이나 거리함수 등 우리가 변경할 수 있는 요소들을 하이퍼파라미터라고 한다.
하이퍼파라미터를 성능이 잘 나오게 (잘 맞추게) 조정해야되는데 테스트 데이터를 사용하면 과적합(overfit)이 될 수 있다.
테스트는 잘 맞추는데 실생활에서 쓰려고 하면 못 맞추는 경우이다.
따라서 테스트 데이터는 절대 하이퍼파라미터 조정에 쓰지 않고
테스트 데이터에서 일부를 검증용 데이터 (validation sets)로 나눈 후에 사용한다.
교차 검증 (cross validation)
훈련 데이터가 부족하여 하이퍼파라미터 튜닝이 어렵다면
훈련 데이터를 k개로 나눠서 n번째를 검증 데이터를 사용하고 나머지를 훈련데이터로 사용하는 방식을
k번 수행하여 평균 값을 사용하는 방법이 교차 검증이다.
최근접 이웃 분류기의 장단점
장점 : 구현이 매우 간단하고 학습 시간이 적다.
단점 : 계산 비용이 크며 고차원 이미지의 픽셀 기반 거리가 유사성을 잘 반영하지 못한다.
'학습 > AI' 카테고리의 다른 글
Deep Learning for Computer Vision : Backpropagation, Intuitions (0) | 2025.04.27 |
---|---|
Deep Learning for Computer Vision : Optimization (0) | 2025.04.27 |
Deep Learning for Computer Vision : Linear Classification (0) | 2025.04.25 |
Ollama + deepseek 첫 질문이 너무 느릴 때 (0) | 2025.02.13 |
ollama + deepseek 설치해서 정보유출 걱정 없이 사용하기 (0) | 2025.02.07 |