순서를 기억하는 신경망, RNN
RNN(Recurrent Neural Network)
은 데이터의 순서를 중점적으로 고려해 입출력을 처리하는 신경망입니다.
일반적인 신경망은 입력 하나하나를 독립적으로 다루지만, RNN은 이전 입력의 정보를 기억하면서 현재 입력을 함께 처리합니다.
언제 RNN을 사용할까요?
각 요소 간의 순서가 중요한 데이터를 순차 데이터(Sequential Data)
라고 하며, 특히 시간 순서에 따라 나열된 값들의 집합을 시계열 데이터(Time Series Data)
라고 합니다.
RNN은 입력 순서가 중요한 순차 데이터를 처리할 때 주로 사용됩니다.
예를 들면 다음과 같습니다.
-
문장: 글자나 단어가 순서대로 이어질 때 문장의 의미가 완성됩니다.
-
음성: 소리의 순서를 고려해야 음성의 의미를 파악할 수 있습니다.
-
주가 분석: 시간에 따라 변화하는 주가를 예측할 때, 이전 시점의 데이터를 활용합니다.
이처럼 시간 흐름이나 맥락이 중요한 데이터에 RNN은 강점을 가집니다.
RNN은 어떻게 작동하나요?
RNN은 입력을 한 번에 모두 처리하지 않고, 하나씩 순서대로 입력받아 처리합니다.
동시에 그때까지 받은 정보를 내부에 저장하고, 다음 입력을 처리할 때 그 정보를 함께 사용합니다.
예를 들어 "나는 학교에 가고 있다"라는 문장을 RNN이 처리한다고 가정해보겠습니다.
'학교에'라는 단어를 해석할 때, 앞에 나온 '나는'을 기억하고 있는 것이 문장을 더 정확히 이해하는 것에 도움이 됩니다.
RNN은 이런 흐름을 반영할 수 있는 구조로 설계되어 있습니다.
입력: 나는 → 학교에 → 가고 → 있다 RNN은 '나는'을 기억한 상태로 '학교에'를 처리하고 '나는', '학교에'를 기억한 상태로 '가고'를 처리합니다.
RNN은 어떤 한계점이 있나요?
RNN은 순서를 고려할 수 있다는 장점이 있지만, 오래된 정보는 잘 기억하지 못한다는 한계가 있습니다.
예를 들어 문장이 길어지거나 오랜 시간이 지나면 앞에서 받은 정보를 잊고, 예측을 제대로 수행하지 못할 수 있습니다.
이러한 문제를 보완하기 위해 RNN을 개선한 구조인 LSTM(Long Short-Term Memory)
과 GRU(Gated Recurrent Unit)
가 등장했습니다.
이러한 구조들은 오래된 정보를 효과적으로 기억할 수 있도록 설계되었습니다.
다음 수업에서는 RNN이 어떠한 구조로 이루어져 있는지, 어떤 원리로 순서를 기억하고 정보를 처리하는지 자세히 알아보겠습니다.
다음 중 빈칸에 가장 적절한 것은 무엇일까요?
Lecture
AI Tutor
Design
Upload
Notes
Favorites
Help
