언어 전공자의 NLP 로그
Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates 본문
Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates
JohnnyNLP 2024. 2. 23. 14:42논문 출처 : https://arxiv.org/abs/1804.10959
Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates
Subword units are an effective way to alleviate the open vocabulary problems in neural machine translation (NMT). While sentences are usually converted into unique subword sequences, subword segmentation is potentially ambiguous and multiple segmentations
arxiv.org
0. Abstract
- 서브워드 분절 방식은 모호한 측면이 있고, 같은 단어를 여러 갈래로 쪼갤 가능성이 있다. 본 연구의 의문은 분절 시 모호함을 노이즈로 다룸으로써 NMT의 강건성을 높일 수 있는가이다.
- 추가로 서브워드 샘플링을 개선할 수 있는 unigram language model 기반 분절 알고리즘을 제안한다.
1. Introduction
- BPE는 문장을 고유한 서브워드의 조합으로 표현한다. 그러나 동일한 어휘를 가지고 있는 한 문장이 다양한 서브워드의 조합으로 표현될 수 있다. 즉, 동일한 인풋임에도 NMT는 경우에 따라 이를 다르게 받아들인다는 의미이다. 이러한 비논리적 모호성은 디코딩 단계에서 항상 해소되지 않을 수 있다는 가능성을 내재한다.
- 본 논문에서 서브워드 정규화라고 부르는 다중 서브워드 분절을 통해 NMT 모델의 정확성과 강건성을 높이는 기법을 소개한다.
2. Neural Machine Translation with multiple subword segmentations
- NMT는 표준 MLE 방식으로 훈련된다. 이때 각 출발어 X와 도착어 Y가 여러 서브워드 분절로 나뉘는 상황을 가정한다. 서브워드 정규화 과정에서 다음 적분한 우도를 최대화하도록 파라미터가 설정된다.
$Lmarginal(θ)=∑s=1|D|Ex→P(x|X(S)),y→P(y|Y(S))[logP(y|x;θ)]$
- 시퀀스 길이에 따라 가능한 분절의 수는 기하급수적으로 증가하기 때문에 정확한 최적화는 어렵고, P(x|X)와 P(y|Y) 각각 유한한 k개 조합을 샘플링하는 방식을 고려한다.
$Lmarginal(θ)≈∑s=1|D|∑i=1k∑j=1kExi→P(x|X(S)),yj→P(y|Y(S))[logP(yj|xi;θ)]$
- 반복 횟수가 충분하다면 k=1이어도 충분히 좋은 근사치가 나온다. 다만, 서브워드 조합이 매 파라미터 갱신 시마다 그때그때 새롭게 샘플링된다는 점을 주목한다.
- 디코딩 시에는 출발어 문장 X만 고려한다. 직관적인 방법은 P(x|X)를 최대화하는 분절 $x∗$로 번역하는 것이다. 여기에 n-best를 활용해볼 수 있다. 즉, $x1,...,xn$이 주어졌을 때 다음 점수를 극대화하는 최고의 번역 $y∗$를 선택한다.
$score(x,y)=logP(y|x)|y|λ$
- 본 논문에서는 최고값(one-best) 디코딩 방식과 n-best를 각각 비교한다.
3. Subword segmentation with language models
- BPE는 철자의 빈도수만으로 병합 작업을 수행한다. 그 결과 빈번한 조합의 병합은 수월하지만, 흔치 않은 조합은 더 작게 쪼개진다. 덕분에 고정된 어휘 크기로도 토큰 수가 급격히 증가하지 않는 선에서 문장을 인코딩할 수 있다.
- 한가지 단점은 그리디 기반 결정론적 교체 방식이다보니 다중 분절 시 확률을 고려하지 않는다는 점이다. 따라서 BPE에 분절 확률 P(x|X)를 고려하는 서브워드 정규화를 적용하는 것이 의미가 있다.
- Unigram language model은 다중 서브워드 분절 시 확률값을 도출해낼 수 있다. 각 서브워드의 발생이 독립적이며, 그 연속적 분포가 개별 확률의 곱으로 나타난다고 가정하기 때문이다. 따라서 입력문 X에 대한 가장 가능성이 높은 분절 $x∗$는 $x∗=argmaxx∈S(X)P(x)$로 나타난다. 이때 $x∗$는 Viterbi 알고리즘으로 구한다.
- 단어집합 V가 주어졌을 때 서브워드 발생 확률 $P(xi)$는 EM 알고리즘으로 구한다.
$L=∑s=1|D|logP(X(s))=∑s=1|D|log(∑x∈S(X(s))P(x))$
- 그러나 현실에선 V를 알 수 없다. 단어 집합과 그 발생 확률을 동시에 최적화하는 것이 불가하기 때문에 다음 반복 알고리즘으로 이를 찾고자 한다.
- 학습 코퍼스로부터 충분히 큰 시드 단어집을 휴리스틱하게 만든다.
- |V|가 원하는 크기에 도달할 때까지 다음 과정을 반복한다.b. 각 서브워드 $xi$에 대해 해당 서브워드가 현재 단어집에 포함되지 않았을 경우, 우도 L이 얼마나 감소하는지를 나타내는 $lossi$를 계산한다.
- c. $lossi$ 순으로 정렬한 상위 $η$% 서브워드를 유지한다. 단, OOV 방지를 위해 단일 철자는 항상 보유하도록 한다.
- a. 단어집을 고정한 상태로 EM 알고리즘으로 P(x)를 최적화한다.
- 시드 단어집을 정하는 자연스러운 방법은 모든 철자와 코퍼스 내 최빈 서브스트링의 합집합을 사용하는 것이다. 빈번한 서브스트링은 Enhanced Suffix Array 알고리즘을 O(T) 시간과 O(20T) 공간 사이에서 반복하여 구한다.
- 이렇게 만들어진 유니그램 모델이 접목된 서브워드 분절법은 철자, 서브워드, 단어 분절의 확률적 결합 모델이라고 할 수 있다.
- BPE와 유니그램 모두 데이터 압축 원칙에 입각해 더 적은 비트로 텍스트를 인코딩한다는 점은 공통점으로 가진다. 그러나 유니그램 모델은 확률 언어 모델에 기반하여 다중 분절 확률을 함께 도출해낸다.
4. Related Work
- Pass
5. Experiments
- BPE 분절을 베이스라인으로 잡고 세 가지 샘플링 전략을 비교한다. (1) 서브워드 정규화 없이 유니그램 기반 서브워드 분절 (l=1), (2) 서브워드 정규화 (l=64, $α$=0.1), (3) l=$∞,α=0.2/0.5$. l=1은 BPE와 유니그램을 단순 비교하기 위함이다. 추가로 one-best와 n-best를 위 3가지 샘플링 모델에 각각 적용한다.
- l=1일 때 BPE와 유니그램의 성능은 유사하다.
- 서브워드 정규화 시 BLEU 스코어가 일부 상승한다. 특히 저자원 상황에서 상승폭이 큰데, 이는 정규화 기법이 데이터 증강 효과를 일으켰기 때문이다.
- n-best가 적용되었을 때 추가로 성능이 향상되었다.
6. Conclusions
- 그때그때 서브워드 샘플링으로 학습 데이터를 증강함으로써 NMT 모델의 정확도와 강건성을 높일 수 있다.
- 또한 unigram 기반의 새로운 서브워드 분절 알고리즘을 제안하였다.
- 여러 실험 결과 서브워드 정규화가 특히 저자원, 오픈 도메인 환경에서 성능 향상을 보였다.
- 서브워드 정규화가 저자원에 유리하다는 점은 학습 데이터가 부족한 대화 생성, 자동 요약 등 과제에 적용될 가능성이 있음을 시사한다.