Lecture 3: Loss Function and Optimization
What is Loss Function?
์์คํจ์(loss function) ์ ๋ถ๋ฅ๊ธฐ (classifier)๊ฐ ์ผ๋ง๋ ์ ์๋ํ๋์ง ์๋ ค์ฃผ๋ ์ค์ํ ์งํ์ด๋ค. ์์คํจ์์ ๊ณต์์ ๋ค์๊ณผ ๊ฐ๋ค.
$L=\frac{1}{N}\sum_i L_i(f(x_i,w),y_i)$
์ฌ๊ธฐ์ $x_i$๋ ์ด๋ฏธ์ง, $y_i$๋ ๋ ์ด๋ธ์ด๋ค.
Multiclass SVM(Support Vector Machine) loss
Multiclass SVM loss ๋ ์์ธกํ ๋ ์ด๋ธ์ ์ ์ ์ ์นดํ ๊ณ ๋ฆฌ๋ณ ์ ์ ์ ์ฐจ๋ฅผ ๊ณ์ฐํ์ฌ ๋ง์ฝ 0๋ณด๋ค ์์ผ๋ฉด 0์ด, 0๋ณด๋ค ํฌ๋ฉด ๊ทธ ์ฐจ์ด๊ฐ์ด ์ฑํ์ด ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฑํ์ด ๋ ๊ฐ์ ๋ชจ๋ ๋ํ๋ค. ์์ผ๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
$L_i=\sum_{j\neq y_i} max(0,s_j-s_{y_i}+1)$
์ฌ๊ธฐ์ $s_j$๋ ์์ธกํ ๋ ์ด๋ธ์ ์ ์, $s_{y_i}$๋ ํด๋์ค๋ณ ์ ์ ์ด๋ค. ๋ค์ ๋ถ๋ ์ซ์ 1์ ๋จ์ง ์์๋ก ์ค์ ํ ๊ฐ์ผ๋ก, $s_j-s_{y_i}$ ๊ฐ์ด 0์ด ๋ ๋ 0๊ณผ ๋น๊ตํ์ ๋ ๋ ํฐ ๊ฐ์ด ๋์ค๋๋ก ํ๋ ์ญํ ์ ํ๋ค.
์์๋ก ๋ค์๊ณผ ๊ฐ์ 3๊ฐ์ ๋ค๋ฅธ ์นดํ ๊ณ ๋ฆฌ์ ์ฌ์ง๊ณผ ํด๋์ค๋ณ ์ ์๊ฐ ์๋ค.
์ฌ๊ธฐ์ ๊ณ ์์ด ์ฌ์ง์ ์์ค, ์ฆ $L_1$ ์ ๊ฐ์ $max(0,5.1-3.2+1)+max(0,-1.7-3.2+1) = 2.9+0 = 2.9$ ์ด๋ค. ์ฐจ ์ฌ์ง์ ์์ค๊ณผ ๊ฐ๊ตฌ๋ฆฌ ์ฌ์ง์ ์์ค๋ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํ ์ ์๋ค.
$L_2=max(0,1.3-4.9+1)+max(0,2-4.9+1) = 0$ $L_3=max(0,2.2-(-3.1)+1)+max(0,2.5-(-3.1)+1) = 6.3+6.6 = 12.9$
$L_1, L_2, L_3$ ์ ํ๊ท ์ $\frac{2.9+0+12.9}{3} = 5.27$ ์ด๊ณ ์ด ์ ์๊ฐ ์ด ๋ถ๋ฅ๊ธฐ์ ์์ค๊ฐ ์ด๋ค.
Multiclass SVM loss์ ๋ช ๊ฐ์ง ํน์ง์ ์ดํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
Features of Multiclass SVM loss
- ์์ธกํ ๋ ์ด๋ธ์ ์ ์๋ ๊ทธ๋๋ก์ด๊ณ ์ค์ ๋ ์ด๋ธ์ ์ ์๊ฐ ์ฆ๊ฐํ๋ฉด ์์ค ๊ฐ์ ํฌ๊ธฐ๊ฐ ๊ฐ์ํ๋ค. ์๋ ๊ทธ๋ํ๋ ์ด๋ฅผ ๋ํ๋ด์๋ค.
-
์์ค๊ฐ์ ์ต์ 0 (์๋ฒฝํ๊ฒ ๋ถ๋ฅํจ), ์ต๋ ๋ฌดํ๋ (ํ๋๋ ๋ถ๋ฅ๋ฅผ ๋ชปํจ)์ ๊ฐ์ ๊ฐ์ง ์ ์๋ค.
-
์์ค๊ฐ์ 0์ผ๋ก ๋ง๋๋ ๊ฐ์ค์น $W$ ์ด ์๋ค๊ณ ํ ๋ $2W$ ๋ํ ์์ค๊ฐ์ 0์ผ๋ก ๋ง๋ ๋ค.
-
Multiclass SVM loss ๋ฅผ ํ์ด์ฌ ์ฝ๋๋ก ๊ตฌํํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
def L_i_vectorized(x,y,W):
scores = W.dot(x)
margins = np.maximum(0, scores-scores[y]+1)
margins[y] = 0
loss_i = np.sum(margins)
return loss_i
์์ ์ค๋ช ํ ํจ์๋ฅผ ๊ทธ๋๋ก ํํํ ๊ฒ์ด๋ฏ๋ก ์ฝ๋์ ๋ํ ๋ณ๋์ ์ค๋ช ์ ์๋ตํ๋๋ก ํ๊ฒ ๋ค.
Regularization
Regularization, ์ฆ ์ ์นํ๋ ๋ชจ๋ธ์ด ํ๋ จ ๋ฐ์ดํฐ์ ๊ณผ์ ํฉํ๋ ๊ฒ์ ๋ฐฉ์ง ํ๊ณ ๋จ์ํ๊ฒ ๋ง๋ค๊ธฐ ์ํด ์ฌ์ฉ๋๋ค. ์ ์นํ ํจ์๋ ์์คํจ์ ๋ค์ ๋ถ๊ฒ๋๋ค. Normalization์ด ์ ๊ทํ, Regularization์ด ์ ์นํ ์ด๋ฏ๋ก ์ด ๋๊ฐ์ ๋จ์ด๋ฅผ ์ ๊ตฌ๋ถํ์ฌ ์ฌ์ฉํ๋๋ก ํ์.
$L=\frac{1}{N}\sum_i L_i(f(x_i,w),y_i)+\Lambda R(w)$
์ ์นํ์๋ ๋ํ์ ์ผ๋ก L2 ์ ์นํ, L1 ์ ์นํ ๊ฐ ์๋ค. ๊ฐ๊ฐ์ ๊ณต์์ ๋ค์๊ณผ ๊ฐ๋ค.
- L2 ์ ์นํ: $R(W)=\sum_k\sum _l{W^2}$
- L1 ์ ์นํ: $R(W)=\sum_k\sum _l\vert W \vert$
L1 ์ ์นํ๋ ์ค์ํ์ง ์์ ํน์ง์ 0์ผ๋ก ๋ง๋ค์ด์ฃผ๊ณ , L2 ์ ์นํ๋ ์ค์ํ์ง ์์ ํน์ง์ 0์ ๊ฐ๊น๊ฒ ๋ง๋ค์ด์ฃผ๋ ์ค์ ๋ก 0์ด ๋์ง๋ ์๋๋ค.
๋ค์๊ณผ ๊ฐ์ด 2๊ฐ์ ๊ฐ์ค์น ํ๋ ฌ์ด ์๋ค๊ณ ๊ฐ์ ํ์.
$W1=[1,0,0,0]$
$W2=[0.25,0.25,0.25,0.25]$
$[1,1,1,1]$ ์ ๊ฐ์ ๊ฐ์ง ๋ฐ์ดํฐ X ์ $W1, W2$ ์ ๊ฐ๊ฐ ๊ณฑํ๋ฉด ์์ค๊ฐ์ด ๋์ผํ๊ฒ 1๋ก ๋์ค์ง๋ง $W1$ ์ฒ๋ผ ๊ฐ์ค์น๊ฐ ํ ํน์ง์๋ง ์ง์ค๋์ด ์๋ ๊ฒฝ์ฐ L1 ์ ์นํ ๋ฅผ, $W2$ ์ฒ๋ผ ๊ฐ์ค์น๊ฐ ๋ชจ๋ ํน์ง์ ๊ณจ๊ณ ๋ฃจ ๋ถ๋ฐฐ๋์ด ์์ผ๋ฉด L2 ์ ์นํ ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
Softmax Classifier (Multinomial Logistic Regression)
Softmax Classifier ์ ์์ค ๊ฐ์ ๊ฐ ํด๋์ค์ ์ ๊ทํ ๋ ๋ก๊ทธ ํ๋ฅ ์ ์ ์ฉํ ๊ฐ์ด๋ค. Softmax Classifier ์ ์์คํจ์๋ ๋ค์๊ณผ ๊ฐ์ด ํํํ๋ค.
$L_i=-log(\frac{e^{s_{y_i}}}{\sum _je^{s_j}})$
์์ด ์ดํดํ๊ธฐ ์ด๋ ค์ฐ๋ฏ๋ก ์๊น์ ๊ฐ์ ์ฌ์ง์ ์์๋ก ๋ค์ด ์ค๋ช ํ๋๋ก ํ๊ฒ ๋ค.
์๊น์ ๋ค๋ฅธ์ ์ ํด๋์ค๋ณ ์ ์๊ฐ ์ ๊ทํ ๋์ง ์์ ๋ก๊ทธ ํ๋ฅ ์ ๋ํ๋ธ๋ค๋ ๊ฒ์ด๋ค. ๋จผ์ ๊ณ ์์ด ์ฌ์ง๋ถํฐ ์ดํด๋ณด์. ๊ณ ์์ด์ ์์คํจ์ $L_1$ ์ ๋ค์๊ณผ ๊ฐ์ ์์๋ก ๊ตฌํ๋ค.
- ํด๋์ค๋ณ ์ ์์ ์์ฐํจ์$e$ ๋ฅผ ์ทจํ๋ค.
- ์์ฐํจ์๋ฅผ ์ทจํ ๊ฐ์ ์ ๊ทํ ์ํจ๋ค.
- ์ ๊ทํ ์ํจ ๊ฐ์ ๋ก๊ทธ๋ฅผ ์ทจํ๋ค.
- ๋ก๊ทธ๋ฅผ ์ทจํ ๊ฐ ์์ ๋ง์ด๋์ค ๋ถํธ๋ฅผ ๋ถ์ด๋ฉด ์ด๊ฒ์ด ์ ๊ทํ ๋ ๋ก๊ทธ ํ๋ฅ ์ด๋ค.
์๋ ์ฌ์ง์ด ์ ๊ณผ์ ์ ํ๋ฒ์ ๋ณด์ฌ์ค๋ค.
์ ๊ณผ์ ์ ์ฐจ ์ฌ์ง, ๊ฐ๊ตฌ๋ฆฌ ์ฌ์ง์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ ์ฉํ๊ณ ๊ฐ ์์ค ๊ฐ์ ํ๊ท ์ ์ ์นํ ํจ์๋ฅผ ๋ํ ๊ฐ์ด ๊ณง ์ด ๋ถ๋ฅ๊ธฐ์ ์์ค ๊ฐ์ด ๋๋ค.
$L=\frac{1}{N}\sum_{i=1} L_i+R(w)$
Softmax Classifier ์ ๋ช๊ฐ์ง ํน์ง์ ์ดํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
Features of Softmax Classifier
- ์์ค ๊ฐ์ ์ต์ ๊ฐ์ 0, ์ต๋ ๊ฐ์ ๋ฌดํ๋๊ฐ ๋๋ค. ๋จ, ์์ค ๊ฐ์ด ์ค์ ๋ก 0์ด ๋์ง๋ ์๋๋ค.
- ๋ชจ๋ ํด๋์ค๋ณ ์ ์๋ ์ด๊ธฐ์๋ 0์ ๊ฐ๊น์ฐ๋ฏ๋ก ์ด๊ธฐ ์์ค ๊ฐ์ $log(C)$ ์ ํํ๋ฅผ ๋ํ๋ธ๋ค.
Difference and Similarity between Multiclass SVM and Softmax Classifier
-
Multiclass SVM์ ๋ถ๋ฅ๊ธฐ๊ฐ ์ด๋ฏธ์ง๋ฅผ ์๋ง๊ฒ ๋ถ๋ฅํ๋ ๊ฒ์ ์ฑ๊ณตํ์ผ๋ฉด ๋ ์ข์ ๊ฐ์ค์น์ ๊ฐ์ ์ฐพ๋ ๊ณ์ฐ์ ์ค๋จํ๋ค.
-
๋ฐ๋ฉด Softmax Classifier์ ๋ถ๋ฅ๊ธฐ๊ฐ ์ด๋ฏธ์ง๋ฅผ ์๋ง๊ฒ ๋ถ๋ฅํ๋ ๊ฒ์ ์ฑ๊ณตํ์ด๋ ๋ ์ข์ ๊ฐ์ค์น์ ๊ฐ์ ์ฐพ๊ธฐ ์ํด ๊ณ์ฐ์ ๋ฐ๋ณตํด ๋๊ฐ๋ค.
-
๊ทธ๋ฌ๋ ๋ ๋ถ๋ฅ๊ธฐ ๋ชจ๋ ์ฑ๋ฅ์ ๋น์ทํ๋ค.
Optimization
๋ฑ์ฐ์ ํ๊ณ ์๋ ์ฌ๋์ด ์๋ค๊ณ ํ์. ๊ทธ ์ฌ๋์ ์ฐ์์ ๊ฐ์ฅ ๊ณ ๋๊ฐ ๋ฎ์ ์ง์ ์ ์ฐพ์ ๋ด๋ ค๊ฐ๋ ์๋๋ฅผ ํ๊ณ ์๋ค. ์ฐ์ ๊ทธ๋ํ, ์ฌ๋์ ์์ค๊ฐ ์ผ๋ก ์นํํ๋ฉด ์ด๊ฒ์ด ๋ฐ๋ก ์ต์ ํ (optimization) ๊ณผ์ ์ด๋ค. ์ฆ, ๊ฐ์ฅ ์์ ์์ค๊ฐ์ ์ฐพ๋ ๊ณผ์ ์ด ์ต์ ํ ๊ณผ์ ์ด๋ค.
์ต์ ํ ๊ณผ์ ์๋ ๋ค์๊ณผ ๊ฐ์ ์๊ณ ๋ฆฌ์ฆ์ด ์๋ค.
-
Random search: ๋ง ๊ทธ๋๋ก ๋๋คํ๊ฒ ํฌ์ธํธ๋ฅผ ์ฐ์ด ๊ทธ๊ฒ์ด ์ต์๊ฐ์ด๊ธธ ๋ฐ๋ผ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋์๊ณ ๋ฌด์ํ ์๊ณ ๋ฆฌ์ฆ์ด์ฌ์ ์ ์ฐ์ด์ง ์๋๋ค.
-
Gradient descent: ์์คํจ์์ ํ ์ ์์์ ๋ฏธ๋ถ๊ฐ์ ๊ตฌํ๋ฉฐ ๊ธฐ์ธ๊ธฐ๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๊ธฐ์ธ๊ธฐ๋ฅผ ์๋ฉด ํจ์๊ฐ ์ฆ๊ฐ/๊ฐ์ ํ๋์ง ์ ์ ์์ผ๋ฏ๋ก ๊ณ์ ๋ฐ๋ณตํ๋ฉฐ ๊ธฐ์ธ๊ธฐ๋ฅผ ๋ฐ๋ผ๊ฐ๋ค ๋ณด๋ฉด ๊ฒฐ๊ตญ ์ต์ ์์ค๊ฐ์ ์ฐพ์ ์ ์๊ฒ ๋๋ค. Gradient descent ์๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค.
- Numerical gradient: ๋ฏธ๋ถํจ์ ๊ณต์ $\lim_{h\rightarrow0 }\frac{f(w+h)-f(w)}{h}$ ์ ์ง์ ์ซ์๋ฅผ ๋์ ํด๊ฐ๋ฉฐ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๊ณ์ฐ ๊ณผ์ ์ด ๋๋ฆฌ๊ณ ์ ํํ์ง ์์ง๋ง ์ต์ ํ ๊ณผ์ ์ ์ฝ๊ฒ ์ดํดํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
- Analytic gradient: ๋ํจ์, ์ฆ $fโ(x)$๋ฅผ ์ด์ฉํ์ฌ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๊ณ์ฐ ๊ณผ์ ์ด ๋น ๋ฅด๊ณ ์ ํํ์ง๋ง ์ต์ ํ ๊ณผ์ ์ ์ฝ๊ฒ ์ดํดํ ์ ์๋ค๋ ๋จ์ ์ด ์๋ค.
Gradient descent ๋ฅผ ํ์ด์ฌ ์ฝ๋๋ก ๋ค์๊ณผ ๊ฐ์ด ๋ํ๋ผ ์ ์๋ค.
while True: weights_grad = evaluate_gradient(loss_fun, data, weights) weights += -step_size * weights_grad #step size๋ ํฌ์ธํธ๋ฅผ ์ด๋์ ๋ ์์ง์ผ์ง๋ฅผ ๋ํ๋ธ๋ค.
-
Stochastic Gradient Descent(SGD): ์ฌ์ง์ ๋ชจ๋ ํฝ์ ์ ๋ํด ๊ฐ์ค์น ๊ฐ์ ๊ตฌํ๋ ๊ฒ์ ๋๋ฌด๋๋ ๋ณต์กํ๊ณ ์ค๋ ๊ฑธ๋ฆฌ๋ ์์ ์ด๋ค. ๋ฐ๋ผ์ ์ผ๋ถ ํฝ์ ๋ค๋ง ์ ํํด์ ๊ทธ ํฝ์ ๋ค๋ผ๋ฆฌ์ ๊ฐ์ค์น ๊ฐ์ ๊ตฌํ๋ค. ์ฌ๊ธฐ์ ์ ํํ ํฝ์ ๋ค์ Minibatch ๋ผ๊ณ ํ๋ค. Minibatch์ Gradient descent๋ฅผ ์ ์ฉํ ๊ฒ์ด Stochastic Gradient Descent ์ด๋ค.
์ด์ ์ ๋ด๊ฐ ์๊ฐํ์๋ Mathmatics for Machine Learning์ Gradient descent์ ์๋ฆฌ๋ฅผ ์ดํดํ๊ธฐ ์ฝ๊ฒ interactive page๋ก ๋ํ๋ ์๋ค.
Image Features
์ธ๊ณต ์ ๊ฒฝ๋ง์ด ๊ฐ๋ฐ๋๊ธฐ ์ ์๋ ์ด๋ฏธ์ง์ ํน์ ํ ํน์ง๋ง ์ ํํด์ ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฅํ๋๋ฐ ๊ทธ ํน์ง๋ง์ด ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ค. ์ฌ์ฉ๋ ๋ํ์ ์ธ ํน์ง์ Color Spectrum(RGB), Histogram of Oriented Gradient, Bag of Words ๊ฐ ์๋ค
๋ํ ์ผ์ชฝ ๊ทธ๋ฆผ์ ํํ๋ ์ง๊ต ์ขํ๊ณ์ ๋ํ๋ ๋ฐ์ดํฐ ํฌ์ธํธ๋ค์ ๊ฒฝ์ฐ ๋นจ๊ฐ ํฌ์ธํธ์ ํ๋ ํฌ์ธํธ๋ฅผ ๊ตฌ๋ถํ๋ ์ ํ ๊ตฌ๋ถ์ ์ ๊ธ๊ธฐ๋ ์ฝ์ง ์๋ค. ์ด๋, ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ฐ์ดํฐ ํฌ์ธํธ๋ค์ ๊ทน์ขํ๋ก ๋ํ๋ด๋ฉด ์ฝ๊ฒ ์ ํ ๊ตฌ๋ถ์ ์ ๊ทธ์ด ๋นจ๊ฐ ํฌ์ธํธ์ ํ๋ ํฌ์ธํธ๋ฅผ ๊ตฌ๋ถํ ์ ์๋ค.
Comments