Dual Supervised Learning
이번에 소개할 방법은 Dual Supervised Learning (DSL) [Xia et al.2017] 입니다. 이 방법은 기존의 Teacher Forcing의 문제로 생기는 어려움을 강화학습을 사용하지 않고, Daulity로부터 regularization term을 이끌어내어 해결하였습니다.
베이즈 정리(Bayes Theorem)에 따라서 우리는 아래의 수식이 언제나 성립함을 알고 있습니다.
P(Y∣X)P(Y∣X)P(X)=P(X)P(X∣Y)P(Y)=P(X∣Y)P(Y)
따라서 위의 수식을 따라서, 우리의 데이터셋을 통해 훈련한 모델들은 아래와 같은 수식을 만족해야 합니다.
P(x)P(y∣x;θx→y)=P(y)P(x∣y;θy→x)
이 전제를 우리의 번역 훈련을 위한 목표에 적용하면 다음과 같습니다.
objective1:θx→yminn1i=1∑nℓ1(f(xi;θx→y),yi),objective2:θy→xminn1i=1∑nℓ1(g(yi;θy→x),xi),s.t. P(x)P(y∣x;θx→y)=P(y)P(x∣y;θy→x),∀x,y.
위의 수식을 해석하면, 목표(objective1)은 베이즈 정리에 따른 제약조건을 만족함과 동시에, ℓ1을 최소화(minimize) 하도록 해야 합니다. ℓ1은 번역함수 f에 입력 xi를 넣어 나온 반환값과 yi 사이의 손실(loss)를 의미 합니다. 마찬가지로, ℓ2도 번역함수 g에 대해 같은 작업을 수행하고 최소화하여 목표(objective2)를 만족해야 합니다.
Lduality=((logP^(x)+logP(y∣x;θx→y))−(logP^(y)+logP(x∣y;θy→x))2
그러므로 우리는 Lduality와 같이 베이즈 정리에 따른 제약조건의 양 변의 값의 차이를 최소화(minimize)하도록 하는 MSE 손실함수(loss function)을 만들 수 있습니다. 위의 수식에서 우리가 동시에 훈련시키는 신경망 네트워크 파라미터를 통해 logP(y∣x;θx→y)와 logP(x∣y;θy→x)를 구하고, 단방향(monolingual) corpus를 통해 별도로 이미 훈련시켜 놓은 언어모델을 통해 logP^(x)와 logP^(y)를 근사(approximation)할 수 있습니다.
이 부가적인 제약조건의 손실함수를 기존의 목적함수(objective function)에 추가하여 동시에 minimize 하도록 하면, 아래와 같이 표현 할 수 있습니다.
θx→y←θx→y−γ∇θx→yn1j=1∑m[ℓ1(f(xi;θx→y),yi)+λx→yLduality]θy→x←θy→x−γ∇θy→xn1j=1∑m[ℓ2(g(yi;θy→x),xi)+λy→xLduality]
여기서 λ는 Lagrange multipliers로써, 고정된 값의 hyper-parameter 입니다. 실험 결과 λ=0.01 일 때, 가장 좋은 성능을 나타낼 수 있었습니다.
위의 테이블과 같이 기존의 Teacher Forcing 아래의 cross entropy 방식([1]번)과 Minimum Risk Training(MRT) 방식([2]번) 보다 더 높은 성능을 보입니다.
이 방법은 강화학습과 같이 비효율적이고 훈련이 까다로운 방식을 벗어나서 regularization term을 추가하여 강화학습을 상회하는 성능을 얻어낸 것이 주목할 점이라고 할 수 있습니다.