정의: Loss is a function of weight
예시
f(x)을 통해서 각 score를 구함
(xi, yi) = (이미지, label)
score vector: s = f(xi, W)
정의: max()함수를 이용하여 0혹은 0 보다 큰 값을 추출하여 더함
식:
sj: 잘못된 레이블의 스코어
syi: 제대로된 레이블의 스코어
+1: safety margin
*What if the sum was instead over all classes?(including j= y_i)
+ max(0, sj -syi + 1)
*What if we used a mean instead of a sum here?
*usually at initialization W are small numbers, so all s~=0.
what is the loss?
초기 loss = 클래스 -1
sanity check: 위의 식이 맞나 확인하는 작업
식:
motivation
x = [1,1,1,1]
w1 = [1,0,0,0]
w2 = [0.25,0.25,0.25,0.25]
dataset :(x,y)
score function : s = f(x;W) =Wx
loss function:
절대로 하면 안된다
accuaracy도 낮고 비효율적이다
Follow the slope(Gradient)
2-1. Numerical gradient
근사치이고 느리다
1차원인 경우에 함수 미분한 것이다.(수치적으로 경사를 구한다)
다차원인 경우 값이 아닌 벡터로 나온다
어리석은 방식이다
gradient check할 때 사용한다
2-2. Analtic gradient
빠르고 정확하다
error-prone
목표: weight 가 변할 때의 loss의 변화량
분석적으로 경사구하기(미분):
2-3. (full-batch) Gradient Descent
step_size: learning rate
마이너스: gradient 값만큼 weight를 감소시키기 때문이다.
2-4. Mini-batch Gradient Descent
흔한 배치 사이즈: 32/ 64/128
효과 (그래프)
2-5. Learning rate 설정(어렵다)
너무 큰 경우: diverge/ explode
큰 경우: loss=0으로 수렴이 불가한다
너무 작은 경우: slow convergence
edge방향: features
유사방식: GIST, LBP, Texton, SSIM
3.1 위의 처리과정
-작은 local 패치들을 벡터화
하나의 사전화를 한다
테스트할 이미지 픽쳐 벡터를 사전에서 찾는다
픽처 벡터 추출 후 계산
linear classifier 적용
3.2 이미지 도식화