Using Open-Source Implementation

github에서 오픈소스 사용하는 법 알려줌

 

Transfer Learning

pretrained model 활용하기

 

1000개 클래스 분류하는 모델이 있따고 해보자

원래 있던 softmax 레이어를 지우고 나의 분류 클래스에 맞게 softmax layer를 추가한다

그리고 앞 레이어들의 파라미터를 freeze 하고 softmax layer만 재학습한다

 

작은 데이터셋으로도 좋은 효과를 낼 수 있음

 

traininable parameters = 0 , freeze = 1 와 같이 전이학습을 위한 옵션 포함되어 있는 경우 많음

 

빠르게 학습할 수 있는 팁 하나: 전체 input x 로 특정 레이어를 pre-compute 하고, 그 활성화값들을 디스크에 저장하기

이 fixed-function을 이용해서, 이 feature vector로부터 얕은 softmax 모델을 학습한다 

-> 활성화값을 매번 recompute할 필요가 없다

 

더 큰 데이터셋이 있다면? 

일부만 freeze 하고 마지막 레이어 몇개만 재학습하거나 아예 새로운 unit을 덧붙인다

 

아니면 pretrained model을 하나의 initialization으로 활용하고 전체를 재학습한다

 

Data Augmentation

1) mirroring in vertical axis

2) random cropping

그 외 rotation, shearing, local warping , ...

 

[color shifting]

실제 이미지에서 햇빛 등에 따라 색이 달라지기도 하므로...

 

*Advanced

- PCA color augmentation - AlexNet 논문 : RGB 채널을 밸런스 있게 맞추는 작업

 

loading data, implementing distortion, training 을 각각 맡는 thread, 그리고 이 작업들이 parallel하게 이루어질 수도 있음

 

 

State of Computer Vision

computer vision 같은 경우는 웬만큼 데이터셋 크기여도 데이터가 부족하다

따라서 computre vision 분야는 hand engineering이 더 많이 들어갔고 신경망 구조도 복잡해진 경향이 있다

 

- 앙상블 : weight가 아닌 $\hat{y}$ 간의 평균을 구할 것

- 10-crop 스킬

 

 

'인공지능 > DLS' 카테고리의 다른 글

[4.3.] Detection Algorithms(2)  (0) 2022.08.01
[4.3.] Detection Algorithms(1)  (0) 2022.07.28
[4.2.] Case Studies(2)  (0) 2022.07.26
[4.2.] Case Studies(1)  (0) 2022.07.24
[4.1.] Convolutional Neural Networks(3)  (0) 2022.07.24
복사했습니다!