GRU(Gated Recurrent Units) - RNN 모델의 장기의존성 문제를 해결하기 위한 방안 - LSTM 모델의 컨셉을 단순화시킨 모델 GRU 상세 구조 - GRU(Gated Recurrent Units)의 핵심 아이디어: Update Gate - Update Gate의 결과가 1이면 input gate 활성화, 0이면 forget gate 활성화 - 2개의 context([c(t), h(t)])가 h(t) 하나로 합쳐짐 - LSTM보다 학습 속도가 빠르고, 비슷한 수준의 성능을 보임 - Forget gate, Input gate Reset gate - 이전 step에서 전달된 context(h(t-1))에서 필요없는 정보를 초기화 Update gate - LSTM 모델의 Input gate와..
LSTM(Long Short Term Memory) - RNN 모델의 장기의존성 문제를 해결하기 위한 방안 - 기존 RNN 모델의 입출력이 각각 2개 였지만, LSTM을 추가하며 입출력이 각각 3개가 되었다. - 오래 가져가야하는 정보는 가져가고, 짧게 가져가야하는 정보는 뺀다.(컨베이어 벨트) LSTM 상세 구조 - LSTM(Long Short Term Memory)의 핵심 아이디어: Cell State - Cell state는 모델에 있어서 컨베이어 벨트와 같은 역할 - 각 step별로 입력되는 데이터와 달리, 모델의 전체 step에 걸쳐 정보 전달 - Forget gate, Input gate, Forget gate - 해당 step(t)에 입력된 데이터([h(t-1), X(t)] 중 잊어버려야 하..
RNN의 한계(장기의존성 문제 Long-term dependency) - 입력 데이터의 step이 길어질 경우, context에서 앞선 입력 데이터의 정보가 희미해지는 현상 - 근본적으로 Gradient Vanishing과 동일한 문제 - 입력 데이터의 step이 길어질수록 Fully Connected Layer를 깊게 쌓는 것과 동일한 문제 발생 장기의존성 예제 - Beverage from the Starbuck(스타벅스에서 파는 커피): 문장이 짧기 때문에, 스타벅스에서 커피를 예측할 수 있다. - I was born in Korea, my name is Cheol_Soo Kim, my height is 180, my weight is 80 kg, and I speak in my native lang..
tensorflow.keras.layers.SimpleRNN( units, activation='tanh', return_sequences=False, return_state=False, **kwargs ) ''' units : 퍼셉트론의 개수 activation : 활성화 함수, default는 tanh return_sequences : True면, 매 step마다 output을 출력하게 해준다. 하나의 층이 아닌, 여러 층의 모델을 만들려면 True로 설정, default는 False return_state : Trus면, 다음 layer로 output을 전달할 뿐만 아니라, 사용자가 따로 값을 쓸 수 있도록 출력, default는 False ''' * layer를 생성한 후에는 CNN 모델처럼 mo..