Kim Seon Deok
RNN 기초 본문
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 |