순차 데이터와 순환 신경망

Jaeseok Han·2024년 6월 3일

머신러닝&딥러닝

목록 보기
20/22

순차 데이터

순차 데이터는 텍스트나 시계열 데이터와 같이순서가 중요한 데이터를 의미한다. 예를 들어, 문장에서 단어의 순서나 주식의 시간에 따른 가격 변동 등이 순차 데이터의 예시이다.

피드포워드와 순환 신경망

1. 피드포워드 신경망

피드 포워드 신경망은 입력 데이터의 흐름이 앞으로만 전달되는 구조를 가진 신경망이다. 입력층에서 출력층으로 한 방향으로만 정보가 전달되며, 순환 구조가 없다. 이러한 구조는 순차 데이터의 시간적 패턴을 학습하느데 한계가 있다.

2. 순환 신경망(RNN)

순환 신경망은 피드포워드 신경망과 유사하지만, 중요한 차이점은 뉴런의 출력이 다시 자기 자신으로 전달되는 부분이 추가된다. 이를 통해 RNN은 이전 타임스텝의 정보를 현재 타임스텝의 입력으로 사용할 수 있어, 순차 데이터의 시간적 패턴을 효과적으로 학습할 수 있다.

💡 주요 개념

  • 타임스텝 : 순차 데이터의 각 시점
    (문장의 각 단어는 하나의 타임스텝이다.)
  • 셀 : RNN의 각 층을 구성하는 기본 단위
  • 은닉 상태: 셀의 출력, 이는 다음 타임스텝으로 전달되어 순환 구조를 만든다.

셀의 가중치와 입출력

특성의 개수 4개이고, 순환층의 뉴런이 3개인 RNN을 가정해보면 가중치와 모델 파라미터의 개수는 다음과 같이 계산된다.

  • 입력 가중치 (wxw_x)
    • 입력 특성의 개수가 4개이고, 순환층의 뉴런이 4개이므로 wxw_x의 크기는 4x3 = 12개이다.
  • 은닉 상태 가중치 (whw_h)
    • 은닉 상태는 순환 구조에서 재사용되므로, 순환층의 뉴런이 3개라면 whw_h의 크기는 3x3 = 9개이다.
  • 절편 (bias)
    • 순환층의 뉴런이 3개 이므로, 3개의 절편이 필요하다.

따라서, 전체 모델 파라미터 수는 다음과 같다.

wx+wb+절편=12+9+3=24w_x + w_b + 절편 = 12 + 9 + 3 = 24

1. 예제

문장 "I am a boy"를 타임스텝으로 나누어 보면 다음과 같은 구조를 가진다.

  • 타입스텝 1 : "I"
  • 타입스텝 2 : "am"
  • 타입스텝 3 : "a"
  • 타입스텝 4 : "boy"

각 타임스텝에서의 입력은 단어 벡터로 변환되고, RNN을 통해 은닉 상태가 갱신된다.

0개의 댓글