티스토리 뷰

Siamese Recurrent Architectures for Learning Sentence Similarity

Mueller, J., & Thyagarajan, A. (2016, March). Siamese recurrent architectures for learning sentence similarity. In Proceedings of the AAAI Conference on Artificial Intelligence (Vol. 30, No. 1).

 

Abstract

우리는 LSTM을 이용한 siamese adaptation에서 다양한 길이의 쌍으로 이루어진 라벨링 데이터 처리에 대하여 발표한다. 우리의 모델은 문장의 의미적 유사성을 구하는 것에 적용된다. 여기에서 우리는 섬세하게 수작업으로 특성을 조작한 연구와 최근 제안된 굉장히 복잡한 신경망 시스템을 넘어서는 좋은 성능을 보인다. 그 적용의 예시로는 우리는 고정된 크기의 벡터로 문장의 의미를 incoding하는 LSTM을 이용하여 word embedding vector에 유의어 정보를 보충한다. 단순한 Manhattan metric에 의존하는 제한된 subsequent 연산에 의해, 우리는 우리의 모델이 학습한 문장 표현을 이용하여 기하학적으로 복잡한 의미 관계를 반영하는 고도로 구조화된 공간을 형성한다. 우리의 결론은 복잡한 이해를 필요로 하는 task의 강력한 언어 모델 능력으로서 LSTM을 보여주는 가장 최신 연구이다.

 

Introduction

Text understanding과 Information retrieval은 문장/구문 사이의 의미적 유사성 모델링의 중요한 task이다. 특히, 좋은 모델은 같은 아이디어에 대한 다양한 표현과 문법에 대하여 민감하게 반응하지 않는다.  semantic textual similarity metric같은 학습은 연구 주제를 잘 다룰 수 있게 해준다. 하지만 labeled data는 드물고, 문장의 길이와 구조가 다양하고, NLP task에서 지배적으로 사용되는 BoW/TF-IDF는 용어의 특별한 맥락 정보를 가질 수 없다는 한계를 가지고 있는 풀기 어려운 문제들이 남아있다.이러한 문제의 대안으로 Mikolov는 analogies와 다른 NLP task를 위한 효율적인 신경망 언어표현을 입증했다. 최근에는, 개별적인 word-level을 넘어서서 문장같은 text전체를 고정된 길이의 벡터로 mapping 시키는 연구가 이뤄지고 있다. (Kiros et al. 2015; Tai, Socher, and Manning 2015; Le and Mikolov 2014.)문장과 같이 다양한 길이를 갖은 input을 자연스럽게 표현하기 위해, RNN 특히 LSTM은 텍스트 분류와 기계번역과 같은 task에서 좋은 성과를 보였다. RNN은 sequence data \((x_1, ... , x_T)\)에 대하여 표준적인 Feed Forward 신경망이다. 이때 RNN의 연산은 \(t \in \{1,...,T\} \) 에 대하여 hidden state vector \(h_t\)는 다음과 같은 수식으로 계산된다.

 

\[ h_t =  sigmoid(Wx_t + Uh_{t-1})      \,\, ... \,\,     (1) \]

 

Siegelmann과 Sontag는 basic RNN의 성능을 입증하였지만, weight-matrices를 최적화 하는 과정에서 long sequence에 대하여 gradient가 매우 작아지는 vanishing gradient problem이 발생하였다. 이 경우에 LSTM은 long range dependency를 유지할 수 있는 memory cell unit을 통해서 basic LSTM보다 훨씬 더 좋은 성능을 보인다. RNN과 유사하게 LTSM은 sequence input에 대하여 hidden state를 반복적으로 업데이트 한다. 하지만 이 과정에서 memory cell을 포함한 4개의 컴포넌트를 이용한다.(각 컴포넌트들은 실수값 벡터를 가지고 있다.)

  1. \(c_t\) : a memory state
  2. \(o_t\) : an output gate
  3. \(i_t , g_t\) : input이 현재 메모리에 얼마나 영향을 줄지, 현재 메모리에 저장된 정보를 얼마나 잃을지에 대한 component 

\( t \in \{1,...,T\} \)에 대하여 LSTM은 다음과 같은 수식을 통해서 계산 된다.

 

\[ i_t = sigmoid(W_ix_i + U_ih_{t-1} + b_i) \quad (2) \]

\[ f_t = sigmoid(W_fx_t + U_fh_{t_1} + b_f  \quad (3) \]

\[ \widetilde{c_t} = tanh(W_cx_t + U_ch_{t-1} + b_f)  \quad (4) \]

\[ c_t = i_t \odot \widetilde{c_t} + f_t \odot c_{t-1} \quad (5) \]

\[ o_t = sigmoid(W_ox_t + U_oh_{t-1} + b_o) \quad  (6) \]

\[ h_t = o_t \odot tanh(c_t) \quad (7) \]

 

LSTM model에 관한 더욱 자세한 연구는 Graves(2012), Greff et al (2015).에서 확인 할 수 있다.

비록 LSTM laguage model의 성공에 대한 이론적인 이해를 완전하게 이루진 못 했지만, Sutskever, Vinyals and Le (2014)는 경험적으로 텍스트의 의미 표현을 기반으로 하는 인코딩된 고정된 길이의 벡터가 효율적으로 학습될 수 있다는 직관을 경험적으로 입증하였다. 최근 연구에서는 간단한 gated recurent unit(GRU)와 같이 LSTM의 다양한 형태가 제안된다. 다양한 경험적 분석을 한 이후 Greff et al.(2015)에서는 다양한 LSTM모델중에서 어떤 것이 basic LSTM 모델보다 신뢰성 있게 성능이 좋은지 의문을 제기한다. 또한, 양방향 다층 모델, 재귀적 계층 모델등 광범위하게 구조적 수정이 들어간 sequential RNN 모델이 재조명 받았다.

본 논문에서 우리는 충분한 데이터가 주어지면 LSTM의 간단한 수정을 통해 풍부한 의미론을 포착하는 고도로 구조화된 문장 표현 공간을 학습하기 위해 쌍으로 구성된 예제에 대하여 학습될 수 있음을 보여준다. 우리의 결과 standard LSTM이 놀라울 정도로 복잡한 LSTM task를 해결 할 수 있음을 입증하였다. 우리의 모델은 간단함에도 불구하고, 우리의 접근 방법은 문장간 유사도를 평가하는 작업에서 놀라운 성능을 보여주었다.

우리는 고정된 크기를 같는 두 개의 벡터와 한 개의 레이블을 같은 쌍을 가지고 지도학습하는 설정에 대하여 고려한다. (고정된 두 크기의 벡터 : \(x_1^{(a)}, ... , x_{T_a}^{(a)}\), \(x_1^{(b)}, ... , x_{T_b}^{(b)}\), 레이블 :  \(y \) \( when, \; x_i^{(a)}, x_j^{(b)} \in \mathbb{R}^{d_{in}} \) 

이때 주목해야할 부분은 두 sequence vector의 길이가 서로 같지 않다는 것 즉, \( T_a \neq T_b \)이라는 사실이다. 우리는 대칭적인 두 seqeuence를 다루지만 우리의 방법의 결과는 쉽게 서로 다른 길이의 벡터에 대해서도 적용될 수 있다. 유사성을 기반으로 한 labelling y가 주어진다고 가정하면, 우리의 알고리즘은 다양한 길이를 갖는 sequence의 공간에 대한 mapping을 생성한다. 이때 다양한 길이를 갖는 sequence의 공간은 고정된 차원의 행렬로 구성되어 있다.

우리의 동기부여 예시는 인간에 의해 의미적인 유사성 y가 레이블 되어 있는 문장 쌍이 주어진 경우 문장 간의 유사성을 추론하는 작업이다. 이 경우 각각의 \( x_i^{(a)} \)는 첫 문장 단어 표현 벡터를 나타내고, \( x_b^{(j)} \)는 두번째 문장의 단어 표현 벡터를 나타낸다. 또한 우리는 LSTM을 이용하여 의미를 반영하는 metrix를 학습한다. 

 

Related Work

다양한 어플리케이션과의 호환의 중요성 때문에, 의미적 유사성 평가는 수 많은 연구자들이 선행적으로 이용한 SemEval2014를 사용하였다. 이 데이터에 대한 경쟁적인 모델들은 외부 리소스(eg. wordnet)과 함께 heterogeneous feature(eg. word overlap/similarity, negation modeling, sentence/phrase composition)을 활용하는 다양한 학습 알고리즘(eg. SVM, Random forest, k-NN, model ensemble)이 적용되었다. Zhao, Zhu, Lan(2014)이 발표한 좋은 모델 중 하나는 수작업으로 만든 feature를 이용한 잠재의미분석을 이용하여 벡터 공간 표현을 학습한다. Bjerva et al(2014)에서 발표한 또 다른 좋은 성능을 보이는 모델은 word2vec으로부터 기인된 특성으로 의미적이고 논리적인 결과를 해석한다.

최근에는, 세 개의 신경망을 이용하여 우리의 접근과 더 유사한 방법이 제안되었다. 이는 놀라울 정도로 좋은 성능을 보였다. He, Gimpel, Lin (2015)에서는 정교한 Convolutional network의 변형을 이용하였다. 그 변형의 핵심은 서로 다른 다양한 크기의 convolution을 이용하여 문장의 유사도를 추론하는 것이었다. 

Kiros et al.(2015) 에서는 skip-thoughts model을 제안한다. skip-thought model은 word2vec의 접근을 word에서 sentence단위로 확장시킨 방법이다. 이 모델은 각각의 문장을 RNN Encoder-Decoder에 넣어서 즉각적인 문장의 재구조화를 시도한다. 그들의 접근방법을 문장 유사도 task에 적용하기 위하여 그들은 우선적으로 문장을 pre-traind 된 RNN Encoder에 입력으로 넣음으로 skip-thought vector를 획득했다. 그 다음 Encoder와는 분리된 classifier는 SICK data에 있는 문장쌍에 의하여 생성된 skip-thought vector로써 학습되게 된다. seq2seq model에서와 같이, 의미적 특성이 명시적인 목표로 드러나기보단, 간접적인 효과로 skip-thought vector에 표현되게 된다.

Tai, Socher, Manning(2015)에서는 Tree-LSTM을 제안한다. Tree-LSTM은 standard LSTM으로 구성된 순서에 영향을 받는 체인구조 모형의 Tree network이다. 각 문장은 가장 먼저 parse tree로 변환된다. 그리고 Tree LSTM은 주어진 word에 대응되는 tree node에서 그것의 hidden state를 구성한다. Tree-LSTM의 목적은 문장의 문법적인 특성이 반영하는 것이다. 네트워크 구조를 이루고 있는 parse tree는 순차적인 제한이 있는 구조에 비하여 더욱 효과적으로 문장의 문법적인 특성을 전파시킬 수 있다. 이 모델은 Kiros et al.(2015) 와 유사하게 문장의 유사성을 평가하지만, input sequence가 skip-thoughts에 의하여 만들어지는 것이 아니라 Tree-LSTM에 의하여 만들어지는 차이를 가지고 있다.

본 논문에서 우리가 제시하는 모델 또한 pre-trained word vector를 input으로 사용하는 신경망을 이용하여 문장을 표현한다. 하지만 우리의 표현 학습 목표는 Kiros et al.(2015)와는 다르게 주어진 의미 유사성 레이블을 직접적으로 반영한다. 앞서 언급한 신경망은 복잡한 모델을 활용하여 문장 표현에서 의미적 유사성을 예측하지만, 우리는 더 강력한 요구를 가지고 있다. 즉, 간단한 행렬이 문장 유사성을 포착하기에 충분하도록 의미론적으로 구조화된 표현 공간을 학습해야한다. 또한 이러한 지각은 Chopra, Hadsell,LeCun(2005)의 siamese architecture for face verification 에 기반을 두고 있다. siamese architecture for face verification은 대칭적인 ConvNet을 이용하였지만 우리의 모델에서는 LSTM을 사용하게 된다. Siamese 신경망은 이미 많은 학습 방법이 제안되었지만 recurrent connection에 대해서는 여전히 밝혀지지 않은 부분들이 많다.

 

Manhattan LSTM Model

제안된 Manhattan LSTM(MaLSTM)모델의 개요는 Figure1과 같다. 입력으로 들어오는 문장쌍을 처리하는 두개의 \(LSTM_a\) 와 \(LSTM_b\)가 있지만 우리는 단일 siamese 구조에 집중한다. 즉, \(LSTM_a\)의 weight와 \(LSTM_b\)의 weight는 하나로 묶여있다. 그럼에도 불구하고 이 모델의 일반적인 결합된 모델은 Information Retrival과 같은 비대칭적인 정보를 갖고 있는 상황에서 더욱 유용하다.

Figure1. MaLSTM Outline

이 LSTM은 \(\mathbb{R^{d_{rep}}}\)안에 존재하는 다양한 길이를 갖는 \( d_{in} \) 차원 벡터 공간으로부터의 mapping을 학습한다. ( 본 논문에서는 \(d_{in} = 300, d_{rep} = 50\)) 보다 정확하게는, 각각의 (word vector의 sequence로써 표현된) 문장 \(x_1,...x_t\)은 LSTM에 전달되고, LSTM은 수식(2)-(7)의 과정을 거쳐서 각각의 sequence의 index마다 hidden state가 업데이트 되게 된다. 문장의 최종적인 표현은 모델의 마지막 hidden state \( h_T \in \mathbb{R^{d_{rep}}}\)에 의하여 encoding 된다. 주어진 문장쌍을 위해, 우리의 접근은 선행적으로 정의된 유사도 함수 \( g : \mathbb{R^{d_{rep}}} \times \mathbb{R^{d_{rep}}} \rightarrow \mathbb{R} \)를 이용한다. 그 뒤에 표현 공간에서의 유사도는 문장의 근본적인 유사도로 설명되어 진다.

주목할 점은 다음의 word를 예측하기 위해서 이전의 word를 사용하는 전형적인 RNN Language Modeling과는 다르다는 것이다. 우리의 LSTM은 단순하게는 seq2seq model의 encoder과 유사하다.  또한 하나의 error signal이 학습과정에서 두 개의 LSTM의 Hidden layer \(h^{(a)}_{T_a}, h^{(b)}_{T_b}\)에 역전파 된다. 그리고 error signal은 사람이 유사성하다고 생-각한 것과 예측치가 얼마나 다른지를 나타낸다. 우리는 단순게 \(g(h^{(a)}_{T_a}, h^{(b)}_{T_b}) = exp(-\Vert h^{(a)}_{T_a} - h^{(b)}_{T_b}\Vert_1) \in [0,1] \) 으로 유사도 함수를 제한한다. 이것은 Kiros et al.(2015) Tai, Socher, Manning(2015)에서 제안되는 더욱 복잡한 RNN기반 모델보다 학습을 하면서 LSTM이 전체적인 의미의 다름을 포착하게 해준다.

Chopra, Hadsell,LeCun(2005)에서 강조하는 것처럼, 유사도 함수로 \(l1\)을 사용하는 것보다 \(l2\)은 의도하지 않을 정도의 과한 fitting을 막아준다. 왜냐하면 \(l2\) 기반 모델은 학습 초기 단계에서 과도하게 fitting되어 의미적으로 다른 문장과도 거의 동일하다고 평가되는 문제가 발생하기 때문에 의미적인 구분을 잡아내기 어렵다. 경험적으로 cosine 유사도와 같은 다른 유사도 평가 방식보다 Manhattan 거리가 더 좋은 성능을 보임을 보여주고 있다.

 

Semantic Relatedness Scoring

SICK 데이터는 9927개의 문장쌍과 그에 대한 유사도 라벨로 이루어져있다.(5000개의 학습 데이터, 4427개의 테스트 데이터) 각각의 쌍은 1~5의 라벨을 가지고 있는데 이 라벨은 서로 다른 10명의 사람에 의하여 평가된 유사도의 평균이다. 비록 Kiros et al.(2015)의  Skip-thought RNN은 거대한 말뭉치에 대하여 2주간 학습하했음에도 불구하고, Table1에서 보여지는 것처럼 테스트 데이터의 많은 문장에 대하여 그 차이를 구분하지 못 하였다.

Table1. Example Sentence pair from the SICK test data.

우리의 모델은 SICK 학습 데이터에 존재하는 제한된 단어의 개수를 넘어서서 일반화하기 위하여, 단어들의 관계를 반영하는 작은 수의 훈련 문장을 추가적으로 제공하였다. 일반적으로 LSTM은 좋은 결과에 도달하기 위해서는 많은 양의 파라미터를 훈련할 수 있는 거대한 데이터 셋을 필요로 한다. 따라서 우리는 SemEval 시스템에서 좋은 성능을 보이는 모델들과 같이 관행적으로 실행되는 추가적인 학습 데이터로 학습을 진행하였다. 문장유사도에서 최고의 성능을 보이는 여타의 모델들과 같이 우리의 LSTM은 pre-trained 된 300차원의 word2vec을 사용하여서 워드 임베딩을 하였다. 우리는 단어를 임의로 선택하여 wordnet에서 찾은 동의어 중 하나로 대체하여 thesaurus기반의 10022개의 추가 학습 예제를 생성하여 학습을 진행하였다. 이러한 방법은 Zhang, Zhao, LeCun(2015)에 의하여 성공적으로 적용된 바 있다. SemEval 2014에 제출된 것들과는 달리 우리의 모델은 별도로 훈련된 word2vec을 넘어선 수동적인 feature 일반화를 할 필요가 없다.

MaLSTM은 주어진 문장쌍의 유사도를 \( g : \mathbb{R^{d_{rep}}} \times \mathbb{R^{d_{rep}}} \rightarrow \mathbb{R} \)에 의하여 예측한다. 그리고 우리는 MSE Loss Function을 기반으로 한 오차역전파를 통해 학습을 진행하였다. SemEval은 세 가지 행렬(Pearson correlation, Spearman correlation, MSE)에서 예측된 유사성과 사람이 직접 예측한 유사성을 비교하여 평가한다. 우리의 유사도 함수가 단순하게 구성되어있기 때문에 우리 모델의 예측은 \(exp(-x)\) 곡선을 따르는 제약을 주었고 또한 이러한 evaluation metrices에 맞추지 않았다. 우리의 모델을 학습시킨 이후 우리는 더 잘 보정된 예측을 얻기 위해 추가적으로 비모수 회귀 분석 단계를 적용했다. 학습 데이터 세트를 넘어서서, 주어진 라벨은 일변량 MaLSTM에 의해 예측된 변수에 의하여 하나의 변인처럼 회귀되었다. 그리고 fit된 회귀 함수는 테스트 데이터 세트에 대하여 MaLSTM의 예측된 변수에 대하여 평가되었다. 우리는 Fan, Gihbels(1992)에 의하여 논해진 leave-one-out cross validation으로 정해진 bandwidth와 고전적인 local-linear estimator를 사용하였다.  이러한 과정은 우리의 간단한 유사도 측정 함수의 미세한 정확도를 조정해주었다.

 

Training Details

우리의 LSTM은 50차원의 은닉층 \(h_t\)와 메모리 셀 \(c_t\)을 사용하였다. Optimizer로는 Zeiler(2012)에 의하여 제안된 Adadelta를 사용하였다. 또한 gradient clipping을 사용하여 exploding gradients problem을 해결하였다(Pascanu, Mikolov, Bengio 2013). 우리는 학습 데이터의 30%를 포함하고 있는 validation set을 기반으로 early stopping을 했다.

잘 알려진 바와 같이 LSTM의 성능은 결정적으로 초기화를 어떻게 하느냐에 달려있고 초기화에 따라서 매우 다른 학습의 진행을 보이기도 한다. 우리는 정규분포를 따르는 작은 임의의 수로 LSTM의 weight를 초기화 하였다. 그래서 우리의 MaLSTM은 앞서 말한바와 같이 SemEval2013 Semantic Textual Similarity Task Data Set에 의하여 사전 학습 되었다. 그 렇게 학습된 결과 weight를 SICK 데이터를 학습하는데 사용하였고 그것은 임의로 초기화를 한 것보다 월등하게 좋은 성능을 보였다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함