📁 시계열 모델을 통한 파형 예측
📌 Recurrent Neural Network
- RNN은 시계열 데이터에 적용할 수 있는 대표적인 신경망 모델
📌 RNN 모델의 구현
- RNN에 데이터를 적용하기 위해 읽어온 데이터를 시계열 데이터 형식으로 변환해 주어야 함
- Window size: 하나의 data sequence를 구성하는 시간별 데이터의 개수
- 데이터의 전처리
- window size를 조절하여 sequence의 길이 조절
- interval를 조절하여 window 내 데이터 사이 시간 간격 조절
- stride를 조절하여 window 간 시간 간격 조절
📌 RNN 모델 한계
- Sequence가 길어지면 예전 데이터를 잘 기억하지 못함
- Short-term memory problem
- Gradient vanishing problem
📌 LSTM (Long short-term memory)
- 대표적인 RNN 기반 신경망 모델
- RNN의 short-term memory를 완화
- 중요한 부분만 기억하고, 중요하지 않은 부분은 삭제
📌 LSTM 구조
- 3개 변수
- Cell state $(C_i)$: $i$ 시간까지 기억하고 있는 기억 메모리
- Hidden state $(H_i)$: $i$ 시간에서의 모델 출력 값
- Input $(X_i)$ : $i$ 시간에서의 입력 값
- 3개 게이트
- Forget gate
- $F_{t-1}=C_{t-1}\times sigmoid(f_i(X_t, h_{t-1}))$
- 0: 이전 기억을 지워라
- 1: 이전 기억을 유지해라
- Input gate
- $I_t=sigmoid(f_2(X_t, h_{t-1}))\times tanh(f_3(X_t, h_{t-1}))$
- 0: 새로운 데이터를 지워라
- 1: 새로운 데이터를 반영해라
- Cell state update
- $C_t=F_{t+1}+I_t$
- 이전 기억과 새로운 데이터의 조합
- Output gate
- $h_t=sigmoid(f_4(X_t, h_{t-1}))\times tanh(C_t)$
- $t$ 에서의 출력 값으로 중요하면 1, 중요하지 않으면 0
- Forget gate
📌 GRU (Gated Recurrent Unit)
- LSTM과 더불어 대표적인 RNN 기반 신경망 모델
- LSTM과 동등한 성능을 보이지만, 모델의 weight 수가 더 적어 효율적
- LSTM의 3개 gate를 2개로 줄임
📌 GRU의 구조
- Reset gate
- $R_t=sigmoid(f_1(X_t, h_{t-1}))\times h_{t-1}$
- 이전 기억에서 지워야 할 부분을 결정
- Update gate
- LSTM의 forget gate와 input gate의 역할과 유사
- 이전 기억에서 지워야 할 부분이 새로운 데이터에서 가져와야 할 부분과 같다는 intuition
- $z_t=sigmoid(f_2(X_t, h_{t-1}))$
- $h_t=(1-z_t)\times h_{t-1}+z_t\times tanh(f_3(R_t,X_t))$
📌 LSTM과 GRU의 성능 비교
- GRU가 LSTM보다 메모리에서 효율적
- GRU가 같은 학습 parameter 수로 hidden state의 차원을 더 크게 설정할 수 있음
- 비슷한 parameter수로 설정한 GRU와 LSTM의 성능은 학습 데이터에 따라 상이
'Experience > SKADA' 카테고리의 다른 글
[SKADA] DRAM 내부 회로의 파형 예측 (4) (0) | 2024.07.16 |
---|---|
[SKADA] DRAM 내부 회로의 파형 예측 (2) (0) | 2024.07.16 |
[SKADA] DRAM 내부 회로의 파형 예측 (1) (0) | 2024.07.16 |
[SKADA] 통신 Core 장비에 대한 이상 징후 감지 (6) (0) | 2024.07.15 |
[SKADA] 통신 Core 장비에 대한 이상 징후 감지 (5) (2) | 2024.07.15 |