AI 논문리뷰

Long Short Term Memory Recurrent Neural Network Architectures for Large Scale Acoustic Modeling

jw103203 2023. 12. 17. 15:13
728x90

1. 소개

  • Speech 데이터는 복잡한 시계열 데이터이다.
  • RNN은 순환 연결을 포함하는데 이는 언어 모델 등에서 좋은 성능을 보여줬다.
  • 하지만 speech recognition에서는 여전히 DNN이 SOTA이다.
  • DNN은 고정된 크기의 윈도우가 sliding하면서 작동한다.
  • 하지만 이는 장기 의존성과 다양한 화법에 적합하지 않다.
  • 이와 반대로 RNN 구조는 내부 상태를 저장하는데 이는 장기적으로 맥락 정보를 유지할 수 있다.
  • 이 매커니즘은 RNN이 고정된 하나의 window를 사용하기보다는 입력 시퀀스에 따라 다이나믹하게 변화하는 문맥 상의 window를 사용하게 한다.
  • LSTM은 RNN의 단점을 보완하여 만든 모델이다.
  • 양방향 LSTM(BLSTM)은 현재 입력에 대해서 음성 라벨링을 결정하는 목적으로 수행되었다.
  • online과 offline 글씨 인식을 위해 Connectionist Temporal Classification(CTC) layer가 사용되고 분리되지않는 시퀀스 데이터로 훈련된 BLSTM은 현재 SOTA 모델에 비해 높은 성능을 보였다.
  • Deep BLSTM 네트워크와 유사한 기술들은 자소 기반 speech 인식을 수행하기 위해 제공되었다.
  • BLSTM 네트워크는 연속하는 대화 인식을 위한 멀티 스트림 framework에서 음운 예측을 위한 목적으로 제안되었다.
  • 구조 측면에서 음향 모델에 대한 DNN들의 성공을 이어 CTC와 결합한 deep BLSTM RNN과 음운 예측 RNN 변환기가 SOTA 수준에 근접했다.
  • Deep BLSTM RNN은 DNN보다 하이브리드 음성 인식에서 좋은 모습을 보였다.
  • hybrid 접근을 사용할 때, 최근 연구에 따르면 순환 projection layer를 가진 LSTM 구조는 DNN과 전통 RNN보다 성능이 좋다.
  • 논문에서는 분산 학습을 사용한 거대 음향 모델을 위한 LSTM RNN 구조를 탐색한다.
  • 각 LSTM layer가 선형 순환 사영 층을 가진 two layer deep LSTM RNN이 baseline system보다 높은 성능을 보였음을 볼 것이다.

2. LSTM Network Architectures

2.1. Conventional LSTM

  • LSTM은 순환하는 hidden layer에 메모리 block라는 특별한 유닛이 있다.
  • 메모리 block은 정보의 흐름을 통제하는 게이트와 현재 상태를 저장하는 자기-연결로 구성된다.
  • original한 LSTM에서는 input게이트와 output게이트만 포함되어 있다.
  • 그 후에 forget gate가 추가되었다.
  • 이는 LSTM이 다음 시퀀스로 분리되지 않는 연속적인 입력 흐름을 처리하는 것을 방해한다는 LSTM 모델의 약점을 해결했다.
  • forget gate는 셀의 자기-순환 연결을 통해 셀에 입력이 추가되기 전에 내부 state를 스케일링 하고 선택적으로 셀의 메모리를 잊어버리거나 리셋한다.
  • 추가적으로 modern LSTM구조는 출력의 정확한 타이밍을 학습하기 위해 같은 셀 안에서 LSTM의 내부 셀에서 게이트로 이어지는 peephole connection을 포함한다.
  • LSTM의 수식은 다음과 같다.

    → t는 문장 속 단어의 길이로 1부터 T까지 진행된다.
    →즉 input은 x_1부터 x_T까지 output은 y_1부터 y_T까지이다.
    →W는 가중치 행렬을 의미하고 W_ic,W_fc, W_oc는 peephole connections(위 LSTM 구조에서 점선)을 위한 대각 가중치 행렬이다.
    → sigma는 로지스틱 시그모이드 함수이고 input, forget, output, cell state는 output activation vector m과 같은 크기를 가진다.
    → g와 h는 tanh함수를 의미하며 phi는 softmax함수이다.

2.2 Deep LSTM

  • Deep LSTM RNNs는 여러 LSTM 층을 쌓아서 생성된다.
  • LSTM RNNs은 각 layer에서 같은 파라미터를 공유하는 시간에 Feed Forward NN를 펼치다는 점에서 deep architectures이라고 부를 수 있다.
  • 하지만 여러 개의 층을 거치는 것이 아니라 하나의 층에서 반복적으로 계산되는 것이 차이이다.
  • 기존에 여러 층의 RNN이 다른 시간 단위에 대해서 학습한다는 논문이 있었다.

2.3 LSTMP

  • LSTM with Recurrent Projection Layer
  • LSTM의 time step 별 계산 복잡도는 O(N)이다.
  • 이보다 효율적인 모델오서 LSTMP는 projection layer(recurrent)를 기존의 LSTM layer에서 분리시켰다.
  • 이는 recurrent 차원이 context의 차원보다 낮을 때 계산 복잡성을 낮추는 효과가 있다.
  • 새로운 recurrent layer의 수식은 다음과 같다.

2.4 Deep LSTMP

  • deep LSTM과 유사하게 각 LSTM과 recurrent layer를 쌓아나가는 방식으로 모델을 구축했다.
  • 하지만 저자는 많이 쌓을 수록 overfitting 문제에 직면한다고 말했다.

3. Distributed Training: Scaling up to Large Models with Parallelization

  • 해당 논문에서는 CPU를 사용했는데 아마도 LSTM이나 RNN이 병렬 계산을 수행하지 못한다는 점 때문일 것이다.- 이외에 모델의 훈련 테크닉에 대한 부분이 포함되어 있으나 중요치 않아 생략했다.

4. Experiments

  • conventional LSTM 또한 높은 성능을 보이지만 Multi-layer가 성능이 더 좋았다. 5개의 layer가 Multi-layer 중에서 가장 높은 성능을 보였다. 그보다 많은 layer를 가진 모델에 대해서는 오버피팅의 현상을 보였다.
  • 위 그림은 다양한 LSTM과 LSTMP 모델에 대해서 frame accuracy를 비교했다.
  • 2048개의 memory cell을 가지는 LSTMP RNN은 오버피팅을 보였다.
  • 또한 LSTMP RNN에서 파라미터의 수가 13M이 넘어가면 성능 향상이 일어나지 않았다.
  • 반면에 baseline으로 설정했던 DNN모델은 85M의 파라미터로 11.3%의 WER 오류율을 보였다.
728x90