티스토리 뷰
맞은데 바로 맞으면 별로 안 아프거든요?(경험담) 약간 그런 느낌으로 오히려 Lec2보다 숨이 쉬어졌습니다.
지난 시간 linear classification에서 파라미터 w를 배웠습니다.
이번 시간에는 이 w를 정량화해서 평가할 수 있게 하려고 합니다. 즉 어떤 w가 좋은지 판단하기 위함이죠.
w가 얼마나 더 좋은지가 아닌, 덜 구린지를 나타낸 것이 Loss function입니다.
이 loss를 구하는 방법은 두가지가 있습니다.
1.SVM
2.Softmax Classification
입니다.
svm
먼저 SVM를 봐보면
위의 식처럼 Loss를 정의합니다.
max(a, b)는 a와 b중에서 큰 값을 고른다는 이야기입니다.
그렇다면 여기서는 우항이 음수이면 항상 loss는 0으로만 나오겠네요.그리고 Sj = 잘못된 label's score
Syi = corrected label's score
입니다.
마지막에 1은 safety margine인데 아래 설명을 보면 이해가 더 잘 될겁니다.
를 Sj-(Syi-1)의 식으로 보면 "Syi가 Sj가 1 이상 크면 항상 loss는 0이 된다"로 이해할 수 있습니다.
즉, loss가 제일 덜 구린게 0인데 잘못된 label's score와 corrected label's score의 gap에 1의 마진을 준 것이죠.
Q1:What happens to loss if scores change a bit?
SVM에서는 약간의 스코어 변화가 있다고 하더라고 별로 변하는 것이 없습니다.
Q2:What is the min/max possible loss?
SVM의 loss식 자체가 0을 포함한 max식이기 때문에 min=0이고 Sj는 이론상 무한대이기 때문에 max=infinty입니다.
Q3:At initializatioln W is small so all s (almost)= 0. What is the loss?
처음에는 w를 매우매우 작은 수로 초기화하기 때문에 score가 0에 근사한 값을 가집니다. 그래서
Sj-Syi+1 = 0-0+1 으로 볼 수 있어서, class가 3개인 지금은 loss가 2로 나옵니다.
- 여기서 이러한 성질을 이용해서 처음에 loss 값이 n(class)-1의 값으로 나온다면 '아, 학습이 잘 시작되었구나'하고 확인할 수 있고, 이 것은 "Sanity check"이라고 합니다.
Q4:What if the sum was over all classes?
이때까지는
j=yi인 스코어는 더하지 않았는데,
어짜피 스코어가 같은 때는 Sj-Syi+1에서 1만 살아남아서 모든 loss가 1씩만 커집니다.
Q5:What if we used mean instead of sum?
별 의미가 없습니다. Loss는 목적이 아닌 수단입니다. loss를 minimize하는 parameter를 구함임을 잊지말라고 준 질문 같습니다.
Q6:What if we uesd sum of square?
제곱을 하면 none liner 해서 차이는 생기지만, 결과에는 영향이 없습니다.
그렇다면 굳이 수를 커지게해서 bit을 많이 이용할 필요가 없겠죠?
그렇다면 SVM's loss function 은 완벽할까요?
Nope. loss 를 0이게 하는 w값이 유일하지 않기 때문에 어떤 w가 더 좋은 파라미터인지 알 수가 없기 때문입니다.
Weight Regulation
그래서 Weight Regulation을 도입합니다. Unique한 w를 결정하기 위해서요.
는 data loss입니다.
학습용 data에 최적화 할려고 하죠.
는 regularization loss입니다.
test set쪽에 최대한 일반화하려고 하는 거죠. 즉 training data에 대한 정확도는 떨어지지만 test set에서의 performance는 더 좋아지게 합니다.
이 두가지 loss는 상충됩니다.
그래서 두 loss를 잘 조절하면 학습용 data에도 fit하고 test에서도 최적화된 unique한 w를 구할 수 있게 합니다.
Regularization is a way of trading off training loss and generalization loss on test set.
Regularization 중 L2는 최대한 spread out 되어서 모든 input features를 고려할 수 있는 w를 더 선호합니다.
이 경우에는 모든 x vector를 반영할 수 있는 w2를 더 선호하겠네요.
Softmax Classification
그런데 regularization이 필요없이 loss를 구하는 방법도 있습니다.
Softmax Classification입니다.
이 softmax function을 통해 score를 구합니다.
- 여기서 지수화는 linear clssifier를 통해 도출된 score를 모두 양수로 만들기 위함입니다.
- 왜 양수로 만드냐구요? 좀 이따가 log 함수에 넣어서 값을 비교할거라서요.
- 왜 log함수에 넣느냐구요? 큰 수부터 작은 수까지 비교하기 원래 수를 비교하는 것보다 용이하기 때문입니다.
위의 function에서 볼 수 있듯이 score는 확률입니다.
우리는 이 확률이 커지길 바랍니다.
하지만 Loss Function의미가 덜 구린 값을 표현해야하기 때문에 음수로 취하는 것입니다.
조작 순서를 보겠습니다.
차례대로 식을 보면서 이유를 읊을 수 있으면 잘 이해하신 것 같습니다.
Q1:What is the min/max possible loss L_i?
이 질문의 답을 얻으면 왜 이렇게 많은 조작이 필요했는지 이해할 수 있습니다.나는 진짜 그래프 잘 그려(감탄)
Q2:Usually at initialization W is small so all s (almost)= 0. What is the loss?
가장 간단히 정리하자면
SVM은 매우 둔감(그래프도 liner함)
Softmax는 매우 민감(모든 input을 챙기니까)
혹시 제가 잘못 이해한게 있다면 댓글로 알려주시면 정말 감사하겠습니다.
Thanks for
끝으로 Kyosoek Song 님 정말 감사합니다.
Thank you Song much!!
https://www.youtube.com/watch?v=KT4iD6yiqwo
'CS231n' 카테고리의 다른 글
CS231n Lecture 3 | Loss Functions and Optimization (0) | 2021.10.08 |
---|---|
CS231n Lecture 2 | Image Classification (2) | 2021.09.27 |
CS231n Lec3(2) Optimization & Image Features🙋 (0) | 2021.06.25 |
CS231n Lec2 Image classification pipeline (1) | 2021.06.25 |
- Total
- Today
- Yesterday
- AIFFEL
- 왓시춤
- 태국 바나나
- 이글스파크
- 얼리버드 호스텔
- 카페 아마존
- 아이펠
- optimization
- 페이페이리
- 아유타야에서 수코타이 버스로
- 수코타이 역사 공원
- 기아타이거즈
- 아유타야 야시장
- 왓 프라파이 루앙
- VIENG TAWAN 숙소
- 태국 7일차
- 태국 맥주 살 수 있는 시간
- 인공지능
- 태국Chester's 배달
- 아이펠 후기
- 나 홀로 투어
- 방콕 3일차
- cs231n
- 자전거 렌트
- 왓 소라삭
- SUREERAT 식당
- 아유타야자전거
- 방콕에서 아유타야 기차
- 태국 음료수
- 태국과일가격
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |