AI 전문가가 되고싶은 사람
LSTM(Long Short-Term Memory) + GRU 본문
https://seungwoo0407.tistory.com/62
두 번째 과제인 LSTM 공부 시작해보겠습니다.
해당 영상을 바탕으로 공부하였습니다.
https://www.youtube.com/watch?v=HXa7Ah87_gM&t=262s
LSTM이란?
RNN의 한 종류로, RNN이 가진 장기 의존성 문제를 해결하기 위해 개발되었다. LSTM은 시계열 데이터를 처리하는 데 강력한 성능을 발휘하며, 텍스트 생성, 음성 인식, 기계 번역 등 다양한 분야에서 사용되고 있다. 이번 글에서는 LSTM이 RNN의 단점을 어떻게 극복하는지, 그리고 내부 구조와 작동 방식에 대해 알아보자.
RNN의 문제점: 장기 의존성 문제
RNN은 순환 구조를 통해 이전 단계의 정보를 다음 단계로 전달한다. 하지만 입력 데이터의 길이가 길어지면, 역전파 과정 중 기울기 소실 혹은 기울기 폭주 문제가 발생한다. 이로 인해 오래된 입력 정보(예: 첫 번째 단어)가 네트워크 학습에 거의 반영되지 않게 된다.
예를 들어, 영어 문장 "Don't understimate your inner strength"를 번역한다고 가정할 때, 첫 단어 "Don't"와 마지막 단어 "underestimate"의 관계를 학습해야 하지만, RNN은 이 관계를 학습하기 어렵다. 이에 따라 LSTM이 설계되었다.
LSTM의 구조
LSTM은 정보를 저장하고 조정하는 Cell State와 정보의 흐름을 제어하는 Gates로 구성된다. 게이트는 시그모이드 함수와 행렬 연산을 통해 데이터의 선택적 통과를 제어한다.
1. Forget Gate (망각 게이트)
망각 게이트는 이전 단계의 정보를 얼마나 잊을지를 결정한다. 이는 현재 입력값 xt와 이전 은닉 상태 ht-1를 입력으로 받아 시그모이드 함수를 통해 계산된다.
2. Input Gate (입력 게이트)
입력 게이트는 현재 입력값을 셀 상태에 얼마나 저장할지 결정한다. 이와 함께, 후보 셀 상태 Ct를 계산한다. 이는 현재 입력값과 이전 은닉 상태를 기반으로 결정된다.
3. Candidate Cell State (후보 셀 상태)
4. Cell State Update (셀 상태 업데이트)
셀 상태는 망각 게이트와 입력 게이트의 결과를 이용해 업데이트된다. 이 과정은 셀 상태가 중요한 정보를 유지하고, 새로운 정보를 적절히 반영하도록 한다.
5. Output Gate (출력 게이트)
출력 게이트는 은닉 상태를 업데이트한다. 이는 현재 입력과 셀 상태를 바탕으로 계산된다.
6. Hidden State (은닉 상태 업데이트)
7. 출력 레이어
LSTM 작동 원리 요약
1. 망각 게이트는 셀 상태에서 불필요한 정보를 제거한다.
2. 입력 게이트는 새로운 정보를 추가로 저장한다.
3. 셀 상태는 과거의 중요한 정보와 현재의 정보를 조합해 업데이트된다.
4. 출력 게이트는 다음 단계로 전달할 은닉 상태를 생성한다.
GRU (Gated Recurrent Unit)
GRU는 LSTM의 구조를 단순화한 모델로, Cell State를 제거하고 Hidden State만 사용하는 구조이다. Gate 구조에서 Forget Gate와 Input Gate를 합쳐 Update Gate로 통합하고, Output Gate를 제거하여 파라미터 수가 줄기 때문에 LSTM보다 훈련 속도가 빠르고 메모리 사용량이 적다.
GRU와 LSTM의 성능 차이는 Task와 데이터 특성에 따라 다르지만, 일반적으로 시계열 데이터나 자연어 처리에서 비슷한 성능을 보이는 경우가 많다고 한다.
마무리
LSTM은 RNN의 단점을 보완하여 장기 의존성을 처리할 수 있는 모델이다. LSTM의 가장 큰 장점은 장기 의존성 문제를 해결할 수 있다는 점이다. 셀 상태와 게이트 메커니즘(Forget Gate, Input Gate, Output Gate)을 통해 이전 정보가 손실되지 않고 오래 유지될 수 있어, 긴 시퀀스 데이터에서도 효과적으로 작동한다. LSTM은 셀 상태의 선형 경로와 게이트 메커니즘을 통해 기울기 소실(Gradient Vanishing) 문제를 해결하여 안정적인 학습이 가능하며, 시계열 데이터, 음성 데이터, 텍스트 데이터와 같은 순차적 데이터를 처리하는 데 강점을 가진다. 입력 데이터 길이에 제한이 없어 가변적인 시퀀스도 처리할 수 있는 유연성 역시 큰 장점이다. 그러나 LSTM은 구조가 복잡하여 계산 비용이 높고 학습과 추론 속도가 느리다는 단점이 있다. 게다가 시퀀스를 순차적으로 처리하기 때문에 병렬 처리 효율이 낮아 긴 시퀀스 데이터를 다룰 때 Transformer 모델에 비해 비효율적일 수 있다. 또한, 은닉 상태와 셀 상태를 모두 유지해야 하므로 메모리 사용량이 많아지는 문제가 있으며, 최적의 성능을 얻기 위해 다양한 하이퍼파라미터를 세밀하게 조정해야 한다는 어려움도 있다.
'논문' 카테고리의 다른 글
Seq2seq (0) | 2024.11.25 |
---|---|
Word2vec (1) | 2024.11.20 |
RNN(Recurrent Neural Networks) (0) | 2024.11.18 |
Transformer 리뷰를 위한 공부(완료) (1) | 2024.11.18 |
(구현) Deep Residual Learning for Image Recognition (0) | 2024.09.12 |