본문 바로가기
IT 와 Social 이야기/NLP 자연어처리

[edwith] 딥러닝을 이용한 자연어 처리 : Long Term Dependency - 조경현교수

by manga0713 2021. 3. 18.

 

 

[LECTURE] Long Term Dependency : edwith

학습목표 Neural N-Gram Language Model 이 해결하지 못한 장기의존성 문제를 해결해봅니다. 핵심키워드 Neural N-Gram Language Model 데이터... - 커넥트재단

www.edwith.org

 

학습내용

 

  • 신경망을 이용한 n-gram 모델이 장기의존성 문제를 해결하지 못한 이유는 단순히 n-gram 을 보기 때문입니다.
    • 신경망을 사용하여 데이터 희소성 문제는 없어졌지만, 단순하게 n 을 늘리게 되면 네트워크 규모가 커져 학습해야할 매개변수가 많아지고, 이에 따른 데이터도 많이 필요하게 됩니다. 

 

해결방법 1: Convolution Language Model

 

  • Dilated convolution 을 사용하면 커버할 수 있는 토큰의 범위가 넓어집니다.
  • 다만 텍스트 분류때 처럼 쓰기에는 문제가 있습니다. 현재까지의 토큰을 보고 미래의 토큰을 예측하는 것인데, 아무 제약없이 사용하게 된다면, 미래의 토큰을 보고 미래의 토큰을 예측해버리게 됩니다. 이는 더 이상 언어 모델링이 아니게 됩니다.
  • 따라서 매번 예측할 때, 전에 나왔던 토큰들만 사용하도록, 미래의 토큰을 mask out 시킵니다.
  • Causal sentence representation
    • Convolution Language Model에서 보았듯이, 미래의 토큰을 보지 않고 예측하기 위해 mask out 하는 과정을 거쳤습니다.
    • 미래의 토큰을 보지 않고 다음 토큰을 예측하는 과정을 인과관계에 따른 문장표현(Causal sentence representation) 이라고 합니다.
    • 이는 인과관계에 따른 문장표현만 지킨다면 문맥을 무한대로 확장가능하다고 볼 수 있습니다.

 

해결방법 2: CBoW

 

  • CBoW 방법이 잘 안되는 이유는 토큰들 간의 순서를 무시하기 때문입니다. 언어 모델링에서 문장은 의미 뿐만 아니라 문장의 구조도 중요합니다.

해결방법 3: Recurrent Language Model

 

  • 장점: 실시간 처리(시간에 따른 문장 처리)
  • 단점: 모든 문맥 내용을 하나의 고정된 벡터에 압축시켜서 학습시켜야 합니다.
  • 응용:
    • 자동완성(autocomplete) & 키워드 추천(keyword suggestion)
    • scoring partial hypotheses in generation

해결방법 4: Recurrent Memory Networks

  • RNN과 Self Attention 방법을 결합하여 Recurrent Language Model 의 단점을 보완했습니다.

 

- 출처: [edwith] 딥러닝을 이용한 자연어 처리 : Long Term Dependency - 조경현교수