image를 분류하는 과정에서 여러가지 문제점이 발생할 수 있다.
1. Camera pose : 카메라의 위치에 따라서 image의 값들이 달라질 수 있다.
2. illumination : 조명에 의해 색이 바뀌는 문제가 발생할 수 있다.
3. Deformation : 원래 형상이 아닌 다른 형상으로 image가 생성될 수 있다.
4. Occlusion : 일부가 없어져 보일 수 있다.
5. Background clutter : 배경과 분류하고자 하는 image가 비슷하여 구분하기가 어려울 수 있다.
6. intraclass variation : 같은 종류의 image라도 색상, 모양 등이 다름에서 문제가 발생할 수 있다.

이번 파트에서는 우리가 작성한 score function 이 얼마나 데이터를 잘 평가하는가에 대한 loss function 을 정의하고 그 loss function의 값이 낮게 나오도록 최적화 하는 과정을 다룰 예정이다. ( Multiclass SVM loss, Softmax loss )
Multiclass SVM loss
여기서 j는 정답이 아닌 case에 대해 하나씩 반복하게 된다.


CS231n에는 위와 같은 5가지 질문이 있습니다.
Q1. 만약
A1.
Q2. sum이 아니라 mean 을 사용하면 어떻게 되나 ?
A2. 이 부분은 자유롭게 결정하면 되는 부분이다. 큰 상관 X
Q3. loss 부분에 squared를 한다면?
A3. 특정 데이터에서는 squared로 한 값이 더 좋은 값이 나올 수도 있다.
Q4 : loss가 같는 최댓값과 최솟값은?
A4 : 정답에 가까울수록 loss는 0에 가까워지고, 정답과 멀어질수록 loss는 커진다.
Q5 : w가 아주작은 값을 가지고 있을 때, score ~=0가 되는데 이 경우 loss값은 어떻게 되는가?
A5 : loss 는 각각 class에 대해 1값을 가지게 된다. 하지만
loss function 은 다음과 같이 정의할 수 있다.
def Loss_vec(x, y, w):
delta = 1.0 # margin
score = np.dot(w, x)
loss = np.maximum (0, score - score[y] + delta) # score = 오답 / score[y] = 정답인 경우의 loss
loss[y] = 0
loss_i = np.sum(loss)
return loss_i
loss function 을 구했을 때 loss 가 0이 되는 값을 가지게 할 수 있는 w가 유일한가? 그렇다라고 할 수 없다.

이렇기 때문에 Weight Regularization 이 필요하다.

'Deep Learning > CS231N' 카테고리의 다른 글
[CS231N] 활성화 함수(Activation Fucntion)의 종류 (0) | 2021.07.08 |
---|---|
[CS231N] Neural Network Back-propagation (0) | 2021.07.06 |
[CS231N] Loss function & Optimization (2) (0) | 2021.07.05 |
[CS231N] Image Classification pipeline (0) | 2021.07.04 |
[CS231N] INTROTUCTION (0) | 2021.06.29 |