Module 4. Outside Supervised Deep Learning

조지아텍 온라인 석사과정 CS7647 ‘딥 러닝’ Module 4 인트로 필기 내용

전체 필기 링크 (구글독스)

Module 4. Outside Supervised Deep Learning


0. Introduction

0) 지금까지 배운 Supervised Deep learning 의 한계점

  • Data label을 필요로 하는데, Unlabeled data 수집이 훨씬 쉽다. 
  • 게임 플레이와 같이, 다양한 선택이 여러 단계에 걸쳐 이루어지며 마지막에 가서만 ‘승/패’의 라벨이 붙는 경우도 있다. 이런 상황들을 Sparse Supervision이라 한다.


1) 머신러닝의 종류

  • 지도학습 (Supervised Learning) : 
  • 인풋 : {X, Y)
  • 학습 아웃풋 : f:X->Y, P(y|x)
  • 예: 분류 등
  • 비지도학습 (Unsupervised Learning)
  • 인풋 : {X}
  • 학습 아웃풋: P(x)
  • 예: 클러스터링, 밀도추정(Density Estimation) 등
  • 참고로 이러한 클래식한 머신러닝 방법들은 feature learning을 활용하지 못함. 딥러닝을 효율적이게 하는 핵심요인이 feature space의 자동 최적화임. 어떻게 하면 Unsupervised Learning에서 feature space를 최적화할 수 있을까? 이번 모듈에서 배우게 됨. 
  • 강화학습 (Reinforcement Learning)
  • ‘보상’의 개념으로 평가 피드백 제공
  • 올바른 행동에 대한 supervision 없음


2) Dealing with Low-labeled situations

라벨이 없거나 적은 상황을 아래와 같이 분류할 수 있음. 

  • 준지도학습 (Semi-Supervised) : 예를 들어, 1%의 라벨링된 데이터 (예: 이미지넷)과 99%의 라벨링 없는 데이터 (예: 라벨링 제거한 이미지넷)을 사용해 각각 지도학습/비지도학습으로 훈련시키는 것
  • Domain Adaptation : 예를 들어, 그림으로 학습시키고 사진으로 테스트하는것. 즉 도메인이 shift되는데, 각 오브젝트의 의미 (예: 새 그림과 새 사진)은 동일하므로 Non-Semantic Shift임. 
  • Domain Generalization : 다양한 도메인의 데이터로부터 학습하여, 어떤 도메인에도 적용 가능한 모델을 만들어 Unknown 도메인에 적용하는 것. 도메인에 Non-Semantic Shift가 있음. 
  • Cross-Task Transfer : 라벨링 있는 데이터 소스로 학습시키고 라벨링 없는 타겟에 적용하는데, 소스와 타겟의 도메인이 다른것. 예를 들어 이미지넷으로 학습시키고 전혀 다른 분야의 사진 데이터셋에 적용. 즉 도메인에 Semantic Shift가 있음. 
  • Few-Shot Learning : 타겟 데이터에는 카테고리당 라벨이 1개씩만 있는데, 대신 소스 데이터셋엔 카테고리가 방대한 것. 예를 들어 이미지넷으로 학습시키고 CIFAR10을 카테당 1개만 있도록 가공한 데이터셋에 적용함. 즉 도메인에 Semantic Shift가 있음.
  • 자기지도학습 (Un/Self-Supervised) : 라벨 없이, 데이터셋에서 타겟으로 쓸만한 것을 스스로 파악해서 학습하는 것. 


3) Few-Shot Learning 자세히 보기

  • 방대한 양의 Base class data와, 카테당 1-5개만 데이터가 있는 support set 및 query set을 사용. 

4) 준지도학습 (Semi-Supervised Learning) 자세히 보기

  • 방대한 양의 라벨 없는 데이터와, 소량의 라벨 있는 데이터 사용.
  • 효과있는 방법 : 소량의 라벨 데이터에 일반적 방식으로 훈련시키고, 라벨 없는 데이터에 대해 pseudo-label을 생성, confident한 항목들만 다시 학습데이터에 포함시키는 방법. 
  • FixMatch : 여기에 augmented 데이터도 포함시킴. weak-augmented data로 pseudo-label을 만들고 이를 strongly-augmented data의 ground-truth로 사용. 

5) 비지도학습 (Unsupervised Learning)

  • 지도학습은 이산 데이터에 대해 ‘분류’, 연속 데이터에 대해 ‘회귀’ 사용.
  • 비지도학습은 이산 데이터에 대해 ‘클러스터링’, 연속 데이터에 대해 ‘차원축소’를 사용. 또한 simplex에 대해 ‘밀도추정’을 사용. (x 에 대해 p(x)를 추정)

6) 오토인코더 

  • 차원축소 방식. 라벨 없이 feature representation 학습. 
  • 인코더-디코더 아키텍처로, 인코더에서 저차원으로 줄인뒤 이를 디코더가 인풋으로 받아서 고차원의 원래 인풋을 reproduce함. 인풋과 결과물 사이 오차를 MSE등의 손실함수로 최소화함. 

7) Rotation Prediction 

  • 오토인코더를 일반화하여 여러 surrogate task에 적용할 수 있는데 그 중 하나. rotate된 이미지를 신경망에 입력하면 몇도 각도로 회전되었는지 출력하게 하는것. 치팅이 발생하지 않게 주의해야 함. 

8) 생성형 모델

  • GAN (Generative Adversarial Networks) : 랜덤 벡터를 넣고 이를 통해 이미지를 생성. Discriminator에 이 이미지를 넣고 진짜인지 거짓인지 판별하게 함. Generator와 Discriminator에 각각 손실함수 적용. (게임이론 연관) 이를 통해 점점 실제같은 이미지를 생성하게 할 수 있음. 
  • VAE (Variational Autoencoder) 

9) 강화학습 

  • 단계적 의사결정과 평가 피드백
  • Environment에 존재하는 Agent가 State를 참고하여 Action을 취함. 그 결과 Reward를 받음.
  • 예시 : 게임하는 AI.  
  • Agent는 Environment의 State를 Action에 매핑하기 위한 Policy를 학습해야 함.
  • 장기적으로 누적 reward를 최대화하도록 학습

 

결론 : 이번 모듈에선 여러 다른 방식의 ‘지도(Supervision)’에 대해 살펴볼 것임. 여기엔 라벨링 없는 데이터, 라벨링 있는/없는 데이터의 혼합, 그리고 보상 등이 해당됨. 

Share: X (Twitter) Facebook LinkedIn