for textmining

Bi-LSTM Hegemony

|

미국 스탠포드대학의 Stanford NLP group은 자연어처리 분야에서 손꼽히는 연구실입니다. Chistopher Manning 교수는 1999년 스탠포드에 부임한 이래 stanford NLP group을 이끌면서 많은 업적을 쌓아 왔습니다. 특히 Foundations of Statistical NLP(1999), Introduction to Information Retrieval(2008) 등이 유명합니다. 최근 공부하시는 분들은 CS224n 강의가 익숙할텐데요. 강의자인 Richard Socher 또한 그가 가르친 20명의 박사 가운데 열네번째 제자입니다.

그런 그가 지난 10월 20일 서울 우면동 삼성전자R&D캠퍼스에서 열린 ‘삼성AI포럼2017’에 참석해 강연을 했습니다. 실제로 이날 행사장엔 청중 1000여 명이 몰려 그의 영향력을 실감할 수 있었습니다. 조금 늦게 도착한 저는 통로 사이 바닥에 앉아 강의를 들었…

이 글은 이날 Manning이 한 강연을 제가 이해하는 수준에서 정리한 것입니다. 이 글에 쓰인 그림은 기본적으로 Manning의 발표 원고에서 따 왔으며, 이외의 그림은 출처를 별도로 표기하였습니다. 본 블로그에 강연 내용과 관련된 글이 있다면 해당 단어에 링크로 연결해 두었습니다. 그의 육성 강연을 들을 수 있는 기회를 주신 삼성 관계자 여러분들께 진심으로 감사드립니다. 그럼 시작하겠습니다.

BiLSTM Hegemony

이날 Manning 강연의 핵심은 다음과 같습니다. task가 무엇이든지 간에 어텐션(attention)이 적용된 BiLSTM 모델이 자연어 처리 분야에서 최고 성능을 낸다는 이야기입니다.

The de facto consensus in NLP in 2017 is that no matter what the task, you throw a BiLSTM at it, with attention if you need information flow, and you get great perfomance!

실제로 이날 Manning이 소개한 stanford NLP group의 최신/최고 연구성과가 모두 BiLSTM이 적용된 모델이었습니다. 그가 언급했던 것처럼 가히 ‘BiLSTM Hegemony’라 할 만 합니다. 그렇다면 BiLSTM과 attention이 대체 뭐길래, 수십년동안 NLP를 연구해온 그가 침이 마르도록 칭찬하는 것일까요? 차례대로 살펴보겠습니다.

BiLSTM with attention

vanilla RNN 구조는 다음과 같습니다. gradient vanishing/exploding 문제에 취약합니다. 아래 그림(출처 : Oxford Deep NLP 2017)에서 $h_1$의 그래디언트를 구하려면 체인룰에 의해 빨간색 선에 해당하는 그래디언트를 계속 곱해주어야 하기 때문입니다.

LSTM(Long Short Term Memory)은 cell state를 도입해 그래디언트 문제를 해결하고자 합니다. Manning은 Hochreiter&Schmidhuber(1999), Cho et al.(2014)가 제안한 셀을 LSTM이라고 명명하고, 이날 강연에서 “LSTM는 직전 시점 정보와 현 시점 정보를 더해줌으로써 그래디언트가 효과적으로 흐를 수 있게 한다”고 강조했습니다.

vanilla Seq2Seq 모델은 다음과 같습니다. 소스 문장을 벡터화하는 인코더(encoder)와 인코딩된 벡터를 타겟 문장으로 변환하는 디코더(decoder) 둘로 구성돼 있습니다. 이 때 인코더, 디코더는 LSTM 셀을 씁니다.

하지만 문장 길이가 길고 층이 깊으면, 인코더가 압축해야할 정보가 너무 많아서 정보 손실이 일어나고, 디코더는 인코더가 압축한 정보를 초반 예측에만 사용하는 경향을 보입니다. Manning은 “이 때문에 인코더-디코더 사이에 ‘bottle-neck 문제’가 발생한다”고 언급했습니다. 이에 디코더 예측시 가장 의미 있는 인코더 입력에 주목하게 만드는 어텐션(attention) 매커니즘이 제안됐습니다.

아울러 앞에서 뒤, 뒤에서 앞, 모두 고려하는 양방향(bidirectional) 네트워크 또한 성능 개선에 도움이 된다고 합니다. 아래 그림은 LSTM 셀을 쓰고, 인코더에 양방향 네트워크, 디코더 예측시 어텐션 매커니즘이 적용된 ‘BiLSTM with attention’을 개념적으로 나타냈습니다.

BiLSTM with attention은 특히 기계번역에서 좋은 성능을 내 주목을 받았습니다. Manning은 이날 강연에서 그 비결 네 가지를 다음과 같이 설명했습니다.

  • 종단간(End-to-end) 학습 : 출력값(output)에 대한 손실을 최소화하는 과정에서 모든 파라메터들이 동시에 학습된다.
  • 분산표상(distributed representation) 사용 : 단어와 구(phrase) 간 유사성을 입력벡터에 내재화해 성능을 개선했다.
  • 개선된 문맥 탐색(exploitation) : LSTM, 어텐션 등 덕분에 문장 길이가 길어져도 성능 저하를 막는다.
  • 자연스런 문장생성 능력 : 다범주 분류에 좋은 성능을 내는 딥러닝 기법을 써서 문장 생성 능력이 큰 폭으로 개선됐다.

연구성과 소개

Manning은 이날 강연에서 Stanford NLP group의 최신 연구성과 몇 가지를 소개했는데요. 이미 언급했던 것처럼 모두 BiLSTM(with attention)이 적용된 모델들입니다.

Stanford Attentive Reader

Chen et al.(2016)은 문맥에서 질의에 대한 응답을 찾는 모델을 구축하는 데 BiLSTM with attention을 적용했습니다. 분석 대상 텍스트 단락(passage)과 질의(question)를 각기 다른 양방향 인코더에 넣어 $p$와 $q$ 벡터를 만듭니다. 단락의 $i$번째 단어에 대한 어텐션 스코어 $α_i$는 $softmax(q^TWp_i)$입니다. 디코더의 output vector $o$는 $Σ_iα_ip_i$입니다. 이를 정답 답변과 비교해 손실을 구하고 역전파 학습이 이뤄지는 구조입니다. 그 개념도는 다음과 같습니다.

Chen et al.(2017)은 위 연구를 기본으로 하되 위키피디아에서 관련된 단락을 뽑아내는 과정 등이 추가된 형태입니다. 전체적인 프레임워크는 다음과 같습니다.

Copy augmented S2S

Eric&Manning(2017)은 어텐션 스코어가 높은 인코더 입력 단어를 디코더 입력에 복사해 넣어, 이 디코더 입력을 학습시키는 기법을 제안했습니다. 아래 그림을 보겠습니다.

Eric&Manning(2017)에서는 인코더가 질의, 디코더가 응답을 처리합니다. 정답 응답은 ‘Buca di Beppo is an restaurant that is’인데, 디코더가 6번째 단어 restaurant를 예측해야 할 때 어텐션 스코어가 가장 높은 인코더 입력 단어는 ‘Italian’이었다고 가정해 보겠습니다. 그러면 이 모델은 해당 위치에 인코더 입력 단어를 복사하는 방식입니다.

tree based models

Tai et al.(2015)는 트리 구조의 LSTM 아키텍처를 제안했습니다. 아래 그림에서 상단에 있는 모델이 기존의 LSTM 네트워크, 하단이 Tai et al.(2015)가 제안한 모델입니다.

Dozat&Manning(2017)은 의존관계 분석(dependency parsing)에 BiLSTM with attention을 적용한 연구입니다.



Comments