[논문 리뷰, Zero-Shot Learning]DeViSE: A Deep Visual-Semantic Embedding Model
-목차-2. DeViSE: A Deep Visual-Semantic Embedding Model
2.3.1 Language Model Pre-training
2.3.2 Visual Model Pre-training
2.3.3 Deep Visual-Sementic Embedding Model
NIPS 2013에서 Google이 발표한 논문인 'DeViSE: A Deep Visual-Semantic Embedding Model' 논문을 바탕으로 zero shot learning에 대한 전반적인 내용을 소개 및 정리해보려고 한다.
1. Zoro-Shot Learning 이란?
ZSL은 모델 테스트 시 학습 중에 관찰되지 않은 클래스의 샘플을 관찰하고 예측하는 머신러닝 기술이다. Zero-shot 방법은 일반적으로 개체의 관찰 가능한 구별 속성을 인코딩하는 일부 형태의 보조 정보를 통해 관찰된 클래스와 관찰되지 않은 클래스를 연결하여 작동한다. 예를 들어, 동물이 어떻게 생겼는지에 대한 보조 텍스트 설명과 함께 분류할 동물 이미지 세트가 주어지면 말을 인식하도록 훈련되었지만 얼룩말을 부여받은 적이 없는 모델은 검은색 흰색 줄무늬가 있고, 꼬리가 있다는 보조 정보를 통해 얼룩말을 인식할 수 있다.
정리하자면 다음과 같다.
- 레이블이 지정된 소수의 클래스 집합 데이터와 클래스에 대한 보조 정보만을 사용하여, 한 번도 본 적 없는 많은 클래스까지 잘 예측하도록 학습
- 학습 시, 레이블이 지정된 데이터와 추가 보조 정보만을 사용해 학습
- 테스트 시, 학습 때 보았던 클래스의 데이터와 한 번도본 적 없는 클래스의 데이터에 대해 레이블 예측 수행
2. DeViSE: A Deep Visual-Semantic Embedding Model
해당 논문은 Zero-shot Learning을 학습하는 방법 중 Embedding based approach의 근간이 되는 모델을 제안하였다.
Embedding based approach는 Attribute를 사용하여 각 클래스에 해당하는 정보를 Semantic vector representation으로 선형 변환하여 각 클래스에 대한 보조 정보로 활용한다. 따라서 학습 시 관찰되지 않은 클래스 더라도 Semantic embedding 변환을 학습함으로써 클래스에 대한 정보를 학습과정에 잘 담아내어 레이블 예측을 가능하게 한다.
2.1 introduction
레이블링 된 이미지의 수가 증가하면서 객체 인식 시스템의 활용도가 향상되었지만 이러한 시스템을 제한된 수의 개별 범주 이상으로 확장하는 것은 아직 해결되지 않은 문제로 남아 있다.
레이블이 지정된 이미지와 비교적 크고 독립적인 텍스트 데이터의 의미 정보로 객체 인식 모델을 훈련하여 이러한 단점을 해결하는 접근 방식을 제안한다.
2.2 Previous work
위와 같은 문제에 대한 한 가지 솔루션은 'Large scale image annotation: learning to rank with joint word-image embeddings'라는 논문의 WSABIE으로 이미지와 레이블을 모두 포한하는 Joint embedding space로 임베딩 모델을 학습한다. 제안된 모델은 두 가지 파라미터 셋을 포함한다.
- 이미지 Feature에서 Joint embedding space로의 선형 매핑
- 레이블에 대한 Embedding vector
본 논문에서 제안하는 접근 방식과 비교하여 WSABIE는 이미지를 임베딩 공간까지의 선형 매핑만 학습했으며 사용 가능한 레이블은 이미지 학습 데이터에서 제공된 레이블만 사용했기 때문에 학습에 사용되지 않았던 새로운 클래스를 일반화할 수 없는 문제가 있다.
Socher의 'Zero-shot learning through cross-modal transfer'은 풍부한 이미지 표현을 얻기 위해 Unsupervised learning방식으로 Zero-shot learning을 활용하였고, 수천 개의 공통 단어에 대한 임베딩 표현을 얻기 위해 언어 모델을 학습하였다. 최종적으로 이미지 표현과 이미지에 레이블을 지정한 8개 클래스에 대한 단어 임베딩 간의 선형 매핑을 학습하여 이미지 표현 공간을 임베딩 공간에 연결하였다.
모델이 이미지가 8개의 클래스 집합에 있다고 결정하면 별도로 훈련된 Softmax 모델을 사용하여 8-way 분류를 수행했다고 그렇지 않으면 모델은 임베딩 공간에서 알려지지 않은 2개의 클래스중 가장 가까운 클래스를 예측한다.
이 방법과 본 논문에서 제안하는 방법은 여러 차이는 다음과 같다.
- 이미지 모델에 대해 1,000개의 알려진 클래스와 최대 20,000개의 알려지지 않은 클래스를 고려하기 때문에 규모에서 차이가 있다.
- 위 방법은 알려진 클래스와 알려지지 않은 클래스의 예측에 있어서 Trade-off가 존재
- 다른 Visual 모델, 다른 Language모델을 각각 다른 목적으로 학습하여 오직 Embedding만 사용하는 하나의 통합된 모델로 결합
2.3 Proposed Approach
본 논문에서 제안하는 모델은 Visual model과 Language 모델을 각각 Pre-training 하는 과정부터 시작한다. 세부적인 내용은 아래와 같다.
2.3.1 Language Model Pre-training
wikipedia에서 추출한 570만 문서(54억 단어)의 말뭉치에서 skip-gram 텍스트 모델을 학습했다. 인접 단어 예측을 위해 softmax 레이어를 사용했으며 Window size 20의 sliding window를 사용하여 학습했다.
100-D에서 2,000-D에 이르는 스킵 그램 모델의 hidden dimension을 학습하였으며, 500-D 및 1000-D가 학습 속도와 성능 측면에서 가장 좋은 성능을 낸다.
2.3.2 Visual Model Pre-training
사용된 Visual model architecture는 1000개 클래스를 학습하는 AlexNet 모델을 기반으로 한다. 이 모델은 여러 개의 Convolution filtering, Local contrast normalization 및 Max pooling으로 구성되며, Dropout regularization 기술을 사용하여 학습된 여러 Fully connected layer로 구성된다. 1,000개 객체 범주 중 하나를 예측하기 위해 softmax 출력 레이어로 모델을 학습했으며 이 모델의 학습된 파라미터는 전체 모델의 초기 파라미터로 사용된다.
2.3.3 Deep Visual-Sementic Embedding Model
Deep Visual-Semantic Embedding 모델(DeViSE)은 Language model과 Visual model을 각각의 Target데이터로 사전 학습시킨 파라미터로 초기화하여 이를 결합한다.
softmax 예측 레이어가 제거된 Visual model은 Transformation layer를 통해 Visual model의 출력인 4,096차원 벡터를 Skip-gram 학습 벡터 차원인 500 또는 1,000차원 표현으로 매핑하는 선형 변환을 학습한다.
본 논문에서는 코사인 유사도와 Hinge rank loss의 조합으로 구성된 손실 함수를 정의하였으며 아래와 같다.
\(margin\) = 0.1
\(\vec{v}(image)\) : 주어진 이미지에 대한 핵심 시각적 네트워크의 최상위 레이어의 출력을 나타내는 열 벡터
\(M\) : 선형 변환 레이어에서 훈련 가능한 매개변수의 행렬
\(\vec{t}(label)\) : Skip-gram의 학습된 임베딩을 나타내는 Target 행 벡터
\(\vec{t}(j)\) : Target이 아닌 다른 단어의 행 벡터
위와 같은 손실 함수를 정의한 이유는 가장 가까운 이웃 평가가 근본적으로 순위 문제이고 순위 손실로 가장 잘 해결되는 반면 L2 손실은 벡터를 서로 가깝게 만드는 것을 목표로 하지만 목표에 더 가까운 잘못된 레이블이 남아 있을 수 있기 때문이라고 언급하고 있다. 실제로 L2 loss를 사용하였을 때 Hinge rank loss를 사용하였을 때보다 절반 수준의 성능을 보인다고 한다.
2.4 Results
실험 데이터로 ImageNet ILSVRC 2012 1K를 사용하였고, 테스트 성능에 있어 Softmax baseline(AlexNet)과 거의 비슷한 성능을 제연한다고 한다.
2.4.1 Generalization and Zero-Shot Learning
Zero-shot Learning의 가설을 테스트하기 위해 DeViSE가 학습된 ILSVRC 2012 1K 데이터 세트에 포함되지 않은 ImageNet 2011 21K 데이터 세트에서 테스트 이미지를 추출했고, 저자는 레이블에 대한 임베딩은 언어 모델에 의해 학습되었지만 모델에는 이러한 레이블에 대한 시각적 지식이 없다는 점에서 이는 "Zero-shot dataset"이라고 설명하고 있다.
softmax baseline은 ILSVRC 2012 1K의 레이블만 예측할 수 있는 반면 위와 같이 DeViSE는 한 번도 해당 클래스에 대한 이미지 데이터를 학습한 적이 없음에도 불구하고 상당히 그럴싸한 예측을 하는 것을 확인할 수 있다.
2.5 Conclusion
본 논문에서는 joint visual-semantic embedding model 객체 분류에 대한 sota 소프트맥스 기반 모델에 필적하는 성능을 제공하도록 훈련될 수 있음을 보여준다. DeViSE는 예측 오류가 있더라도 더욱 의미론적으로 더욱 합리적은 예측을 수행한다고 저자는 설명하고 있다.
3. 마치며
3.1 why zero-shot learning
현실에 존재하는 수많은 데이터는 정답 레이블이 함께 존재하지 않는 경우가 훨씬 많음
데이터에 대한 레이블 지정은 전문가 만이 할 수 있는 경우도 있음
이러한 데이터 레이블링은 시간적으로 매우 많은 비용이 들기 때문에 많은 어려움이 따름
3.2 embedding based approach for Zero-shot learning
이미지에 해당하는 단어에 대한 부가 정보를 Language 모델을 활용한 임베딩으로 사용함으로써 Zero-shot learning을 수행할 수 있음
이를 통해 학습에 사용되지 않았던 unseen class에 대한 일반화를 할 수 있고, 레이블 생성 작업에 활용될 수 있음
참고 자료
microsoft research blog : learning-local-and-compositional-representations-for-zero-shot-learning