본문 바로가기
AI 공부

LSTM 딥러닝 (모델)

by concho 2023. 10. 3.

AI 모델 개요

이 AI 모델은 PyTorch 라이브러리를 사용하여 구현되었으며, MIMIC-IV 데이터셋을 이용하여 ICU 환자의 예후(사망 위험)을 예측하는 모델입니다. 본 모델은 시퀀스 데이터 처리에 효율적인 LSTM(Long Short-Term Memory) 신경망을 활용해 개발되었으며, 각 환자의 연속적인 데이터를 입력으로 받아 사망 위험을 예측합니다.

 

LSTM 구조에 대한 간략한 설명 

 

2. 정적 데이터의 변환

  • 정적 데이터는 3D 텐서 형태로 변환되어 LSTM과 함께 처리될 수 있도록 준비됩니다.
  • 오버샘플링이 적용된 훈련 데이터와 그렇지 않은 테스트 데이터가 각각 준비됩니다.

3. DualInputModel 클래스

  • DualInputModel은 시계열 데이터와 정적 데이터를 동시에 처리할 수 있는 네트워크 구조를 가지고 있습니다.
  • nn.LSTM을 사용하여 시계열 데이터를 처리합니다. LSTM의 아웃풋과 정적 데이터가 결합되어 Fully Connected Layer로 전달됩니다.
  • forward 메서드에서 시계열 데이터는 LSTM을 거쳐 특정 시점의 아웃풋만 추출되고, 이 아웃풋과 정적 데이터가 결합된 후 Fully Connected Layer로 전달됩니다.

모델의 동작 방식:

  1. 시계열 데이터는 LSTM 레이어를 통해 처리됩니다. LSTM은 시계열 데이터의 순서와 패턴을 학습하여 해당 정보를 내장합니다.
  2. 시계열 데이터의 처리 결과와 정적 데이터는 결합되어 Fully Connected Layer로 전달됩니다. 이 과정에서 두 유형의 데이터가 함께 처리됩니다.
  3. Fully Connected Layer는 결합된 데이터를 처리하여 최종 아웃풋을 생성합니다. 여기서 ReLU 활성화 함수와 시그모이드 활성화 함수가 사용됩니다.
  4. 최종 아웃풋은 이진 분류 문제를 해결하기 위해 사용되며, 이를 기반으로 손실을 계산하고 모델을 업데이트합니다.

장점:

  • 시계열 데이터와 정적 데이터를 동시에 처리할 수 있어, 두 유형의 데이터에서 정보를 동시에 추출하고 활용할 수 있습니다.
  • LSTM을 사용하여 시계열 데이터의 복잡한 패턴과 종속성을 학습할 수 있습니다.

이 코드를 통해, 복잡한 데이터 구조와 패턴을 가진 실제 문제 상황에서 딥 러닝 모델을 효과적으로 적용하고 활용할 수 있습니다.

그림 출처: https://dgkim5360.tistory.com/entry/understanding-long-short-term-memory-lstm-kr

 

개발 환경 및 실행 방법

개발 환경

  • 플랫폼: Google Colab - 클라우드 기반의 주피터 노트북 개발 환경
  • 프로그래밍 언어: Python
  • 핵심 라이브러리:
    • PyTorch: 딥 러닝 모델 구현 및 훈련
    • Scikit-learn: 데이터 전처리 및 오버샘플링
    • Numpy: 데이터 처리

코드 설명

  • PatientDataset 클래스: PyTorch의 Dataset 클래스를 상속받아 환자 데이터를 로딩하는 용도로 사용됩니다. 학습 및 테스트 데이터를 PyTorch DataLoader에 적합한 형태로 변환합니다.
  • LSTMModel 클래스: LSTM 기반의 신경망 모델을 정의합니다. LSTM 레이어 다음에 Fully Connected 레이어가 연결되어 있어, 시퀀스 데이터의 특성을 학습한 후 최종 예측을 출력합니다.
  • 손실 함수 및 옵티마이저: Binary Cross-Entropy 손실 함수와 Adam 옵티마이저를 사용하여 모델을 훈련합니다.

이 환경에서 본 모델은 시퀀스 길이, 피처의 개수 등을 고려하여 다양한 ICU 환자 데이터에 대해 예후를 정확하게 예측할 수 있습니다.

'AI 공부' 카테고리의 다른 글

Colab  (0) 2023.10.04
LSTM 딥러닝(데이터 전처리)  (0) 2023.10.03
LSTM 딥러닝(결과)  (1) 2023.10.03
MIMIC 4 data set  (0) 2023.09.26

댓글