Recurrent Neural Network(RNN) Model
왜 RNN을 사용해야하는건지?
- Inputs, Outputs can be different lengths in different examples. (데이터의 고정적이지않은 길이에도 학습이 가능함)
- Doesn't share features learned across different positions of text. (특정위치에 특징점을 잡지않고 유동적이게 특징점을 잡아줌. 이건 CNN에도 동일하다)
Forward Propagation
forward propagation의 과정은 위와같고, 공식은 아래와같다. 기본적으로 제일처음의 activation함수값(a<0>)은 0으로 설정한다고한다.
그럼 들어있는 파라미터는 Wa,, ba, by인것같다.
a의 길이가 100이라면 Waa는 (100, 100) 크기가되고
x의 길이가 10000이라면 Wax는 (100, 10000) 크기가된다.
따라서 Wa는 두 Waa, Wax길이를 합친 (100, 10100)이 된다.
[Wax|Waa] = Wa 의 shape (100, 10100)
[a<t-1> , X<t>] 의 길이 (10100)
이렇게 해야지만 [Wax|Waa] * [a<t-1> , x<t>] 가 Waa * a<t-1> + Wax * x<t>와 동일하게된다
Backward Propagation
TBD
Summary of RNN types
Many to One => Sentiment Classification
One to many => Music Generation
Many to Many => Machine Translation - 앞부분은(출력이없는) encoder, 뒷부분(출력있는건) decoder
Vanishing gradients with RNNs
RNN은 모델의 깊이가 길어졌을때, back propagation에서 weight값이 너무작아지거나, 너무 커지는 현상이 생겨서 정확한 정보가 전달이 안되는(학습 능력이 저하되는) 한계점이있음. 따라서 GRU나 LSTM을 사용하게됨
Recurrent Neural Network(RNN), Gated Recurrent Unit(GRU), Long Short Term Memory(LSTM)
- RNN
- LSTM
- GRU
Word Embedding
문자를 표현하는 방법에는 one-hot encoding방법이외에, 해당단어가 주어진 데이터셋에서 얼마나 유의미하게 관계가있는지 변수로 나타내는 방법인 Word Embedding방법이있다
에를들어서
Man:Woman -> King:Queen 같이
Man과 King은 유사한 값을 갖게하고 Woman과 Queen은 유사한 값을 갖게하는것이다
'Data > Data Science' 카테고리의 다른 글
Normalization, Regularization, Standardization (0) | 2020.11.14 |
---|---|
[Kaggle] Kaggle에 pyspark 설치하기 (0) | 2020.11.04 |
[deeplearning.ai] Convolution Neural Network (0) | 2020.09.18 |
[deeplearning.ai] Structuring Machine Learning Projects (0) | 2020.09.06 |
[HMM] Hidden Markov Models (0) | 2020.08.28 |