장기 의존성 문제란 무엇일까?
딥러닝에서 순서를 가진 데이터를 처리할 때, 이전 정보가 오래전에 입력된 것일수록 잘 기억하지 못하는 현상이 있습니다.
이를 장기 의존성 문제(Long-term Dependency Problem)
라고 합니다.
예시로 알아보는 장기 의존성 문제
문장, 음성, 시간 순서 데이터처럼 앞뒤 흐름이 중요한 정보를 다룰 때는 앞에서 본 내용이 뒤에서 쓰일 수 있습니다.
예시로 다음 문장을 살펴보겠습니다.
나는 오늘 아침에 먹은 음식이 너무 맛있었다. 그래서 기분이 좋았다.
여기서 "그래서 기분이 좋았다"라는 말은 앞에서 나온 "맛있는 음식"이라는 정보와 연결됩니다.
만약 신경망이 앞부분의 맥락을 잊어버린다면, "그래서 기분이 좋았다"라는 말의 의미를 제대로 이해하지 못할 수 있습니다.
RNN은 기본적으로 과거 정보를 기억하는 구조지만, 시간이 지나면서 점점 앞의 정보를 잊는 경향이 있습니다.
이 때문에 문장이 길어질수록 중요한 맥락을 잃어버리고 잘못된 추론을 수행할 수 있습니다.
이러한 문제는 왜 발생할까요?
장기 의존성 문제는 RNN이 학습할 때 사용하는 기울기(Gradient)
의 특성 때문에 발생합니다.
RNN은 순서가 있는 데이터를 처리하면서 이전 단계의 정보가 다음 단계로 조금씩 전달되도록 설계되어 있습니다.
그런데 학습을 진행하면서 이 정보 전달 과정서 문제가 생깁니다.
신경망은 학습할 때 오차
를 줄이기 위해 역전파
를 사용합니다.
이 과정에서는 오차를 뒤에서부터 앞으로 전파하면서, 각 단계마다 기울기를 계산해 가중치를 조정합니다.
그런데 이 기울기가 여러 단계를 거치면서 점점 작아지거나(=기울기 소실) 커지는(=기울기 폭발) 문제가 발생합니다.
-
기울기가 너무 작아지면 → 앞쪽 정보는 거의 전달되지 않고 사라져버립니다.
-
기울기가 너무 커지면 → 학습이 불안정해지고, 모델이 제대로 수렴하지 않습니다.
이런 이유로, 문장의 앞부분에 있는 중요한 정보는 뒤로 갈수록 신경망이 기억하기 어려워집니다.
그래서 문장이 길어질수록 앞에 나왔던 맥락이 잘 반영되지 않고, 올바른 예측이나 판단이 어려워질 수 있습니다.
이러한 문제를 어떻게 해결할 수 있을까요?
이 문제를 해결하기 위해 개발된 대표적인 구조가 바로 LSTM
과 GRU
입니다.
이들은 단순히 과거 정보를 전달하는 것이 아니라, 중요한 정보는 기억하고 불필요한 정보는 잊는 구조를 갖고 있어 장기 의존성 문제를 효과적으로 완화할 수 있습니다.
다음 수업에서는 지금까지 배운 내용을 바탕으로 간단한 퀴즈를 풀어보겠습니다.
RNN은 시간이 지나면서 기억력이 강화되는 특성이 있다.
Lecture
AI Tutor
Design
Upload
Notes
Favorites
Help
