RNN (Recurrent Neural Network)

I. 순환 신경망, RNN

가. RNN (Recurrent Neural Network)의 개념

  • 음성인식, 자연어 등 현재 입력 데이터와 과거 데이터를 고려하여 순차 데이터를 처리하는 순환 신경망 모델

나. RNN의 특징

과거-미래
영향 구조
– 루프 구조를 통해 과거의 데이터가 미래에 영향을 줄 수 있는 구조
경사 하강법– 함수의 기울기로 최소값 탐색 알고리즘
– 2, 3차원 알고리즘 통해 지역 최소값 결정

 

II. RNN 구성도 및 구성요소

가. RNN의 구성도

나. RNN의 구성요소

구성요소설명
시간– 순차적으로 연결된 시간의 흐름
입력– 해당 시간에 입력된 자극이나 입력 값
은닉 계층– 시간 경과 후 재사용 위해 저장한 배열 정보
출력– 이전 상태와 입력 값을 연산하여 나온 결과
  • 음성인식, 언어 모델링, 번역, 이미지 캡셔닝 등에 활용
  • 초기 RNN은 시간 순서상 갭이 커질수록, 과거와 현재 두 정보 연결이 어려우므로 장기 의존성 문제 해결 위한 LSTM 개발
  • BPTT(Back Propagation Through Time), LSTM(Long Shot Term Memory), GRU(Gate Recurrent Unit) 등 사용
  • BackPropagation Trough Time : 백프로퍼게이션을 자기자신으로 오는 weight에 대해서도 n번의 시간만큼 학습시키는 것.(MLP에서의 input weight는 당연히 학습하고, 추가로 타임에대해서도 누적시켜서 n번 에러를 전파함.)

 

III. RNN 대표 알고리즘, LSTM (Long Short Term Memory)

가. LSTM 구성도

나. LSTM의 구성요소

구분설명
셀 스테이트– 정보가 다음 단계로 전달되게하는 선형 체인
게이트– 정보들이 선택적으로 들어가도록 하는 장치
시그모이드
레이어
– 각 요소가 얼마의 영향을 주게 되는지 결정
– 0: 결과에 영향X, 1: 미래 결과에 확실한 영향
  • 시그모이드 레이어가 게이트를 통해 셀 스테이트에 영향을 주어 과거의 데이터를 현재에 비추어 판단 가능
3 Comments

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^