머신러닝으로 문장을 다루다 보면 이런 생각이 듭니다. "문맥이 중요한데, 앞 문장을 기억하지 못하면 어쩌지?"
기존의 인공신경망은 단순히 입력을 처리할 뿐, 과거 정보를 기억하지 못합니다. 이때 등장한 모델이 바로 Recurrent Neural Network (RNN).
RNN은 시계열, 자연어, 음성, 행동 패턴 등 시간에 따라 변하는 데이터를 다루기 위해 고안된 모델입니다. RNN의 개념 RNN은 입력을 받을 때마다 과거의 정보를 기억하며 처리합니다.
즉, 순차적인 데이터를 하나씩 처리하면서, 이전 단계의 출력을 현재 단계의 입력으로 함께 사용합니다. 이전 정보를 "기억"하기 위해 hidden state를 사용합니다.
핵심 구조 xt: 시점 t의 입력 ht: 시점 t의 은닉 상태 (메모리) yt: 시점 t의 출력 W: 가중치 행렬, b: 편향 왜 "Recurrent"일까? "Recurrent"는 반복되는 구조를 뜻합니다.
하나의 네트워크 구조가 모든 시간 단계에서 공유되며,...