[AI Competition Tutorial] Pre-trained Model

임수정·2022년 2월 22일

AI Competition

목록 보기
5/10

Pre-trained Model

Computer Vision의 발전

  • Computer Vision의 발전으로 현재 상당히 많은 일을 자동화 할 수 있다.
  • ImageNet
    • 검증을 위한 높은 품질의 많은 양의 데이터셋
    • ImageNet 이후로 꾸준히 vision 분야가 발전됨
    • 획기적인 알고리즘과 검증을 위한 높은 품질의 많은 양의 데이터셋은 필수적이다!

Pretrained Model

Pretrained Model의 배경

  • 모델 일반화를 위해 매번 수많은 이미지를 학습시키는 것은 까다롭고 비효율적

    좋은 품질, 대용량 데이터로 미리 학습한 모델을 사용해서,
    이 모델을 바탕으로 내 목적에 맞게 다듬어서 사용하고 싶다.

이미 공개되어 있는 수 많은 Pretrained Model

  • 미리 학습된 좋은 성능이 검증되어 있는 모델을 사용하면 시간적으로 매우 효율적
  • 너무 쉽게 모델 구조와 Pretrained Weight을 다운로드 할 수 있다.

Transfer Learning

CNN base 모델 구조(simple)

  • Input + CNN Backbone + Classifier -> Output
  • Torchvision model 구조

내 데이터, 모델과의 유사성

  • ex) ImageNet이 Pretraining하는 과정(학습 문제)

  • 내가 설정한 문제와 비교:
    Pretraining 할 때 설정했던 문제와 현재 문제와의 유사성을 고려

    • 구름 판별과 ImageNet의 연관성이 있는가?

Case by Case

  • Case 1: 문제를 해결하기 위한 학습 데이터가 충분하다.

    • 푸는 문제가 Pretrained와 많이 비슷하거나 Pretrained의 문제의 일부같은 느낌이라면,
      CNN Backbone은 freeze,Classifier만 학습해도 됨(=feature extraction)
    • 푸는 문제가 Pretrained가 그렇게 비슷하지 않다면
      둘 다 학습해야 될 수도 있음. 단, 새로 학습하는 게 아니라 학습된 모델에서 이어서 학습하는 게 더 성능이 좋을 가능성이 높다.(=finetuning)
  • Case 2: 학습 데이터가 충분하지 않은 경우..

    • 문제가 Pretrained 문제와 비슷할 경우는 Classifier만 새로 학습해서 진행
    • 문제가 Pretrained 문제와 비슷하지 않은 경우, 학습을 하나마나일 수도 있다..데이터를 더 늘릴 수 있는지부터 고민..!

Special Mission

  • 임의의 원하는 Pretrained Model을 하나 골라서 ImageNet Pretrained Weight가 업데이트(다운로드)된 상태에서
    • Fine-tuning 시도
    • Feature Extraction 시도 (Backbone Freeze) 해보고 둘 차이가 어떤지 한번 비교해보세요.
    • 과연 내 문제와 ImageNet의 문제가 주제가 비슷한 문제일까요?
profile
유쾌하게, 열정적으로, 진심을 다해

0개의 댓글