2. Replicate in AI Research
EfficientNet: https://arxiv.org/pdf/1905.11946.pdf
공개된 논문 구현은 연구 내용과 수식을 코드로 재현하는 과정으로
논문만으로 연구의 모든 과정을 알기 힘들고 실험의 결과를 현실에
적용하는 과정에서는 연구데이터가 아닌 실재 데이터를 활용하면 다른
결과가 나올 수 밖에 없음. 실무에서 정확성과 속도도 함께
고려해야하기에 구현(Hyperparameter Optimization) 과정에서의
cost는 커질 수 밖에 없음. (EfficientNet과 같이 System이 최적의
Neural Net을 찾는 연구도 진행)
3. What is AutoML?
자동 기계학습(AutoML) 기술 동향 https://ettrends.etri.re.kr/ettrends/178/0905178004/34-4_32-42.pdf
Auto ML은 하이퍼 파라미터 최적 화 및 신경망
아키텍처 탐색으로 구성 하이퍼 파라미터는
학습률, 학습률 스케줄링 방법, 손실 함수, 훈련
반복횟수, 가중치 초기화 방법, 정규화 방법,
적층할 계층의 수 등과 같이 모델 훈련 성능에
직접적인 영향을 미치는 다양한 변수들로 구성
신경 망 탐색 과정은 탐색 영역 설계, 탐색 최적화
기법 고안, 성능 평가 전략 정의 및 기본 연산
(Primitive Operations) 설정으로 구성
최적 조합을 탐색하는 기술이 요구
6. Grid & Random Search
Random Search for Hyper-Parameter Optimization https://jmlr.csail.mit.edu/papers/volume13/bergstra12a/bergstra12a.pdf
Grid Search의 경우 직관에 따른 균등한 분포의 탐색이 가능하지만 범위가 늘어날 수록 탐색 시간이 x배씩
증가 Random(Stochastic) Search의 경우 Sampling 기법을 통해 선정하는 방식으로 Grid Search에 비해
탐색시간은 줄일 수 있으나 여전히 불필요한 탐색에 대한 비용이 소모됨(운에 따름) but 병렬처리는 가능
7. Gaussian Process for Machine Learning
Gaussian process(GP) Gaussian Distribution과 Random
Process를 합친 개념으로 continuous domain에 대해
정의되는 statistical distribution임 Uncertainty를 수치화 할 수
있고 input domain에 있는 모든 point들은 normal distribution
random variable이 되며, 아무 finite한 GP sample들을
뽑더라도, 그 sample들은 multivariate normal
distribution(다차원 확장)을 가지게 된다. prior를 가우시안
프로세스로, likelihood를 정규분포로 잡은 다음, posterior를
구한다
Bayesian optimisation for likelihood-free cosmological inference https://arxiv.org/pdf/1805.07152.pdf
8. Bayesian Optimization (Hyperparamter Optimization)
기존 정보에 따른 의사결정을 하는 Bayesian
Optimization을 통해 생성된 모델의 일반화와 성능 달성을
할 수 있는 최적의 Hyperparamter 값을 찾아냄 (lr, batch
size, regularization)
일반적으로 Paper에서 공개된 값을 그데로 사용할 경우
연구 Data에서는 좋은 성능이 나오나 실재 Data에서는
Generalization을 위한 Tuning이 필요
A Review of Bayesian Optimization https://www.cs.ox.ac.uk/people/nando.defreitas/publications/BayesOptLoop.pdf
9. Bayesian Optimization (Surrogate Model/Acquisition Function)
https://towardsdatascience.com/shallow-understanding-on-bayesian-optimization-324b6c1f7083
Surrogate Model(Gaussian Process Regression)에 따라
나온 예측값을 Acquisition Function(Maximum Expected
Improvement)을 통해 최적의 값을 구하는 방법
10. AMC: AutoML for Model Compression
Model Compression을
강화학습을 통해 AutoML을
적용한 논문으로 NAS에서
Network에 중점을 두는등
제한적인 반면 AMC에서는
Accuracy와 Latency뿐만아니라
연속공간에 대해서도 고려
https://arxiv.org/pdf/1802.03494.pdf
11. AMC: AutoML for Model Compression
강화학습(DDPG)를 통해 Layer별
Pruning에 대한 Action을 수행하면서
Reward 계산을 -Error율과 FLOPs와
Param(Model Size)에는 log를 주어
약간의 Reward를 줄 수 있도록 구성
12. Auto Augmentation
AutoAugment는 image recognition
task에서 학습데이터를 통해 Image
augmentation 방법을 자동으로 찾아주는
방법 16가지의 operations(ShearX,
ShearY, TranslateX, TranslateY, Rotate,
AutoContrast, Invert, Equalize, Solarize,
Posterize, Contrast, Color, Brightness,
Sharpness, Cutout, Sample Pairing)을
적용하여 모델의 학습과 평가를 통해
최적의 Augmentation 기법을 찾아냄
학습데이터 별 AutoAugment(RNN
Controller+RL)로 인해 시간이 오래걸림
Fast AutoAugment : https://arxiv.org/pdf/1905.00397.pdf
13. Fast Auto Augmentation
Validation data에 augmentation을
적용하여 Train data의 data 분포를
최적화하는 방법으로 모델을 재학습할
필요없이 학습된 1개의 모델을 통해
최적의 policy를 찾아내어 탐색 시간을
단축.
Fast AutoAugment : https://arxiv.org/pdf/1905.00397.pdf
14. Active Learning (Data Labeling)
400개의 Sample 에서 Random으로
30개를 추출한 b의 경우의 모델은 70%
의 정확도를 가지지만 active query를
통해 추출을 통해 생성된 모델의 경우
90%의 정확도를 가짐
Active Learning Literature Survey : http://burrsettles.com/pub/settles.activelearning.pdf
Active Learning은 적절한 분포로 선택된 적은
데이터를 통해 만들어진 모델에 새로운 데이터를
Labeling할 필요 없이 모델에 추론하여 전체
Labeling을 할 필요가 없이 entropy가 큰 것들
만을 Labeling 하여 모델에 반영함으로써 전체
데이터 대한 Labeling이 아닌 적은 데이터의
Labeling만으로 좋은 성능의 모델을 만드는
과정으로 semi-supervised learning에 속한다.
(Active learning의 핵심은 어떻게 어려운
데이터를 선택하느냐가 관건)
15. Learning Loss for Active Learning
Classification score가 낮은 데이터를 선택하는 기존 방식이
생각보다 잘 동작하지만, classification task에만 적용. 모든 종류의
task에 대해 딥러닝 모델과 잘 동작는 방법을 본 연구에서는
데이터의 난이도를 loss로 정의하고, 그 loss를 predict 할 수 있도록
학습했고, 세 가지 visual recognition task에 대해서 효과를 검증
Learning Loss for Active Learning : https://arxiv.org/pdf/1905.03677.pdf