[3주차] 8.19 목

William JO·2021년 8월 19일
0

✏️Transfer Learning & Fine Tuning

  • Transfer Learning : 다른 데이터셋으로 만든 모델을 현재 데이터에 적용
    -> backbone model(학습된 모델 = pretrained model)을 가져와서 우리 target에 맞춘 fine tuning을 진행하는 것이 현재 DL에서 가장 일반적인 학습 기법.
  • 일반적으로 대용량 데이터셋으로 만들어진 모델에 성능 ⬆

model.save()

  • colab에서는 session time이 제한되어 있어서, model 학습 시간이 session time을 넘기면 학습 내용이 날라갈 수 있기에 항상 중간 학습 과정을 기록(저장) 해주는 것이 좋다.
  • 모델 형태(architecture) + parameter 저장 가능
  • parameter만 저장 가능

checkpoints

  • 학습 중간 결과를 저장 → 최선의 결과를 선택
  • early stopping 사용 가능; 사용 시 이전 학습의 결과물을 저장
  • epoch, loss, metric을 지속적으로 함께 확인 저장

pretrained model for transfer learning

  • NLP는 HuggineFace가 사실상 표준
  • Freezing
    • pretrained model을 활용 시 모델의 일부분을 freeze 시킴
    • parameter update를 정지 → back propagation이 일부 layer에서만 일어나게 함

✏️Monitoring tools for PyTorch

  • 일반적으로 긴 학습 시간이 소요 → 학습 과정의 기록이 필요
  • 좋은 도구들이 많다.
  • Tensorboard → Tensorflow
  • weight & biases (w and b) → PyTorch

Tensorboard

  • TensorFlow의 프로젝트로 만들어진 시각화 도구
  • computational graph(학습 그래프), metric, 학습 결과의 시각화 지원
  • PyTorch도 연결 가능 → DL 시각화 핵심 도구
  • scalar : metric 등 상수 값의 연속(epoch)을 표시
  • graph : 모델의 computational graph 표시
  • histogram : weight등 값의 분포를 표현
  • image : 예측 값과 실제 값을 비교 표시

weight % biases

  • MLOps 대표적인 툴로 저변 확대 중인 상용 도구 (부분 무료)
  • 협업, code versioning, 실험 결과 기록 등 제공

0개의 댓글

관련 채용 정보