La spiegabilità dei modelli di machine learning (ML) utilizzati in ambito medico sta diventando sempre più importante perché i modelli devono essere spiegati da diverse prospettive per ottenere l'adozione. Queste prospettive spaziano dalla prospettiva medica, tecnologica, legale e, la più importante, quella del paziente. I modelli sviluppati su testo in ambito medico sono diventati accurati dal punto di vista statistico, ma i medici sono eticamente tenuti a valutare le aree di debolezza relative a queste previsioni al fine di fornire la migliore assistenza ai singoli pazienti. La spiegabilità di queste previsioni è necessaria affinché i medici possano fare le scelte corrette paziente per paziente.
In questo post, mostriamo come migliorare la spiegabilità del modello in contesti clinici utilizzando Amazon SageMaker Chiarire.
sfondo
Un'applicazione specifica degli algoritmi ML nel dominio medico, che utilizza grandi volumi di testo, sono i sistemi di supporto alle decisioni cliniche (CDSS) per il triage. Ogni giorno i pazienti vengono ricoverati negli ospedali e vengono presi i verbali di ammissione. Dopo aver preso queste note, viene avviato il processo di triage e i modelli ML possono assistere i medici nella stima dei risultati clinici. Ciò può contribuire a ridurre i costi operativi generali e a fornire un’assistenza ottimale ai pazienti. Comprendere perché queste decisioni sono suggerite dai modelli ML è estremamente importante per il processo decisionale relativo ai singoli pazienti.
Lo scopo di questo post è delineare come è possibile distribuire modelli predittivi Amazon Sage Maker ai fini del triage in ambito ospedaliero e utilizzare SageMaker Clarify per spiegare queste previsioni. L'intento è quello di offrire un percorso accelerato verso l'adozione di tecniche predittive all'interno dei CDSS per molte organizzazioni sanitarie.
Il taccuino e il codice di questo post sono disponibili su GitHub. Per eseguirlo da solo, clona il repository GitHub e apri il file del notebook Jupyter.
Background tecnico
Una grande risorsa per qualsiasi organizzazione sanitaria acuta sono le sue note cliniche. Al momento del ricovero all'interno di un ospedale vengono redatti i verbali di ricovero. Numerosi studi recenti hanno dimostrato la prevedibilità di indicatori chiave quali diagnosi, procedure, durata della degenza e mortalità ospedaliera. Previsioni di questi sono ora facilmente ottenibili solo dalle note di ammissione, attraverso l’uso di algoritmi di elaborazione del linguaggio naturale (NLP) [1].
I progressi nei modelli PNL, come le rappresentazioni di codificatori bidirezionali di Transformers (BERT), hanno consentito previsioni altamente accurate su un corpus di testo, come le note di ammissione, da cui in precedenza era difficile ottenere valore. La loro previsione degli indicatori clinici è altamente applicabile per l'uso in un CDSS.
Tuttavia, per poter utilizzare le nuove previsioni in modo efficace, è ancora necessario spiegare il modo in cui questi modelli BERT accurati riescono a raggiungere le loro previsioni. Esistono diverse tecniche per spiegare le previsioni di tali modelli. Una di queste tecniche è SHAP (SHapley Additive exPlanations), che è una tecnica indipendente dal modello per spiegare l'output dei modelli ML.
Cos'è SHAP
I valori SHAP sono una tecnica per spiegare l'output dei modelli ML. Fornisce un modo per scomporre la previsione di un modello ML e comprendere in che misura ciascuna funzionalità di input contribuisce alla previsione finale.
I valori SHAP si basano sulla teoria dei giochi, in particolare sul concetto di valori Shapley, originariamente proposti per distribuire la vincita di un gioco cooperativo tra i suoi giocatori [2]. Nel contesto del ML, ogni caratteristica nello spazio di input è considerata un giocatore in un gioco cooperativo e la previsione del modello rappresenta la vincita. I valori SHAP vengono calcolati esaminando il contributo di ciascuna caratteristica alla previsione del modello per ogni possibile combinazione di caratteristiche. Viene quindi calcolato il contributo medio di ciascuna caratteristica in tutte le possibili combinazioni di caratteristiche e questo diventa il valore SHAP per quella caratteristica.
SHAP consente ai modelli di spiegare le previsioni senza comprendere il funzionamento interno del modello. Inoltre, esistono tecniche per visualizzare queste spiegazioni SHAP nel testo, in modo che tutti i punti di vista medico e paziente possano avere una visibilità intuitiva su come gli algoritmi arrivano alle loro previsioni.
Con le nuove aggiunte a SageMaker Clarify e l'uso di modelli preaddestrati da Abbracciare il viso che sono facilmente utilizzabili e implementati in SageMaker, l'addestramento e la spiegabilità del modello possono essere eseguiti facilmente in AWS.
Ai fini di un esempio end-to-end, prendiamo l'esito clinico della mortalità intraospedaliera e mostriamo come questo processo può essere implementato facilmente in AWS utilizzando un modello BERT Hugging Face pre-addestrato e le previsioni verranno spiegate utilizzando SageMaker Chiarire.
Scelte del modello Hugging Face
Hugging Face offre una varietà di modelli BERT pre-addestrati specializzati per l'uso su note cliniche. Per questo post utilizziamo il file bigbird-base-mimica-mortalità modello. Questo modello è una versione perfezionata del modello BigBird di Google, specificamente adattato per prevedere la mortalità utilizzando le note di ammissione al MIMIC ICU. Il compito del modello è determinare la probabilità che un paziente non sopravviva a un particolare ricovero in terapia intensiva sulla base delle note di ricovero. Uno dei vantaggi significativi dell'utilizzo di questo modello BigBird è la sua capacità di elaborare contesti di maggiore lunghezza, il che significa che possiamo inserire le note di ammissione complete senza la necessità di troncarle.
I nostri passaggi prevedono la distribuzione di questo modello ottimizzato su SageMaker. Incorporiamo quindi questo modello in una configurazione che consente la spiegazione in tempo reale delle sue previsioni. Per raggiungere questo livello di spiegabilità, utilizziamo SageMaker Clarify.
Panoramica della soluzione
SageMaker Clarify fornisce agli sviluppatori di ML strumenti specifici per ottenere maggiori informazioni sui dati e sui modelli di addestramento ML. SageMaker Clarify spiega sia le previsioni globali che locali e spiega le decisioni prese dai modelli di visione artificiale (CV) e PNL.
Il diagramma seguente mostra l'architettura SageMaker per ospitare un endpoint che serve richieste di spiegazione. Include le interazioni tra un endpoint, il contenitore del modello e la spiegazione di SageMaker Clarify.
Nel codice di esempio utilizziamo un notebook Jupyter per mostrare la funzionalità. Tuttavia, in un caso d'uso reale, le cartelle cliniche elettroniche (EHR) o altre applicazioni di assistenza ospedaliera invocherebbero direttamente l'endpoint SageMaker per ottenere la stessa risposta. Nel notebook Jupyter distribuiamo un contenitore del modello Hugging Face su un endpoint SageMaker. Quindi utilizziamo SageMaker Clarify per spiegare i risultati che otteniamo dal modello distribuito.
Prerequisiti
Sono necessari i seguenti prerequisiti:
Accedi al codice da Repository GitHub e caricalo sull'istanza del tuo notebook. È anche possibile eseguire il notebook in un formato Amazon Sage Maker Studio ambiente, che è un ambiente di sviluppo integrato (IDE) per lo sviluppo ML. Ti consigliamo di utilizzare un kernel Python 3 (Data Science) su Sage Maker Studio o un kernel conda_python3 su un'istanza notebook SageMaker.
Distribuisci il modello con SageMaker Clarify abilitato
Come primo passo, scarica il modello da Hugging Face e caricalo su un file Servizio di archiviazione semplice Amazon (Amazon S3) secchio. Quindi crea un oggetto modello utilizzando la classe HuggingFaceModel. Utilizza un contenitore predefinito per semplificare il processo di distribuzione dei modelli Hugging Face su SageMaker. Utilizzi anche uno script di inferenza personalizzato per eseguire le previsioni all'interno del contenitore. Il codice seguente illustra lo script passato come argomento alla classe HuggingFaceModel:
Quindi puoi definire il tipo di istanza su cui distribuire questo modello:
Poi popoliamo ExecutionRoleArn
, ModelName
ed PrimaryContainer
campi per creare un modello.
Successivamente, crea una configurazione endpoint chiamando il file create_endpoint_config
API. Ecco, fornisci lo stesso model_name
Utilizzata nella create_model
Chiamata API. IL create_endpoint_config
ora supporta il parametro aggiuntivo ClarifyExplainerConfig
per abilitare la spiegazione di SageMaker Clarify. La linea di base SHAP è obbligatoria; è possibile fornirli come dati di base in linea (il parametro ShapBaseline) o tramite un file di base S3 (il parametro ShapBaselineUri). Per i parametri opzionali, vedere la guida per gli sviluppatori.
Nel codice seguente utilizziamo un token speciale come base:
TextConfig è configurato con granularità a livello di frase (ogni frase è una funzionalità e abbiamo bisogno di alcune frasi per recensione per una buona visualizzazione) e la lingua è l'inglese:
Infine, dopo aver pronto la configurazione del modello e dell'endpoint, utilizzare il file create_endpoint
API per creare il tuo endpoint. IL endpoint_name
deve essere univoco all'interno di una regione nel tuo account AWS. IL create_endpoint
L'API è di natura sincrona e restituisce una risposta immediata con lo stato dell'endpoint nello stato Creazione.
Spiega la previsione
Ora che hai distribuito l'endpoint con la spiegabilità online abilitata, puoi provare alcuni esempi. Puoi richiamare l'endpoint in tempo reale utilizzando il file invoke_endpoint
metodo fornendo il payload serializzato, che in questo caso è costituito da alcune note di ammissione di esempio:
Nel primo scenario, supponiamo che la seguente nota di ricovero medico sia stata redatta da un operatore sanitario:
Lo screenshot seguente mostra i risultati del modello.
Dopo che questo è stato inoltrato all'endpoint SageMaker, l'etichetta è stata prevista come 0, il che indica che il rischio di mortalità è basso. In altre parole, 0 implica che il paziente ricoverato è in condizioni non acute secondo il modello. Tuttavia, abbiamo bisogno del ragionamento alla base di tale previsione. Per questo, puoi utilizzare i valori SHAP come risposta. La risposta include i valori SHAP corrispondenti alle frasi della nota in input, che possono essere ulteriormente codificati a colori come verde o rosso in base a come i valori SHAP contribuiscono alla previsione. In questo caso, vediamo più frasi in verde, come "Il paziente non riferisce alcuna storia precedente di dolore toracico" e "L'ECG mostra tachicardia sinusale senza sopraslivellamenti o sottoslivellamenti del tratto ST", rispetto al rosso, in linea con la previsione di mortalità di 0 .
Nel secondo scenario, supponiamo che la seguente nota di ricovero medico sia stata redatta da un operatore sanitario:
Lo screenshot seguente mostra i nostri risultati.
Dopo che questo è stato inoltrato all'endpoint SageMaker, l'etichetta è stata prevista come 1, il che indica che il rischio di mortalità è elevato. Ciò implica che il paziente ricoverato sia in condizioni acute secondo il modello. Tuttavia, abbiamo bisogno del ragionamento alla base di tale previsione. Ancora una volta, puoi utilizzare i valori SHAP come risposta. La risposta include i valori SHAP corrispondenti alle frasi della nota in input, che possono essere ulteriormente codificati a colori. In questo caso, vediamo più frasi in rosso, come “Il paziente riferisce febbre, brividi e debolezza negli ultimi 3 giorni, nonché diminuzione della produzione di urina e confusione” e “La paziente è una donna di 72 anni con una lamentela principale di grave shock da sepsi", in contrapposizione al verde, in linea con la previsione di mortalità di 1.
Il team di assistenza clinica può utilizzare queste spiegazioni per assistere nelle proprie decisioni sul processo di assistenza per ogni singolo paziente.
ripulire
Per pulire le risorse che sono state create come parte di questa soluzione, eseguire le seguenti istruzioni:
Conclusione
Questo post ti ha mostrato come utilizzare SageMaker Clarify per spiegare le decisioni in un caso d'uso sanitario sulla base delle note mediche acquisite durante le varie fasi del processo di triage. Questa soluzione può essere integrata nei sistemi di supporto decisionale esistenti per fornire un altro punto dati ai medici mentre valutano i pazienti per il ricovero in terapia intensiva. Per ulteriori informazioni sull'utilizzo dei servizi AWS nel settore sanitario, consulta i seguenti post del blog:
Riferimenti
, https://aclanthology.org/2021.eacl-main.75/
, https://arxiv.org/pdf/1705.07874.pdf
Circa gli autori
Shamika Ariyawansa, che ricopre il ruolo di Senior AI/ML Solutions Architect nella divisione Global Healthcare and Life Sciences di Amazon Web Services (AWS), si concentra fortemente sull'intelligenza artificiale generativa. Assiste i clienti nell'integrazione dell'intelligenza artificiale generativa nei loro progetti, sottolineando l'importanza della spiegabilità all'interno delle loro iniziative guidate dall'intelligenza artificiale. Al di là dei suoi impegni professionali, Shamika persegue con passione le avventure sugli sci e fuoristrada.
Ted Spencer è un Solutions Architect esperto con una vasta esperienza nel settore sanitario acuto. È appassionato di applicazione dell'apprendimento automatico per risolvere nuovi casi d'uso e completa soluzioni pensando sia al consumatore finale che al suo contesto aziendale/clinico. Vive a Toronto, Ontario, Canada, e gli piace viaggiare con la sua famiglia e allenarsi per il triathlon quando il tempo lo consente.
Ram Pathangi è un Solutions Architect presso AWS che supporta i clienti del settore sanitario e delle scienze della vita nell'area della Baia di San Francisco. Ha aiutato clienti nei settori finanziario, sanitario, delle scienze della vita e dei settori verticali hi-tech a gestire con successo le proprie attività sul cloud AWS. È specializzato in database, analisi e machine learning.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- PlatoData.Network Generativo verticale Ai. Potenzia te stesso. Accedi qui.
- PlatoAiStream. Intelligenza Web3. Conoscenza amplificata. Accedi qui.
- PlatoneESG. Automobilistico/VE, Carbonio, Tecnologia pulita, Energia, Ambiente, Solare, Gestione dei rifiuti. Accedi qui.
- Platone Salute. Intelligence sulle biotecnologie e sulle sperimentazioni cliniche. Accedi qui.
- Grafico Prime. Migliora il tuo gioco di trading con ChartPrime. Accedi qui.
- BlockOffset. Modernizzare la proprietà della compensazione ambientale. Accedi qui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/explain-medical-decisions-in-clinical-settings-using-amazon-sagemaker-clarify/
- :ha
- :È
- :non
- $ SU
- 1
- 10
- 100
- 11
- 13
- 15%
- 16
- 22
- 30
- 7
- 8
- a
- Chi siamo
- accelerata
- Secondo
- Il mio account
- preciso
- Raggiungere
- il raggiungimento
- operanti in
- aggiunta
- aggiuntivo
- integrazioni
- ammesso
- Adozione
- vantaggi
- Dopo shavasana, sedersi in silenzio; saluti;
- ancora
- AI
- AI / ML
- ARIA
- Algoritmi
- allineamento
- Tutti
- assegnare
- permesso
- consente
- da solo
- anche
- alterato
- Amazon
- Amazon Sage Maker
- Amazon Web Services
- Amazon Web Services (AWS)
- tra
- an
- analitica
- ed
- Un altro
- in qualsiasi
- api
- applicabile
- Applicazioni
- applicazioni
- AMMISSIONE
- opportuno
- architettura
- SONO
- RISERVATA
- aree
- argomento
- AS
- attività
- assistere
- assist
- assumere
- At
- disponibile
- media
- AWS
- basato
- Linea di base
- base
- Baia
- BE
- perché
- diventare
- diventa
- diventando
- stato
- ha iniziato
- dietro
- essendo
- MIGLIORE
- fra
- Al di là di
- Blog
- Post di Blog
- sangue
- Miglioramento della pressione sanguigna
- stile di vita
- entrambi
- Rompere
- Breath
- affari
- by
- calcolato
- chiamata
- chiamata
- Materiale
- Canada
- capacità
- catturato
- che
- Custodie
- casi
- dai un'occhiata
- capo
- scelte
- classe
- pulire campo
- Info su
- i medici
- Cloud
- codice
- combinazione
- combinazioni
- Venire
- impegni
- denuncia
- completamento di una
- computer
- Visione computerizzata
- concetto
- condizione
- Configurazione
- configurato
- confusione
- considerato
- costante
- Consumer
- Contenitore
- contesto
- contribuire
- contribuisce
- contributo
- cooperativa
- correggere
- Corrispondente
- Costi
- copertura
- creare
- creato
- Creazione
- costume
- Clienti
- alle lezioni
- dati
- scienza dei dati
- banche dati
- Giorni
- decisione
- Decision Making
- decisioni
- definire
- schierare
- schierato
- distribuzione
- Determinare
- sviluppato
- Costruttori
- sviluppatori
- Mercato
- difficile
- direttamente
- Malattia
- Dsiplay
- Divisione
- do
- dominio
- fatto
- giù
- scaricare
- durante
- ogni
- facilmente
- in maniera efficace
- o
- Elettronico
- Cartelle sanitarie elettroniche
- enfatizzando
- enable
- abilitato
- fine
- da un capo all'altro
- endpoint
- Inglese
- Ambiente
- valutare
- esaminando
- esempio
- Esempi
- esistente
- esperienza
- esperto
- Spiegare
- ha spiegato
- spiegando
- Spiega
- spiegazione
- estensivo
- estremamente
- Faccia
- famiglia
- caratteristica
- Caratteristiche
- la donna
- pochi
- campi
- Compila il
- finale
- finanziare
- I risultati
- Nome
- Focus
- i seguenti
- segue
- Nel
- Francisco
- da
- funzionalità
- ulteriormente
- Guadagno
- gioco
- generativo
- AI generativa
- ottenere
- GitHub
- globali
- buono
- maggiore
- Green
- Avere
- he
- Salute e benessere
- assistenza sanitaria
- settore sanitario
- Cuore
- Aiuto
- aiutato
- qui
- hi-tech
- Alta
- vivamente
- il suo
- storia
- ospedali
- di hosting
- Come
- Tutorial
- Tuttavia
- HTML
- http
- HTTPS
- abbracciare il viso
- illustra
- immediato
- implementato
- importare
- importanza
- importante
- competenze
- in
- In altre
- inclusi
- incorporare
- sempre più
- indica
- individuale
- industria
- avviato
- iniziative
- ingresso
- intuizioni
- esempio
- integrato
- Integrazione
- intento
- interazioni
- ai miglioramenti
- intuitivo
- coinvolgere
- IT
- SUO
- jpg
- Acuto
- Le
- Discografica
- Lingua
- grandi
- superiore, se assunto singolarmente.
- IMPARARE
- apprendimento
- Legale
- Lunghezza
- Livello
- Vita
- Life Sciences
- probabilità
- Lives
- locale
- Basso
- inferiore
- macchina
- machine learning
- fatto
- make
- obbligatorio
- molti
- si intende
- medicale
- mentale
- metodo
- mente
- minuto
- ML
- modello
- modelli
- Scopri di più
- maggior parte
- molti
- devono obbligatoriamente:
- nasale
- Naturale
- Elaborazione del linguaggio naturale
- Natura
- Bisogno
- esigenze
- New
- nlp
- no
- taccuino
- Note
- adesso
- numero
- oggetto
- ottenere
- of
- offrire
- Offerte
- on
- ONE
- online
- Ontario
- aprire
- operativa
- opposto
- ottimale
- or
- minimo
- organizzazione
- organizzazioni
- originariamente
- Altro
- nostro
- su
- Risultato
- risultati
- contorno
- produzione
- ancora
- Oxygen
- Dolore
- parametro
- parametri
- parte
- particolare
- Passato
- appassionato
- passato
- sentiero
- paziente
- pazienti
- per
- prospettive
- Frasi
- Fisico
- Platone
- Platone Data Intelligence
- PlatoneDati
- giocatore
- giocatori
- polmonite
- punto
- positivo
- possibile
- Post
- Post
- previsto
- previsione
- predizione
- Previsioni
- Predictor
- prerequisiti
- pressione
- precedente
- in precedenza
- procedure
- processi
- lavorazione
- professionale
- progetti
- proposto
- fornire
- fornisce
- fornitura
- scopo
- fini
- Insegue
- Python
- gamma
- tasso
- pronto
- mondo reale
- tempo reale
- recente
- raccomandare
- record
- Rosso
- ridurre
- regione
- relazionato
- Report
- deposito
- richieste
- necessario
- Risorse
- risposta
- colpevole
- Risultati
- problemi
- Rivela
- recensioni
- Rischio
- Prenotazione sale
- round
- Correre
- sagemaker
- stesso
- San
- San Francisco
- scenario
- Scienze
- SCIENZE
- Secondo
- vedere
- anziano
- condanna
- Sepsi
- serve
- Servizi
- servizio
- impostazioni
- flessibile.
- alcuni
- grave
- mostrare attraverso le sue creazioni
- vetrina
- ha mostrato
- mostrato
- Spettacoli
- significativa
- Segni
- Un'espansione
- semplificare
- da
- So
- soluzione
- Soluzioni
- RISOLVERE
- alcuni
- lo spazio
- la nostra speciale
- specializzata
- specializzata
- specifico
- in particolare
- tappe
- iniziato
- Regione / Stato
- dichiarazioni
- Stato dei servizi
- soggiorno
- step
- Passi
- Ancora
- conservazione
- studi
- Con successo
- tale
- fornire
- supporto
- Sistemi di supporto
- Supporto
- supporti
- SISTEMI DI TRATTAMENTO
- Fai
- preso
- Task
- team
- tecniche
- tecnologico
- che
- Il
- loro
- poi
- teoria
- Là.
- Strumenti Bowman per analizzare le seguenti finiture:
- di
- questo
- Attraverso
- tempo
- a
- token
- strumenti
- toronto
- Training
- trasformatori
- Di viaggio
- troncamento
- prova
- Digitare
- capire
- e una comprensione reciproca
- unico
- uso
- caso d'uso
- utilizzato
- usa
- utilizzando
- APPREZZIAMO
- Valori
- varietà
- vario
- versione
- verticali
- via
- visibilità
- visione
- visualizzazione
- importantissima
- volumi
- calore
- Prima
- Modo..
- we
- debolezza
- sito web
- servizi web
- WELL
- sono stati
- quale
- while
- perché
- volere
- con
- entro
- senza
- parole
- Lavora
- lavoratore
- lavorazioni
- sarebbe
- ancora
- Tu
- Trasferimento da aeroporto a Sharm
- te stesso
- zefiro