Kim Seon Deok

RNN 기초 본문

AI/Deep Learning

RNN 기초

seondeok 2021. 11. 19. 22:06

Sequential data : sequence를 갖고있는 data >> 이전 data가 이후 data에 영향을 미침

RNN(Recurrent Neural Network)

-딥러닝 구조 중 하나

-가변적 길이의 연속적인 시퀀스 input 데이터를 처리하기 위해 고안된 모델

-이웃한 데이터간의 연관성을 표현

-'기억'을 뜻하는 'hidden state'를 가지고 있음

-새로운 입력이 들어올 때마다 기억을 조금씩 수정

-RNN은 추가된 input(xt)과 과거의 정보(ht-1)을 조합해, 새로운 정보(ht)를 생성

-원하는 시점에 생성된 정보(ht)를 통해 task를 수행 >> task에 따라서 yt가 필요한 / 필요하지 않은 경우가 달라짐

-input과 이전 state를 선형변환하여 결합한 후 activation으로 주로 tanh함수 적용

 >> tanh : 같은 w의 중첩연산인 recurrent 구조로 인한 발산의 우려를 막아줌

                 

RNN예시

test단계에서는 다음 단어를 추론하고 해당 단어가 다음의 입력으로 들어감

 

Bidirectional RNN                                                                                                                               -앞쪽에 들어온 입력의 내용흔 뒤로 인코딩 과정이 진행될수록 희석된다. >> 반대방향으로도 인코딩을 진행

forward와 backward 방향의 hidden layer를 concat시켜서 사용

단순한 forward RNN보다 1~2% 성능 향상

RNN의 한계

long-term dependency

중요한 정보가 recurrent step이 계속됨에 따라 희석되는 문제 >> 정보가 계속해서 업데이트 되므로, 초반의 정보들이 희석됨.

Long short - term memory(LSTM)

long-term dependency 문제 해결

중요한 정보만 cell에 정보를 저장해 이를 다음 state에 전달 >> 정보들은 gate에 의해서 선택됨.

 

'AI > Deep Learning' 카테고리의 다른 글

1. Back propagation  (0) 2022.01.21
딥러닝 학습방법론  (0) 2021.11.23
딥러닝 기초이론 학습의 과정-2 : Loss and Gradient  (0) 2021.11.23
1. 딥러닝 학습 기초  (0) 2021.11.22
LSTM  (0) 2021.11.20
Comments