Giter Site home page Giter Site logo

microdegree23's Introduction

๐Ÿ’ป ๋”ฅ๋Ÿฌ๋‹์„ ํ™œ์šฉํ•œ ์ €ํ˜ˆ์•• ๋ฐ ์‹ค์ œ ํ˜ˆ์•• ์˜ˆ์ธก

[Introduction]

  • ๋ณธ ํ”„๋กœ์ ํŠธ๋Š” ์นด์ด์ŠคํŠธ GSDS ๊ธฐ์ดˆ๊ธฐ๊ณ„ํ•™์Šต ๋งˆ์ดํฌ๋กœ๋””๊ทธ๋ฆฌ ํ”„๋กœ๊ทธ๋žจ ๋‚ด ์บก์Šคํ†ค ๊ณผ๋ชฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณธ ํ”„๋กœ์ ํŠธ๋Š” 2020๋…„์— ๋ฐœํ–‰๋œ <Deep learning models for the prediction of intraoperative hypotension> ๋…ผ๋ฌธ์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ, ๋…ผ๋ฌธ์—์„œ ์„ค๋ช…ํ•˜๋Š” ๋ชจ๋ธ์„ ์ง์ ‘ ๊ตฌํ˜„ ๋ฐ ์‹คํ—˜ ํ•˜๋Š” ๋ฐ์— ๋ชฉ์ ์„ ๋‘ก๋‹ˆ๋‹ค.

[Team Members]

๋ฐ•์„ฑ์•„ ๋ฐ•ํ˜œ๋‚˜ benjamin ์ด์Šนํ˜ธ

[Deep learning models for the prediction of intraoperative hypotension]

์—ฐ๊ตฌ ๋ชฉ์ 

  • ์ˆ˜์ˆ  ์ค‘ ์ €ํ˜ˆ์•• ์ƒํƒœ๊ฐ€ ์žฅ๊ธฐ๊ฐ„ ์œ ์ง€๋˜๋ฉด, ์ˆ˜์ˆ  ํ›„ ํ•ฉ๋ณ‘์ฆ ์œ ๋ฐœ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์•„์ง
  • ๋”ฐ๋ผ์„œ ๋”ฅ๋Ÿฌ๋‹์„ ํ†ตํ•ด ์ˆ˜์ˆ  ์ค‘ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ™˜์ž์˜ ํ˜ˆ์•• ๋ฐ ์ €ํ˜ˆ์•• ์ƒํƒœ๋ฅผ ์˜ˆ์ธกํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋ธ ๊ฐœ๋ฐœ์ด ๊พธ์ค€ํžˆ ์ง„ํ–‰๋˜๊ณ  ์žˆ์Œ

์—ฐ๊ตฌ ๊ฒฝํ–ฅ

  • ์ด์ „๊นŒ์ง€๋Š” ๋™๋งฅ์•• ํŒŒํ˜•(ABP)์„ ํ™œ์šฉํ•˜์—ฌ ์ €ํ˜ˆ์••์„ ์˜ˆ์ธกํ•˜๋Š” ์—ฐ๊ตฌ๊ฐ€ ์ฃผ๋ฅผ ์ด๋ฃธ
  • ๊ทธ๋Ÿฌ๋‚˜ ํ˜ˆ์—ญํ•™์  ๋ณ€ํ™”๋Š” ์‹ฌ์ „๋„ ๋ฐ ํ˜ธํกํŒŒํ˜•๊ณผ๋„ ์—ฐ๊ด€์ด ์žˆ๊ธฐ์— ํ˜„์žฌ๋Š” ๊ด‘ํ˜ˆ๋ฅ˜์ธก์ •(PPG), ์‹ฌ์ „๋„(ECG), ํ˜ธํก์‹œ ์ด์‚ฐํ™”ํƒ„์†Œ๋ฅผ ๋‚ด๋ฑ‰๋Š” ์–‘(CO2)์„ ํ™œ์šฉ
  • ๋˜ํ•œ ABP๋ฅผ ํ™œ์šฉํ•˜์ง€ ์•Š๋Š” ๋น„์นจ์Šต์ ์ธ(non-invasive)์ธก์ • ๋ฐ์ดํ„ฐ(PPG,ECG,CO2)๋งŒ์„ ํ™œ์šฉํ•˜์—ฌ ์ €ํ˜ˆ์•• ๋ฐ ์‹ค์ œํ˜ˆ์••์„ ์˜ˆ์ธกํ•  ์‹œ๋„

๋ชจ๋ธ ์œ ํ˜•

  • ๋ฐ์ดํ„ฐ(ํŒŒํ˜•) ์ข…๋ฅ˜ ๊ธฐ์ค€
    • Invasive : ABP(๋™๋งฅ์•• ํŒŒํ˜•)์„ ํ™œ์šฉ
    • non-invasive : ๊ทธ ์™ธ PPG, ECG, CO2 ๋งŒ์„ ํ™œ์šฉ
  • ๋ฐ์ดํ„ฐ(ํŒŒํ˜•) ๊ฐœ์ˆ˜ ๊ธฐ์ค€
    • 1-channel : ํ•œ๊ฐ€์ง€ ํŒŒํ˜•๋งŒ ํ™œ์šฉ (ABP or PPG)
    • multi-channel : 3๊ฐ€์ง€ ์ด์ƒ์˜ ํŒŒํ˜•์„ ๋ชจ๋‘ ํ™œ์šฉ (ABP or PPG + PPG,ECG,CO2)

์‹คํ—˜ ์œ ํ˜•

  • classification : ์ˆ˜์ˆ  ์ค‘ ์ €ํ˜ˆ์•• ๋ฐœ์ƒ ์—ฌ๋ถ€ ํŒ๋‹จ (0 or 1)
  • regression : ํ™˜์ž์˜ ์‹ค์ œ ํ˜ˆ์•• ์ˆ˜์น˜ ์˜ˆ์ธก (MAP)

[VitalDB open dataset]

  • ์„œ์šธ๋Œ€๋ณ‘์›์—์„œ ์‹œํ–‰๋œ 6,388๊ฑด์˜ ์ˆ˜์ˆ ์— ๋Œ€ํ•ด intraoperative vital signs(์ˆ˜์ˆ  ์ค‘ ์ƒ์ฒด ์‹ ํ˜ธ), perioperative clinical information(์ˆ˜์ˆ  ์ „ํ›„ ์ž„์ƒ ์ •๋ณด), perioperative laboratory results(์ˆ˜์ˆ  ์ „ํ›„ ์‹คํ—˜ ๊ฒฐ๊ณผ) ์ˆ˜์ง‘

    • ๋ฐ์ดํ„ฐ ํ˜•ํƒœ : 500hz ๊ณ ํ•ด์ƒ๋„ waveform / 1-7์ดˆ ๊ฐ„๊ฒฉ์˜ numeric ํ˜•ํƒœ์˜ biosignal data
    • ์ˆ˜์ง‘ ๋ฐฉ๋ฒ• : vital recorder ํ™œ์šฉ
  • ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” VitalDB ์ˆ˜์ง‘ ๋ฐ์ดํ„ฐ ์ค‘ ๋„ค ๊ฐ€์ง€ ํŒŒํ˜•(ABP,ECG,PPG,CO2)์„ ๋ชจ๋‘ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜์ž ๋ฐ์ดํ„ฐ๋งŒ ํ™œ์šฉ

[Goal]

  • PPG ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•œ non-invasive 1-channel ๋ชจ๋ธ ๊ตฌํ˜„
  • classificationdmf, regression ์ˆ˜ํ–‰

[Data]

collection (sliding window)

Structure

  • X : ๊ธธ์ด 3000(30์ดˆ x 100Hz)์˜ PPG segment
  • Y : (classification) 0 or 1 / (regression) ํ™˜์ž MAP
  • c : ํ™˜์ž ๋ฒˆํ˜ธ (ํ•™์Šต X)
  • a : ํ™˜์ž ์—ฐ๋ น, ์„ฑ๋ณ„ ๋“ฑ (ํ•™์Šต X)

Preprocess

  • noise handling
    • case 1. segment ๋‚ด 0 ์ดํ•˜์ธ ๊ฐ’, np.nan ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ œ์™ธ
    • case 2. segment ๋‚ด peak์˜ ์ˆ˜๊ฐ€ 10๊ฐœ ์ดํ•˜์ธ ๊ฒฝ์šฐ ์ œ์™ธ
    • case 3. segment ๋‚ด beat์˜ ๊ธธ์ด๋“ค์˜ ํ‰๊ท ์„ ์ด์šฉํ•˜์—ฌ ๋ถˆ๊ทœ์น™์ ์ธ ํŒŒํ˜•๋“ค์€ ์ œ์™ธ
    • case 4. segment ๋‚ด beat ๋“ค์˜ ์ƒ๊ด€๊ด€๊ณ„๊ฐ€ 0.9 ๋ฏธ๋งŒ์ธ ๊ฒฝ์šฐ ์ œ์™ธ
  • normalization
    • segment์˜ minimum, maximum ๊ฐ’์„ ๊ณ ๋ คํ•˜์—ฌ ์ •๊ทœํ™”

final dataset

  • classification : 3,256 cases / 191,453 samples
  • regression : 3,112 cases / 290,148 samples

train/valid/Test

  • ํ™˜์ž ๋ฒˆํ˜ธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ถ„ํ• 

  • train : valid : test = 6 : 2 : 2

  • train / valid / test ๋ฐ์ดํ„ฐ๊ฐ„ label ๋ถ„ํฌ๊ฐ€ ์œ ์‚ฌํ•˜๋„๋ก ์„ค์ • (๋‹จ, ๋ฐ์ดํ„ฐ ๋ถˆ๊ท ํ˜• ์กด์žฌ)

    • (classification) non-hypotention / hypotention ์•ฝ 9 : 1 ๋น„์œจ
    • (regression) ๋‚ฎ์€ hypotension(MAP โ‰ค65 mm Hg) ๋น„์œจ



[Method]

Data

  • ์ž…๋ ฅ : 30์ดˆ x 100Hz ๊ธธ์ด์˜ PPG (Photoplethysmography) ๋ฐ์ดํ„ฐ
  • ์ถœ๋ ฅ : Hypotension for classification / MAP(ํ‰๊ท ๋™๋งฅ์••) for regression
    • Hypotension: (MAP โ‰ค65 mm Hg) lasting >1 min
    • Non-hypotension: (MAP > 65 mm Hg) stable for >20 min.

Model

  • basic CNN : ๋…ผ๋ฌธ์—์„œ ๊ตฌํ˜„ํ•œ 7-layer ๊ตฌ์„ฑ ๊ธฐ๋ฐ˜
  • LSTM(long short term memory) : ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ์šฉ ๋ชจ๋ธ
  • CNN+LSTM : ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์šฉ ๊ธฐ๋ฒ•์„ ์„  ์ ์šฉํ•œ ํ›„ ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ์šฉ ๊ธฐ๋ฒ•์„ ๋ณตํ•ฉ ์ ์šฉํ•œ ๋ชจ๋ธ
  • resnet34 : ๋Œ€ํ‘œ์ ์ธ CNN ๋ชจ๋ธ์ธ resnet์„ 1-dimention์œผ๋กœ ๊ตฌํ˜„ํ•œ ๋ชจ๋ธ (reference : https://github.com/hsd1503/resnet1d)

Criteria (fixed hyperparameter)

  • batch size : 128
  • epoch : 100 (+ early stopping)
  • Loss : (classification) BCE, (regression) L1, MSE
  • Evaluation : (classification) auc, recall / (regression) mae, r2 score
  • optimizer = adam / learning_rate = 1e-3 / schedular = None

[Result]

  • Best Model :

    • classificaion : CNN_basic / CNN+LSTM

    • regression : CNN+LSTM

    • But, ๋ชจ๋ธ๊ฐ„ ์ˆ˜์น˜๋„ ์ „์ฒด์ ์œผ๋กœ ๋‚ฎ์€ ๋ชจ์Šต

      • ๊ทผ๋ณธ์ ์ธ ๋ฐ์ดํ„ฐ ๋ถ„ํฌ๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ๋ณ€ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๋„๋ก data augmentation์ด ํ•„์š”
      • ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋ชจ๋ธ์— ๋Œ€ํ•œ ์„ธ๋ถ„ํ™”๋œ tuning ํ•„์š”



[Limitaions and Future works]

  • ๋…ผ๋ฌธ์„ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๊ณ , ๋…ผ๋ฌธ์—์„œ ์„ค๋ช…ํ•˜๋Š” ๋ชจ๋ธ ์™ธ ๋‹ค๋ฅธ ์œ ํ˜•์˜ ๋ชจ๋ธ๋„ ์‹คํ—˜ํ•ด ๋ด„์œผ๋กœ์จ ์ฐจ์ด๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐ์— ์˜๋ฏธ๋ฅผ ๋‘ 

  • ๋‹ค๋งŒ, ๋ชจ๋ธ ์ „๋ฐ˜์ ์œผ๋กœ ๋‚ฎ์€ ์„ฑ๋Šฅ ๊ฐœ์„  ํ•„์š” (especially classification task)

  • ์›์ธ : ์ €ํ˜ˆ์••์— ํ•ด๋‹นํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ˆ˜๊ฐ€ ๋ถ€์กฑ

    • classification : ๋ฐ์ดํ„ฐ ๋ถˆ๊ท ํ˜•
    • regression : ์˜ˆ์ธก๊ฐ’์˜ ๋ถ„ํฌ๊ฐ€ ๊ทน๋‹จ์ ์ธ t๋ถ„ํฌ ํ˜•ํƒœ๋ฅผ ์ทจํ•จ
  • ๊ฐœ์„  ๋ฐฉ์•ˆ

    • window size๋ฅผ ์กฐ์ ˆํ•˜์—ฌ label ๋น„์œจ์ด ์ ์ ˆํ•˜๋„๋ก ๋ฐ์ดํ„ฐ ์žฌ๊ตฌ์„ฑ
    • 1-dimension ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ฆ๊ฐ• ๊ธฐ๋ฒ•์„ ํ™œ์šฉํ•˜์—ฌ ์ €ํ˜ˆ์•• ๋ฐ์ดํ„ฐ ๋ณด์ถฉ
    • ๋ฐ์ดํ„ฐ ๋ถˆ๊ท ํ˜•์„ ์™„ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ฒ• ์ ์šฉ (Ex label smoothing ๊ธฐ๋ฒ•, ํด๋ž˜์Šค๋ณ„ weight ๊ฐ€์ค‘์น˜ ์กฐ์ ˆ ๋“ฑ)
    • ์˜๋ฃŒ ์‹ ํ˜ธ ๋ฐ์ดํ„ฐ์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ธฐ๋ฒ•, ๋ชจ๋ธ ๋ฐ hyperparameter ํƒ์ƒ‰ ๋ฐ ์ ์šฉ

Reference

microdegree23's People

Contributors

hyenagatha02 avatar parkseonga avatar 76stop avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.