SlideShare a Scribd company logo
1 of 30
Download to read offline
Subin An (sban@hcil.snu.ac.kr)
Image Data Augmentation
A survey on Image Data Augmentation for Deep Learning (Journal of Big Data, 2019)
Connor Shorten* and Taghi M. Khoshgoftaar
Deep Learning과 Data
• 딥러닝은 Hidden Layer를 쌓아 Parameter를 늘리는 방식으로 표현력을 높임

• 하지만 500M 이상 Parameter를 훈련하기 위해서는 수 많은 데이터 필요

• 데이터가 많을수록 성능 증가를 기대해볼 수 있음

• 하지만 데이터가 없다면? 과적합(Over
fi
tting)!

• 현대판 인형 눈 붙이기 Data Annotation이 날이 갈수록 수요 상승

• 그런데 기존 데이터는 충분히 사용하고 있는가…? 

• 모델이 최대한 다방면으로 볼 수 있게 해주자!!!
Data Augmentation
• 적은 양의 훈련 데이터에 인위적인 변화를 사용하여 새로운 훈련 데이터를 확보
• 인위적인 변화의 예시에는 뒤집기(
fl
ip), 자르기(crop) 등이 있음

• Data Augmentation은 이미 많은 논문에서 성능으로 증명했다.

• 하지만 필요 이상으로 하면 훈련 시간만 많아질 수 있음

• 딥러닝 Over
fi
tting 방지 및 Accuracy 향상을 위해 가능한 시도들
Part I. Basic Manipulation
Geometric Transformations
• Flipping : 뒤집기
• Color Space : 색상 채널 변경. RGB 조정 / HSL 조정 등 색 조정
• Cropping : 자르기, 중앙부만 자르는 것도 실용적
• Rotation : 회전, MNIST 등에서는 +-20도 정도만 하여 유용할 수 있음
• Translation : Shifting, 위치에 대한 편향을 방지 (상수 또는 Gaussian 로 패딩)
• Noise Injection : Gaussian Noise 주입 (Robustness)
Geometric Transformations
• 논문에서는 언급하지 않았지만…기하학적 변환은 많음

• Rescaling : 사진의 크기를 키우거나 줄임 (~x 1.6)

• Shearing(A
ffi
ne Transform) : 사진을 찌그러트림

• Stretching : 사진을 늘림 (~x 1.3)
Geometric Transformations
• Positional Bias를 해결하기에 적합

• 구현하거나 사용하기 쉽고 편함
• 하지만 오용/남용 주의!
• 고양이나 개 이미지는 뒤집기 가능, 하지만 6, 9는 뒤집었을 때 문제가 생길 수 있음

• Random Crop시에 Label에 해당하지 않는 부분을 Crop할 수도 있음

• 의료 데이터 등 Positional Bias 보다 복잡한 경우는 적합하지 않음
Experiments (Caltech101)
Color Space Transformations
• 색을 조정(photometric transformation)하여 Lighting Biases 해결

• 너무 밝거나, 어두운 이미지를 일관적으로 조정

• 특징 추출을 위해 이미지 필터를 사용해도 좋음
Kernel Filters
• 행렬 연산을 이용하여 이미지를 선명하거나 흐리게 하는 방법

• Ex) Gaussian Blur Filter로 가장자리 강조

• Ex) PatchShu
ffl
e Regularization
Kernel Filters
• 그 외의 다양한 필터 존재

• 생각해보면 Convolution Layer가 이걸 자동으로 찾아줌 -> 큰 성능 향상 기대 x
Mixing Images
• Mixup (https://arxiv.org/pdf/1710.09412.pdf) (ICLR 2018)

• 이미지를 합쳐 새로운 이미지를 만듬
• 인간의 관점에서는 큰 의미가 없음

• 이 방법은 모서리 등의 low-level feature extraction이 도움이 된다는 실험적 결과
Mixing Images
Random Erasing
• Cutout 등의 방법이 존재 /Dropout과 유사한 아이디어

• Image Classi
fi
cation과 Object Detection에서 성능 향상

• 적은 정보로 부터 핵심 정보를 뽑기 위한 모델의 노력
• Naver Clova (ICCV 2019)

• Mixup + Cutout의 방법론

• https://arxiv.org/abs/1905.04899
CutMix
• Deepmind/Google (ICLR 2020)

• 적은 연산량으로 다양한 Augmentation을 Mix

• Robustness와 Uncertainty Measure를 크게 향상 시킬 수 있음

• https://arxiv.org/abs/1912.02781
AugMix
• SNU MLLAB의 연구 (ICML 2020)

• CutMix에서 손실되는 정보를 최소화 하기 위해 이미지를 잘 합치는 방법

• https://arxiv.org/abs/2009.06962
Puzzle Mix
Part II. Deep Learning Approaches
Feature Space Augmentation
• 딥러닝은 high-dimension feature를 low-dimension feature로 mapping

• 저차원 공간의 Augmentation을 통해 Interpolation / Extrapolation

• Ex) Autoencoder
19
Adversarial Training
• Adversarial Attack과 마찬가지로 Adversarial example을 만들어 훈련

• 하지만 이 방법은 real world dataset에 대해서는 성능 향상 X

• 다만 Adversarial Attack에 대해 Robust함
GAN-based Data Augmentation
• GAN은 Generative Model에서 속도와 성능적 측면에서 유용

• Model에 Condition을 넣어 다양한 데이터 생성 가능

• Bio/Medical 도메인에 적용중

• Class Imbalance를 해결하기 위한 Oversampling으로 사용가능

• DCGAN, CycleGAN, ProgressiveGAN, StyleGAN 등을 사용할 수 있음

• 하지만 좋은 출력을 얻기 어렵고, GAN 자체도 많은 데이터를 필요로 함
• CycleGAN으로 표정 data augmentation

• T-SNE 결과 잘 분리되는 것을 확인할 수 있음
GAN-based Data Augmentation
• 방글라데시어 인식 대회에서 실제 Font에 CycleGAN으로 하여 압도적 1위 사례

• T-SNE 결과 잘 분리되는 것을 확인할
GAN-based Data Augmentation
• ResNet을 베이스의 네트워크의 중간의 특징 맵에 대해 data augmentation

• https://arxiv.org/abs/1705.07485
(ETC) Shake-Shake Regularization
Part III. Meta Learning
Meta Learning
• 자전거를 타는 사람은 오토바이를 타는 방법을 쉽게 학습 하고는 함

• 적은 데이터만으로 Unseen task에 대해 잘하기 위한 방법론

• 딥러닝으로 딥러닝 최적화 구조를 찾는 Neural Architecture Search (NAS)
AutoAugmentation
• Google (CVPR 2019)

• RNN (Recurrent Neural Network) + RL (Reinforcement Learning)
• Augmentation 기법을 출력하는 RNN controller 생성

• 여기서 얻은 augmentation 기법을 학습 데이터에 적용

• 모델을 학습 및 성능을 평가하여 reward(R)를 얻음

• 계산된 reward를 통해 RNN controller 학습

• https://arxiv.org/abs/1805.09501
• 카카오 브레인 (NeurIPS 2019) 

• https://arxiv.org/abs/1905.00397
Fast AutoAugmentation
https://kakaobrain.com/blog/116
• Data Augmentation과 관련하여 다양한 Python 라이브러리 존재

• Imgaug : https://github.com/aleju/imgaug

• Albumentations : https://github.com/albumentations-team/albumentations
(ETC) Libraries
Thanks

More Related Content

What's hot

[Paper] auto ml part 1
[Paper] auto ml part 1[Paper] auto ml part 1
[Paper] auto ml part 1Susang Kim
 
제 14회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [카페 어디가?팀] : 카페 및 장소 추천 서비스
제 14회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [카페 어디가?팀] : 카페 및 장소 추천 서비스제 14회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [카페 어디가?팀] : 카페 및 장소 추천 서비스
제 14회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [카페 어디가?팀] : 카페 및 장소 추천 서비스BOAZ Bigdata
 
앙상블 학습 기반의 추천시스템 개발
앙상블 학습 기반의 추천시스템 개발앙상블 학습 기반의 추천시스템 개발
앙상블 학습 기반의 추천시스템 개발Jungkyu Lee
 
머신러닝(딥러닝 요약)
머신러닝(딥러닝 요약)머신러닝(딥러닝 요약)
머신러닝(딥러닝 요약)Byung-han Lee
 
Deep learning framework 제작
Deep learning framework 제작Deep learning framework 제작
Deep learning framework 제작Tae Young Lee
 
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기NAVER D2
 
빅데이터 윈윈 컨퍼런스-지능형 보험 부당청구탐지와 예측
빅데이터 윈윈 컨퍼런스-지능형 보험 부당청구탐지와 예측빅데이터 윈윈 컨퍼런스-지능형 보험 부당청구탐지와 예측
빅데이터 윈윈 컨퍼런스-지능형 보험 부당청구탐지와 예측ABRC_DATA
 
Io17ex automl & autodraw
Io17ex automl & autodrawIo17ex automl & autodraw
Io17ex automl & autodrawTae Young Lee
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement LearningKiho Suh
 
제 13회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [경기는 계속되어야 한다] : 실시간 축구 중계 영상 화질개선 모델
제 13회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [경기는 계속되어야 한다] : 실시간 축구 중계 영상 화질개선 모델제 13회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [경기는 계속되어야 한다] : 실시간 축구 중계 영상 화질개선 모델
제 13회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [경기는 계속되어야 한다] : 실시간 축구 중계 영상 화질개선 모델BOAZ Bigdata
 
데이터 분석 프로세스
데이터 분석 프로세스데이터 분석 프로세스
데이터 분석 프로세스Lee Seungeun
 
파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)SK(주) C&C - 강병호
 
제 12회 보아즈(BOAZ) 빅데이터 컨퍼런스 -FOOTBALL TIMELINER
제 12회 보아즈(BOAZ) 빅데이터 컨퍼런스 -FOOTBALL TIMELINER제 12회 보아즈(BOAZ) 빅데이터 컨퍼런스 -FOOTBALL TIMELINER
제 12회 보아즈(BOAZ) 빅데이터 컨퍼런스 -FOOTBALL TIMELINERBOAZ Bigdata
 
Workshop 210417 dhlee
Workshop 210417 dhleeWorkshop 210417 dhlee
Workshop 210417 dhleeDongheon Lee
 
[2A6]web & health 2.0. 회사에서의 data science란?
[2A6]web & health 2.0. 회사에서의 data science란?[2A6]web & health 2.0. 회사에서의 data science란?
[2A6]web & health 2.0. 회사에서의 data science란?NAVER D2
 
머신러닝 간단 뽀개기
머신러닝 간단 뽀개기머신러닝 간단 뽀개기
머신러닝 간단 뽀개기Heejae Jeong
 
기계 학습의 현재와 미래
기계 학습의 현재와 미래기계 학습의 현재와 미래
기계 학습의 현재와 미래Joon Kim
 
[컨퍼런스] 모두콘 2018 리뷰
[컨퍼런스] 모두콘 2018 리뷰[컨퍼런스] 모두콘 2018 리뷰
[컨퍼런스] 모두콘 2018 리뷰Donghyeon Kim
 
Hello, Recommender System
Hello, Recommender SystemHello, Recommender System
Hello, Recommender SystemKyuhwan Jung
 

What's hot (20)

[Paper] auto ml part 1
[Paper] auto ml part 1[Paper] auto ml part 1
[Paper] auto ml part 1
 
제 14회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [카페 어디가?팀] : 카페 및 장소 추천 서비스
제 14회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [카페 어디가?팀] : 카페 및 장소 추천 서비스제 14회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [카페 어디가?팀] : 카페 및 장소 추천 서비스
제 14회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [카페 어디가?팀] : 카페 및 장소 추천 서비스
 
앙상블 학습 기반의 추천시스템 개발
앙상블 학습 기반의 추천시스템 개발앙상블 학습 기반의 추천시스템 개발
앙상블 학습 기반의 추천시스템 개발
 
머신러닝(딥러닝 요약)
머신러닝(딥러닝 요약)머신러닝(딥러닝 요약)
머신러닝(딥러닝 요약)
 
Deep learning framework 제작
Deep learning framework 제작Deep learning framework 제작
Deep learning framework 제작
 
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
 
빅데이터 윈윈 컨퍼런스-지능형 보험 부당청구탐지와 예측
빅데이터 윈윈 컨퍼런스-지능형 보험 부당청구탐지와 예측빅데이터 윈윈 컨퍼런스-지능형 보험 부당청구탐지와 예측
빅데이터 윈윈 컨퍼런스-지능형 보험 부당청구탐지와 예측
 
Io17ex automl & autodraw
Io17ex automl & autodrawIo17ex automl & autodraw
Io17ex automl & autodraw
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning
 
제 13회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [경기는 계속되어야 한다] : 실시간 축구 중계 영상 화질개선 모델
제 13회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [경기는 계속되어야 한다] : 실시간 축구 중계 영상 화질개선 모델제 13회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [경기는 계속되어야 한다] : 실시간 축구 중계 영상 화질개선 모델
제 13회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [경기는 계속되어야 한다] : 실시간 축구 중계 영상 화질개선 모델
 
데이터 분석 프로세스
데이터 분석 프로세스데이터 분석 프로세스
데이터 분석 프로세스
 
파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)
 
제 12회 보아즈(BOAZ) 빅데이터 컨퍼런스 -FOOTBALL TIMELINER
제 12회 보아즈(BOAZ) 빅데이터 컨퍼런스 -FOOTBALL TIMELINER제 12회 보아즈(BOAZ) 빅데이터 컨퍼런스 -FOOTBALL TIMELINER
제 12회 보아즈(BOAZ) 빅데이터 컨퍼런스 -FOOTBALL TIMELINER
 
Workshop 210417 dhlee
Workshop 210417 dhleeWorkshop 210417 dhlee
Workshop 210417 dhlee
 
AUTOML
AUTOMLAUTOML
AUTOML
 
[2A6]web & health 2.0. 회사에서의 data science란?
[2A6]web & health 2.0. 회사에서의 data science란?[2A6]web & health 2.0. 회사에서의 data science란?
[2A6]web & health 2.0. 회사에서의 data science란?
 
머신러닝 간단 뽀개기
머신러닝 간단 뽀개기머신러닝 간단 뽀개기
머신러닝 간단 뽀개기
 
기계 학습의 현재와 미래
기계 학습의 현재와 미래기계 학습의 현재와 미래
기계 학습의 현재와 미래
 
[컨퍼런스] 모두콘 2018 리뷰
[컨퍼런스] 모두콘 2018 리뷰[컨퍼런스] 모두콘 2018 리뷰
[컨퍼런스] 모두콘 2018 리뷰
 
Hello, Recommender System
Hello, Recommender SystemHello, Recommender System
Hello, Recommender System
 

Similar to Image data augmentatiion

Ml for 정형데이터
Ml for 정형데이터Ml for 정형데이터
Ml for 정형데이터JEEHYUN PAIK
 
Pycon korea 2018 kaggle tutorial(kaggle break)
Pycon korea 2018 kaggle tutorial(kaggle break)Pycon korea 2018 kaggle tutorial(kaggle break)
Pycon korea 2018 kaggle tutorial(kaggle break)Yeonmin Kim
 
Transfer learning usage
Transfer learning usageTransfer learning usage
Transfer learning usageTae Young Lee
 
"Dataset and metrics for predicting local visible differences" Paper Review
"Dataset and metrics for predicting local visible differences" Paper Review"Dataset and metrics for predicting local visible differences" Paper Review
"Dataset and metrics for predicting local visible differences" Paper ReviewLEE HOSEONG
 
"From image level to pixel-level labeling with convolutional networks" Paper ...
"From image level to pixel-level labeling with convolutional networks" Paper ..."From image level to pixel-level labeling with convolutional networks" Paper ...
"From image level to pixel-level labeling with convolutional networks" Paper ...LEE HOSEONG
 
Deep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsDeep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsseungwoo kim
 
Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical MethodologyKyeongUkJang
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투Ubuntu Korea Community
 
PR-203: Class-Balanced Loss Based on Effective Number of Samples
PR-203: Class-Balanced Loss Based on Effective Number of SamplesPR-203: Class-Balanced Loss Based on Effective Number of Samples
PR-203: Class-Balanced Loss Based on Effective Number of SamplesSunghoon Joo
 
Infra as a model service
Infra as a model serviceInfra as a model service
Infra as a model serviceTae Young Lee
 
AnoGAN을 이용한 철강 소재 결함 검출 AI
AnoGAN을 이용한 철강 소재 결함 검출 AIAnoGAN을 이용한 철강 소재 결함 검출 AI
AnoGAN을 이용한 철강 소재 결함 검출 AIHYEJINLIM10
 
Imagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement LearningImagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement Learning성재 최
 
딥러닝 논문읽기 efficient netv2 논문리뷰
딥러닝 논문읽기 efficient netv2  논문리뷰딥러닝 논문읽기 efficient netv2  논문리뷰
딥러닝 논문읽기 efficient netv2 논문리뷰taeseon ryu
 
데이터셋 잘 나누는 방법 NIPS2016 by Andrew Ng
데이터셋 잘 나누는 방법 NIPS2016 by Andrew Ng데이터셋 잘 나누는 방법 NIPS2016 by Andrew Ng
데이터셋 잘 나누는 방법 NIPS2016 by Andrew NgWansoo Kim
 
boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)SANG WON PARK
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝Haesun Park
 
carrier of_tricks_for_image_classification
carrier of_tricks_for_image_classificationcarrier of_tricks_for_image_classification
carrier of_tricks_for_image_classificationLEE HOSEONG
 
2021-11-16 모두콘 딥러닝 경량화 발표
2021-11-16 모두콘 딥러닝 경량화 발표2021-11-16 모두콘 딥러닝 경량화 발표
2021-11-16 모두콘 딥러닝 경량화 발표JongkukLim
 

Similar to Image data augmentatiion (20)

Ml for 정형데이터
Ml for 정형데이터Ml for 정형데이터
Ml for 정형데이터
 
Pycon korea 2018 kaggle tutorial(kaggle break)
Pycon korea 2018 kaggle tutorial(kaggle break)Pycon korea 2018 kaggle tutorial(kaggle break)
Pycon korea 2018 kaggle tutorial(kaggle break)
 
Transfer learning usage
Transfer learning usageTransfer learning usage
Transfer learning usage
 
"Dataset and metrics for predicting local visible differences" Paper Review
"Dataset and metrics for predicting local visible differences" Paper Review"Dataset and metrics for predicting local visible differences" Paper Review
"Dataset and metrics for predicting local visible differences" Paper Review
 
"From image level to pixel-level labeling with convolutional networks" Paper ...
"From image level to pixel-level labeling with convolutional networks" Paper ..."From image level to pixel-level labeling with convolutional networks" Paper ...
"From image level to pixel-level labeling with convolutional networks" Paper ...
 
Deep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsDeep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendations
 
Review MLP Mixer
Review MLP MixerReview MLP Mixer
Review MLP Mixer
 
Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical Methodology
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투
 
PR-203: Class-Balanced Loss Based on Effective Number of Samples
PR-203: Class-Balanced Loss Based on Effective Number of SamplesPR-203: Class-Balanced Loss Based on Effective Number of Samples
PR-203: Class-Balanced Loss Based on Effective Number of Samples
 
Infra as a model service
Infra as a model serviceInfra as a model service
Infra as a model service
 
AnoGAN을 이용한 철강 소재 결함 검출 AI
AnoGAN을 이용한 철강 소재 결함 검출 AIAnoGAN을 이용한 철강 소재 결함 검출 AI
AnoGAN을 이용한 철강 소재 결함 검출 AI
 
Imagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement LearningImagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement Learning
 
딥러닝 논문읽기 efficient netv2 논문리뷰
딥러닝 논문읽기 efficient netv2  논문리뷰딥러닝 논문읽기 efficient netv2  논문리뷰
딥러닝 논문읽기 efficient netv2 논문리뷰
 
데이터셋 잘 나누는 방법 NIPS2016 by Andrew Ng
데이터셋 잘 나누는 방법 NIPS2016 by Andrew Ng데이터셋 잘 나누는 방법 NIPS2016 by Andrew Ng
데이터셋 잘 나누는 방법 NIPS2016 by Andrew Ng
 
boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
 
carrier of_tricks_for_image_classification
carrier of_tricks_for_image_classificationcarrier of_tricks_for_image_classification
carrier of_tricks_for_image_classification
 
Openface
OpenfaceOpenface
Openface
 
2021-11-16 모두콘 딥러닝 경량화 발표
2021-11-16 모두콘 딥러닝 경량화 발표2021-11-16 모두콘 딥러닝 경량화 발표
2021-11-16 모두콘 딥러닝 경량화 발표
 

More from Subin An

Datasheets for dataset
Datasheets for datasetDatasheets for dataset
Datasheets for datasetSubin An
 
Voice Conversion : Audio알못에서 VCC2020참가까지
Voice Conversion : Audio알못에서 VCC2020참가까지Voice Conversion : Audio알못에서 VCC2020참가까지
Voice Conversion : Audio알못에서 VCC2020참가까지Subin An
 
[Keynote로 이해하는 GAN들] DCGAN
[Keynote로 이해하는 GAN들] DCGAN[Keynote로 이해하는 GAN들] DCGAN
[Keynote로 이해하는 GAN들] DCGANSubin An
 
[Keynote로 이해하는 GAN들] Vanilla GAN
[Keynote로 이해하는 GAN들] Vanilla GAN[Keynote로 이해하는 GAN들] Vanilla GAN
[Keynote로 이해하는 GAN들] Vanilla GANSubin An
 
Pytorch Implementation : 파일을 어떻게 나눠야할까?
Pytorch Implementation : 파일을 어떻게 나눠야할까?Pytorch Implementation : 파일을 어떻게 나눠야할까?
Pytorch Implementation : 파일을 어떻게 나눠야할까?Subin An
 
[T아카데미] 비개발자를 위한 Git과 Github Page 블로그 만들기
[T아카데미] 비개발자를 위한 Git과 Github Page 블로그 만들기[T아카데미] 비개발자를 위한 Git과 Github Page 블로그 만들기
[T아카데미] 비개발자를 위한 Git과 Github Page 블로그 만들기Subin An
 
알고리즘, 어떻게 공부할까?
알고리즘, 어떻게 공부할까?알고리즘, 어떻게 공부할까?
알고리즘, 어떻게 공부할까?Subin An
 
Introduction to CNN
Introduction to CNNIntroduction to CNN
Introduction to CNNSubin An
 
청소년때 블로그를 써야하는 이유
청소년때 블로그를 써야하는 이유청소년때 블로그를 써야하는 이유
청소년때 블로그를 써야하는 이유Subin An
 
2nd DLCAT : Newbie Guide to Blogging
2nd DLCAT : Newbie Guide to Blogging2nd DLCAT : Newbie Guide to Blogging
2nd DLCAT : Newbie Guide to BloggingSubin An
 
2019 고려대학교 프로그래밍 경시대회 풀이
2019 고려대학교 프로그래밍 경시대회 풀이2019 고려대학교 프로그래밍 경시대회 풀이
2019 고려대학교 프로그래밍 경시대회 풀이Subin An
 
Global AI Boot Camp Busan : 이왕이면 다홍 데이터 (Python Visualization)
Global AI Boot Camp Busan : 이왕이면 다홍 데이터 (Python Visualization)Global AI Boot Camp Busan : 이왕이면 다홍 데이터 (Python Visualization)
Global AI Boot Camp Busan : 이왕이면 다홍 데이터 (Python Visualization)Subin An
 
2018 고려대학교 프로그래밍 경시대회 KCPC 간략 풀이
2018 고려대학교 프로그래밍 경시대회 KCPC 간략 풀이2018 고려대학교 프로그래밍 경시대회 KCPC 간략 풀이
2018 고려대학교 프로그래밍 경시대회 KCPC 간략 풀이Subin An
 
[수비니움의 머신러닝 튜토리얼] 1강 기본용어편
[수비니움의 머신러닝 튜토리얼] 1강 기본용어편[수비니움의 머신러닝 튜토리얼] 1강 기본용어편
[수비니움의 머신러닝 튜토리얼] 1강 기본용어편Subin An
 

More from Subin An (14)

Datasheets for dataset
Datasheets for datasetDatasheets for dataset
Datasheets for dataset
 
Voice Conversion : Audio알못에서 VCC2020참가까지
Voice Conversion : Audio알못에서 VCC2020참가까지Voice Conversion : Audio알못에서 VCC2020참가까지
Voice Conversion : Audio알못에서 VCC2020참가까지
 
[Keynote로 이해하는 GAN들] DCGAN
[Keynote로 이해하는 GAN들] DCGAN[Keynote로 이해하는 GAN들] DCGAN
[Keynote로 이해하는 GAN들] DCGAN
 
[Keynote로 이해하는 GAN들] Vanilla GAN
[Keynote로 이해하는 GAN들] Vanilla GAN[Keynote로 이해하는 GAN들] Vanilla GAN
[Keynote로 이해하는 GAN들] Vanilla GAN
 
Pytorch Implementation : 파일을 어떻게 나눠야할까?
Pytorch Implementation : 파일을 어떻게 나눠야할까?Pytorch Implementation : 파일을 어떻게 나눠야할까?
Pytorch Implementation : 파일을 어떻게 나눠야할까?
 
[T아카데미] 비개발자를 위한 Git과 Github Page 블로그 만들기
[T아카데미] 비개발자를 위한 Git과 Github Page 블로그 만들기[T아카데미] 비개발자를 위한 Git과 Github Page 블로그 만들기
[T아카데미] 비개발자를 위한 Git과 Github Page 블로그 만들기
 
알고리즘, 어떻게 공부할까?
알고리즘, 어떻게 공부할까?알고리즘, 어떻게 공부할까?
알고리즘, 어떻게 공부할까?
 
Introduction to CNN
Introduction to CNNIntroduction to CNN
Introduction to CNN
 
청소년때 블로그를 써야하는 이유
청소년때 블로그를 써야하는 이유청소년때 블로그를 써야하는 이유
청소년때 블로그를 써야하는 이유
 
2nd DLCAT : Newbie Guide to Blogging
2nd DLCAT : Newbie Guide to Blogging2nd DLCAT : Newbie Guide to Blogging
2nd DLCAT : Newbie Guide to Blogging
 
2019 고려대학교 프로그래밍 경시대회 풀이
2019 고려대학교 프로그래밍 경시대회 풀이2019 고려대학교 프로그래밍 경시대회 풀이
2019 고려대학교 프로그래밍 경시대회 풀이
 
Global AI Boot Camp Busan : 이왕이면 다홍 데이터 (Python Visualization)
Global AI Boot Camp Busan : 이왕이면 다홍 데이터 (Python Visualization)Global AI Boot Camp Busan : 이왕이면 다홍 데이터 (Python Visualization)
Global AI Boot Camp Busan : 이왕이면 다홍 데이터 (Python Visualization)
 
2018 고려대학교 프로그래밍 경시대회 KCPC 간략 풀이
2018 고려대학교 프로그래밍 경시대회 KCPC 간략 풀이2018 고려대학교 프로그래밍 경시대회 KCPC 간략 풀이
2018 고려대학교 프로그래밍 경시대회 KCPC 간략 풀이
 
[수비니움의 머신러닝 튜토리얼] 1강 기본용어편
[수비니움의 머신러닝 튜토리얼] 1강 기본용어편[수비니움의 머신러닝 튜토리얼] 1강 기본용어편
[수비니움의 머신러닝 튜토리얼] 1강 기본용어편
 

Image data augmentatiion

  • 1. Subin An (sban@hcil.snu.ac.kr) Image Data Augmentation A survey on Image Data Augmentation for Deep Learning (Journal of Big Data, 2019) Connor Shorten* and Taghi M. Khoshgoftaar
  • 2. Deep Learning과 Data • 딥러닝은 Hidden Layer를 쌓아 Parameter를 늘리는 방식으로 표현력을 높임 • 하지만 500M 이상 Parameter를 훈련하기 위해서는 수 많은 데이터 필요 • 데이터가 많을수록 성능 증가를 기대해볼 수 있음 • 하지만 데이터가 없다면? 과적합(Over fi tting)! • 현대판 인형 눈 붙이기 Data Annotation이 날이 갈수록 수요 상승 • 그런데 기존 데이터는 충분히 사용하고 있는가…? • 모델이 최대한 다방면으로 볼 수 있게 해주자!!!
  • 3. Data Augmentation • 적은 양의 훈련 데이터에 인위적인 변화를 사용하여 새로운 훈련 데이터를 확보 • 인위적인 변화의 예시에는 뒤집기( fl ip), 자르기(crop) 등이 있음 • Data Augmentation은 이미 많은 논문에서 성능으로 증명했다. • 하지만 필요 이상으로 하면 훈련 시간만 많아질 수 있음 • 딥러닝 Over fi tting 방지 및 Accuracy 향상을 위해 가능한 시도들
  • 4. Part I. Basic Manipulation
  • 5. Geometric Transformations • Flipping : 뒤집기 • Color Space : 색상 채널 변경. RGB 조정 / HSL 조정 등 색 조정 • Cropping : 자르기, 중앙부만 자르는 것도 실용적 • Rotation : 회전, MNIST 등에서는 +-20도 정도만 하여 유용할 수 있음 • Translation : Shifting, 위치에 대한 편향을 방지 (상수 또는 Gaussian 로 패딩) • Noise Injection : Gaussian Noise 주입 (Robustness)
  • 6. Geometric Transformations • 논문에서는 언급하지 않았지만…기하학적 변환은 많음 • Rescaling : 사진의 크기를 키우거나 줄임 (~x 1.6) • Shearing(A ffi ne Transform) : 사진을 찌그러트림 • Stretching : 사진을 늘림 (~x 1.3)
  • 7. Geometric Transformations • Positional Bias를 해결하기에 적합 • 구현하거나 사용하기 쉽고 편함 • 하지만 오용/남용 주의! • 고양이나 개 이미지는 뒤집기 가능, 하지만 6, 9는 뒤집었을 때 문제가 생길 수 있음 • Random Crop시에 Label에 해당하지 않는 부분을 Crop할 수도 있음 • 의료 데이터 등 Positional Bias 보다 복잡한 경우는 적합하지 않음
  • 9. Color Space Transformations • 색을 조정(photometric transformation)하여 Lighting Biases 해결 • 너무 밝거나, 어두운 이미지를 일관적으로 조정 • 특징 추출을 위해 이미지 필터를 사용해도 좋음
  • 10. Kernel Filters • 행렬 연산을 이용하여 이미지를 선명하거나 흐리게 하는 방법 • Ex) Gaussian Blur Filter로 가장자리 강조 • Ex) PatchShu ffl e Regularization
  • 11. Kernel Filters • 그 외의 다양한 필터 존재 • 생각해보면 Convolution Layer가 이걸 자동으로 찾아줌 -> 큰 성능 향상 기대 x
  • 12. Mixing Images • Mixup (https://arxiv.org/pdf/1710.09412.pdf) (ICLR 2018) • 이미지를 합쳐 새로운 이미지를 만듬
  • 13. • 인간의 관점에서는 큰 의미가 없음 • 이 방법은 모서리 등의 low-level feature extraction이 도움이 된다는 실험적 결과 Mixing Images
  • 14. Random Erasing • Cutout 등의 방법이 존재 /Dropout과 유사한 아이디어 • Image Classi fi cation과 Object Detection에서 성능 향상 • 적은 정보로 부터 핵심 정보를 뽑기 위한 모델의 노력
  • 15. • Naver Clova (ICCV 2019) • Mixup + Cutout의 방법론 • https://arxiv.org/abs/1905.04899 CutMix
  • 16. • Deepmind/Google (ICLR 2020) • 적은 연산량으로 다양한 Augmentation을 Mix • Robustness와 Uncertainty Measure를 크게 향상 시킬 수 있음 • https://arxiv.org/abs/1912.02781 AugMix
  • 17. • SNU MLLAB의 연구 (ICML 2020) • CutMix에서 손실되는 정보를 최소화 하기 위해 이미지를 잘 합치는 방법 • https://arxiv.org/abs/2009.06962 Puzzle Mix
  • 18. Part II. Deep Learning Approaches
  • 19. Feature Space Augmentation • 딥러닝은 high-dimension feature를 low-dimension feature로 mapping • 저차원 공간의 Augmentation을 통해 Interpolation / Extrapolation • Ex) Autoencoder 19
  • 20. Adversarial Training • Adversarial Attack과 마찬가지로 Adversarial example을 만들어 훈련 • 하지만 이 방법은 real world dataset에 대해서는 성능 향상 X • 다만 Adversarial Attack에 대해 Robust함
  • 21. GAN-based Data Augmentation • GAN은 Generative Model에서 속도와 성능적 측면에서 유용 • Model에 Condition을 넣어 다양한 데이터 생성 가능 • Bio/Medical 도메인에 적용중 • Class Imbalance를 해결하기 위한 Oversampling으로 사용가능 • DCGAN, CycleGAN, ProgressiveGAN, StyleGAN 등을 사용할 수 있음 • 하지만 좋은 출력을 얻기 어렵고, GAN 자체도 많은 데이터를 필요로 함
  • 22. • CycleGAN으로 표정 data augmentation • T-SNE 결과 잘 분리되는 것을 확인할 수 있음 GAN-based Data Augmentation
  • 23. • 방글라데시어 인식 대회에서 실제 Font에 CycleGAN으로 하여 압도적 1위 사례 • T-SNE 결과 잘 분리되는 것을 확인할 GAN-based Data Augmentation
  • 24. • ResNet을 베이스의 네트워크의 중간의 특징 맵에 대해 data augmentation • https://arxiv.org/abs/1705.07485 (ETC) Shake-Shake Regularization
  • 25. Part III. Meta Learning
  • 26. Meta Learning • 자전거를 타는 사람은 오토바이를 타는 방법을 쉽게 학습 하고는 함 • 적은 데이터만으로 Unseen task에 대해 잘하기 위한 방법론 • 딥러닝으로 딥러닝 최적화 구조를 찾는 Neural Architecture Search (NAS)
  • 27. AutoAugmentation • Google (CVPR 2019) • RNN (Recurrent Neural Network) + RL (Reinforcement Learning) • Augmentation 기법을 출력하는 RNN controller 생성 • 여기서 얻은 augmentation 기법을 학습 데이터에 적용 • 모델을 학습 및 성능을 평가하여 reward(R)를 얻음 • 계산된 reward를 통해 RNN controller 학습 • https://arxiv.org/abs/1805.09501
  • 28. • 카카오 브레인 (NeurIPS 2019) • https://arxiv.org/abs/1905.00397 Fast AutoAugmentation https://kakaobrain.com/blog/116
  • 29. • Data Augmentation과 관련하여 다양한 Python 라이브러리 존재 • Imgaug : https://github.com/aleju/imgaug • Albumentations : https://github.com/albumentations-team/albumentations (ETC) Libraries