본문 바로가기

Paper Review

Paper Review #14 - Contextual Augmentation: Data Augmentation by Words with Paradigmatic Relations

Contextual Augmentation: Data Augmentation by Words with Paradigmatic Relations (2018.05.16)
https://arxiv.org/abs/1805.06201
 

Contextual Augmentation: Data Augmentation by Words with Paradigmatic Relations

We propose a novel data augmentation for labeled sentences called contextual augmentation. We assume an invariance that sentences are natural even if the words in the sentences are replaced with other words with paradigmatic relations. We stochastically re

arxiv.org

 

Research direction & Motivation


Main Purpose

Text data augmentation with contextual and label-conditional information

 

 ML 모델은 종종 일반화되지 못하고 training data에 과적합되는 양상을 보인다. 특히 생성모델의 경우, 데이터의 규모 및 질에 따라 영향을 크게 받는다. 따라서 사용할 데이터를 준비하는 작업은 시간적 측면에서의 비용이 매우 크게 소요된다. 이러한 문제점들로 인해 그동안 어느정도 자동화된 data augmentation을 사용해왔지만 Vision 분야와는 다르게 NLP에서는 일반화된 규칙을 찾기가 어려워 한정적으로 사용해왔다.

 

 대표적으로, synonym-based augmentation은 일부 단어들에만 적용이 가능하기 때문에 다양한 패턴을 가진 구문을 만드는 것은 어려운 일이다. 본 논문의 저자들은 이러한 문제점들을 파악하고 문맥에 기반한 새로운 형태의 augmentation 기법을 제안했다. 단순히 사전에 기반한 동의어들 간의 1:1 matching이 아니라 앞뒤 문맥을 고려한 bi-directional LM을 통해 예측된 단어를 사용함으로써 여러가지 대용어를 사용하는 'Contextual Augmentation'을 소개했다.

 

Method


Word Prediction based on Context

 

 Contextual data augmentation은 완전한 동의어가 아닌 유사한 문맥, 감정 등을 가진 다양한 단어들로 대체하는 방법이다. 예를들어, actors라는 단어가 있다면 이를 단순 동의어인 characters 뿐만아니라 movies, stories, songs와 같이 문맥에 맞는 다른 명사로 대체한다. 이를 위해서는 pretrained language model이 필요한데 여기서는 LSTM-RNN을 활용했다. 모델은 양방향에서 각각 주변 단어에 대한 encoding을 진행하고, target position에 대한 확률을 계산한다.

 

 

 양방향에서 산출된 output은 concatenated 되어 확률 분포에 의해 단어들을 생성하는 feed-forward network로 주입되고 학습시 각 update마다 augmentation을 위한 단어들을 sampling한다. 이때 temperature scaling을 도입하여 그 강도를 parameter τ로 조절한다.

 

 

 τ이 커지면 uniform distribution으로 부터 단어가 sampling되어 모든 단어들이 동일한 확률을 가지며, 0에 근접할수록 greedy sampling에 가까워진다.

 

 

Conditional Constraint

 

 앞서 제시된 방법은 대체 단어의 선정에 있어서 긍정, 부정 여부를 고려하지 않고 문맥적으로 유사한 단어를 고르는 경우가 빈번하게 나타난다는 문제점이있다. 이는 data가 가지는 label을 고려하지 않으므로 학습에 있어서 부정적인 영향을 끼칠 우려가 큰데, 이런 문제에 기인해 label 정보를 고려한 label-conditional LM을 도입했다.

 

 

 위에서 제시된 수식에서 label값 y를 conditional하게 도입함으로써 문맥과 label, 두 가지가 혼합된 정보로 부터 output을 생성해낸다. 이를 'Label-conditional architecture' 라고 부른다.

 

Experiments & Results


 해당 방법의 검증을 위해 데이터셋은 SST5, STT2, Subj, MPQA, RT, TREC 을 사용했으며 LSTM-RNN, CNN에 dropout을 적용한 모델에 각각 3가지 augmentation을 적용해 성능을 비교했다. 

1. synonym-based augmentation
2. contextual augmentation without a label-conditional architecture
3. contextual augmentation with a label-conditional architecture

 

 언급했듯이 논문에서 제시하는 contextual augmentation을 위해서는 pretrained model이 필요하며 label conditional architecture를 위해서는 fine tuning의 과정이 필요하다. 이를 위해 bi-LSTM을 WikiText-103을 사용해 사전학습 후, 각 데이터셋의 label에 맞추어 fine tuning을 진행했다. 2번과 3번에서의 τ는 validation set에서의 최적인 값을 사용했다.

 

 

 결과에 앞서 label-conditional architecture의 결과를 살펴보면 다음과 같은 현상들이 발견된다.

 

1. 긍정적인 label의 데이터에서는 "funny", "honest", "good", "entertaining"과 같은 긍정적인 단어들이, 부정적인 label의 데이터에는 "tired", "forgettable", "bad", "dull"과 같이 부정적인 단어들이 나타난다.

 

2. Label class에 크게 영향을 미치지 않는 단어인 "actors"에 대해서는 긍정과 부정 데이터의 단어 차이가 크게 보이지 않는다.

 

  결과적으로 contextual augmentation은 기존의 synonym-based 보다 다양한 방면에서 더 월등한 성능을 보여준다. 특히 label conditional 방법은 domain과 무관하게 평균적인 성능을 상승시켰다. 다중 레이블 분류문제에서 더 효과적인 모습을 보이며 성능을 향상에 기여했다.