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)] 중 잊어버려야 하는 정보 선정
Input gate
- 해당 step(t)에 입력된 데이터([h(t-1), X(t)] 중 중요한 정보 선정
Output gate
- Forget gate와 Input gate를 거친 Cell State와 해당 step에 입력된 데이터([h(t-1), X(t)]를 분석하여, 다음 step으로 전달한 context(h(t)) 생성
Tensorflow 2.0 에서의 LSTM
- units: 퍼셉트론의 개수
- activation: 활성화 함수
- recurrent_activation: gate값들에 적용할 활성화 함수
- return_sequences: 매 step마다 h값을 output할 지 정하는 boolean
- return_stae: 분석이 끝난 후, state를 추가적으로 반환할 지 정하는 boolean
tf.keras.layers.LSTM(
units, activation='tanh', recurrent_activation='sigmoid',
return_sequences=False, return_state=False,
**kwargs
)
'프로젝트 > 코드프레소 체험단' 카테고리의 다른 글
시계열 데이터 처리를 위한 RNN 완벽 가이드 - LSTM 모델을 이용한 영화리뷰 데이터셋 분류 모델 구현 (0) | 2022.03.26 |
---|---|
시계열 데이터 처리를 위한 RNN 완벽 가이드 - GRU 모델 (0) | 2022.03.24 |
시계열 데이터 처리를 위한 RNN 완벽 가이드 - RNN 모델의 한계와 장기의존성 문제 (0) | 2022.03.21 |
시계열 데이터 처리를 위한 RNN 완벽 가이드 - 영화리뷰 데이터셋 분류 모델 구현 (0) | 2022.03.20 |
시계열 데이터 처리를 위한 RNN 완벽 가이드 - Keras의 SimpleRNN API (0) | 2022.03.16 |