데이터과학 삼학년

Dealing with Data Scarcity 본문

Machine Learning

Dealing with Data Scarcity

Dan-k 2020. 6. 2. 14:44
반응형

Dealing with Data Scarcity

- transfer learning : boost, bagging 등

- 충분한 양의 레이블이 없는 데이터가 있을때 어떻게 해야할까?

  > Data augmentation, Transfer learning

 

Data augmentation (데이터 증식)

- 이미지의 경우, 회전시키거나 대칭 또는 일부분을 확대, 브루밍 등을 시켜서 데이터를 증식시킬 수 있음

- 국기 같은 경우는 대칭시킬수가 없지, 대칭시키면 아예 다른 label을 갖게 되는 경우 있음

- 때로는 작은 디테일이 더 정보를 줄 수 있음

- 예측시에 노이즈를 데이터에 추가하는 것은 노노노

- dataflow 등을 통해 pipeline을 구성하여 적용하는 것이 나음

- .cache()를 통해서 dataset을 로딩하는 시간을 줄일 수 있음 

- image 변환을 이용해 데이터 증식 → 에폭이 들어가면서 에폭수와 같이 데이터는 계속변형되어 학습에 제공됨

Transfer Learning (전이 학습)

- shortcut이라 생각하면 좋음

  > imagenet은 수천개의 많은 그림들 레이블 이용하여 학습된 모델

- big dataset을 가진 imagenet을 활용

  > output과 가까이 있는 layer을 잘라 예측의 활용에 맞게 재구성한 다음 imagenet에 붙여서 사용(복잡한 구조의 networks는 이미 학습된 파라미터를 그대로 사용)

- 이미지넷 데이터와 예측하고자 하는 데이터가 많이 다르다면 model을 freeze하지 않는게 좋음

  > hub api를 사용하여 imagenet 붙이기!

 

- tf.keras.applications 에 어떤모델을 고르고, 해당 모델의 어느 layer까지 쓸건지 정할 수 있음

https://keras.io/applications/

 

728x90
반응형
LIST

'Machine Learning' 카테고리의 다른 글

Sequence Model (RNN, LSTM)  (1) 2020.06.02
Going Faster and Deeper  (0) 2020.06.02
Image Classification (Linear, DNN, CNN)  (0) 2020.06.02
Graph 기초  (0) 2020.06.02
Isolation Forest (for anomaly detection)  (0) 2020.04.13