Deep Learning/CS231n

CS231n 2강 summary

마크투비 2021. 6. 23. 16:38

1. Image classification 이미지 분류

Image
  • images are represented as 3D arrays of numbers, with integers between [0, 255]  
  • E.g. 300x100x3(height x width x color channel)  
Image classification
  • core task in computer vision  
  • image is input data  
An image classifier
def classify_image(image):
    #????
    return class_label

2. Image classification challenges 이미지 분류의 어려움

1) viewpoint variation 시각에 따라 이미지가 다르게 보일 수 있음
2) illumination 조명의 위치에 따라 이미지가 다르게 보일 수 있음
3) deformation 고양이가 고양이답지 않은 모습을 하고 있을 때 이미지 분류의 어려움
4) occlusion 전체가 보이지 않을 때 이미지 분류의 어려움
5) background clutter 배경과 유사해서 고양이를 인식하지 못하는 경우
6) intra–class variation 고양이라는 class내에서 다른 고양이를 구분해내야 하는 어려움

3. Data-driven approach 데이터 기반 방법론

1) collect a dataset of images and labels
2) use machine learning to train a classifier
3) Evaluate the classifier on new images
Input(입력) : 이미지와 label로 구성된 dataset을 수집 ➡️ Learning(학습) : training a classifier, learning a model. training dataset으로부터 학습시킴 ➡️ Evaluation(평가) : test image set에 대해 학습시킨 image classifier를 평가

4. Nearest Neighbor Classifier

def train(images, labels):
    # machine learning
    return model

➡️ Memorize all data and labels
def predict(model, test_images):
# use model to predict labels
return test_labels
➡️ Predict the label of the most similar training image

  • example dataset : CIFAR 10
    • 10 classes
    • 50000 training images
    • 10000 testing images
  • test image를 모든 training set의 image들과 각각 비교, 비교 기준이 distance

L1 (Manhatten) distance

  • 이미지 분류 작업에서 test, prediction의 속도가 빠른 게 중요한데 Nearest Neighbor classifier은 test의 속도가 느림

5. k-Nearest Neighbor Classifier(KNN)

  • 거리가 가장 가까운 k개의 이미지들을 찾고, k개의 이미지들을 다수결로 voting
  • 가장 많이 나온 이미지가 test image와 가장 유사하다고 판단
    def train(images, labels):
  • k=1, Nearest Neighbor classifier

L2 (Euclidean) distance

  • L1, L2 중 무엇을 사용할지, k는 어떤 값으로 설정할지는 hyperparameter
  • 주어진 환경에서 여러 번의 실험을 통해서 최적의 parameter와 최적의 k 값을 찾아야 됨
  • validation data
    • hyperparameter를 설정하기 위해서 여러 번의 실험을 하게 되기 때문에 validation data를 가져야 함
  • Cross-validation
    • training data의 수가 적은 경우 활용
    • hyperparameter 튜닝 방법
  • K-NN on images NEVER USED
    • very slow at test time
    • distance metrics on pixels are not informative

6. Linear Classification

  • Parametric Approach (cf. Nearest Neighbor classifier – non parametric approach)
  • just a weighted sum of all the pixel values in the images 이미지 내의 모든 픽셀 값들에 대해서 가중치를 곱해서 처리한 값들의 합
  • counting colors at different spatial position

'Deep Learning > CS231n' 카테고리의 다른 글

CS231n 5강 summary  (0) 2021.06.23
CS231n 3강 summary  (0) 2021.06.23
CS231n 1강 summary  (0) 2021.06.23
cs231n 4주차 예습과제  (0) 2021.05.02
cs231n Week3 복습과제  (0) 2021.04.30