순환 신경망(RNN)의 구조와 원리
RNN(Recurrent Neural Network)
은 입력의 순서를 기억하면서 데이터를 처리하는 신경망입니다.
이번 수업에서는 RNN이 어떻게 구성되어 있는지, 어떤 원리로 순서를 기억하고 정보를 처리하는지 알아보겠습니다.
RNN는 어떻게 구성되어 있나요?
RNN은 같은 구조의 신경망 셀
이 반복되는 형태로 구성됩니다.
각 셀은 입력과 이전 시점의 출력을 받아 처리하고, 다음 시점으로 출력을 전달합니다.
입력 X1 → [RNN 셀] → 출력 H1 → 입력 X2 → [RNN 셀] → 출력 H2 → 입력 X3 → [RNN 셀] → 출력 H3 → ...
각 시점에서의 출력은 이전 시점의 출력(H)
을 기억하고 이를 활용합니다.
RNN은 같은 연산 구조를 시간 축
을 따라 반복하며, 매 시점마다 정보를 업데이트합니다.
예를 들어 문장을 처리할 때 첫 단어부터 마지막 단어까지 차례대로 입력하면, 앞서 본 단어들의 정보가 뒷부분 처리에 영향을 줄 수 있습니다.
[t=1] → [t=2] → [t=3] → ... X1 X2 X3 | | | ↓ ↓ ↓ H1 → H2 → H3
이 구조 덕분에, 단어, 음성, 숫자와 같은 순차적인 데이터를 자연스럽게 이해하고 예측할 수 있습니다.
입력, 은닉 상태, 출력의 관계
RNN 셀은 다음과 같은 세 가지 주요 요소로 구성됩니다.
-
입력값 (Xt): 현재 시점의 입력 데이터
-
은닉 상태 (Ht): 과거 정보를 저장하고 요약한 내부 상태
-
출력값 (Yt): 현재 시점에서의 최종 출력 또는 예측 결과
RNN은 이전의 은닉 상태(Ht-1)와 현재 입력(Xt)을 함께 이용해 새로운 은닉 상태(Ht)를 계산합니다.
이 은닉 상태는 다음 입력으로 넘어갈 때 기억 정보로 다시 사용됩니다.
다음 수업에서는 RNN의 대표적인 이슈인 장기 의존성 문제(Long-term Dependency Problem)
에 대해 알아보겠습니다.
RNN의 주요 구성 요소가 아닌 것은 무엇일까요?
입력값
은닉 상태
출력값
필터
Lecture
AI Tutor
Design
Upload
Notes
Favorites
Help