ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 기계 번역(Machine Translation)
    카테고리 없음 2022. 7. 1. 14:16

    기계번역은 source language로 된 문장을 target language로 된 문장으로 번역하는 task입니다.  

    Things we already have are more valuable than what we hope to get
    우리가 이미 가진 것들은 우리가 가지길 원하는 것보다 더 가치가 있다.

    1. 기계번역의 역사

    (1) 1950년대 초기 규칙기반(rule-based) 기계번역

       기계번역을 생각해보면 으레 google translation이 먼저 생각나는데요, 사실 기계 번역은 규칙 기반 기계번역으로부터 시작되었습니다. 유래는 1950년대 냉전 시기 러시아어를 영어로 번역하기 위해 러시아어 단어&영어로 구성된 이중사전을 이용한 규칙 기반 기계번역을 사용한 것입니다. 가장 직관적인 번역 방법이나, 문법 규칙 추출의 어려움 / 필수적인 언어학적 지식 / 번역 언어 확장의 어려움 등으로 사장되었습니다. 

     

    (2) 1990년대~2010년대 통계 기반(statistical) 기계 번역

    규칙 기반 이후 통계 기반 기계 번역이 대두되었습니다. 데이터로부터 확률 모델을 학습하여 기계번역에 적용하는 원리로, 만일 한->영 번역일 경우에 확률 모델을 훈련하여 한글 문장 x가 주어졌을 때 가장 잘 대응되는 영어 문장 y를 찾도록 합니다. 훈련에는 베이즈 규칙(bayesian rule)이 사용됩니다. 

    통계 기반 기계번역 모델의 핵심은 어떻게 번역 모델을 학습할 것인가에 달려있습니다. 이를 위해서는 대량의 병렬 데이터를 사용합니다. 사람이 번역한 한-영 문장 쌍들을 생각해볼 수 있습니다.

     

    1) 통계 기반 기계 번역 모델의 학습 

        통계 기반 기계번역 모델은 이 병렬 말뭉치를 학습할 때 잠재변수 a를 모델에 도입하여 사용합니다. 잠재변수 a는 alignment*의 약자이며, 원문장 x와 타겟 문장 y 사이 단어 수준에서의 대응을 의마합니다. 

    두 문장 간 alignment 입니다

    *Alignment란?

        Alignment는 각각의 언어로 된 두 문장 쌍의 특정 단어들 간 상응관계입니다. 특히 언어 간 문장 어순 차이는 복잡한 alignment를 불러일으키기도 합니다. 그렇기에 alignment는 many-to-one(좌), one-to-many(우)처럼 꼭 1:1 대응이 되지 않을 수도 있고, 심지어 한 단어에 상응하는 다른 언어의 단어가 없을 수도 있습니다(Brown et al.,1993)

    The Mathematics of Statistical Machine Translation: Parameter Estimation”, Brown et al. 1993

    이 alignment는 통계기반 기계번역 학습 시 같이 학습됩니다. 아래 식에서 볼 수 있듯이 통계기반 기계번역 학습 시에는 다양한 변수들이 통합되면서 학습되는데, 잠재변수 a는 특정 단어들의 align될 확률, 즉 번역되어야 하는 언어 내 대응 단어의 개수 확률입니다. 이는 문장에서의 위치에 주로 의존합니다. 여기서 잠재변수란 alignment가 데이터에서 특정되지 않음을 의미합니다. 

    a가 모델에 도입된 상태입니다.

    2) 통계기반 기계번역을 위한 디코딩 

        식을 정의했으면 이제 식을 풀어내 디코딩해야 합니다. 이 때 핵심은 argmax의 계산 방법입니다. 

        첫 번째 방법은 모든 가능한 y를 나열하여 각각의 확률을 계산하는 방법입니다. 단! 너무 오래 걸리기에 잘 사용되지 않습니다.

    자주 사용되는 방법은 모델의 각 변수들이 서로 독립적임을 가정하여 동적 프로그래밍을 사용하는 것입니다(!) 이를 Viterbi 알고리즘이라 하며, 이 과정을 '디코딩'이라 합니다.

        위 정의에 따라 Viterbi는 동적 프로그래밍으로 디코딩하는 알고리즘이라 합니다. 전방 계산을 통해 최적 경로를 역추적하는 것을 말하며, 이때 τ는 매 단계에서 최적 경로를 기록하고 있습니다. 이 과정을 통해 그림에서 보이는 굵은 선의 경로(최적 경로)를 역추적 하는 것이 가능합니다. 

    3) 통계 기반 기계 번역의 한계

        이렇게 한 시대를 풍미한 통계 기반 기계 번역도 한계는 존재합니다. 일단 통계 기반 기계 번역 자체가 매우 방대한 연구 분야를 자랑합니다. 또한 성능이 좋은 시스템들은 매우 복잡한 구조를 가집니다. 이는 시스템 내부에 독립적인 하부 모듈들이 많고, 특정 언어 현상들을 담아내기 위해 많은 feature engineering을 거쳐야 하기 때문입니다. 또한 추가 자원(대등한 단어, 구들의 테이블)들을 모으고 유지해야 하는 품이 들고, 유지를 위해서도 상당한 수준의 수동적인 노력(언어 쌍 관리...)이 필요합니다. 그리하여 신경망 기반 기계번역이 등장합니다. 

     

     

    2. 신경망 기반 기계번역(NMT:Neural Machine Translation)

    (1) Seq2Seq을 사용한 신경망 기계 번역

        단일 신경망을 통해서 기계번역을 수행하는 방법입니다. 이를 위한 신경망 architecture로는 RNN 2개가 관여하는 seq2seq이 자주 쓰입니다. Seq2Seq은 encoder와 decoder로 구성되어 있습니다. 인코더에서는 입력 문장을 벡터화 하고, 디코더에서는 벡터화된 입력 문장을 디코딩(복호화)합니다. 

    *Seq2Seq

    기계번역에서만 활용되는 것이 아니라 다양한 task를 seq2seq을 사용하여 풀 수 있습니다. 가령 자동 요약의 경우 긴글 >>>짧은글, 대화는 이전 발화 >>>다음 발화, 자동 코딩은 자연어 >>>파이선 코드로 인코딩-디코딩을 거쳐 해결할 수 있습니다. 

     

    실제로 seq2seq을 사용한 기계번역은 짧은 시간동안 개발되었음에도 불구하고 오랜 기간동안 많은 사람들이 공을 들였던 통계기반 기계번역을 단숨에 뛰어넘어버립니다. NMT는 장점과 단점을 가지며, 동시에 NMT를 사용했음에도 기계번역에서 아직 해결되지 못한 문제들도 존재합니다.

    장점 단점
    더 향상된 성능
      -  더 자연스러운 번역, 더 효과적인 context 사용, 더 좋은 단어절유사도 사용 가능 
    통계기반 기계번역에 비해 해석력이 부족함
    단일 신경망으로도 최적화가 가능
      - 개별적인 하부 모듈을 최적화할 필요가 없음
    번역을 위한 가이드라인, 규칙을 정하기가 어려움 
    훨씬 적은 인간의 노력 개입
      - feature 엔지니어링이 필요 없으며
      - 모든 언어 쌍에 대해 동일한 방법이 적용됨. 
    <기계번역에서 아직 풀리지 않는 문제들>
    1) Out-Of-Vocabulary 문제
    2) 학습-테스트 데이터 간 도메인의 미스 매치 문제
    3) 긴 텍스트의 문맥을 유지하는 것 
    4) 상식 사용의 어려움
    5) 격언 사용의 어려움 

     

    (2) Attention을 사용한 NMT

    1) 기존 NMT 문제

        기존 NMT는 seq2seq을 사용했었습니다. 그러나 Seq2Seq은 Bottleneck 문제를 가지게 됩니다. Bottleneck 문제란, 원문장을 인코딩할 때 원문장에 대한 모든 정보를 확보해서 디코더에 넘겨야 하나, 그렇지 못하는 문제입니다. Attention은 이 bottleneck 문제를 해결하였습니다.

    2) Attention

        Attention에서는 디코더의 각 스텝에서 인코더로 직접적인 연결을 시도합니다. 이에 따라 원 문장 순서 중 특정 부분에 집중하는(attention) 방법을 채택하여 인코딩 된 문장의 정보를 디코더로 비교적 소실 없이 전달하게 되었습니다. 이에 따라 NMT의 성능도 크개 개선되었습니다. 

    1. Attention 알고리즘은 NMT 성능을 크게 개선 디코더가 원 문장의 특정 부분들에 집중할 수 있는 것을 가능하게 하였기 때문
    2. NMT의 bottleneck 문제 해결 디코더가 직접적으로 원문장에 접근하여 원문장의 정보를 소실 없이 사용
    3. 기울기 소실(vanishing gradient) 해결 출력값과 멀리 떨어진 layer에 접근 가능하도록 함
    4. 해석력 제공  Attention 분포를 시각화하여 디코더가 어디에 집중하는지 파악 가능
    5. 신경망이 alignment를 스스로 학습 attention을 사용하여 디코더 sequence와 인코더의 시퀀스 간 align을 맞출 수 있음 

    Attention이후로 NLP의 패러다임이 다음과 같이 바뀌게 됩니다. 또한 어텐션 알고리즘을 기반으로 고안된 Transformer 역시도 NMT에 쓰입니다. Transformer는 이 포스트에 있습니다. 

     

     

     

    댓글

Designed by Tistory.