ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [논문리뷰]Sequence to Sequence Learningwith Neural Networks(2014)
    카테고리 없음 2023. 10. 28. 12:59

    #요약

    심층 신경망(DNN)은 전반적으로 좋은 성능을 발휘하는 강력한 모델임. DNN은 레이블이 지정된 대규모 학습 집합을 사용할 수 있을 때는 잘 작동하지만, 시퀀스와 시퀀스를 매핑하는 데는 사용하기 어려운 문제가 있음. 이 논문에서는 시퀀스 학습에 LSTM을 적용한 방법을 제시.

     

    #도입

    DNN은 강력하지만 고정된 차원의 벡터로 인코딩될 수 있는 문제에만 적용가능 한 한계가 있음. 음성 인식, 기계 번역, 질의 응답들은 시퀀스로 표현해야 하는 문제임. 이러한 문제에는 시퀀스에 시퀀스를 매핑하는 방법을 학습하는 새로운 방법이 적용되야 함.

    figure1. 시퀀셜 데이터

    이 논문에서는 장단기 메모리(LSTM) 아키텍처[S. Hochreiter and J. Schmidhuber. Long short-term memory. Neural Computation, 1997]를 적용하면 일반적인 시퀀스 간 문제를 해결할 수 있음을 제시. 시퀀셜한 데이터에 대해 LSTM을 사용하여 큰 고정 차원 벡터 표현을 얻고 순차적으로 진행하며 출력 시퀀스를 추출함. LSTM은 학습 장거리 시간적 종속성이 있는 시퀀셜 데이터를 성공적으로 학습할 수 있다는 점에서 입력과 출력의 시간차가 있는 문제에 적합한 모델임. LSTM을 적용하여 영어 to 프랑스어로의 번역 작업에서 높은 BLEU 점수 달성.

     

    LSTM의 유용한 특성은 길이가 변하는 입력 문장을 고정 차원 벡터 표현으로 매핑하는 방법을 학습하는 것임. 번역의 목적은 의미를 보존하면서 다른언어로 변환 하는것. 벡터 공간에서 비슷한 의미를 가진 문장은 가깝고 의미가 다른 문장은 멀리 떨어지는데 LSTM은 이 작업을 잘 수행하도록 학습됨. 정성적 분석 결과, LSTM은 어순을 인지하고 능동태든 수동태든 문장을 잘 이해하였음.

     

    #제안 모델

    순환신경망(RNN)은 피드포워드 신경망을 시퀀셜한 형태로 일반화 함. 입력 시퀀스(x1, . . . , xT )가 주어지면 RNN은 다음 방정식을 반복하여 출력 시퀀스(y1, . . . , yT )를 계산.

    RNN

    더보기

    ※ t = 각 타임스텝, xt = t 스텝의 입력값, ht = t 스텝의 은닉상태,  yt = t 스텝의 출력값, Whx = 입력값 to 은닉상태의 가중치, Whh = 은닉상태 to 은닉상태의 가중치

    입력과 출력의 길이가 다르고 복잡한 시퀀셜 데이터 학습을 위한 간단한 전략은 하나의 RNN을 사용하여 입력 시퀀스를 고정 크기의 벡터에 매핑한 다음 다른 RNN을 사용하여 벡터를 타겟 시퀀스에 매핑하는 것임. 그러나 이 방법은 장기적인 의존성 문제로 인해 제대로 학습시키는 것이 어려움. 그러나 LSTM은 장기적인 의존성 문제를 개선하는 것으로 알려져 있어 활용이 가능함.

     

    LSTM의 목표는 조건부 확률 p(y1, . . . , yT ′ |x1, . . . , xT )를 추정하는 것으로, 여기서 (x1, . . . , xT )는 입력 시퀀스이고 y1, .. . . , yT ′ 는 출력 시퀀스임. LSTM은 먼저 LSTM의 마지막 은닉 상태에 의해 주어진 입력 시퀀스 (x1, . . . , xT )의 고정 차원 표현 v를 구한 다음, 초기 은닉 상태가 x1, ..., xT :의 표현 v로 설정된 표준 LSTM 공식으로 y1, ..., yT'의 확률을 계산하여 이 조건부 확률을 계산함.

    LSTM

    위 수식에서 각 p(yt|v, y1, ... , yt-1) 분포는 어휘의 모든 단어에 대해 소프트 맥스로 표현됨. figure1 처럼 LSTM은 "A", "B", "C", "<EOS>"의 표현을 계산한 다음 그 표현을 사용하여 "W", "X", "Y", "Z", "<EOS>"의 확률을 계산함.

     

    실제 모델은 위에서 설명되지 않은 중요한 세가지 포인트가 있음. 첫째, 입력 시퀀스와 출력 시퀀스에 각각 다른 두 개의 LSTM을 사용했는데, 이는 무시할 수 있는 계산 비용으로 모델 파라미터 수를 늘리고 여러 언어 쌍에 대해 동시에 LSTM을 학습하는 것이 가능함. 둘째, 복잡한 LSTM이 단순한 LSTM보다 성능이 월등히 뛰어나다는 것을 발견했기 때문에 4계층으로 구성된 LSTM을 적용함. 셋째, 입력 문장의 단어 순서를 뒤집는 것이 매우 유용하다는 것을 발견함. 예를 들어, a, b, c라는 문장을 α, β, γ라는 문장에 매핑하는 대신 α, β, γ가 a, b, c의 변환인 c, b, a를 α, β, γ에 매핑하도록 LSTM에 요청. 이러한 간단한 데이터 변환을 통해 LSTM의 성능을 크게 향상시킬 수 있었음.

     

    RNN과 LSTM (출처:https://wikidocs.net/22888)

     

    #실험

    WMT'14 영어-프랑스어 MT 태스크에 대해 두 가지 방법을 적용해봄. 참조 SMT 시스템을 사용하지 않고 입력 문장을 직접 번역하고, SMT 기준선의 n-best 목록을 다시 점수화 함. 이러한 번역 방법의 정확도를 확인하고, 샘플 번역을 제시하하며 결과 문장 표현을 시각화 함.

     

    ## 데이터셋 설명

    WMT'14 영어-프랑스어 데이터셋을 사용하여 테스트. 일반적인 신경 언어 모델은 각 단어에 대한 벡터 표현에 의존하기 때문에 두 언어 모두에 대해 제한된 어휘만을 사용. 소스 언어에는 가장 빈번한 단어 16만 개를, 타깃 언어에는 가장 빈번한 단어 8만 개를 사용. 어휘에서 벗어난 모든 단어는 특수한 "UNK" 토큰으로 대체.

     

    ## 학습 설명

    실험의 핵심은 많은 문장 쌍에 대해 대규모 심층 LSTM을 학습시키는 것. 소스 문장 S가 주어졌을 때 올바른 번역 T의 로그 확률을 최대화하는 방식으로 학습. 학습이 완료되면 LSTM에 의해 가장 가능성이 높은 번역을 찾아 번역 생성. 

     

    LSTM 모델은 상당히 쉽게 학습이 가능. 각 레이어에 1000개의 셀과 1000개의 차원 단어 임베딩이 있는 4개의 레이어, 16만 개의 입력 어휘와 8만 개의 출력 어휘가 있는 심층 LSTM을 사용. 심층 LSTM은 8000개의 실수를 사용해 문장을 표현. 심층 LSTM의 훨씬 큰 은닉 상태 구조 때문에 단순한 LSTM보다 훨씬 뛰어난 성능을 보임. 각 출력에 80,000단어 이상의 나이브 소프트맥스를 사용. 그 결과 LSTM의 파라미터는 총 384만 개로 구성.

     

    - 모든 LSTM의 파라미터를 -0.08에서 0.08 사이의 균일한 분포로 초기화
    - 학습률은 0.7로 고정하고 모멘텀이 없는 확률적 경사 하강법(SGD) 적용. 총 7.5개의 에포크 동안 학습.
    - 그라디언트에는 128개의 시퀀스를 배치로 사용하고 배치 크기(즉, 128)로 나눔.
    - LSTM은 그라데이션 소실 문제를 겪지 않는 경향이 있지만, 그라데이션이 폭발적으로 증가할 수 있음. 따라서 기울기의 범위가 임계값을 초과하면 스케일링하여 기울기의 범위에 제약을 추가함. 
    - 문장마다 길이가 다름. 무작위로 선택된 128개의 미니배치에는 짧은 문장이 많고 긴 문장이 적어 결과적으로 미니배치에서 많은 연산이 낭비됨. 이 문제를 해결하기 위해 미니배치에 포함된 모든 문장의 길이가 거의 같도록 하여 속도를 2배 향상시킴.

     

    ## 실험 결과

    토큰화된 예측과 실제 데이터에 대해 multi-bleu.pl1을 사용하여 BLEU 점수를 계산하여 평가. 5개의 LSTM의 앙상블을 적용시 가장 성능이 좋음. WMT'14 데이터셋에서 최고 수준과 유사한 성능 발휘.

    # 결론

    - LSTM은 긴 문장에서도 잘 작동하며, 단어 시퀀스를 고정된 차원의 벡터로 잘 변환함.

    - 문장에서 어휘를 거꾸로 학습 시킬대 성능이 많이 향상됨.

    - 기계 번역에 대한 간단한 LSTM 기반 접근법의 성공은 충분한 훈련 데이터만 있다면 다른 많은 시퀀스 학습 문제에서도 잘 작동할 수 있다는 것을 시사.

     

     

Designed by Tistory.