• 검색 결과가 없습니다.

Self-supervised Learning Method using Heterogeneous Mass Corpus for Sentence Embedding Model

N/A
N/A
Protected

Academic year: 2021

Share "Self-supervised Learning Method using Heterogeneous Mass Corpus for Sentence Embedding Model"

Copied!
5
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

이종의 말뭉치를 활용한 자기 지도 문장 임베딩 학습 방법

김성주

, 서수빈, 박진성, 박성현, 전동현, 김선훈, 김경덕, 강인호 네이버

{sungju.kim, soobin.suh, jinseong.park, sunghyun.park95, donghyeon.jeon, seonhoon.kim, kyungduk.kim, once.ihkang}@navercorp.com

Self-supervised Learning Method using Heterogeneous Mass Corpus for Sentence Embedding Model

Sung-Ju Kim

, Soo-Bin Suh, Jin-Seong Park, Sung-Hyun Park, Dong-Hyeon Jeon, Seon-Hoon Kim, Kyung-Duk Kim, In-Ho Kang

NAVER Corporation

요 약

문장의 의미를 잘 임베딩하는 문장 인코더를 만들기 위해 비지도 학습과 지도 학습 기반의 여러 방법이 연구되고 있다.

지도 학습 방식은 충분한 양의 정답을 구축하는데 어려움이 있다는 한계가 있다. 반면 지금까지의 비지도 학습은 단일 형식의 말뭉치에 한정해서 입력된 현재 문장의 다음 문장을 생성 또는 예측하는 형식으로 문제를 정의하였다. 본 논문 에서는 위키피디아, 뉴스, 지식 백과 등 문서 형태의 말뭉치에 더해 지식인이나 검색 클릭 로그와 같은 구성이 다양한 이종의 대량 말뭉치를 활용하는 자기 지도 학습 방법을 제안한다. 각 형태의 말뭉치에 적합한 자기 지도 학습 문제를 설계하고 학습한 경우 KorSTS 데이셋의 비지도 모델 성능 평가에서 기준 모델 대비 7점 가량의 성능 향상이 있었다.

주제어: 문장 인코더, 문장 임베딩, 비지도 학습, 자기 지도 학습, sentence embedding, self-supervised learning

1. 서론

BERT는 사전 학습 단계에서 다음 문장 예측(Next Sentence Prediction)과 마스킹된 단어에 대한 예측(Masked Language Modeling)의 문제를 학습하며 여러 downstream task에서 높 은 성능을 보였다[1]. 이 BERT를 문장 인코더로서 사용하기 위해서는 BERT CLS 토큰에 대한 출력 임베딩을 활용하거나 BERT의 모든 출력을 평균하여 문장 임베딩으로서 활용 할 수 있다. 하지만 이러한 문장 임베딩 인코딩 방식은 fine-tuning을 하기 전 까지는 문장에 대한 Glove 워드 임베딩의 평균을 취한 것 보다 성능이 낮다[2]. 이 문제를 해결하기 위해 Sentence- BERT[2]에서는 문장 임베딩의 목적인 Semantic Textual Sim- ilarity (STS) Task의 성능을 높이기 위해 Stanford Natural Language Inference (SNLI) 데이터 셋[3]와 Multi-genre Nat- ural Language Inference (NLI) 데이터 셋 [4]에 대해 모델이 학습하게 함으로써 문장의 의미에 함의하는 일반화된 문장 임 베딩 벡터를 만들 수 있는 문장 인코더를 제안하였다. 하지만 자연어 발화의 공간은 굉장히 크기 때문에 사람이 직접 공수를 들여 만들어야 하는 라벨링된 데이터만으로는 일반화 능력을 가진 문장 인코더를 만드는데 한계가 있다.

이 한계를 해결 하기 위해 비지도 학습의 한 부류인 자기 지도(self-supervised learning) 학습 기반의 모델들도 많이 연 구되고 있다[5, 6, 7]. 이러한 연구들의 직관은 Word2Vec[8]의 유사한 의미의 단어들은 유사한 문맥 단어들을 갖는다는 철학 의 연장선 상에서 유사한 의미의 문장은 유사한 문맥 문장들을

갖는다는 것을 모델링하여 문장 인코더를 학습하였다. 하지만 [5, 6, 7]의 연구들은 책 말뭉치와 같은 단일 말뭉치로 임의의 문장이 주어졌을 때 그 문장의 이전 또는 다음 문장을 예측하는 단일 문제만 학습하여 문장 인코더를 학습하였다.

본 논문에서는 문장 인코더 학습을 위해 단일 말뭉치의 단일 사전 학습 문제를 푸는 제약에서 벗어나 위키피디아, 뉴스, 지 식백과, 지식인, 검색 클릭 로그 등의 다양한 말뭉치들에 대해 각각의 자기 지도 학습 문제를 설계하고 이를 한번에 학습하 여 KorSTS 데이셋[9]의 비지도 모델 성능 평가에서 기준 모델 대비 7점 가량의 성능이 향상된 문장 인코더 학습 방법을 제안 한다.

2. 관련 연구

최근 자연어처리 연구는 BERT[1], RoBERTa[10], XLNet[11], ALBERT[12] 등의 사전 학습된 언어 모델을 자연어에 대한 기본 인코더로서 사용하고 있다. 일반적으로 CLS 토큰의 출력 임베딩을 문장 임베딩으로 간주하여 문장 임베딩이 필요한 downstream task에서 사용된다. 사전 학습 에서 다음 문장 예측 문제(Next Sentence Prediction Task) 또는 문장 순서 예측 문제 (Sentence Order Prediction Task) 를 풀어 CLS 토큰의 출력 임베딩을 학습하지만 이는 인코더에 두 문장을 연결하여 모델에 하나의 입력으로 넣는 상황에서 학습된 것이다. 문장이 하나만 입력 되었을 경우에 그 문장을 잘 임베딩 할 수 있도록 하는 사전 학습은 수행하진 않는다.

[2]에서는 이 문제를 해결하기 위해 Sentence-BERT 제안하여

(2)

BERT 기반의 모델을 이용하여 문장 임베딩을 잘 학습하는 문장 인코더를 제안하였다.

문장 인코더의 학습 관점에서 자연어 문장 의미를 잘 보존하 고 유사한 의미의 문장끼리는 유사한 임베딩을 가지도록 하는 연구는 꾸준히 계속되어 왔다. InferSent[13]와 [14]는 임의의 두 문장의 관계에 대해 상속, 반대, 중립 등의 라벨링이된 SNLI 데 이터셋을 학습하여 문장 인코더를 학습하였다. 라벨링이 없는 말뭉치를 이용하여 문장 인코더를 학습하는 방법들도 많이 연 구되고 있다. [5]에서는 한 문장을 인코딩하고 그 문장의 앞, 뒤 문장을 디코더를 통해 생성해내어 문장 인코더를 학습하는 방법론인 skip-thought vector를 제안하였다. [6]와 [7]에서는 skip-thought vector에서 디코더를 이용한 생성 방식으로 문맥 을 예측하는 것을 개선하여 현재 문장에 대해 문장 후보 중에서 다음 문장을 예측하는 분류 문제로 변경하여 학습의 효율성을 올렸다. 이것과 유사하게 [15]에서는 오픈 도메인 QA에서 질 의에 대해 연관 문서를 찾는 retrieval 모듈의 성능 향상을 문맥 문장 예측 문제를 사전 학습하였다. [16]은 대화 데이터를 이 용해 대화 데이터 안에서 현재 질의에 대한 응답 예측 문제를 풀도록하여 문장 인코더를 학습하였다.

본 논문은 위 라벨이 없는 말뭉치를 이용한 문장 인코더 학습 들의 연장선상에서 위키피디아, 뉴스, 지식백과, 지식인, 검색 클릭 로그 등의 대량의 이종의 말뭉치를 각 말뭉치 별로 자기 지도 학습을 위한 문맥 예측 문제를 설계하고 이를 한번에 학습 할 수 있도록 설계하였다.

3. 문맥 예측 학습

그림 1. 임베딩 학습

유사한 의미의 문장들은 유사한 문맥을 갖는다. 라벨이 없 는 이종의 대량의 말뭉치를 이용해 임의의 문장 q의 임베딩이 동일 문맥에서 추출된 주변 문장 문맥 c

pos

의 임베딩과 유사해 지도록 학습하면, 그림 1 과 같이 유사한 의미의 문장들 또한 유사한 임베딩을 갖도록 학습된다.

3.1 지기 지도 학습 문제 및 학습 데이터의 구성

학습 데이터는 위키피디아, 뉴스, 지식백과, 지식인, 검색 클 릭 로그의 말뭉치를 이용하여 데이터를 구성하였다. 여러개의 문맥 예측 문제를 모델이 학습하게 하기 위해 각 말뭉치에 따라 학습 샘플의 구성을 달리 했다.

3.1.1 Inverse Cloze Task

Inverse Cloze Task (ICT)[15] 방법은 임의의 어떠한 질의 q 에 대해 그 긍정 문맥 c

pos

을 추출 할 때 그 질의의 주변의 문장 들로 부터 긍정 문맥을 추출하여 학습 샘플을 구성하는 방법이 다. 위키피디아, 뉴스, 지식백과의 데이터는 이 ICT 기법으로 (질의, 긍정 문맥) 쌍 (q, c

pos

)을 구성하였다.

3.1.2 답변 예측 문제

지식인 데이터의 경우, 질문을 q로서, 답변을 긍정 문맥c

pos

으로서 사용하여 학습 샘플을 구성하여 유사한 답변을 가진 질문들은 동일한 임베딩을 가질 수 있도록 하였다.

3.1.3 검색 정답 문서 예측 문제

사용자가 네이버 검색에 검색어를 입력하면 문서에 따라 네 이버 통합 검색에 노출이 되어 클릭이 많이 되어 클릭률이 높은 문서도 있고 노출 되지만 클릭률이 적은 문서가 있다. 이 클릭률 에 대해 임계값을 설정하여 노출되면서 클릭률이 많은 문서를 긍정 문맥 c

pos

로 두고 노출되지만 클릭률이 적었던 문서를 부 정 문맥 c

neg

으로 두어 샘플을 구성하였다. 이 검색 클릭 로그 데이터의 장점은 검색어와 어휘적, 형태소적으로는 유사하나 실질적으로 사용자의 암시적인 피드백을 받은 c

neg

를 생성 할 수 있음에 있다. 그렇기 때문에 검색 질의 q가 어휘적 유사할 수 있지만 의미가 다른 c

neg

가 아닌 의미적 유사성을 가진 c

pos

와 예측하게 함으로서 임베딩이 어휘보다 의미적인 부분을 더 잘 학습 할 수 있도록 하였다.

3.1.4 학습 데이터

각 말뭉치는 출처에 따라 위의 방법으로 (질의, 긍정 문맥) 쌍 (q, c

pos

) 또는 (질의, 긍정 문맥, 부정 문맥) 쌍 (q, c

pos

, c

neg

) 으로 샘플을 만들고 이 샘플들을 합쳐 학습 데이터셋 D 를 구 성하였다.

3.2 학습 미니 배치 구성

본 논문에서는 임의의 한 문장에 대한 긍정, 부정 문 맥 추출을 각 학습 미니 배치 내에서 구성하였다. 학 습 데이터셋 D에서 N

batch

개를 샘플링하여 배치 B = {(q

1

, c

1 pos

), ..., (q

j

, c

j pos

, c

j neg

), ..., (q

N

batch, c

N pos

batch, c

N neg

batch)}를 추출한다. 이때, 한 배치를 구성하는 샘플의 출처의 비율이 동일하도록 샘플링하였다.

(3)

배치 B에서 질의 q와 동일 문맥 c

pos

, 부정 문맥 c

neg

분리하여 질의 배치 Q = {q

1

, ..., q

N

b

atch

}와 문맥 배치 C = {c

1 pos

, ..., c

N pos

batch, c

j neg

, ..., c

N neg

batch}를 구성한다. 이때, c

neg

는 문 맥 배치 C에만 포함 되기 때문에 문맥 배치 C가 질의 배치 Q 보다 n

neg

만큼 요소 수가 더 많다. 그리고 수식(4)에서의 수식 전개의 편의를 위해 배치 Q, C에 대해 임의의 p와 그에 대응하 는 c

pos

의 요소 위치가 같도록 하였다.

4. 문장 인코더

문장 인코더는 자연어 문장 x = (x

1

, x

2

, ..., x

T

)을 CLS, SEP 토큰과 함께 BERT 인코더에 입력하여 각 토큰의 임베딩 벡터 o

cls

, o

1

, o

2

, ..., o

3

, o

sep

으로 변환한다. 문장 입력에 대한 임베딩 벡터를 만들기 위해서 o

cls

를 활용하거나 o에 대한 평균 벡터를 취하는 등의 방식들[2]이 있으나 본 논문에서는 수식 1과 같이 o

cls

에 대해 선형 사영을 수행하여 문장 입력에 대한 임베딩 벡터 z로 사용하였다. 이때, z ∈ R

dim

이다.

Encoder(x) = W · BERT(x)[CLS]

z = Encoder(x)

(1)

4.1 배치 내 문장 문맥 연관도 계산

배치 Q, C를 각각 수식(2) 과 같이 인코딩하여 질의 배치 임베딩 Z

Q

와 문맥 배치 임베딩 Z

C

을 만든다. 이때, Z

Q

R

N

batch

×dim

, Z

C

∈ R

(N

batch

+n

neg

)×dim

이다.

Z

Q

= Encoder(Q) Z

C

= Encoder(C)

(2)

Z

Q

와 Z

Q

를 수식(3) 와 같이 계산하여 Relevance Matrix M 을 계산한다. M은 배치 Q와 C 각 문장과 문맥 사이의 연관도 행렬을 의미하며, M

ij

는 Q의 i번째 문장과 C의 j번째 문맥의 연관도를 의미한다. 이때, M ∈ R

N

batch

×(N

batch

+n

neg

)

이다.

M = Z

Q

· (Z

C

)

T

(3) 학습을 위한 미니 배치를 구성하고 문장들을 인코딩하여 임 베딩으로 만들고 Relevance Matrix M을 구하는 일련의 과정을 도식화 하면 그림 2 와 같다. 3.2 장에서 언급한 것과 같이 배치 Q, C에 대해 임의의 p와 그에 대응하는 c

pos

의 요소 위치가 같 도록 하였기 때문에 일련의 과정을 거친 Relevance Matrix M 의 대각 성분은 질의 q와 그에 대응하는 c

pos

쌍의 유사도이다.

4.2 학습

수식(4)와 같이 M을 각 행에 대해 softmax를 취하여 각 행이 C가 주어진 상황에서 질의 q의 긍정 문맥이 c 일 조건부 확률 P (·)이 되도록 모형화 하였다. 모델 학습을 위해 해당 확률에

그림 2. Relevance Matrix 계산

negative log likelihood를 적용하여 손실 함수 L(θ)을 정의하여 최소화 하도록 학습하였다.

P (c

i

| q

i

, C) =X

j

exp M

ii

exp M

ij

L(θ) = − log

N

Batch

X

i=1

P (c

i

| q

i

, C) θ = arg minˆ

θ

L(θ)

(4)

5. 실험 및 성능 평가

5.1 모델 파라미터 및 학습 정보

학습 데이터는 표 1와 같이 위키피디아, 뉴스, 지식백과, 지 식인, 검색 클릭 로그 등으로 부터 총 152 GB 크기의 말뭉치를 사용하였다. 문장 인코더에 BERT를 사용하였다. BERT에 사 용된 파라미터는 [1]에서 제안 base모델과 같이 Multi head의 수는 12, 잠재 상태의 크기는 768, dropout는 0.1, Transformer

(4)

표 1. 학습 데이터 셋

데이터셋 데이터 구성 방법 크기

위키피디아 ICT 3.7 GB

뉴스 ICT 6.5 GB

지식백과 ICT 6.8 GB

지식인 Q

title

− C

body

21 GB

검색 클릭 로그 Q

query

− C

pos,clicked

− C

neg

114 GB

총 합 152 GB

표 2. KorSTS 모델 성능 평가

모델 모수 비지도 지도

Korean fastText 47.96 - Korean SRoBERTa (base) 111M 48.96 78.94 Korean SRoBERTa (large) 338M 51.35 79.55

SXLM-R (base) 270M 45.05 68.36 SXLM-R (large) 550M 39.92 77.71 제안 모델 137M 58.54 78.40

블록 레이어의 수는 12를 사용하였다. 임베딩된 문장의 벡터 z 의 크기 dim는 512으로 하였다. 모델의 파라미터 업데이트를 위한 최적화 알고리즘은 Adam을 사용하였고 learning rate는 1.0 × 10

−4

, β

1

= 0.9, β

2

= 0.999로 설정하여 학습을 진행하였 다. 학습은 분산 학습 환경에서 진행하였고 총 20개의 머신에서 머신 각각 미니 배치 사이즈 224로 gradient를 병렬적으로 계 산하고 동기적으로 학습 파라미터를 업데이트 하는 방식으로 15일 동안 학습하였다.

5.2 평가 데이터

학습된 문장 인코더의 성능을 평가하기 위해 [9]에서 제안한 KorSTS 데이터셋을 이용해 성능 평가를 진행하였다. KorSTS 데이터셋은 문장 유사도 모델의 성능 평가를 위해 임의의 두 문장에 대해 의미론적 유사도를 0 에서 5점 사이의 점수로 부여 한 데이터셋이다. 본 논문은 문장의 의미를 잘 임베딩하는 문장 인코더에 관한 연구를 진행하였기 때문에 두 문장이 함께 인코 더에 들어가서 유사도 점수를 계산하는 cross-encoding 방식이 아닌 각각의 문장을 임베딩으로 인코딩하여 cosine 유사도를 계산하는 bi-encoding 방식의 실험 결과들과 성능 비교하였다.

5.3 비지도 모델 성능 평가

제안 모델의 문장 임베딩 성능을 평가하기 위해 KorSTS에 fine-tuning하지 않고 KorSTS의 유사도 점수와 제안 모델의 문장 인코더의 cosine 유사도 점수에 대해 Spearman’s rank

correlation을 계산하여 문장 임베딩 성능을 평가하였다. 제안 한 모델은 표 2와 같이 KorSTS 데이터셋에 대한 비지도 성능이 58.54를 기록하여 [9]에서 KorSTS 데이터셋과 함께 제공한 다 른 비지도 학습 기반의 모델들 중 비지도 성능이 가장 높은 모델인 Korean SRoBERTa (large)에 비해 7점 가량의 성능 향상이 있었다.

5.4 지도 모델 성능 평가

제안 모델을 KorSTS 데이터셋에 fine-tuning을 진행한 후 점 수는 78.40을 기록하였다. 비지도 모델 성능 평가에서는 다른 모델에 비해 큰 차이로 성능이 좋았지만 fine-tuning을 진행한 후 의 점수는 다른 모델들의 점수와 큰 차이를 보이지 못했다.

해당 영역에서 가장 성능이 좋은 Korea SRoBETa (large) 모 델에 비해서는 1점 가량 점수가 낮았다.

6. 결론

본 논문에서는 이종의 대량의 말뭉치를 이용하여 각 형태의 말뭉치에 적합한 자기 지도 학습 문제를 설계하고 학습하여 문장의 의미를 잘 표현하는 문장 임베딩을 만들 수 있는 문장 인코더를 제안하였다. 제안 모델은 KorSTS 데이터셋의 비지도 모델 성능 평가에서 기준 모델 대비 7점의 점수 향상이 있었다.

향후 연구로는 좀 다양한 자기 지도 학습 문제를 설계하고 모 델을 학습시켜 자연어의 인과 관계에 대한 이해를 더 잘 할 수 있도록 하고 또한 fine-tuning시에도 자기 지도 학습 과정에서 학습한 지식을 잃지 않도록 할 수 있는 방법에 대해 연구할 계획이다.

참고문헌

[1] J. Devlin, M.-W. Chang, K. Lee, and K. Toutanova,

“BERT: Pre-training of deep bidirectional transformers for language understanding,” Proceedings of the 2019 Conference of the North American Chapter of the As- sociation for Computational Linguistics: Human Lan- guage Technologies, Volume 1, pp. 4171–4186, 2019.

[2] N. Reimers and I. Gurevych, “Sentence-bert: Sen- tence embeddings using siamese bert-networks,” arXiv preprint arXiv:1908.10084, 2019.

[3] S. R. Bowman, G. Angeli, C. Potts, and C. D. Man- ning, “A large annotated corpus for learning natural language inference,” Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, pp. 632–642, 2015.

[4] A. Williams, N. Nangia, and S. Bowman, “A broad- coverage challenge corpus for sentence understanding through inference,” Proceedings of the 2018 Conference

(5)

of the North American Chapter of the Association for Computational Linguistics: Human Language Technolo- gies, Volume 1, pp. 1112–1122, 2018.

[5] R. Kiros, Y. Zhu, R. R. Salakhutdinov, R. Zemel, R. Ur- tasun, A. Torralba, and S. Fidler, “Skip-thought vec- tors,” Advances in neural information processing sys- tems, pp. 3294–3302, 2015.

[6] T. Kenter, A. Borisov, and M. de Rijke, “Siamese CBOW: Optimizing word embeddings for sentence rep- resentations,” Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics, Vol- ume 1, pp. 941–951, 2016.

[7] L. Logeswaran and H. Lee, “An efficient framework for learning sentence representations,” arXiv preprint arXiv:1803.02893, 2018.

[8] T. Mikolov, I. Sutskever, K. Chen, G. S. Corrado, and J. Dean, “Distributed representations of words and phrases and their compositionality,” Advances in neural information processing systems, pp. 3111–3119, 2013.

[9] J. Ham, Y. J. Choe, K. Park, I. Choi, and H. Soh,

“Kornli and korsts: New benchmark datasets for ko- rean natural language understanding,” arXiv preprint arXiv:2004.03289, 2020.

[10] Y. Liu, M. Ott, N. Goyal, J. Du, M. Joshi, D. Chen, O. Levy, M. Lewis, L. Zettlemoyer, and V. Stoyanov,

“Roberta: A robustly optimized bert pretraining ap- proach,” arXiv preprint arXiv:1907.11692, 2019.

[11] Z. Yang, Z. Dai, Y. Yang, J. Carbonell, R. R. Salakhut- dinov, and Q. V. Le, “Xlnet: Generalized autoregressive pretraining for language understanding,” Advances in neural information processing systems, pp. 5753–5763, 2019.

[12] Z. Lan, M. Chen, S. Goodman, K. Gimpel, P. Sharma, and R. Soricut, “Albert: A lite bert for self-supervised learning of language representations,” arXiv preprint arXiv:1909.11942, 2019.

[13] A. Conneau, D. Kiela, H. Schwenk, L. Barrault, and A. Bordes, “Supervised learning of universal sentence representations from natural language inference data,”

Proceedings of the 2017 Conference on Empirical Meth- ods in Natural Language Processing, M. Palmer, R. Hwa, and S. Riedel, Eds., pp. 670–680, 2017.

[14] D. Cer, Y. Yang, S.-y. Kong, N. Hua, N. Limtiaco, R. S.

John, N. Constant, M. Guajardo-Cespedes, S. Yuan, C. Tar et al., “Universal sentence encoder,” arXiv preprint arXiv:1803.11175, 2018.

[15] K. Lee, M.-W. Chang, and K. Toutanova, “Latent re- trieval for weakly supervised open domain question an- swering,” Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pp. 6086–

6096, 2019.

[16] Y. Yang, S. Yuan, D. Cer, S.-y. Kong, N. Constant, P. Pilar, H. Ge, Y.-H. Sung, B. Strope, and R. Kurzweil,

“Learning semantic textual similarity from conversa- tions,” Proceedings of The Third Workshop on Repre- sentation Learning for NLP, pp. 164–174, 2018.

수치

표 2. KorSTS 모델 성능 평가

참조

관련 문서