티스토리 뷰

728x90
반응형

입력이 가변적이고 순차적인 sequential data인 경우 RNN을 사용한다. RNN순차적인 데이터가 입력이나 출력으로 사용된다는 특징을 가지고 있다. feed-forward neural network의 일종이며 매개변수 공유를 통해 매개 변수 학습의 비용이 적다는 특징을 가지고 있다. 명칭에서 알 수 있듯이 이전 은닉층의 출력을 다음 은닉층의 입력으로 반복하여 사용한다. 출력층의 출력이 은닉층의 입력으로 공급되는 경우도 있다.(teacher forcing) 은닉층의 출력이 이전 은닉층의 입력으로 되돌아가는 경우도 있다. 대표적인 예로 Encoder-Decoder Architecture,  Deep RNN가 있다.


RNNfeed-forward neural network로서 기울기 하강 방식으로 학습시킬 수 있다.(BPTT, backpropagation through time) 이때 매개변수들은 여러 step에서 공유된다.

딥러닝의 경우 backpropagation을 통해 학습시키면 기울기 값이 소멸하는 문제가 발생한다. RNN의 경우 멀리 떨어져 있는 요소끼리 큰 연관성을 가질 수 있지만 기울기 소멸 문제로 인해 그러한 영향력을 반영하기 힘들다. Long-term dependency 문제를 해결하기 위해 gated RNN(gate : 입력값에 따라 01 사이의 값을 가지며, layer간 정보 전달의 여부를 결정하는 요소)이 제안되었고, 그 중 대표적인 모델로 LSTMGRU가 있다.

 


LSTM(Long Short Term Memory)3개의 gate(input gate, forget gate, output gate)를 가지는 모델로 일반 RNN보다 4배의 매개변수를 학습시켜야 한다.

GRU2개의 gate(reset gate, update gate)를 가지며 일반 RNN보다 3배의 매개변수를 학습시켜야 한다.


RNN을 응용하는 대표적인 예로 언어 관련 모델(seq-to-seq), image captioning(one-to-many) 등이 있다.

 

728x90
반응형
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함