신경망 기계 번역에 대한 새로운 접근법

출처 : https://code.facebook.com/posts/1978007565818999/a-novel-approach-to-neural-machine-translation/

언어 번역은 페이스북이 세계를보다 개방적이고 연결되도록 만드는 데 중요한 미션입니다. 모든 사람이 원하는 언어로 게시물이나 비디오를 가능한 한 정확하고 신속하게 소비할 수 있습니다.

페이스북 인공 지능 연구(FAIR)팀은 RNN시스템 속도의 9배에 달하는 최첨단 정확도를 달성하는 언어 변환을 위한 새로운 CNN(convolutional neural network) 접근법을 사용하여 연구 결과를 발표했습니다 . 또한, FAIR 시퀀스 모델링 툴킷(fairseq) 소스 코드와 훈련된 시스템을 GitHub의 오픈소스 라이센스하에 제공되므로 다른 연구원이 번역, 텍스트 요약 및 기타 작업을 위한 맞춤 모델을 구축할 수 있습니다.

왜 CNN 인가?

이십여년 전에 Yann LeCun이 처음 개발한 CNN은 이미지 처리와 같은 여러 머신러닝 분야에서 성공을 거두었습니다. 그러나 RNN은 텍스트 응용에 최신의 기술이며 높은 정확성 때문에 언어 번역에 있어 최고의 선택이었습니다.

RNN은 언어 변환 작업에서 CNN보다 역사적으로 뛰어난 성능을 발휘했지만 RNN의 디자인은 정보를 처리하는 방법을 통해 이해할 수 있는 고유한 제약이 있습니다. 컴퓨터는 하나의 언어로 문장을 읽고 동일한 의미의 다른 언어로 된 단어의 순서를 예측하여 텍스트를 번역합니다. RNN은 한 번에 한 단어씩 엄격하게 왼쪽에서 오른쪽 또는 오른쪽에서 왼쪽 순서로 작동합니다. 이것은 현대 머신러닝을 지원하는 고도의 병렬 GPU 하드웨어에 덜 적합합니다. 각 단어는 네트워크가 이전 단어로 완료 될 때까지 대기해야하기 때문에 계산을 완전히 병렬 처리 할 수 ​​없습니다. 이에 비해 CNN은 GPU 병렬 처리를 최대한 활용하여 모든 요소를 ​​동시에 계산할 수 있습니다. 그러므로 CNN은 계산상으로 더 효율적입니다. CNN의 또 다른 이점은 정보가 계층적으로 처리되어 데이터에서 복잡한 관계를 쉽게 포착 할 수 있다는 것입니다.

이전 연구에서 번역에 적용된 CNN은 RNN을 능가하지 못했습니다. 그럼에도 불구하고, CNN의 아키텍처상의 잠재력으로 인해 FAIR는 번역을 위해 CNN의 강력한 성능을 보여주는 번역 모델 설계를 이끌어 낸 연구를 시작했습니다. CNN은 계산 효율이 향상될수록 번역의 규모를 확장하고 세계의 6,500개 언어를 커버할 잠재력을 가지고 있습니다.

속도 기록에서 최상의 결과
우리의 결과는 Conference on Machine Translation(WMT)에서 제공하는 널리 사용되는 공개 벤치 마크 데이터세트로 RNNs2에 비해 새로운 최신의 결과를 보여줍니다. 비슷한 크기의 CNN과 최상의 RNN이 동일한 방식으로 훈련되면 CNN은 기계 번역의 정확성을 판단하기 위해 널리 사용되는 측정법인 WMT 2014 영어 – 프랑스어 작업에서 1.5BLEU 만큼 우수한 성능을 보입니다. WMT 2014 영어 – 독일어에서는 개선이 0.5 BLEU이고, WMT 2016 영어 – 루마니아어에서는 1.8 BLEU 향상되었습니다.

실용적인 응용을 위한 신경 기계 번역에 대한 한가지 고려 사항은 시스템에 문장을 보여 주면 번역을 가져 오는 데 얼마나 걸리는지 입니다. FAIR CNN 모델은 계산상 매우 효율적이며 강력한 RNN 시스템보다 9배 빠릅니다. 많은 연구가 가중치 또는 증류량을 양자화하여 신경 네트워크를 가속화하는 데 중점을 두었습니다. CNN 모델에 똑같이 적용하여 속도를 훨씬 더 높이고 미래의 잠재력을 제안 할 수 있습니다.

Multi-hop Attention 및 Gating을 통한 번역 개선
아키텍처의 차별화된 구성 요소는 Multi-hop Attention입니다. 이 메커니즘은 사람이 문장을 번역 할 때 구문을 분석하는 것과 비슷합니다. 한 번만 문장을보고 다시 보지 않고 전체 번역을 작성하는 대신 네트워크는 문장에서 반복적으로 “엿보기”를 사용하여 다음에 번역할 단어를 선택합니다. 가끔 사람이 번역을 쓸 때 특정 키워드를 되돌려 보는 것과 유사합니다.

Multi-hop Attention은 이 메커니즘의 향상된 버전으로, 네트워크가 여러 가지 잠깐 보기를 통하여 더 나은 번역을 생성 할 수 있게합니다. 그리고 이러한 엿보기는 또한 서로에게 의존적 입니다. 예를 들어, 첫 번째 엿보기는 동사에 포커싱되고, 두번째 엿보기는 관련된 보조 동사에 포커싱됩니다.

아래 그림에서 우리는 시스템이 프랑스어 구문 (인코딩)을 읽고 영어 번역 (디코딩)을 출력 할 때를 보여줍니다. 먼저 CNN을 사용하여 각 프랑스어 단어에 대한 벡터를 만드는 인코더를 실행하고 동시에 계산을 수행합니다. 다음으로, 디코더 CNN은 한 번에 하나씩 영어 단어를 생성합니다. 모든 단계에서, Attention은 번역에서 다음 단어를 예측하는 데 가장 적합한 단어를 결정하기 위해 프랑스어 문장을 엿봅니다. 디코더에는 두 개의 소위 레이어가 있으며, 아래의 애니메이션은 각 레이어에 대해 엿보기 Attention이 포커싱되는 방식을 보여줍니다. 초록색 선의 강도는 네트워크가 각 프랑스어 단어에 얼마나 포커싱하는지 나타냅니다. 네트워크가 훈련 될 때, 번역은 항상 이용 가능하며 영어 단어에 대한 계산도 동시에 수행 될 수 있습니다.

시스템의 또 다른 측면은 신경 네트워크에서 정보 흐름을 제어하는 Gating입니다. 모든 신경망에서 정보는 소위 Hidden Unit을 통해 흐릅니다. Gating 메커니즘은 좋은 번역을 생성 할 수 있도록 정확히 어떤 정보를 다음 Unit으로 전달해야 하는지를 제어합니다. 예를 들어, 다음 단어를 예측할 때 네트워크는 지금까지 작성한 번역을 고려합니다. Gating을 통해 번역의 특정 측면을 줌인하거나 더 확장된 시야를 얻을 수 있습니다. 이 모든 것은 네트워크가 현재 상황에서 적절하다고 판단하는 것에 따라 다릅니다.

향후 개발
이 접근 방식은 다른 텍스트 처리 작업을 위한 새로운 가능성을 열어주는 기계 번역을 위한 대안 아키텍처입니다. 예를 들어, 대화 시스템에서 Multi-hop Attention은 두개의 별개의 사실이나 복잡한 질문에 더 잘 응대하기 위해 하나로 묶어야 하는 등 대화의 분리된 파트에 포커싱하도록 신경망을 하용합니다.

References

[1] Convolutional Sequence to Sequence Learning. Jonas Gehring, Michael Auli, David Grangier, Denis Yarats, Yann N. Dauphin. arXiv, 2017

[2] Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation. Yonghui Wu, Mike Schuster, Zhifeng Chen, Quoc V. Le, Mohammad Norouzi, Wolfgang Macherey, Maxim Krikun, Yuan Cao, Qin Gao, Klaus Macherey, Jeff Klingner, Apurva Shah, Melvin Johnson, Xiaobing Liu, Łukasz Kaiser, Stephan Gouws, Yoshikiyo Kato, Taku Kudo, Hideto Kazawa, Keith Stevens, George Kurian, Nishant Patil, Wei Wang, Cliff Young, Jason Smith, Jason Riesa, Alex Rudnick, Oriol Vinyals, Greg Corrado, Macduff Hughes, Jeffrey Dean. Technical Report, 2016.

[3] Neural Machine Translation by Jointly Learning to Align and Translate. Dzmitry Bahdanau, Kyunghyun Cho, Yoshua Bengio. International Conference on Learning Representations, 2015.