60

LSTM 기반 RUL 예측 (PyTorch)

Day 4: RUL 예측 (잔여수명 예측)

학습 목표

LSTM으로 시계열 센서 데이터에서 RUL을 예측할 수 있다 시퀀스 윈도잉으로 학습 데이터를 구성할 수 있다 학습 루프와 Validation을 구현하고 예측 결과를 시각화할 수 있다

LSTM RUL 예측

센서 시퀀스를 입력으로 RUL(숫자)을 출력하는 회귀 모델.

데이터 구성

[시퀀스 윈도잉]

원본: cycle 1, 2, 3, ..., 200 (엔진 1대)

window_size = 30

Sample 1: [cycle 1~30]   → RUL at cycle 30
Sample 2: [cycle 2~31]   → RUL at cycle 31
...
Sample N: [cycle 171~200] → RUL at cycle 200 (=0)

각 sample shape: (30, 8)  → 30 timesteps x 8 sensors

LSTM 구조

Input: (batch, seq_len=30, features=8)
  ↓
LSTM(8, 64, num_layers=2, bidirectional=True)
  ↓
last hidden: (batch, 128)
  ↓
FC(128, 32) + ReLU + Dropout
  ↓
FC(32, 1)  → RUL (회귀)

아래 코드를 lstm_rul.py로 저장하고 실행하세요.

에디터 로딩 중...
힌트 보기
  • 시퀀스 윈도잉 시 RUL은 윈도우 마지막 시점의 값을 사용한다
  • Bidirectional LSTM이 단방향보다 RUL 예측에 효과적이다
  • ReduceLROnPlateau로 학습률을 자동 조절하면 수렴이 안정적이다
  • 예측값을 [0, 125] 범위로 클리핑하는 것을 잊지 않는다
AI로 학습하기 — 꿀팁
LSTM RUL 시퀀스 구성 검증AI 학습 팁

AI에게 LSTM RUL 예측 코드의 시퀀스 윈도잉에서 미래 데이터가 과거 윈도우에 유입되는 타임 리크를 탐지해달라고 요청하세요.

이 PyTorch LSTM RUL 예측 코드에서 시퀀스 윈도잉 로직을 검토해줘. (1) 각 윈도우의 마지막 타임스텝이 예측 대상 레이블(RUL)과 겹치는 타임 리크 여부, (2) 엔진 ID 경계에서 윈도우 혼합 여부, (3) 배치 생성 시 순서 셔플이 시계열 연속성을 깨는지 확인하고 수정 방안을 제안해줘.
이 팁이 도움이 됐나요?