지난시간에 Linear classifier에 대해 살펴보았다.
이제 해야될 것은
- Define a loss function that quantifies our unhappiness with the scores across the training data.
- Come up with a way of efficiently finding the parameters that minimize the loss function. (optimization)
1. Loss Function이란?
: A loss function tells how good our current classifier is.
Multiclass SVM loss와 Softmax classifier를 한개씩 살펴보자
1.1 SVM Loss

아래와 같이 3개의 카테고리로 분류하는 예시를 들어보자.
각 사진에 대해 3개의 카테고리별 score가 다음과 같이 나왔다고 가정하자.
고양이 사진에 대해서는 cat의 점수가 높게 나와야 좋은것이다.
따라서 cat score가 다른 score에 비해 높게 나와야 한다.
즉 다른 카테고리 score 보다 cat score가 클수록 좋다. => 다른 카테고리 score - cat score가 작을수록 좋음.
여기에 +1 더하는건 크게 신경 안써도 된다.



이렇게 다 구해서 평균내면 아래와 같이 5.27로 나온다.

car 이미지의 경우에는 score가 4.9로 가장 높게 예측했기에 loss가 0이다.
즉 맞는 분류 했을 경우에는 다른 카테고리의 score 값과의 차이는 여기서 무의미해진다.(즉 맞추면 무시하게 된다)
하지만 근사한 차이로 score win해서 맞출 경우에는 구별이 안될 수 있기에 softmax를 보자.
1.2 Softmax classifier

소프트맥스의 경우에는 exponential한 값을 normalize하여서 확률분포 형태로 나타낸다.
따라서 앞서 살펴본 multiclass svm loss와는 차이가 있다.

그렇다면 loss funciton을 통해 나오는 loss를 어떻게 최소화 할 수 있을까?
=> Optimization
2. Optimization

2.1 random search : => 성능은 그닥 좋지 않음.
2.2 Follow the slope : 내가 서 있는 위치의 경사를 알면 그쪽 방향으로 가면 된다.
여기서 2가지 접근법 : numerical 방법으로 (예: 0.0001등을 더하여 loss가 바뀌는 것을) 직접 계산해서 구하는 방법. 또는 analytic gradient를 통해(미분)
즉, Numerical gradient는 approximate, slow, easy to write. 그리고 Analytic gradient는 exact, fast, error-prone(발생하기 쉬운 오류)
따라서 In practice: Always use analytic gradient, but check implementation with numerical gradient. (This is called a gradient check)
느낀점 : 사전에 다른 강의를 들어서 대략은 알고 있던 내용이었지만, 3강부터 조금 난이도가 있는 느낌. 그리고 중간중간 학생들의 질문들은 도움이 많이 된다. 그리고 2017년 버전의 강의는 말이 정말 빠른듯하다..ㅎㅎ (+ 과제가 생각보다 디테일하고 쉽지 않다. 따라서 도움은 많이 된다. KNN하나 하는데 한 3시간 걸린듯.. 답은 다 찾을 순 있으나 역시 직접 해봐야...👍)
Lecture 3 | Loss Functions and Optimization - YouTube
'AI' 카테고리의 다른 글
| cs231n Deep Learning for Computer Vision 2.Image Classificaiton (1) | 2023.06.18 |
|---|---|
| cs231n Deep Learning for Computer Vision 1.Introduction (0) | 2023.06.18 |
| 논문 Deep Learning for Time Series Anomaly Detection: A Survey (0) | 2023.06.06 |
| AI 세부 분야별 최신 trend 및 논문 찾는 방법 (0) | 2023.06.06 |
| Kernel Density Estimation을 이용한 Anomaly Detection (0) | 2023.06.04 |