학습목표
Neural N-Gram Language Model 이 해결하지 못한 장기의존성 문제를 해결해봅니다.
핵심키워드
- Neural N-Gram Language Model
- 데이터 희소성(data sparsity)
- 장기의존성(long-term dependencies)
- Convolution Language Model
- Recurrent Language Model
- Recurrent Memory Networks
학습내용
- 신경망을 이용한 n-gram 모델이 장기의존성 문제를 해결하지 못한 이유는 단순히 n-gram 을 보기 때문입니다.
- 신경망을 사용하여 데이터 희소성 문제는 없어졌지만, 단순하게 n 을 늘리게 되면 네트워크 규모가 커져 학습해야할 매개변수가 많아지고, 이에 따른 데이터도 많이 필요하게 됩니다.
해결방법 1: Convolution Language Model
- Dilated convolution 을 사용하면 커버할 수 있는 토큰의 범위가 넓어집니다.
- 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 의 단점을 보완했습니다.
comment