RNN

IT 위키

Recurrent Neural Network 내부적으로 순환(recurrent) 되는 구조를 이용하여, 순서(sequence)가 있는 데이터를 처리하는 데 강점을 가진 신경망

개요[편집 | 원본 편집]

순서가 있는 데이터[편집 | 원본 편집]

같은 데이터라도 순서에 따라 의미가 달라지는 특성을 가진 데이터

  • ex) 문장1: I google at work vs 문장2: I work at google
    • 문장1에선 google이 동사, 문장2에선 google이 명사
  • 주로 자연어 처리에서 많이 사용됨
  • 은닉층에서의 순환 구조를 통해 이전 데이터와 이후 데이터를 연결시켜 분석 가능

RNN.png

수식 표현[편집 | 원본 편집]

ht = fW(ht-1, xt)

  • ht = 새로운 상태
  • fW = 파라미터 W에 대한 활성화 함수
  • ht-1 = 이전 상태
  • xt = 현재 시점의 입력 벡터

특징[편집 | 원본 편집]

  • 순환 구조: 네트워크가 자신의 출력을 다시 입력으로 받는 구조를 가짐
  • 메모리 효과: 과거 시점의 정보를 은닉 상태(hidden state)에 저장하여, 순차적 데이터의 맥락을 고려할 수 있음
  • 역전파를 통한 학습: 시계열 데이터에 맞게 확장된 역전파 알고리즘(Backpropagation Through Time, BPTT)을 사용
  • 한계: 긴 시퀀스를 다룰 때 기울기 소실(vanishing gradient) 또는 기울기 폭발(exploding gradient) 문제가 발생하기 쉬움

변형 및 발전[편집 | 원본 편집]

  • LSTM (Long Short Term Memory)
    • 장기 의존성 문제를 완화하기 위해 고안된 구조로, 입력 게이트, 출력 게이트, 망각 게이트를 도입하여 중요한 정보는 오래 보존하고 불필요한 정보는 잊도록 설계됨
  • GRU (Gated Recurrent Unit)
    • LSTM을 단순화한 구조로, 계산량이 적고 비슷한 성능을 보이는 경우가 많음
  • 양방향 RNN (Bidirectional RNN)
    • 순방향과 역방향의 두 개 RNN을 결합하여, 과거와 미래 문맥을 동시에 고려

활용[편집 | 원본 편집]

  • 자연어 처리
    • 기계 번역, 언어 모델링, 감정 분석, 음성 인식 등에 활용
  • 시계열 데이터 분석
    • 주가 예측, 센서 데이터 해석, 시계열 패턴 인식
  • 영상 처리
    • 연속된 프레임을 고려해야 하는 행동 인식, 비디오 캡셔닝

같이 보기[편집 | 원본 편집]

참고 문헌[편집 | 원본 편집]

  • Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press.
  • Michael A. Nielsen, Neural Networks and Deep Learning, Determination Press.

각주[편집 | 원본 편집]