순차 데이터는 텍스트나 시계열 데이터와 같이순서가 중요한 데이터를 의미한다. 예를 들어, 문장에서 단어의 순서나 주식의 시간에 따른 가격 변동 등이 순차 데이터의 예시이다.
피드 포워드 신경망은 입력 데이터의 흐름이 앞으로만 전달되는 구조를 가진 신경망이다. 입력층에서 출력층으로 한 방향으로만 정보가 전달되며, 순환 구조가 없다. 이러한 구조는 순차 데이터의 시간적 패턴을 학습하느데 한계가 있다.
순환 신경망은 피드포워드 신경망과 유사하지만, 중요한 차이점은 뉴런의 출력이 다시 자기 자신으로 전달되는 부분이 추가된다. 이를 통해 RNN은 이전 타임스텝의 정보를 현재 타임스텝의 입력으로 사용할 수 있어, 순차 데이터의 시간적 패턴을 효과적으로 학습할 수 있다.
💡 주요 개념
- 타임스텝 : 순차 데이터의 각 시점
(문장의 각 단어는 하나의 타임스텝이다.)- 셀 : RNN의 각 층을 구성하는 기본 단위
- 은닉 상태: 셀의 출력, 이는 다음 타임스텝으로 전달되어 순환 구조를 만든다.
특성의 개수 4개이고, 순환층의 뉴런이 3개인 RNN을 가정해보면 가중치와 모델 파라미터의 개수는 다음과 같이 계산된다.
따라서, 전체 모델 파라미터 수는 다음과 같다.
문장 "I am a boy"를 타임스텝으로 나누어 보면 다음과 같은 구조를 가진다.
각 타임스텝에서의 입력은 단어 벡터로 변환되고, RNN을 통해 은닉 상태가 갱신된다.