Yiksan0315's Blog

RNN

# Tag:

  • Source/KU_ML2

 순환 신경망(RNN, Recursive Neural Network)

Weights의 변화가 한 방향으로 이동하는 것이 아니라, 다시 자기 자신에게 돌아오는 형태.

계속 반복적으로 가중치가 수정되는 모습이 나타난다. 전후 관계를 학습한다는 것이다.
시계열 데이터(Time-Series Data)와 같이 (temporal invariance, 시간에 상관없이 특정한 패턴이 존재하는 경우) 연속적인 데이터를 예측하거나 분류할 때 사용된다.

이전 값에 depedent하게 되는, Markov assumption하에 만들어지는 Network이다.

Vanilla RNN

  • h는 hidden state, 해당 hidden state는 다음 Cell로 전달되면서 학습이 반복된다.
    • 이 때의 가중치는 로 별도로 존재한다.
    • 입력 가중치 , 출력 가중치 가 별도로 존재하며, 같은 가중치끼리는 하나가 업데이트 되면 동일하게 전부 업데이트 된다.
      • time에 따라 이전의 hidden layer의 출력 값을 다시 입력으로 합하는 구조이므로, 는계속해서 동일하게 유지된다.

Activation Function라고 할 때,

  • hidden state update : , 위는 여러 개의 layer가 연결된 것처럼 되어 있지만(unfolding), 구현은 자기 자신에게 hidden state가 입력으로 다시 들어온다.
  • output:

일종의 partially connected Network라 할 수 있다. 실제 구현은, fully connected network의 weights Matrix에서 연결이 없는 부분의 weight는 0으로 설정한다.

Back Propagation Through Time(BPTT)

  1. 위와 같이, Layer가 계속해서 쌓이게 되면 편미분이 반복되면서 Gradient Vanishing 문제가 발생하므로, 이를 해결하기 위해 LSTM을 이용한다.
  2. Sequence가 길어지게 되면, 이전의 데이터를 잘 기억하지 못하게 된다. Short-term memory problem이 발생한다.

  • 수정수정

toc test

이 페이지는 리디주식회사에서 제공한 리디바탕 글꼴이 사용되어 있습니다. 리디바탕의 저작권은 리디주식회사가 소유하고 있습니다.

This Font Software is licensed under the SIL Open Font License, Version 1.1.

Copyright 2025. yiksan0315 All rights reserved.