Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Learning by association

2,806 views

Published on

CVPR 2017에서 발표되는 semi-supervised training 방법을
동경대의 Masashi Yokota군이 정리한 자료

Published in: Technology
  • Login to see the comments

Learning by association

  1. 1. Learning by Association : A versatile semi-supervised training method for neural networks Masashi Yokota, Tokyo univ. 번역 : 김홍배
  2. 2. Idea기억 개! 인간은、학습 샘플간 연관지어서 생각하는 것이 가능하여 (can think about by associating with learning samples) 적 은 샘플로도 정확하게 답할 수 있다. → 학습 샘플과 unlabeled 데이터를 연관지으면서 학습하는 것이 가능하지 않을까?
  3. 3. Idea Labeled Unlabeled Labeled 동일 클래스 2개의 labeled 데이터의 사이에 적절한 unlabeled 데이터를 연관시키도록 학습
  4. 4. Overview Unlabeled Label X Label Y Walker가「labeled → unlabeled → labeled」로 이동하는데 출발과 도착 클래스가 동일하도록 학습시킨다. 이때 walker는 유사도 (similarity)로부터 계산된 천이 확률(Transaction probability)에 따라 이동한다.  Association Networks이 class간 반드시 필요한 특성을 찾아내도록 훈련됨
  5. 5. Key Contributions - Semi-supervised end to end training of arbitrary network architectures * Surpassing state of the art methods when only a few labeled samples are available - Very powerful Domain adaptation method
  6. 6. Method 가정 : networks이 embedding vector를 제대로 만들어낸다면, 동일 클래스의 경우 vector간 높은 유사성을 갖는다.  Labeled & unlabeled data 모두를 사용하여 networks이 embedding vector를 제대로 만들어내도록 parameter를 최적화
  7. 7. Method • A: Labeled data • B: Unlabeled data • Ai 데이터와 Bj데이터의 유사도 Mij: 내적(inner product) • 이 유사도 M에 따라 walker의 천이확률을 구한다.
  8. 8. Method • Transaction Probability • Round Trip Probability
  9. 9. Walker Loss 동일 클래스간의 Path의 확률은 uniformly distribution으로, 다른 클래스간 Path의 천이확률은 0으로. MNIST의 1과 비슷한 7의 unlabeled 이미지처럼 구별이 어려운 것의 천이확률도 0에 가깝도록 하여 구별이 쉬운 데이터만 남도록 한다. (※H: cross entropy)
  10. 10. Visit Loss Unlabeled Label X Label Y 여기처럼 unlabeled data 중 애매한 부분도 효과적으로 활용하고 싶다. 구별이 쉬운 샘플들간 연관 짖는 것보다 주어진 모든 샘플을 “visit”하는 것이 embedding을 좀더 일반화하는데 효과적
  11. 11. Visit Loss Ai에서 모든 B에 대해 천이확률이 균일하게 분포하도록 → 명확한 데이터뿐만 아니라 애매한 데이터도 천이확률이 올라가게 됨. (※H: cross entropy)
  12. 12. Loss Function • 는 일반적으로 지도학습에서 사용하는 softmax cross entropy • 실제로는 Visit Loss에는 정규화의 영향이 크므로 가중치를 사용하는 쪽이 좋은 결과를 얻음(후술) Total Loss Function
  13. 13. Experiment
  14. 14. Experiment - 검증항목 ‣ 제안방법을 사용하여 성능이 올라가나 ? ‣ Unlabeled data를 잘 연관 지어 가는가 ? ‣ Domain Adaptation(SVHN→MNIST)에 응용 - Dataset ‣ MNIST: (labeled: 100 or 1000 or All, unlabeled: labeled에서 사용하지 않은 데이터) ‣ STL-10: (labeled: 5k, unlabeled: 100k) ‣ SVHN: (labeled: 0 or 1000 or 2000 or All, unlabeled: labeled에서 사용하지 않은 데이터) ✓ 훈련용 데이터 중에서 labeled data를 일부만 사용, 나머지는 unlabeled로서 학습
  15. 15. Setting • Batch Size: 100 for both labeled batch A(10 samples per class) and unlabeled batch B • Optimizer: Adam • 정규화항: L2 norm (가중치:10-4)
  16. 16. CNN model for MNIST C(32,3)  C(32,3)  P(2)  C(64,3)  C(64,3)  P(2)  C(128,3)  C(128, 3)  P(2)  FC(128)  FC(10) C(n,k) : convolutional layes with n kernels of size kxk and stride 1 P(k) : a max pooling layes with window size kxk and stride 1 출력층 이외의 활성화 함수 : elu
  17. 17. MNIST Result
  18. 18. 천이확률의 변화(MNIST) 학습전 학습후
  19. 19. MNIST 에러분석 저자의 주장으로는 labeled data에 없는 특징이 테스트에 존재하기 때문에 (Ex. 4의 윗쪽이 닫혀져서 마치 9와 비슷해짐)착오가 일어났다고 모든 labeled data 테스트 데이터의 틀린 부분 테스트 데이터의 Confusion Matrix
  20. 20. CNN model for SLT-10 Training using 100 randomly chosen samples per class from the labeled and unlabeled training sets Data augmentation : random cropping, brightness change, saturation, hue and small rotation C(32,3)  C(64,3, s=2)  P(3)  C(64,3)  C(128,3)  P(2)  C(128,3)  C(256, 3)  P(2)  FC(128)  FC(10)
  21. 21. SLT-10 학습 데이터에 없는 클래스의 데이터를 입력해도 비교적 가까운 unlabeled data간의 연관 짖기가 이루어짐
  22. 22. CNN model for SVHN Data augmentation : random affine transformations, Gaussian blurring C(32,3)  C(32,3)  C(32,3)  P(2)  C(64,3)  C(64,3)  C(64,3)  P(2)  C(128,3)  C(128, 3)  C(128, 3)  P(2)  FC(128)
  23. 23. SVHN Result 적은 샘플에서도 선행연구보다는 정확도가 높음
  24. 24. SVHN Unlabeled data의 효과 검증 Unlabeled data가 많아짐에 따라 정확도가 향상됨 Fully supervised Minimum # of labeled samples
  25. 25. Visit Loss의 효과 검증 Labeled Data Size: 1000 Visit Loss가 너무 커지면 모델의 정규화가 너무 강해져서 학습이 쉽지 않음. 데이터의 variance에 따라 가중치를 조정해야 함.(Ex. Labeled과 unlabeled이 비슷하지 않은 경우 Visit Loss는 작아진다.)
  26. 26. Domain Adaptation Method 1. fine-tuning a network on the target domain after training it on the source domain Method 2. designing a network with multiple outputs for the respective domains “ Learning w/o forgetting”
  27. 27. Domain Adaptation 이 논문에서의 주요 특징 1. Train a network on the source domain 2. Only exchange the unlabeled data set to the target domain and train again * No labels from the target class are used • Example - Network trained on SVHN - Train with labeled samples from SVHN(source) and unlabeled samples from MNIST(target)  18.56% error - Train the network with both data sources with 0.5 as weight for the visit loss  0.51% error
  28. 28. Domain Adaptation DA: Domain-Adversarial Training of Neural Network[2016 Ganin et. al.] DS: Domain separation networks [2016 Bousmalis et. al.] 지도학습 지도학습 Domain Adaptation
  29. 29. 정리 • Unlabeled data와 labeled data간이 서로 연관되어지도록 학습 • Labeled data가 적어도 비교적 잘 학습이 됨 • Visit Loss는 데이터의 variance를 봐서 설정 • Domain Adaptation에 응용해도 잘됨

×