Recurrent Neural Network
위 식에서 이전 time step에 dependency 가 있기 때문에 cpu처럼 computing이 엄청 느려짐
RNN은 레이어 많이 쌓는다고 성능 늘어나지 않고 성능이 떨어지기도 한다 (scalability가 떨어짐)
RNN의 Encoder Decoder 모델은 encoder의 final hidden state를 context vector로 이용하여 decoder에게 제공하는 것이다
However, each decoder time step depends on the same encoder embedding. Attention solves these issues

A model suitable for a time series data like sequential data. RNN은 vector 정보를 Context Vector로 Autoregressive 하게 섞는다
순차성때문에 병렬화가 안되어 대규모 데이터셋 학습이 불가능하고 Long-term dependency 문장이 길어질 경우 앞 단어의 정보를 잃어버리게. 그래도 Fully Connected Layer 보단 낫다
RNN 구조적으로 고정 길이의 hidden state 벡터에 모든 단어의 의미를 담아야 하기 때문에 문장이 길어지면 모든 단어 정보를 고정 길이 벡터에 담기 어렵다. 근데 그건 Transformer model도 똑같은데, 전체 dimension을 늘려서 전체 계산 전부 늘어나니 Multi-head Attention이 Bottleneck layer역할을 하는 것
Input Seq’s information lost so 보정하기 위해 Attention Mechanism 사용
Transformer Model은 어텐션을 RNN의 보정을 위한 용도로서 사용하는 것이 아니라 (원래는 긴 text에 대해서 중요한 부분만 집중하려고 rnn에서 도입된 마지막 hidden state만 이용하는 게 아니라 유사도만큼만 각각의 token hidden state를 모두 병렬적으로 고려하는 테크닉) 인코더 디코더에도 사용하게 함. 즉 Decoder only Transformer model은 RNN의 autoregressive property의 방향성은 맞았다는 말. Transformer model은 RNN의 그런 직렬성을 없엠
RNN Notion
RNNs

Andrej Karpathy
The Unreasonable Effectiveness of Recurrent Neural Networks
Musings of a Computer Scientist.
https://karpathy.github.io/2015/05/21/rnn-effectiveness/
[딥러닝] 언어모델, RNN, GRU, LSTM, Attention, Transformer, GPT, BERT 개념 정리
언어모델에 대한 기초적인 정리
https://velog.io/@rsj9987/딥러닝-용어정리
![[딥러닝] 언어모델, RNN, GRU, LSTM, Attention, Transformer, GPT, BERT 개념 정리](https://www.notion.so/image/https%3A%2F%2Fimages.velog.io%2Fvelog.png?table=block&id=b13e00bd-d571-4e1d-9c8c-b32e9ae8bfb3&cache=v2)
07-1.순환 신경망(RNN, Recurrent Neural Network) - (1)
이번 포스팅은 교재, cs231n 강의를 가지고 공부한 것을 정리한 포스팅입니다. RNN에 대해 좀더 간략하게 알고 싶으신 분들은 아래의 링크를 참고하면 됩니다. 저번 포스팅인 에서는 이미지 데이터에 적합한 모델인 CNN에 대해 알아보았다. 이번 포스팅에서는 아래의 그림과 같이 자연어(NL, Natural Language)나 음성신호, 주식과 같은 연속적인(sequential) (time series) 데이터에 적합한 모델인 시계열 (Recurrent Neural Network)에 대해 알아보도록 하자.
https://excelsior-cjh.tistory.com/183

Seonglae Cho