본 유튜브 강의를 토대로 제 나름 정리한 포스팅입니다.
자세한 설명은 유튜브 영상을 참고하시기 바랍니다.
Domain Adaptation
정의
: 일종의 knowledge transfer 개념을 갖고 있는 모델로 train(source) data로부터 학습한 domain으로부터 시작하여, 새로운 test(target) data domain까지 비슷하게 조정해나가면서 학습하는 과정
= 두 가지의 Domain에 대하여 한 쪽의 domain을 다른 쪽으로 조정 or 맞추려는(adapt) 하는 것.
= training과 test분포가 약간 다른 환경에서 효율적인 학습을 진행하려는 과정이 domain adaptation(DA)
ex 1) 영화에 대한 리뷰가 긍정, 부정인지 판별하는 모델이 책에 대한 리뷰를 판별하도록 하는 경우.
즉, 다른 상품에 대해 개별적으로 일일히 학습을 시키기에는 labeled data가 존재하지 않으므로, transfer learning을 사용해 효율적인 학습 진행.
가정
: Source Domain 데이터는 class label이 있다 가정 / Target Domain 데이터는 class label이 없어도 됨
대신에 Source, Target 을 구분하는 Label set을 정의( ex. Source 는 0번, Target 은 1번)
Gradient-based adaptation
본래의 data로 label을 예측하는 Task Classifier와
해당 값의 domain이 무엇인지 예측하는 Domain Classifier로 구분.
Encoder(CNN)의 역할은 오히려 Task는 잘 분류하되, domain은 구분할 수 없게끔 하는 것이 핵심이다.
이렇게 하는 이유는 Domain과 상관없이 다양한 데이터에 대하여 일반화된 성능 향상을 이루게 하기 위함이며,
Adversarial Doamin Adaptation
: GAN을 사용하는 방식
파란색 라인으로 먼저 pre-train한 다음에 추 후 adaptation을 위한 학습을 진행
참고 출처 : http://jaejunyoo.blogspot.com/2017/01/domain-adversarial-training-of-neural.html
https://youtu.be/GmqW_v_bXiM
'머신러닝 > 머신러닝 기초 개념' 카테고리의 다른 글
[머신러닝 통계학] 3.통계적 추론 (0) | 2021.07.28 |
---|---|
[머신러닝 통계학] 2.기술통계 (0) | 2021.07.28 |
[머신러닝 통계학] 1.소개 (0) | 2021.07.27 |
Numpy Seed 설정 (np.random.seed(0), np.random.seed(42)) (0) | 2021.07.02 |
강화학습(Reinforcement Learning) (0) | 2021.06.20 |