[논문 리뷰]Long Short-Term Memory Recurrent Neural Network Architectures for Large Scale Acoustic Modeling (2014)

2026. 1. 17. 19:32·논문 리뷰
반응형

https://static.googleusercontent.com/media/research.google.com/ko//pubs/archive/43905.pdf

 

2014년 구글에서 발표한 논문

 

LSTM을 활용한 음성 인식 부분에서 기존의 DNN(Deep Neural Network)보다 뛰어난 성능을 보여주었다.

 

해당 논문이 이룬 성과는 다음과 같다: 

  • 이론적으로만 존재하였던 LSTM을 구현함
    • 현재 가장 좋은 성능을 뜻하는 state-of-the-art 달성
  • ASGD(Asynchronous Stochastic Gradient Descent)를 통한 분산 학습(distributed training)

 

1. Introduction

RNN(Recurrent Neural Network)은 길이가 일정하지 않은 텍스트와 같은 시퀀스 데이터들을 feedforward보다 더 잘 처리할 수 있기 때문에 손글씨를 인식하거나 라벨링 부분에서 뛰어난 성능을 보여주었다.

 

하지만 음성인식 부분에서는 이전까지 Deep Neural Network(DNN)에 비해서 떨이지는 모습을 보여주었다.

그렇지만 DNN은 고정된 길이의 과거(window)만 볼 수 있다는 한계가 존재하기 때문에 매우 긴 문장을 처리(long term dependencies)하거나 말의 속도(speaking rate)를 다루는데에는 부적절하다. 

 

대신 RNN을 활용하면 싸이클을 통해 과거가 현재의 예측에 영향을 주도록하여서 문맥을 더 잘 유지할 수 있다. 또한 AI의 기억력에 해당하는 contextual window를 동적으로 조절할 수 있도록한다. 

 

LSTM(Long Short-Term Memory)을 통해서 기존 RNN보다 모델의 복잡도를 뜻하는 Perpelxity에서 좋은 성능을 보여주었으며 문맥이 제공되지 않았거나 문맥에 민감한 언어인 경우도 좋은 성능을 보여주었다. 

 

LSTM을 응용한 양방향 LSTM(BLSTM)도 있으며 손글씨 인식 부분에서 기존의 HMM(Hidden Markov Model)보다 좋은 성능을 보여주며 Deep BLSTM 역시 DNN보다 좋은 성능을 hybrid 음성인식 부분에서 보여주고 있다.

 

2. LSTM Network Architectures  

2.1 Conventional LSTM

LSTM의 RNN과의 가장 큰 차이는 hidden layer에 메모리 블록이 포함하고 있다는 점이다. 이 메모리 블록은 이전의 정보를 저장하고 다음 recurrent층으로 보낼 정보의 흐름을 조절한다. 

 

메모리 블록을 구성하는 input gate를 통해서 현재 입력 정보와 이전 셀의 결과가 들어오고

마찬가지로 forget gate에서 현재 입력과 이전 셀의 결과가 들어온다. 

 

input과 forget gate의 차이는 각각 이전 output을 얼마나 추가할지와 이전 output을 얼마나 잊을지를 결정한다. 

아래 사진와 같이 LSTM의 구조는 다음과 같다. 

 

Figure 1

 

i : input gate 입력게이트

f : forget gate 망각게이트

c : cell activation vector 셀 활성화 벡터 

o : output gate 결과게이트

m : cell output vector 셀 결과 벡터

x,y : input, output 

 

아래 수식은 t시점에서의 게이트와 output의 공식이다. 

 

입력게이트와 망각게이트처럼 게이트는 정보를 얼마나 유지하고 다음으로 보낼지를 정한다라는 값으로 해석할 수 있다.

 

2.2 Deep LSTM

Deep LSTM은 LSTM층을 여러 개 쌓아 올린 구조이다. 하지만 단순히 쌓은 것만이 아닌 순차적인 시간 단위 (time scale)을 학습할 수 있으며 이는 깊은 레이어로 갈수록 더 넗게 패턴과 문맥 등을 파악할 수 있다. 

 

Figure 2

또한 전체 파라미터의 갯수를 유지하면서 여러 층에 파라미터를 분산하게 하면 더 많은 활성화 연산을 통해서 더 비선형적인 표현이 가능하게 할 수 있다. 

 

2.3 LSTMP - LSTM with Recurrent Projection Layer 

기존 LSTM 모델 구조는 input 층이 LSTM과 연결이 되어있다. 하지만 이러한 모델의 구조에는 문제점이 존재하는데 바로 연산 복잡도가 과도하다는 점이다. 전체 파라미터의 갯수 N은 $n_c \times n_c \times 4$으로 $O({n_c}^2)$으로 비례하여 증가하며 대규모의 음성 인식을 인식 분야에서는 수많은 메모리 셀이 필요하며 이는 학습 속도가 느려지는 문제점을 초래할 수 있다. 

 

따라서 해당 논문에서는 projection layer 을 추가한 LSTMP 구조를 제시하였다. LSTM 층 이후로 projection layer를 위치하도록 하

여 차원을 줄여서 계산 복잡도 문제를 해결하였다. 

 

projection에 대해서 알아보자면 기존에 있는 $m_t$의 차원이 1000x1000이라면 100x1000가중치 행렬 $W_{rm}$을 곱하여 

100x1000의 차원으로 바꿀 수가 있다. 

 

따라서 기존 수식에 projection을 하나 추가하였다. 

 

2.4 Deep LSTMP 

Deep LSTM과 유사하게 LSTMP을 여러 겹을 쌓고 각각 분리된 recurrent projection layer을 쌓아서 만들 수 있다. 여기서 단순히 메모리 크기를 키우는 것만으로는 입력 데이터를 모델이 외워버리는 오버피팅 현상이 발생할 수 있다. 따라서 깊이를 늘리는 방향으로 증가시켜서 일반화 성능을 키운다. 

 

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

해당 논문에서는 모델을 학습할 때 GPU대신 다중 CPU를 사용하였는데 저자는 간단한 구현과 쉬운 디버깅을 이유로 사용하였다. 

 

모델을 학습하기 위한 알고리즘으로 truncated backpropagation through time (BPTT)알고리즘을 사용하였다. 매우 긴 문장이 있다면 일정한 크기로 나누어서 time step을 다르게 적용한다. 

 

손실을 줄이기 위해서 파라미터를 업데이트하는 옵티마이져로 ASGD (Asynchronous Stochastic Gradient Descent)를 사용하였다. 기존 SGD와의 차이점으로는 다중 cpu의 각각의 코어들은 동기화가 되어있어서 모든 코어들이 계산을 마칠 때까지 기다리는 것이 기존 SGD였다면 ASGD는 이러한 동기화 장벽 (Synchronization Barrier)를 제거하여 각 코어에서 자신의 미니배치 계산이 끝나는 즉시 업데이트에 반영한다. 따라서 학습의 속도를 비약적으로 상승시킬 수 있다는 장점이 있다. 

 

4. Experiments 

실험에 사용한 데이터셋은 Google Voice Search task로 거대한 규모의 음성 데이터이며 300만번의 발화, 약 1900시간의 크기로 학습을 진행하였다. 

 

실헝 대상은 다음과 같다:

  • 표준 LSTM 
  • Deep LSTMP
  • SOTA DNN (비교군)

실험 결과 1 : 학습 수렴과 과적합

Figure 3 바탕으로 재구성한 그래프

  • 표준 LSTM에서는 학습을 오래할수록 overfitting 문제가 발생한다. 
  • Deep LSTMP는 overfitting없이 더 높은 정확도로 수렴하는 모습을 보여준다. 

 

실험 결과 2 : 파라미터 수와 WER

 

 

  • 기존의 DNN보다 85%가량 파라미터 수를 줄엿음에도 불구하고 오히려 오류율을 0.6%가량 개선한 모습을 보여준다.

 

5. Conclusions 

  • LSTM 모델을 통해서 음성 인식부분에 최고의 성능을 보여줌
  • LSTMP 모델은 표준 LSTM과 DNN보다 더 뛰어난 성능을 보여줌
  • ASGD를 활용한 분산 학습을 통해서 더 빠른 학습 속도를 보여줌
반응형
저작자표시 비영리 동일조건 (새창열림)

'논문 리뷰' 카테고리의 다른 글

[논문 리뷰] BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation(2022)  (0) 2026.04.04
[논문 리뷰] Learning Phrase Representation using RNN Encoder-Decoder for Statistical Machine Translation (2014)  (0) 2026.03.08
[논문리뷰] Recurrent neural network based language model (2010)  (0) 2025.12.31
[논문리뷰] Deep Residual Learning for Image Recognition (2015)  (0) 2025.12.21
[논문 리뷰] Improving neural networks by preventing co-adaptation of feature detectors (2012)  (0) 2025.12.14
'논문 리뷰' 카테고리의 다른 글
  • [논문 리뷰] BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation(2022)
  • [논문 리뷰] Learning Phrase Representation using RNN Encoder-Decoder for Statistical Machine Translation (2014)
  • [논문리뷰] Recurrent neural network based language model (2010)
  • [논문리뷰] Deep Residual Learning for Image Recognition (2015)
코드짜는 오리
코드짜는 오리
AI에 대한 글을 올립니다.
  • 코드짜는 오리
    코드짜는 오리
    코드짜는 오리
  • 전체
    오늘
    어제
    • 전체 글 (41)
      • AI숏츠 (17)
      • 논문 리뷰 (10)
      • [2025] CS231n (10)
      • 컴퓨터비전 (2)
      • LLM (1)
  • 링크

    • GitHub
  • 인기 글

  • 최근 글

  • 반응형
  • 태그

    computer vision
    딥러닝
    SGD
    pytorch
    llm
    AI
    CV
    transformer
    논문리뷰
    lstm
    GPT
    컴퓨터비전
    머신러닝
    트랜스포머
    ChatGPT
    경사하강법
    AI숏츠
    rnn
    attention
    옵티마이저
    AlexNet
    논문
    쉽게배우는
    cs231n
    Optimizer
    인공지능
    deeplearning
    CS231n 강의노트
    ComputerVision
    ADAM
  • hELLO· Designed By정상우.v4.10.5
코드짜는 오리
[논문 리뷰]Long Short-Term Memory Recurrent Neural Network Architectures for Large Scale Acoustic Modeling (2014)
상단으로

티스토리툴바