DevelopHyun

Data Science & Algorith with Computer Science

charCNN[2] Character Aware Neural Language Model(2016) - Review

27 Feb 2018 » deeplearning, cnn, charcnn, nlp, paperreview

1. Abstract

  • CNN, RNN,LSTM, Highway Network 모델 사용
  • 형태소가 많은 언어에 유리(아랍어, 체코어, 프랑스어, 독일어, 스페인어, 러시아어 등)
  • character단위의 모델링은 semantic, orthographic information(철자법)을 동시에 알아낼 수 있음

2. Introduction

  • 이전까지는 Markov n-gram based Model이 많이 사용되었지만, sparsity data문제가 발생
  • Neural Language Model(NLM)에서는 word embedding을 사용하여 sparsity data문제를 해결
    • word embedding을 통해 비슷한 단어는 비슷한 공간에 위치하게 됨
  • 하지만, word embedding으로는 subword information를 파악할 수 없음
    • infrequent word에 대해서 perplexity가 높아지게 됨(성능이 좋지 않음)
    • 이러한 점은 형태소가 많은 언어에서 문제가 됨
  • 이 논문에서는 charCNN을 통해 subword information를 잘 학습할 수 있도록하는 것이 목적
    • 전처리 작업에서 morphological-tagging 작업이 필요하지 않음
  • 결론적으로, 형태소가 많은 언어에서 이 모델이 더 적은 parameter로도 다른 LSTM 기반 모델보다 성능이 좋았다.

3. Model

3.1 Architecture

architecture

  • charCNN, highway Network, LSTM 사용

3.2 RNN, LSTM, RNN-LM

3.2.1 RNN

  • =

3.2.2 LSTM

  • =
  • =
  • =
  • =
  • =
  • =

3.2.3 RNN-LM

  • Language Model에서의 scoring
  • negative log-likelihood(NLL)을 최소화하는 방향으로 학습
    • =
    • =
    • = 단어의 수, = j-th column

3.3 charCNN

  • 전체적인 model과 함께 학습됨
  • input
    • embedding한 characters를 이어붙인 matrix,
    • = character의 embedding dimension, = word를 구성하는 character의 개수
  • convolution
    • n-gram의 역할, prefix, suffix 등을 구별하는 역할을 하게 됨
    • 100~1000개의 filter로 convolution
    • activation function으로 사용
  • pooling
    • convolution의 결과에 pooling을 사용하여 정보를 압축
    • pooling의 결과가 word embedding이 됨

3.4 Highway Network

  • residual network의 general한 형태
  • =
    • transform gate =
    • activation function을 통해서 큰 의미를 가지는 것만 activated되면, embedding에 더해져 강조의 효과를 가짐
    • word의 최종적인 embedding 완성
    • transform gate도 전체적인 model과 함께 학습됨

4. Experimental Setup

  • PPL(perplexity)
    • =
    • = word of sequence
  • English Penn Treebank(PTB) dataset을 사용하여 parameter를 조정한 후, 이것을 다른 언어에 적용
  • singleton word만 로 바꿈

4.1 Optimization

architecture2

  • stochastic gradient descent(SGD) 사용
  • dropout 사용
  • gradient norm > 일 경우, =

5. Result

5.1 English Penn Treebank

result

5.2 Other Language

  • result1
  • result2

6. Discussion

6.1 Learned Word Representation

result3

  • highway layer가 있는 것이 word embedding 학습을 더 잘했음
  • OOV word도 학습을 잘함

6.2 Learned Character N-gram Representation

result4

  • charCNN을 사용한 경우 각 단어의 n-gram에서 prefix, suffix, hypenated를 각각 구별
    • prefix = 접두사, suffix = 접미사, hyphenated = 하이픈으로 연결된 단어

6.3 Highway Layer

result5

  • MLP의 성능은 좋지 않음
  • 1개의 highway layer만 가진 것이 제일 성능이 좋다.
  • max-pooling 이전에 convolution layer를 더 쌓아도 성능이 좋아지지 않는다.
  • CNN 없이 highway network만 사용하면 소용없다.

6.4 Effect of Corpus/Vocab size

  • corpus의 크기가 커지면 perplexity가 줄어든다. 즉, 성능이 좋아진다.

6.5 Further Observation

  • 위 실험에서는 word embedding과 charCNN을 같이 사용한 모델이 더 성능이 안좋았다.
  • 다른 모델보다 시간은 오래걸리지만, charCNN-layer를 공유하기 때문에 GPU사용 효율성이 증가한다.

  • NLM
  • FNLM
  • char NLM
  • DCNN
  • CRF
  • BDLSTM

8. Conclusion

단어의 subword information을 파악하는 것이 중요하다.


9. Reference