※ 본 내용은 stanford에서 제공하는 cs231n 강의, 강의자료를 바탕으로 작성하였습니다.
Assignment1의 마지막 과제인 Q5에서는 이미지로부터 feature를 extraction한 후 extraction한 feature에 대해 학습하는 내용을 다루고 있다.
feature extraction 코드로 제공되고, 앞선 과제에서 만들어둔 model을 이용하여 실험을 진행한다.
Lecture3의 슬라이드로, feature eatraction을 거친 후 training하는 것과 raw pixel을 통해 training하는 과정의 차이를 보여준다.
- 0. Extract Feature
우선 앞선 과제들과 동일하게 CIFAR10 데이터를 사용하고, 제공되는 feature extraction 코드를 이용해 새로운 data로 생성한다.
ex) X_train -> X_train_feats
참고로 Histogram of Oriented Gradients(HDG) 와 color histogram에 대한 feature를 추출한다고 한다.
- 1. Train Linear SVM
먼저 Linear SVM 모델에 대해 학습을 진행해본다.
learing_rate 등의 파라미터를 조정하여 40% 이상의 정확도가 나와야 된다고 한다.
실험에 대한 코드는 생략하고,
learning rate와 regularization strength 그리고 num_iters를 적절히 조정하여 조정하여 47%의 정확도를 얻을 수 있었다.
Q2에서 SVM을 통한 정확도가 40% 정도로 나왔던 것을 생각해보면, 단순 raw pixel을 이용한 것보다 더 좋은 성능을 보이는 것을 확인할 수 있다.
- train 2-layer network
다음으로는 2-layer network에 대해 실험을 진행한다.
여태까지 실험한 모델들 중 가장 좋은 성능을 보일 것이라고 한다.
(55%~60%의 정확도)
이미 dropout을 추가로 구현해놨기 때문에, learning_rate와 num_epochs 만 간단하게 조정하면서 실험을 진행한 결과,
59%의 정확도를 달성할 수 있었다.
2 layer net만으로도 60% 정도의 정확도를 달성할 수 있을 정도로, feature extraction을 통해 큰 성능 향상을 얻을 수 있었다.
'Computer Vision > cs231n' 카테고리의 다른 글
[Lec6] Training Neural Networks, Part 1 (0) | 2022.01.10 |
---|---|
[Lec5] Convolutional Neural Network (0) | 2022.01.09 |
[Assignment1 - Q4] 2-layer NN (0) | 2022.01.01 |
[Lec 4] Backpropagation and Neural Network (0) | 2021.12.30 |
[Assignment1 - Q3] Softmax (0) | 2021.12.30 |