Deep Learning #Machine Learning #Computer Vision #cs231n (3) 썸네일형 리스트형 CS231N Spring 2020 Assignment1 : Features yun905.tistory.com/5?category=878116 CS231n 2017 Lecture 3 : Loss Functions and Optimization Lecture 2에서 배운 내용의 review로 시작하는 Justin. Linear classifier는 W를 가지고 있었고, 각 W 값은 해당 픽셀이 얼마나 score에 영향을 끼칠지 결정한다. 이번 시간에 배울 loss function과 optimizatio.. yun905.tistory.com Lecture 3에서도 다루었듯이 image의 raw pixels를 바로 linear classifier에 넣는 것은 좋은 생각은 아니었다. 이런 feature extraction 방법을 통해 얻은 feature를 neural network에 넣.. CS231N Spring 2020 Assignment1 : Softmax CIFAR-10 데이터를 이렇게 분할해서 사용할 것이다. softmax.py에 들어가서 softmax_loss_nave를 구현한다. Inline Q1. W가 처음에 0에 가까운 값들로 초기화 되기 때문에, exp 연산을 거치면 score의 모든 값이 1이 되어 버린다. 따라서 softmax를 거친 값은 1/cls_num이고 CIFAR-10의 class 수는 10개 이므로 loss는 -log(1/10)이 된다. Softmax의 computational graph는 위와 같고, 이 그래프를 차분히 해석하면 gradient를 구할 수 있다. 코드는 위와 같다. Regularization을 잊지 말자. Numerical gradient와 비교해서 잘 짰는지 확인하자. Naive 버전을 잘 짰다면 vectoriz.. CS231N Spring 2020 Assignment1 : SVM(Multiclass Support Vector Machine) 지난 knn 과제처럼 CIFAR-10을 사용한다. 데이터를 나누고 reshape하고 전처리 하는 과정이다. Per pixel mean을 구해 mean image를 구하고 데이터에게 뺄셈한다. Bias를 사용하지 않기 위해 X의 가장 오른쪽 열에 1을 붙여주고 weight의 shape[0]도 한 칸 늘려준다(bias trick). linear_svm.py를 열고 svm_loss_naive를 구현해야 한다. 이중 for문 안에서 우리는 score의 각 원소에 접근할 수 있다. Score[j]는 j번째 class에 해당한다. j==y[i]라면 정답 class인 것이므로 loss에 더해줄 필요가 없으므로 continue 한다. 또한 margin이 0 이하라면 더하지 않는다(hinge loss의 그래프를 떠올리면.. 이전 1 다음