CS231n

CS231n(3-3) Loss Functions and Optimization

민지기il 2024. 2. 22. 18:03

f를 정의해서 스코어를 구하고, 손실함수를 이용해서 w도 평가했다. 손실함수가 최소가 되게 하는 W를 구하기 위해 최적화를 사용한다

Optimization

:loss를 최소화하는 W를 찾는 과정

가정) dataset (x,y)를 갖는다, score function은 s=f(x,W) = Wx이다 , loss function으로는 SVM, Softmax, Full loss를 갖는다

 

<Full Batch Gradient Descent>

Numericla Gradient(수치적 기울기)

gradient: loss function 의 기울기로, 현재 가중치에서 loss function이 어느 방향으로 얼마나 변화하는지

gradient는 그쪽 방향으로 갈때 함수 f의 slope가 어떤지를 알려준다 gradient의 방향은 함수에서 가장 많이 올라가는 방향이므로, 이 반대방향으로 간다면 가장 많이 내려갈 수 있다. 또한 우리가 원하는 방향의 경사를 알고 싶다면, 그 방향의 unit vec와 gradient를 내적한다

-단점: 근사치이다, 평가하는 게 느리다

-장점: 코드 작성이 쉬움

-결론: 보통 analytic gradient를 쓰나 test용으로 numerical gradient가 사용된다

analytic gradient: Loss와 gradient를 계산한 후 가중치를 gradient의 반대 방향으로 업뎃

 

 

 

<Mini-Batch Gradient Descent>

: gradient를 계산하기 위해 일부분의 training set을 사용함

                     learning rate의 값에 따라 loss의 변화

 

기타

 

그림의 모든 픽셀의 색을 파악하여 color 파노라마에서 각각의 색에 해당하는 bean이 몇개인지 센다

이미지내에 각각의 Bean에 해당하는 픽셀을 센다

 

8X8 픽셀로 구성된 구역을 나눠 edge의 방향을 9가지로 분류해서 9가지의 bean에 몇 개가 속하는지를 기준으로 edge의 orientation을 feature로 추출한다

 

결론) 과거엔 feature 추출을 사람이 한 반면, 현재는 함수를 통해 결과값을 얻는다