[Tensorflow] 10. Data sets & Learning
Data sets - 학습을위한 데이터의 구성
데이터의 구성은 Training data와 Validation data의 구성을 잘 구성하는 것이 중요하다. 예를 들어 이미지 분류 모델이 있는 경우 training data에 없는 validation data 는 모델이 구별할 수 있는 항목이 아니기 때문에 학습에 사용될 수 없다.Layer, Learning rate, Optimizer를 잘 선언한 경우 좋은 모델을 얻어낼 수 있을 것이다. 어느정도 모델이 구해진 이후에는 새로운 parameter로 모델을 test해야한다. 이 과정이 매우 중요한데 우리가 구한 모델은 새로운 데이터가 입력되더라도 옳은 예측을 하도록 하는 것이 목표라고 할 수 있다. Tensorflow 혹은 Keras에서는 모두 test data가 학습에 적합한지, 이상이 없는지 검증해주는 API를 제공하고있다. 보통 전체 데이터를 7:3으로 나눠 7은 training에 3은 test에 사용하는 것이 일반적이다.
Anomaly detection
처음에 모델을 설계할 때는 건강한 data에 대해서만 만들게 된다. 그 후에 이상이 있는 새로운 특이한 데이터가 입력될 경우 Anomaly에 대해 학습할 수 있다는 것이 최근 논문에서 발표된 새로운 사안이다.
Learning
Online vs BatchOnline : data가 인터넷에 연결된 상태에서 지속적으로 학습하면서 변한다
Batch : data가 static한 상태에서 변화없이 학습된다
Fine Tuning / Feature Extraction
Fine Tuning : 기존에 존재하던 Original Model에 weight만 조금씩 변화를 줘서 새로운 data 항목에 대해서도 구분하도록 학습시킴Feature Extraction : Original Model은 그대로 놔두고 새로운 항목에 대해서만 다시 학습을 시켜 구별하도록 함
실생활에서 효과적인 모델을 만들기 위해서는 모델의 performance가 굉장히 중요하다. inference time을 줄이는 것이 매우 중요하고 이는 결국 적은 weight값이 필요하다는 뜻이다.
No comments: