전이 학습이 뭔지 잘 모르겠으니,,,, 공부해보쟈

전이 학습은 연구에서 가장 중요한 부분이라고 한다..

전이 학습이란?

  • 기존에 알고 있는 다른 지식(source domain)을 통해 새로운 문제(target domain)를 해결하는 학습 방법
  • 전이 학습을 통해서 더 많은 지식을 얻음으로써 성능도 향상시키고 학습 속도도 빠르게 만들 수 있음
  • 성능을 향상시키려면 기본적으로 데이터가 많아야 함
  • 데이터 부족을 극복하기 위해 다른 지식 데이터를 가져옴
  • 학습된 다른 데이터를 가져올 수도 있고, 학습된 다른 모델을 가져올 수도 있음

 

전이 학습 장점

  • 보다 적은 데이터 양으로 성능 개선 가능
    •  적은 우리 데이터 + 많은 소스 데이터
  • 학습 시간 절약

 

전이 학습 종류

  1. Instances-based
    • 적절한 가중치를 이용한 소스 도메인을 활용
    • Instance라고 하면 데이터 하나하나를 말함
    • 소스 도메인에서 타겟도메인과 유사한 데이터를 끌어와서 사용함
    • 소스 도메인에서 데이터를 가져올 경우 데이터 분포 간의 차이가 있기 때문에 소스 도메인에 적절한 가중치를 적용해서 사용함
  2. Mapping-based
    • 두 도메인의 유사성을 이용하여 새로운 데이터를 생성
    • 소스 도메인과 타겟 도메인의 성질의 공통점을 가진 공간을 만들어서 그 데이터 셋으로 모델을 학습 시킴
    • 맵핑 방법 예) cycleGAN
  3. Network-based
    • 소스 도메인의 사전 학습된 모델을 사용
    • 전이 학습에서 가장 많이 사용되는 방법
    • 파이토치에서 Pretrained라는 이름으로 모델을 공유함
  4. Adversarial-based
    • Adversarial Layer를 통해 도메인 라벨을 생성하고 적대적 네트워크가 도메인을 잘 구분하지 못하는 방향으로 학습하여 다른 도메인으로부터 오는 피쳐맵의 차이를 적게 함
    • Adversarial Layer를 만들어서 도메인을 구분할 수 있는 장치를 하나 만듦
    • 모델에 소스 도메인 데이터와 타겟 도메인 데이터가 들어오는데 데이터 분포가 다르다 보니까 소스 도메인으로부터 Pretrained된 모델을 가져와서 타겟 도메인에 적용을 시키면 학습이 잘 되지 않을 수 있음
    • 소스 도메인과 타겟 도메인의 차이를 모델이 구분을 하지 못하게 하기 위해 도메인 라벨을 만들어서 같이 loss를 고려함

 

 

 

내용에 문제가 있으면 댓글로 알려주세요!

 

출처 : 인프런 - 실전 인공지능으로 이어지는 딥러닝 개념 잡기(딥러닝 호형)

+ Recent posts