출처 : link.springer.com/article/10.1186/s40537-019-0197-0
Abstract
이 조사는 Data Augmentation에 대한 것으로 제한된 데이터의 문제를 해결하기 위한 방법이다.조사에서 논의된 이미지 Augmentation Algorithm들에는 기하학적 변환, 색 공간확대, 커널 필터, 혼합 이미지, 무작위 지우기, 형상 공간 확대 대립적 훈련, 생성적 적대적 네트워크, 신경 스타일 전송 및 메타 학습이 포함된다. GAN에 기반한 Augmentation 방법의 적용 또한 다루고 있다. 이 논문에서는 Autmentation 관련된 기술들 외에도 테스트 시간 확대, 해상도 영향, 최종 데이터 집합 크기 및 커리큘럼 학습과 같은 Data Augmentation 관련된 특성들에 대해서도 논의할 것이다. 또한 존재하는 Data Augmentation, 유마한 개발들 그리고 Data Augmentation을 실행하기 위한 메타 레벨의 의사결정들에 대해서도 알아볼 것이다.
Introduction
Deep neural network는 CNN의 등장으로 인해 이미지 분류, 객체 탐지 그리고 영상 분할과 같은 Computer Vision 분야에 성공적으로 적용되고 있다. 이 신경망은 이미지의 공간적 특성을 보존하는 매개변수회되고 희박하게 연결된 커널을 이용한다. Convolutional Layer는 feature map의 깊이를 확장하면서 이미지의 공간 해상도를 순차적으로 downsampling한다. 이런 일련의 convolutional 변환은 수작업으로 만들 수 있는 것보다 훨씬 더 낮은 차원의 유용한 이미지의 표현을 찾아낼 수 있다.
이런 모델들에 대표성 있는 데이터는 결과에 매우 중요한 결과를 미친다. 대표성이 없는 데이터를 이용하여 학습시키게 되면 overfitting 현상이 발생하기도 한다. overfitting을 찾아내는 한 가지 방법은 training accuracy과 validation accuracy을 그려보는 것이다. 아래의 그래프는 accuracy를 시각화했을 경우 overfitting이 어떤 형태일지 보여준다.
왼쪽 그래프는 변곡점을 중심으로 training rate는 계속 감소하지만 testing rate의 validation error가 증가하는 양상을 보여준다. 증가된 training은 overfitting되도록 하고 training set과 관련된 testing set에서 좋지 못한 결과를 낸다.
반대로 오른쪽 그래프는 training과 testing error에서의 바람직한 예시를 보여준다. 유용한 딥러닝 모델을 만드려면 validation error는 반드시 training error와 비례해야한다. Data Augmentation은 이를 해결하기 위한 아주 좋은 방법이다. 하지만, Data Augmentation만이 overfitting을 줄이기 위한 유일한 방법은 아니며 지금부터는 Data Augmentation 외 딥러닝 모델에서 overfitting을 피할 수 있는 다른 방안들을 소개하려고 한다.
(1) 모델 Architecture 자체에 주목하는 방안
이로 인해 AlexNet, VGG-16, ResNet, Inception-V3, 그리고 DenseNet에 이르기까지 순차적으로 더욱 복잡한 Architecture들이 생겨났다.
(2) Functional Solutions
Dropout Regularization, Batch Normalization, Transfer Learning, Pretraining 등이 딥러닝 모델에서 소규모 데이터셋의 일반화 오류를 잡기 위해 만들어졌다.
- Dropout
훈련 중 무작위로 선택된 뉴런의 활성화 값을 0으로 하는 정규화 기법으로, 이 제약 조건은 네트워크가 강력한 특징을 배울 수 있도록 도와준다.
- Batch Normalization
계층의 활성화 집합을 정규화하는 또 다른 정규화 기법으로, 정규화는 각 Activation에서 배치 평균을 빼고 배치 표준 편차로 나누는 방식으로 작동한다. 이 방법은 pixel 값들을 전처리하는 가장 기본적인 기법이다.
- Transfer Learning
ImageNet과 같은 대규모 데이터셋에서 네트워크를 training하고, 이 weight를 새로운 분류 작업의 초기 weight로 사용하는 방식으로 작동한다. 일반적으로 fully connected layer를 포함하는 전체 네트워크보다는 Convolutional layer에 있는 weight가 복사된다. 많은 Image dataset이 낮은 수준의 spatial 특징을 가지기 때문에 이는 매우 효과적인 방법이다.
- Pretraining
개념적으로 Transfer Learning과 매우 유사하다. Pretraining에서 네트워크 구조는 ImageNet과 같은 거대한 데이터셋에서 정의되고 훈련된다. Tranfer Learning에서는 VGG-16 또는 ResNet과 같은 네트워크 구조와 weight를 함께 전송해야하기 때문에 Transfer Learning과 Pretraining은 다르다. Pretraining은 거대한 데이터셋을 이용하여 네트워크 구조 내부에서 flexibility를 유지하면서 weight를 초기화하는 것을 가능하게 한다.
- One-shot and Zero-shot learning 알고리즘
이 알고리즘은 극한으로 제한된 데이터로 모델을 구축하기 위한 또 다른 패러다임을 나타낸다. One-shot learning은 일반적으로 얼굴 인식 applications에서 사용된다. One-shot learning에 대한 접근 방식 중 하나는 네트워크가 한 가지 또는 여러 사례에서만 훈련을 받았더라도 이미지 분류가 가능하도록 거리 함수를 학습하는 siamese 네트워크를 이용한다. One-shot Learning에 대한 또 다른 유명한 접근 방식은 memory-증강 네트워크의 사용이다. Zero-shot Learning은 기술적인 속성에 기반하여 이미지를 분류하기 위해 네트워크가 World2Vecc, GloVe와 같은 input과 ouput 벡터 embedding을 사용한다는 점에서 더 극단적인 패러다임이다.
(3) Data Augmentation
앞서 언급한 기술들에 비해 Data Augmentation은 과적합의 근본적인 문제인 training dataset에 접근하는 방법이다. 이는 original dataset에서 더 많은 정보들을 가지고 올 수 있다는 가정 하에서 행해진다. 이러한 증강 방법은 data warping, oversampling의 과정을 통해 인위적으로 training dataset의 크기를 늘린다. Data Warping과 Oversampling 증강 방법은 상호 배타적인 이분법을 형성하지 않는다. 예를 들어 GAN으로 생성된 sample들은 Random Cropping으로 쌓여서 데이터 집합을 더욱 부풀릴 수 있다. Data Augmentation은 상상력 혹은 꿈과 유사하다. 사람들은 경험에 기반하여 다른 시나리오들을 상상한다. 상상력은 우리의 세계를 더욱 잘 이해할 수 있도록 도와준다. GANs과 Neural Style Transfer 등을 사용하는 데이터 증강 방법은 이미지를 더욱 잘 이해할 수 있도록 이미지들에 대한 변화를 '상상'할 수 있다.
- Data Warping
Data Warping 증강 방법은 label이 보존되도록 기존 이미지를 변환한다. 이 방법에는 기하학적 및 색 변환, 무작위 지우기, 대립적 훈련, 신경 스타일 전이 등과 같은 증강 방법이 포함된다.
- Oversampling Augmentation
Oversampling Augmentation은 synthetic 인스턴스를 생성하여 training set에 추가한다. 이 방법에는 영상 혼합, 형상 공간 확대 및 생성 적대적 네트워크(GAN) 등이 포함된다.
위 분류표에서 같은 색깔의 선들은 meta learning 학습 체계가 사용하는 데이터 확대 방법을 나타낸다. 예를 들어 Newral Style Transger를 사용하는 meta learning 학습 체계는 neural augmentation에서 다룬다. 위 논문에서는 Data를 증강시키는 방법 외에도 학습 data에서 생기는 data imbalance 문제에 대한 해결법 또한 제공하려고 한다.
Background
Data Warping 이미지 증강 방법은 LeNet-5에서 살펴볼 수 있다. 이는 CNN이 MNIST 분류에 처음으로 적용한 것 중 한 방법이다. 데이터 증강 방법은 또한 oversampling에서도 발견된다. Oversampling 증강 방법은 불균형한 class의 분포를 다시 sampling하는데 사용되는 방법이다. ROS는 원하는 등급 비율이 달성될 때까지 이미지를 minority class에서 무작위로 복잡하는 매우 일차원적인 접근 방식이다. Intelligent Oversampling은 Chawla 등이 개발한 SMOTE(Synthetic Minority Over-sampling Technique)로 거슬러 올라간다. SMOTE와 Borderling-SMOTE의 확장은 K-Nearest Neighbors를 통해 기존 인스턴스의 새로운 포인트를 보강하여 새로운 인스턴스를 생성한다. 이 방법의 핵심은 계급 불균형으로 인한 문제를 완화하는 것으로 SMOTE는 주로 표와 벡터 데이터에 사용되었다.
The AlexNet CNN 구조는 ImageNet 데이터 집합에 CNN을 적용하여 이미지 분류를 혁신했다. 그들의 실험에는 data size를 2048만큼 증가시키기 위해 Data Augmentation이 사용되었다. 이는 224x224 크기의 patch를 original image로부터 잘라내고, 수평으로 뒤집고, PCA color augmentation을 사용하여 RGB 채널의 강도를 변경하는 방법을 통해 데이터셋을 증가시킬 수 있다. 이 Data Augmentatino은 deep neural network을 훈련할 때 발생하는 과적합 문제를 감소시키는 것에 도움을 주었다. GANs는 2014년에, Neural Style Transfer는 2015년에, Neural Architecture Search(NAS)는 2017년에 소개되었다. DCGANs과 CycleGANs, Progressively-Growing GANs과 같이 GAN의 확정에 대한 다양한 작업은 2015년 ,2017년 ,2017년 순으로 발표되었다.
대부분의 증강은 이미지 인식 모델의 개선에 초점을 맞췄다. 이미지 인식은 모델이 입력 이미지가 지정된 'dog' 또는 'cat'과 같은 출력 라벨을 예측하는 것이다.
Image Data Augmentation techniques
가장 초기의 Data Augmentation은 수평 플립, 색상 공간 확대, 무작위 자르기 등과 같은 단순한 변환을 하는 것이었다. 이런 변환은 앞서 논의된 이미지 인식에 대한 도전 과제들을 제시할 수 있게 도움을 주었다. 위 논문에서 나열된 증강 방법은 geometric transformations, color space transformations, kernel filters, mixing images, random erasing, feature space augmentation, adversarial training, GAN-based augmentation, neural style transfer, meta learning schemes이다. 이 section에서는 각각의 증강 방법이 어떻게 작용하는지 설명하고 그 결과를 보고하며 증강 방법의 단점들에 대해서 논의해볼 것이다.
(1) Data Augmentations based on basic image manipulations
- Geomatric transformations
이 방법에서는 기하학적인 변환과 다른 이미지 처리 함수에 기바한 다양한 증강 방법에 대해 설명할 것이다. Augmentation class는 구현 용이성으로 특징지어질 수 있다. 이러한 변환을 이해하는 것은 다른 data augmentation을 이해하는데 도움이 될 것이다.
우리는 application의 안전성이라는 맥락에서 다른 기하학적 증강 방법들을 설명할 것이다. 데이터 증강 방법의 안전성은 transformation을 거친 후 라벨을 보존할 가능성을 의미한다. 예를 들어 rotations, flip 등은 개 고양이 등을 분류하는 ImageNet challenges에서 일반적으로 안전하지만, 6과 9를 분류하는 것과 같은 숫자 분류 작업에는 안전하지 않다. Non-label preserving transformation은 잠재적으로 예측에 자신이 없는 response를 출력하는 모델의 능력을 강화할 수 있다. 그러나 이를 달성하기 위해서는 정제된 라벨이 필요하다. 만약 non-label preserving transformation후 이미지의 라벨이 [0.5,0.5]인 경우, 모델은 더 강력한 신뢰도 예측을 배울 수 있다. 그러나, 모든 안전하지 않은 데이터들에 대해 정제된 라벨을 구성하는 것은 컴퓨터의 비용이 매우 많이 드는 과정이다.
data가 transformation을 거친 후 non-label된 데이터에 다시 labeling 하는 과정은 모델의 능력을 강화할 수 있지만 컴퓨터 비용이 매우 많이 든다는 얘기를 하고 싶은 것 같음...
따라서 Transformation을 거친 후 데이터에 대한 정제된 label을 구축하는 것에 있어서의 어려움(컴퓨터 비용) 때문에 데이터 증강에 있어 '안전성'을 고려하는 것은 중요하다. 이는 어느 정도 domain에 의존하며 일반화할 수 있는 증강 정책을 개발하기 위한 과제를 제시한다. 이는 아래 열거된 geometric transformation 증강 방법들과 관련하여 중요한 고려사항이다.
① Flipping
수평축 flipping은 수직축 flipping보다 일반적이다. 이 증강 방법은 가장 쉽게 실행할 수 있고 CIFAR-10과 ImageNet 등의 dataset에서 유용하다는 것이 입증된 방법 중 하나이다. MNIST나 SVHN와 같이 문자 인식을 해야하는 데이터셋에서 이 방법은 안전하지 않다.
② Color Space
디지털 이미지 데이터는 대체로 height x width x color channels와 같은 tensor로 구성된 차원으로 구성된다. Color channels에서 증강 방법을 행하는 것은 매우 실용적인 증강 전략이다. R, G, B와 같은 단일한 color channel을 분리시키는 것은 매우 단순한 color 증강 방법 중 하나이다. 이미지는 매트릭스를 분리하고 다른 color channel에서 매트릭스 2개를 추가함으로써 하나의 color channel을 가진 형태로 빠르게 변환될 수 있다. 또한 RGB 값들은 이미지의 밝기를 높이거나 낮추는 단순한 매트릭스 작업을 통해 쉽게 조종될 수 있다. 더 발전된 형태의 color 증강 방법은 이미지를 설명하는 색상 히스토그램을 도출하는 것에서 비롯된다. 이러한 히스토그램의 명암 값을 변경하면 사진 편집 응용 프로그램에서 사용되는 것과 같이 조명 설정이 변경된다.
③ Cropping
이미지를 자르는 증강 방법은 각 이미지의 중간 patch를 자르므로, 높이와 너비 dimension이 혼합된 이미지 데이터의 실용적처리 단계로 사용될 수 있다. 또한 무작위로 이미지를 자르는 것은 변형하는 것(Translation)과 유사한 효과를 제공하는데 사용될 수 있다. 무작위로 이미지를 자르는 것과 이미지를 변형하는 것(Translation)의 차이점은 이미지를 자르는 것은 (256,256) -> (224,224)와 같이 input image의 사이즈를 줄인다는 것이다. 반면 이미지를 변형하는 방법(Translation)은 이미지의 차원(width, height)을 보존한다. 이미지를 자르기 위해 선택한 감소 임계값에 따라 이 방법은 라벨을 보존하지 않을 수도 있다.
④ Rotation
회전시키는 증강 방법은 이미지를 오른쪽 혹은 왼쪽으로 1도~359도 사이의 축으로 회전시키는 과정을 통해 진행된다. 이 증강 방법의 안전성은 회전도 파라미터에 의해 결정된다. 1도~20도/ -1~-20도 사이의 약한 회전은 MNIST와 같은 숫자 인식에는 유용할 수도 있지만, 회전도가 증가함에 따라 데이터의 라벨이 보존되지 않을 수 있다.
⑤ Translation
왼쪽, 오른쪽 위, 아래 등으로 이미지를 움직이는 것은 데이터의 위치 편향을 방지하는 것에 매우 유용할 수 있다. 예를 들어 데이터에 있는 모든 이미지들이 중심에 있다면(얼굴 인식에서 일반적), 이는 모델이 테스트될 때에도 완벽하게 이미지가 중심에 위치한 이미지를 이용해야할 것이다. Original image가 특정 방향에서 translation을 거치므로써 남는 공간은 0과 255와 같은 constant value나 random/Gaussian 노이즈로 채워질 수 있다. 이 padding은 이미지 증강을 거치기 이전의 dimension 값(width, height etc)을 보존한다.
⑥ Noise Injection
노이즈 주입은 일반적으로 가우스 분포에서 추출된랜덤 값의 행렬을 주입하는 것으로 구성된다. 이미지에 노이즈 주입하는 증강 방법은 CNN이 더 강력한 기능을 학습하는 데 도움이 될 수 있다.
Geometric transformation은 훈련 데이터에 있어 위치가 편향적인 문제에 대한 좋은 해결책이다. 예를 들어 얼굴 인식과 같이 모든 얼굴이 완벽하게 가운데 위치한 프레임에서 geometric transformation은 훌륭한 해결책이다. 뿐만 아니라 geometric transformation은 쉽게 적용될 수 있기 때문에 유용하다. 수평적으로 flipping하고 회전시키는 것을 실행할 수 있는 다양한 이미지 처리 라이브러리들이 존재하기 때문이다.
Geometric Transformation의 단점은 추가적인 메모리, 변환 계산 비용, 추가적인 training 시간 등이다. Translation과 Random cropping과 같은 geometric transformation은 label이 적용되었는지 적용되지 않았는지를 직접 발견해줘야만 한다. 마지막으로 training과 testing 데이터의 차이를 구별하는 편향을 해결하는 방법은 위치 및 변환에서 발생하는 편향을 해결하는 방법보다 복잡하다. 따라서 geometric transformation을 적용할 수 있는 장소와 시기의 범위는 상대적으로 제한적이다.
- Color space Transformation
이미지 data는 3개의 height x width 형태의 매트릭스로 구성된다. 이 매트릭스들은 각 RGB 값의 픽셀 값을 의미한다. 밝기 편향은 이미지 인식에 있어 가장 자주 발생하는 문제 중 하나이다. 따라서 color space transformation(a.k.a photometric transformations)의 효율성은 개념화하기에 상당히 직관적이다. 과하게 밝거나 어두운 이미지들을 수정하는 방법은 반복적으로 이미지의 픽셀 값을 일정한 값으로 감소시키거나 증가시키는 것이다. 또 다른 color space 조작은 각각의 RGB 매트릭스를 붙이는 것이다. 또 다른 변환은 픽셀 값을 특정 최소값/최대값으로 제한하는 것으로 구성된다. 디지털 이미지에서 색의 본질적인 표현은 데이터를 증강시키는 전략에 도움이 된다.
Color space transformation은 또한 이미지 편집 app에서도 파생될 수 있다. 각 RGB color channel에서 이미지의 픽셀 값은 컬러 히스토그램을 형성하기 위해 집적된다. 이 히스토그램은 이미지의 color space 특성을 변경하는 필터를 적용하기 위해 조작될 수 있다. 이미지의 색상 분포를 변경하는 것은 testing data에서 발생하는 밝기 편향 문제를 해결하는 좋은 방법이 될 수 있다. (Fig 3,4)
이미지 데이터셋은 RGB 매트릭스를 이용하는 것에서 흑백(grayscale) 이미지를 사용하는 것으로 변환하는 과정을 통해 단순화될 수 있다. 더 단순화된 이미지(height x width x 1)를 사용하면 더 빠른 계산을 기대할 수 있다. 그러나 이는 accuracy를 감소시킨다는 것으로 Chatifled의 연구에서 밝혀졌다.
Geomatric Transformation과 유사하게 color space transformation의 단점은 추가적인 메모리의 필요, 변환비용 및 훈련 시간의 증가이다. 또한 color transformation은 중요한 색 정보를 무시할 수 있고 따라서 항상 label을 보존하지 않을 수도 있다. 예를 들어 어두운 환경을 가정하기 위해 이미지의 픽셀 값을 감소시킬 때, 이미지에서 객체를 확인하는 것이 불가능할 수도 있다. Color transformation에서 label이 보존되지 않는 또 다른 예시는 Image Sentiment Analysis이다. 이 application에서 CNNs는 이미지의 sentiment 점수(highly negative, negatice, neutral, positive or highly positive)를 시각적으로 예측하려고 한다. Negative/highly negative를 나타내는 한 가지 지표는 피의 존재이다. 검붉은 혈색은 혈액이나 물과 페인트를 구분하는 핵심 요소이다. 만약 붉은 혈액을 초록색의 페인트와 구분할 수 없는 모델에서 반복적으로 color space를 변환시킨다면, 그 모델은 Image Sentiment Analysis에서 좋지 못한 성과를 낼 것이다. 사실상 color space transformation은 공간적인 특성에 유리한 데이터셋에서의 색상 편향을 제거할 것이다. 그러나, 어떤 경우에는 색은 무언가를 구분할 때 매우 중요한 특징이 될 수 있기 때문에 사용에 유의해야 한다.
- Kernel Filters
Kernel filters는 이미지 처리에 있어 이미지를 sharpen하고 blur하기 위한 가장 대표적인 방법이다. 이 필터는 이미지를 흐리게 하는 가우시안 필터를 사용하여 영상에 n x n 매트릭스를 밀어넣는 방식으로 작동하며 이는 이미지를 흐리게 하거나 가장자리를 따라 더 선명한 이미지를 만드는 고대비 수직/수평 edge 필터를 사용한다. 직관적으로 데이터 증강을 위해 이미지를 blurring하는 것은 testing 중 motion 흐림에 대한 저항이 높아질 수 있다. 또한 데이터 증강을 위해 이미지를 sharpening하는 것은 관심 객체에 대한 자세한 정보를 캡슐화할 수 있다. Sharpening과 blurring은 kernel filter를 적용하는 가장 일반적인 방법 중 하나이다.
Kernel filters는 데이터 증강에 있어서 상대적으로 미지의 영역이다. 이 기술의 단점은 CNN의 내부 메커니즘과 매우 유사하다는 것이다. CNN은 이미지를 계층별로 표현하는 최적의 방법을 배우는 parametric kernel을 가지고 있다. 따라서 kernel filter는 데이터 증강 방법보다 네트워크의 layer로 실행되는 것이 더 낫다.
- Mixing images
픽셀 값을 평균화하여 이미지를 함께 혼합하는 것은 데이터 증강에 있어 매우 직관적인 접근 방법이다. 이 과정을 통해 만들어진 이미지들은 사람이 보기에 유용한 transformation처럼 보이지 않을 것이다.
그러나, Ionue는 샘플 쌍이 어떻게 효율적인 증강 전략으로 발전될 수 있는지를 설명한다. 이 실험에서 두 이미지들은 256 x 256에서 224 x 224 사이즈로 무작위로 잘라기조, 무작위로 수평축으로 flip된다. 그런 후 이미지들은 각각의 RGB channel에서의 픽셀 값들로 평균화된다. 이는 분류 모델을 훈련시키는 데 사용되는 혼합된 이미지를 만들어낸다. 새 이미지에 할당된 라벨은 처음 무작위로 선택한 이미지와 동일하다. (Fig 7) Ionue가 제시한 SamplePairing 데이터 증강 기술은 CIFAR-10 데이터셋에서 error rate를 43.1에서 31.0%로 감소시키는 등 훌륭한 성능을 보였다. 이 연구에서 발견된 또 다른 세부 사항은 동일한 class에 속하는 인스턴스보다 전체 training set에서 이미지를 mixing할 때 더 나은 결과를 얻었다는 것이다.
직관적이지 않은 방법으로 이미지를 mixing하는 또 다른 방법은 Summers와 Dinnenn에 의해 발견되었다. 그들은 새로운 training 인스턴스에 이미지를 결합시킬 때 선형적이지 않은 방법을 사용하는 법을 연구하였다. 이들이 사용한 방법은 basline 모델에 비해 더 나은 결과를 냈다. (Fig. 9)
앞서 언급한 비선형적인 augmentation 중에 단연 최고의 기술은 CIFAR-10 데이터셋에서 5.4에서 3.8%로, CIFAR-100 데이터셋에서 23.6%에서 19.7%로 error를 줄인 Liang이 고안한 방법이다. 그는 이미지를 mixing하기 위해 GANs를 사용하였다. 타카하시와 마츠바라의 실험의 또 다른 접근법은 랜덤으로 이미지를 자르고 잘라진 이미지를 연결하여 아래와 같이 새로운 이미지를 형성하는 것이었다. 그 결과, 딥러닝에서 이 방법이 매우 효과적임을 발견했다. (Fig 10)
Mixing image의 명백한 단점은 사람의 관점에서 이해할 수 없다는 것이다. Mixing image를 통해서 성능을 향상시키는 것은 매우 이해하기 어렵고 설명하기 힘들다. 이에 대한 한 가지 가능한 설명은 데이터셋의 크기가 증가하면 선의 가장자리와 같은 특성을 보다 강력하게 나타낼 수 있다는 것이다. Transfer learning과 pretraining은 CNN의 low-level 특성에서 학습될 수 있는 또 다른 기술이다. Transfer learning, pretraining과 mixing image의 성능을 비교하는 것은 후에 매우 흥미로운 작업이 될 것이다.
- Random erasing
Random erasing은 Zhong 등에 의해 고안된 흥미로운 데이터 증강 방법 중 하나이다. Dropout 정규화 과정을 통해 영감을 받은 이 방법은 네트워크의 구조 내에 내장되기 보다는 입력 데이터 공간을 제외한 dropout과 유사한 것으로 볼 수 있다. 이 기술은 특히 occlusion에 의한 이미지 인식 문제를 해결하기 위해 고안된 것이다. Occlusion은 객체의 일부가 불분명한 것을 의미한다. Occulsion이라는 과제를 해결하려는 것과는 별개로 random erasing은 네트워크의 일부가 아니라 전체 이미지에 주의를 기울이도록 보장하는 유망한 기술이다. (Fig 12)
Random Erasing은 입력 dimension을 변경하여 과적합을 직접 방지하는 데이터 증강 방법이다. 특정 입력 patch를 제거함으로써 모델은 다른 특성을 찾을 수 밖에 없다. 이 증강 방법은 수평 flip이나 color filter와 같은 다른 증강 방법 위에 쌓을 수 있다는 장점이 있다. Random erasing은 CIFRAR-0 데이터셋에서 높은 정확도를 생성하는 기술 중 하나이다.
Random erasing의 단점은 transformation 이후에 label이 보존되지 않을 수도 있다는 것이다. MNIST 데이터셋과 같은 손글씨로 된 숫자 인식에서 만약 '8'의 윗부분이 무작위로 crop되었다고 가정할 때, 이는 '6'과 차이가 없게 될 것이다. 많은 데이터셋들에서 무작위로 제거된 이미지의 section은 다른 것들과 구분할 수 없게 될 수 있다는 것을 기억해야한다.
- A note on combining augmentations
앞서 설명한 모든 데이터 증강 방법에는 왜곡 크기 파라미터도 함께 제공된다. 이 파라미터는 45도와 30도 회전 사이의 왜곡 차이를 나타낸다. Cropping, flipping, color shifts 와 random erasing 등의 증강 기법을 결합시키는 방법은 데이터셋의 크기를 엄청나게 부풀릴 수 있다. 그러나 이렇게 결합시키는 방법이 유리하다고 보장되지는 않는다. 데이터가 매우 제한된 domain에서 이는 더 많은 overfitting을 발생시킬 수도 있다. 따라서 딥러닝 모델을 훈련시키기 위해 최적의 증강 데이터 subset을 도출하기 위한 search algorithm을 고려하는 것이 중요하다.
댓글