Out-of-Vocabulary(OOV) 문제

OOV 문제는 주로 음성인식이나 자연어처리 분야에서 많이 언급되는데, 이 두 가지가 동시에 필요한 챗봇의 경우에는 더더욱 치명적으로 작용합니다. 우선 OOV문제가 무엇인지 살펴봅시다.

Models can only learn the embedding of words that occur in the training data. At test time (i.e. when the model is deployed to production), there would be words that have never occurred in the training data. These words are often called out-of-vocabulary (OOV) words.

즉, 모델을 테스트하는 과정에서 학습하지 않은 단어를 마주할 때 발생하는 문제를 OOV problem이라고 합니다. OOV 단어가 학습과정에서 전혀 등장하지 않기 때문에 모델은 그 임베딩을 학습할 수가 없고, 따라서 그 단어를 input으로써 표현할 수 없게 됩니다. VQA모델의 경우에도 마찬가지로 적용되는 문제입니다. Answering을 담당하는 유닛이 사전에 학습되지 않은 단어를 마주하게 되면 OOV문제가 발생하게 됩니다.

Transfer Learning

1

일반적으로 개인이 한 모델을 학습시키는데 있어 충분한 양의 데이터셋을 갖추는 것은 쉽지 않습니다. 이 때문에 네트워크를 완전히 처음부터 학습시키는 경우는 잘 찾아보기 드뭅니다. 대부분 ImageNet이나 WordNet과 같은 방대한 데이터셋에서 pre-train이 되어있는 모델을 가지고 task-specific한 데이터를 추가적으로 학습시키는 경우가 많습니다. 일반적으로는 pre-trained 모델의 가중치를 추가적인 데이터로 fine-tuning하는 과정이라고 볼 수 있습니다. 이렇게 하면 완전히 처음부터 학습시키는 것에 비해 시간을 대폭으로 절약할 수 있고, task-specific한 데이터만으로 학습을 시킨 모델보다 성능면에서도 뛰어나게 됩니다. 이러한 technique을 두고 Transfer Learning이라고 합니다.

VQA 모델

기본적으로 VQA모델은 이러합니다.

~

아이디어

논문의 아이디어는 이렇습니다.

Out-of-Vocabulary 문제를 Transfer Learning으로 풀어보자!

VQA모델에서 학습되지 않은 단어들을 외부의 데이터를 이용하여 보충해보자

VQA모델이 표현할 수 있는 단어들

외부의 visual 데이터와 linguistic 데이터를 이용하여 VQA 모델에서 발생하는

ImageNet(visual data)이나 WordNet(linguistic data) 등의 방대한 상용 off-the-shelf) 데이터셋을 이용하여 VQA에서 out-of-vocabulary 문제를 해결하는 방법을 제안한다. 방대한 데이터셋에서 제공되는 class label, bounding box, region descriptor 등의 annotation들을 이용한다면 더 풍부하고 다양한 visual concept을 학습할 수 있다. 하지만 어떻게 visual concept이 capture되고 VQA모델로 transfer되는지를 이해하는것은 어렵다. VQA모델과(question에 의존하는 answering 모델)과 이러한 데이터(question이 없는 visual data) 사이의 연결고리가 없기 때문.

이러한 문제를 두 단계로 나누어 해결한다. 1) 먼저 off-the-shelf 데이터셋을 이용하여 task conditional visual classifier을 학습한다. 이 classifer는 unsupervised task discovery에 기반하여 다양한 question-specific visual recognition task를 해결할 수 있다. (unsupervised task discovery는 visual feature와 task specification 간의 model-interection을 파악하기 위함.) 2) task conditional visual classifier를 VQA모델의 answering unit으로 transfer한다.

task conditional visual classifier을 학습하기 위한 linguistic knowledge source은 다음과 같다. 1) Structured lexical database (e.g. WordNet) 2) Visual description (Unsupervised task discovery에 사용.)

즉, out of vocabulary문제를 transfer learning으로 해결한다. (pre-trained task conditional visual classifier을 VQA에 adaptively transfer한다.)

정리