일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 설명가능한
- 시계열 분석
- Deep learning
- Explainable AI
- 설명가능한 인공지능
- Machine Learning
- xai
- Class activation map
- GAN
- Interpretability
- 코딩테스트
- 딥러닝
- Unsupervised learning
- coding test
- Cam
- 백준
- meta-learning
- 메타러닝
- 기계학습
- 인공지능
- grad-cam
- SmoothGrad
- Artificial Intelligence
- keras
- AI
- 머신러닝
- python
- 코딩 테스트
- cs231n
- Score-CAM
- Today
- Total
iMTE
Meta-Learning 5. ADML, Meta-SGD, and Reptile 본문
Meta-Learning 5. ADML, Meta-SGD, and Reptile
Wonju Seo 2019. 5. 18. 20:16Meta-Learning sub parts
1. Adversarial Meta Learning (ADML)
MAML에서 optimal weight initialization을 찾는 것이 목표였다. Optimal weight initialization을 찾을 때, 좀더 나으면서 견고한 model parameters를 찾기 위해서 clean data와 adversarial data를 사용하는 MAML을 ADML이라고 부른다. Network가 adversarial examples에 의해서 잘못된 판단을 내린다는 점으로 인해서, adversarial example을 사용하는 경우 좀 더 network가 adversarial attack에 강인하고, noisy에 강인하다는 점을 갖게 된다. 이러한 성질을 MAML에 적용한 것이다.
Adversarial example을 만들 때, Fast Gradient Sign Method (FGSM)이 사용되었는데, 다음의 방법으로 adversarial sample을 만든다.
Inner loop에서 다음과 같이 clean과 adv의 updated된 theta를 계산한다.
Outer loop에서는 clean과 adversarial samples의 gradient로 optimal weight initialization을 update 한다.
2. Meta-SGD
MAML이 optimal weight initialization를 찾기위한 과정이었다면, Meta-SGD는 optimal learning와 optimal weight initialization을 찾는 과정이다. 즉, 밑의 식에서 theta, alpha를 구하는 것이다.
이 경우, alpha는 scalar가 아닌, vector로 바뀌고, dot product로 gradient를 계산해낸다.
Innor loop에서는 위와 같은 식으로 weight이 update 되고, outer loop에서는 밑의 식으로 weight과 alpha가 update 된다.
3. Reptile
MAML, ADML, Meta-SGD는 gradient의 gradient를 계산해야하는 계산상의 비효율성을 갖고 있다. (second order derivative). 이런 비효율성을 해결하기 위해서, 아주 간단하면서도 강력한 Reptile 알고리즘이 제시되었다. 개념은, 각 task에 n번 정도의 stochastic gradient descent (SGD) or mini-batch SGD를 사용해서 모델을 학습시키고 얻은 각 task의 theta와 weight initialization 사이의 거리를 줄이는 방향으로 optimal weight initialization을 update 한다.