장기의존성

  • long-term dependency

은닉층의 과거 정보가 전달되지 못하는 현상

• 모델이 시간적으로 떨어져 있는 요소들 간의 관계를 제대로 파악하지 못하는 현상을 의미합니다. 예를 들어, 문장에서 이전에 언급된 단어들이 현재의 단어와 관련이 있을 때, 머신러닝 모델은 이러한 장기적인 의존성을 인식하는 데 어려움을 겪을 수 있습니다. • 발생 원인 ◦ Vanishing Gradient: RNN과 같은 순환 신경망에서 발생하는 주요 원인 중 하나는 그래디언트 소실 문제입니다. 역전파(backpropagation) 과정에서 기울기(gradient)가 점차적으로 작아지면서 모델이 이전 시간 단계의 정보를 적절히 전달하지 못하게 되는 현상입니다. 따라서, 오래된 시간 단계의 의존성이 제대로 학습되지 않고 장기 의존성 문제가 발생할 수 있습니다. ◦ Exploding Gradient: 그래디언트 폭주는 그 반대로, 역전파 과정에서 기울기가 급격히 커져서 모델의 가중치가 불안정해지는 현상입니다. 이로 인해 모델의 예측이 불안정하게 되고, 장기 의존성이 제대로 학습되지 않을 수 있습니다. ◦ 시퀀스 길이: 머신러닝 모델은 일반적으로 고정된 크기의 입력을 다루는 데 적합하게 설계되었습니다. 하지만 자연어 처리와 같은 시퀀스 데이터는 길이가 가변적일 수 있습니다. 따라서, 매우 긴 시퀀스의 경우 모델이 장기 의존성을 파악하는 데 어려움을 겪을 수 있습니다. ◦ 데이터 부족: 장기 의존성을 잘 파악하기 위해서는 충분한 데이터가 필요합니다. 하지만 현실적으로 데이터를 모으는 것은 어려운 경우가 많습니다. 데이터가 부족하면 모델이 장기 의존성을 학습하기 어려울 수 있습니다. ◦ 모델 아키텍처: 일부 기본적인 모델 아키텍처들은 장기 의존성을 잘 처리하지 못할 수 있습니다. 이러한 모델들은 데이터에 있는 장기 의존성을 파악하지 못하고 제대로 학습하지 못할 수 있습니다. • 해결 방법 ◦ LSTM, GRU, 트랜스포머 등과 같이 장기 의존성을 잘 다룰 수 있는 모델 아키텍처를 사용. ◦ 데이터 양을 증가시키고 데이터를 적절히 전처리.

장기의존성 극복 모델

LSTM

  • Long Short-Term Memory

Forget Gate, Input Gate, Output Gate

• 장기 의존성을 갖는 시퀀스 데이터를 처리하는 데 특화된 인공신경망의 한 종류 • 순환 신경망(RNN)의 변형으로, 기존의 RNN의 단점인 “기울기 소실”과 “기울기 폭발” 문제를 해결하기 위해 고안 • 시퀀스 데이터의 장기 의존성을 학습하기 위해 메모리 셀과 게이트라는 구조를 사용합니다. 메모리 셀은 이전 시간 단계에서의 정보를 저장하는 역할을 수행하며, 게이트는 어떤 정보를 기억하고 어떤 정보를 버릴지를 결정합니다. • 세 가지 게이트 ◦ 입력 게이트(Input Gate): 현재 입력에 대한 중요한 정보를 얼마나 저장할 것인지 결정합니다. ◦ 삭제 게이트(Forget Gate): 이전 메모리 셀의 정보 중 어떤 것을 버릴 것인지 결정합니다. ◦ 출력 게이트(Output Gate): 현재 상태의 어떤 정보를 다음 단계로 전달할 것인지 결정합니다. • 단점 ◦ 복잡성: LSTM은 다른 신경망 모델에 비해 구조적으로 복잡합니다. LSTM은 입력 게이트, 삭제 게이트, 출력 게이트 등 다양한 게이트와 메모리 셀로 구성되어 있어 모델의 파라미터 수가 많아집니다. 이는 모델의 학습 및 추론 속도를 느리게 할 수 있습니다. ◦ 계산 비용: LSTM은 시퀀스 데이터를 처리하는 과정에서 반복적인 계산을 수행해야 합니다. 이는 계산 비용이 높아질 수 있으며, 특히 시계열 데이터나 긴 시퀀스 데이터를 다룰 때 더 큰 문제가 될 수 있습니다. ◦ 메모리 사용량: LSTM은 시퀀스 데이터의 장기 의존성을 학습하기 위해 내부 메모리 셀을 사용합니다. 이는 모델의 메모리 사용량이 증가하게 됩니다. 큰 모델이나 대규모 데이터셋을 다룰 때 메모리 제약이 있는 환경에서 문제가 될 수 있습니다. ◦ 과적합: LSTM은 복잡한 모델 구조를 가지고 있기 때문에 데이터가 부족한 경우에는 과적합(Overfitting)이 발생할 수 있습니다. 특히 매개변수 수가 많은 LSTM 모델을 사용할 때 주의가 필요합니다. 이를 해결하기 위해 정규화, 드롭아웃 등의 기법을 적용할 수 있습니다. ◦ 시간적 한계: LSTM은 시퀀스 데이터를 한 번에 하나의 단계씩 처리하므로, 시간적으로 지연이 발생할 수 있습니다. 이는 실시간 예측이나 응답성이 중요한 시나리오에서 문제가 될 수 있습니다. • LSTM은 이러한 게이트를 통해 시퀀스 데이터의 장기 의존성을 효과적으로 학습하고, 시계열 데이터, 자연어 처리 등의 다양한 작업에 적용됩니다. • 기억력을 갖는 셀 구조와 업데이트 가능한 게이트 메커니즘을 통해 장기적인 패턴을 인식하고 예측하는 능력을 갖추고 있어, 시계열 데이터의 다양한 패턴을 효과적으로 학습할 수 있습니다.

GRU

  • Gated Recurrent Unit

Reset Gate, Update Gate

• LSTM과 유사한 순환 신경망(RNN, Recurrent Neural Network)의 한 종류입니다. • 시퀀스 데이터를 처리하는 데 사용되며, 긴 의존 관계를 가진 시계열 데이터나 자연어와 같은 문장을 처리하는 데 특히 유용합니다. • LSTM보다 간단한 구조를 가지면서도 장기 의존성을 학습할 수 있는 능력을 가지고 있습니다. LSTM이 장기 메모리 셀과 게이트(gate)를 사용하여 정보를 컨트롤하는 데 비해, GRU는 더 간단한 게이트 메커니즘을 사용하여 정보의 흐름을 조절합니다. • LSTM보다 더 적은 파라미터를 가지고 있고, 더 빠르게 학습할 수 있습니다. 또한 GRU는 기본적으로 LSTM보다 더 간단하게 구현할 수 있으며, 일반적으로 LSTM과 성능이 비슷하거나 더 우수한 경우가 있습니다. • 세 가지 게이트 ◦ 업데이트 게이트 (Update Gate): 현재 입력과 이전 은닉상태를 기반으로 얼마나 많은 정보를 유지할지 결정합니다. ◦ 리셋 게이트 (Reset Gate): 현재 입력과 이전 은닉상태를 기반으로 얼마나 많은 정보를 잊을지 결정합니다. ◦ 새로운 은닉 상태 (New Hidden State): 업데이트 게이트와 리셋 게이트를 사용하여 새로운 은닉상태를 계산합니다.