Deep Learning con LSTM per la manutenzione predittiva

Deep Learning con LSTM per la manutenzione predittiva

La manutenzione predittiva consente alle aziende di anticipare il deterioramento dei macchinari durante lo svolgimento dei processi industriali e intervenire in modo da non dover interrompere improvvisamente le linee produttive. Il Deep Learning e le reti neurali con architettura LSTM (Long-Short Term Memory) possono ampliare gli orizzonti predittivi e garantire di poter prendere decisioni strategiche in tempi validi.

L’ammontare di dati estratti dai processi di produzione è cresciuto esponenzialmente grazie alla proliferazione della sensoristica. Se correttamente processati ed analizzati, i dati possono rivelare importanti informazioni sui processi manifatturieri, sui sistemi di produzione e sulle attrezzature. Il buon mantenimento delle attrezzature aziendali è una chiave importante per il successo di un’azienda, influenzando i tempi operativi delle macchine stesse e la loro efficienza. Per questo, eventuali guasti a macchinari e attrezzature devono essere prontamente identificati e gestiti, evitando shutdown improvvisi. Per ovviare questo problema sono adottati interventi di quattro categorie di manutenzione:

  • Correttiva: l’intervento è fatto al verificarsi del problema e può causare disagi e problemi di qualità e sicurezza;
  • Preventiva: la manutenzione è fatta a scadenza (temporale o ciclica), evitando il verificarsi del guasto, ma incrementando i costi, i fermi e le sostituzioni di componenti ancora in buono stato;
  • Su condizione: i sensori rilevano parametri macchina e al raggiungimento di soglie segnalano la necessità della manutenzione; in genere richiedono molto impegno per essere efficaci e aggiornati;
  • Predittiva: si applicano tecniche statistiche e di intelligenza artificiale sui dati storici dei sensori e delle operazioni di manutenzione; questi approcci richiedono basi di dati e conoscenze di algoritmi di apprendimento, ma grazie alle loro prestazioni numerosi metodi di Machine Learning si sono affermati negli anni come strumenti efficaci per applicazioni di manutenzione predittiva. [1]

Attualmente l’industria sta attraversando quella che gli esperti chiamano “la quarta rivoluzione industriale”, un percorso indirizzato verso una fase nota come industria 4.0. Questa rivoluzione sta portando rapidamente all’integrazione, all’interno degli ambienti di produzione, di tecnologie materiali e immateriali. Non solo le tecnologie digitali consentono uno scambio più veloce e più targettizzato di informazioni tra persone, macchinari e prodotti, ma consentono di raccogliere grandi quantitativi di dati su diverse attrezzature in diversi punti della fabbrica. Questi dati possono contenere informazioni riguardo processi, eventi e allarmi occorsi in una linea di produzione industriale.

Applicando approcci analitici basati su questi dati, è possibile trovare chiavi di interpretazione utili nell’ottica di prendere decisioni strategiche ottenendo vantaggi come la riduzione dei costi di manutenzione, la riduzione del numero di fault sui macchinari, la riduzione dei tempi di stop per le riparazioni, una miglior gestione dei prezzi di ricambio, una crescita nella produzione e un miglioramento nella sicurezza delle postazioni di lavoro e un vantaggio competitivo per la transizione 4.0. [4]

Generalmente i framework per la manutenzione predittiva consistono di due fasi interconnesse: la predizione del system residual useful life time (RUL) e il conseguente decision making.

La necessità di automatizzare queste due fasi ha determinato l’ascesa del Deep Learning come soluzione più popolare tra le ultime tendenze di ricerca. In questo senso, è possibile proporre un framework basato sul Deep Learning, e in particolare su reti Long Short-Term Memory (LSTM).

Reti neurali ricorrenti con Long Short-Term Memory

Le LSTM sono una delle architetture studiate a partire dalle reti neurali ricorrenti (RNN) che ha ricevuto più attenzione negli ultimi anni. [5] Uno dei vantaggi principali delle LSTM è la capacità di apprendere da lunghe sequenze temporali e conservarne la memoria. Applicare le LSTM per sistemi di prognostica consente di poter monitorare tutto lo storico del processo di degradazione e di conseguenza predire correttamente il RUL.

L’idea alla base dell’architettura LSTM è quella che ad ogni time step alcuni gate sono utilizzati per controllare il passaggio di informazioni lungo le sequenze che sono in grado di catturare dipendenze sul lungo termine più accuratamente. In una LSTM, ad ogni step, l’hidden state è aggiornato dallo stesso dato al time step, dall’hidden state al precedente time step, dall’input gate, dal forget gate, dall’output gate e da una cella di memoria. Le equazioni di aggiornamento sono definite come segue: [6]

    

 

Figura – Diagramma di una cella LSTM [7]

La capacità di risolvere il problema della scomparsa del gradiente rende le LSTM ottime architetture per applicazioni di forecasting, ma anche, ed è il caso del modello proposto di seguito, di classificazione.

Predizione del RUL in finestre di tempo variabili

La maggior parte dei framework per la predizione del RUL ha un grosso limite: si concentra sulla sua predizione in maniera strettamente dipendente dall’orizzonte temporale per cui si sta cercando di stimare il valore, portando così a possibili errori in fase di valutazione delle decisioni da prendere sulla base dei valori ottenuti. Una predizione fatta all’inizio del ciclo di vita di una macchina, infatti, ha un orizzonte troppo breve per poter consentire decisioni strategiche.

Per questo, seppur in maniera contro intuitiva, il modello proposto utilizza le LSTM non per fare forecasting ma considerando il problema come fosse un compito di classificazione. In particolare, il modello stima la probabilità che il sistema fallisca durante certi intervalli di tempo. Questo può essere visto come la probabilità che il RUL del sistema appartenga a diverse classi, dove ogni classe corrisponde a una diversa finestra temporale.

Assumendo che durante le loro operazioni sono monitorati componenti dello stesso tipo da sensori ciascuno, i dati di monitoraggio acquisiti per ogni componente = 1, 2, …, N, durante il suo ciclo di vita possono essere espressi come una matrice:

    

Durante il training dell’algoritmo, la rete LSTM prende la sequenza di misurazioni Xi , = 1, 2, …, N per apprendere a quale finestra temporale appartenga il RUL.

Dopo la normalizzazione e il corretto labeling dei dati, il classificatore LSTM riceve i dati tramite un layer di input che richiede l’utilizzo di tensori 3D riportanti: numero di sample, numero di time step e numero di feature. L’hidden layer, in questo modello, contiene due livelli LSTM rispettivamente seguiti da un livello di droput, prima di arrivare al livello finale, un classico livello fully-connected.

Figura – Pipeline per la predizione del RUL all’interno di finestre temporali variabili [3]

L’output del classificatore identifica la probabilità che un’osservazione appartenga a una delle 3 classi: Deg0, Deg1, Deg2, ognuna delle quali rappresentante una finestra temporale ben precisa e determinabile liberamente dal manager a seconda delle esigenze e degli orizzonti che vuole monitorare.

Figura – Architettura del classificatore LSTM [3]

Un modello di questo tipo è stato testato con successo su alcune simulazioni messe in piedi dalla NASA. È stato osservato come osservazioni prese all’inizio del ciclo di vita di un macchinario riportino alti valori di RUL, collocandolo quindi nel primo intervallo Deg0 e attribuendo bassissime probabilità a un RUL appartenente alla classe Deg2. [8]

Applicazioni

Framework simili, basati su tecniche statistiche e di deep learning come le LSTM, hanno trovato spazio in numerosi ambiti applicativi del mondo industriale:

  • Areonautica: sistemi prognostici ibridi basati su PCA (Principal Component Analysis), CART (Classification adn Regression Trees) e MARS (Multivariate Adaptive Regression Splines) sono stati utilizzati nel settore dell’aeronautica per la stima del RUL dei motori; [9]
  • Macchinari Rotativi: sistemi basati su wavelets per la detection di guasti e malfunzionamenti hanno trovato impiego nel monitoraggio di macchine rotative nel settore manifatturiero; [10]
  • Energia: integrazioni di EEMD (Ensemble Empirical Mode Decomposition) e ICA (independent Component Analysis) sono stati impiegati nel settore energetico per la diagnosi dei parametri strutturali degli alberi intermedi di trasmissione nelle turbine eoliche; [11]
  • Macchine Fresatrici: strumenti basati sulla predizione del RUL degli utensili di macchine fresatrici hanno avuto diverse applicazioni tramite l’impiego di sensori wireless per il monitoraggio di operazioni di fresatura. [12]

In conclusione

I sistemi di manutenzione predittiva sono strumenti fondamentali nelle mani di manager oculati che riescono a prendere decisioni fondamentali per l’andamento delle loro linee produttive, evitando cali e interruzioni non necessarie intervenendo in anticipo sulla base delle stime sui valori di RUL. I framework basati su reti con architetture LSTM riescono a migliorare sensibilmente le performance ottenibili tramite l’uso di modelli più classici basati sul forecasting. Stimando la probabilità che il valore di RUL appartenga a un dato intervallo, riescono a limitare le decisioni scorrette alle prime fasi di vita di un macchinario, quelle dove non ci sono sufficienti dipendenze temporali da apprendere.

In conclusione, è possibile riassumere i principali benefici e criticità legati ad un approccio alla manutenzione predittiva basato su Deep Learning e LSTM:

  • Pros
    • Possibilità di apprendere da sequenze temporali anche molto indietro nel tempo
    • Ottime performance una volta superate le prime fasi di vita di un macchinario monitorato
    • Superamento del forecasting, con possibilità di stimare la probabilità che il valore di RUL appartenga ad un certo intervallo
    • Decision making facilitato dalla disponibilità di informazioni più granulari anticipate
  • Contro
    • Necessità di sufficienti dati di apprendimento

References

[1] Mobley, R. K. (2002). An introduction to predictive maintenance. Elsevier.

[2] Scheffer, C., & Girdhar, P. (2004). Practical machinery vibration analysis and predictive maintenance. Elsevier.

[3] Nguyen, K. T., & Medjaher, K. (2019). A new dynamic predictive maintenance framework using deep learning for failure prognostics. Reliability Engineering & System Safety, 188, 251-262.

[4] Carvalho, T. P., Soares, F. A., Vita, R., Francisco, R. D. P., Basto, J. P., & Alcalá, S. G. (2019). A systematic literature review of machine learning methods applied to predictive maintenance. Computers & Industrial Engineering, 137, 106024.

[5] Ketkar, N., & Santana, E. (2017). Deep Learning with Python (Vol. 1). Berkeley, CA: Apress.

[6] Zhao, R., Yan, R., Wang, J., & Mao, K. (2017). Learning to monitor machine health with convolutional bi-directional LSTM networks. Sensors, 17(2), 273.

[7] Zhang, J., Wang, P., Yan, R., & Gao, R. X. (2018). Long short-term memory for machine remaining life prediction. Journal of manufacturing systems, 48, 78-86.

[8] Ramasso, E., & Saxena, A. (2014, September). Review and analysis of algorithmic approaches developed for prognostics on CMAPSS dataset.

[9] Lasheras, F. S., Nieto, P. J. G., de Cos Juez, F. J., Bayón, R. M., & Suárez, V. M. G. (2015). A hybrid PCA-CART-MARS-based prognostic approach of the remaining useful life for aircraft engines. Sensors15(3), 7062-7083.

[10] Yan, R., Gao, R. X., & Chen, X. (2014). Wavelets for fault diagnosis of rotary machines: A review with applications. Signal processing96, 1-15.

[11] Wang, J., Gao, R. X., & Yan, R. (2014). Integration of EEMD and ICA for wind turbine gearbox diagnosis. Wind Energy17(5), 757-773.

[12] Zhang, C., Yao, X., Zhang, J., & Jin, H. (2016). Tool condition monitoring and remaining useful life prognostic based on a wireless sensor in dry milling operations. Sensors16(6), 795.

Algoritmi evolutivi: cosa sono, in quali casi possono essere applicati

Algoritmi evolutivi: cosa sono, in quali casi possono essere applicati

Si tratta di processi ispirati alle principali teorie dell’evoluzione naturale della biologia moderna, da Darwin e Wallace a Weismann e Mendel. In generale, i pilastri fondamentali su cui si basano queste tecniche sono: riproduzione, variazione, competizione e selezione.

Nel mondo industriale moderno è necessario adattare continuamente il sistema produttivo per rispondere velocemente alle esigenze del mercato.

Il cambiamento può riguardare la modifica della configurazione di uno o più livelli dell’assetto aziendale: da un macchinario alla struttura del magazzino, dalla progettazione di un prodotto all’organizzazione aziendale e così via. Spesso non è possibile valutare tutte le possibili configurazioni e per questo le aziende si affidano all’esperienza o alle linee guida disponibili, per poi accontenta accontentarsi di livelli di prestazione non ottimali.

Nel campo dell’intelligenza artificiale sono stati sviluppati numerosi algoritmi che permettono di esplorare velocemente le possibili configurazioni di un sistema individuando quelle che permettono di raggiungere prestazioni migliori.

Algoritmi evolutivi, cosa sono

Un approccio applicato in diversi settori industriali è rappresentato da un insieme di meta-euristiche appartenenti alla categoria degli algoritmi evolutivi. Questi algoritmi si ispirano alle principali teorie dell’evoluzione naturale della biologia moderna: evoluzione e selezione naturale (Darwin, Wallace), selezionismo (Weismann) e genetica (Mendel). In generale, i pilastri fondamentali su cui si basano queste tecniche sono i seguenti:

  • riproduzione
  • variazione
  • competizione e selezione

La riproduzione è il processo di generazione di nuovi elementi di una popolazione a partire dai genitori. La variazione è una sorta di mutazione, spesso inattesa e casuale che si ha nel processo di generazione della nuova progenie. Infine, la competizione tra i nuovi elementi e la selezione dei migliori sono i processi inevitabili di sopravvivenza in un ambiente con risorse limitate.

Per approfondire la conoscenza sul funzionamento di un algoritmo evolutivo si potrebbe provare a risolvere il seguente indovinello delle otto regine.

Nell’indovinello delle otto regine si devono posizionare otto regine, appunto, sulla scacchiera in modo tale che nessuna regina sia minacciata da un’altra. Per chi non avesse esperienza del gioco degli scacchi la regina può mangiare muovendosi in orizzontale, verticale e in diagonale di un numero a piacere di caselle. Per esempio, la regina in d5 di figura 1b minaccia le regine in b3c6f3, e h5. Le possibili disposizioni delle otto regine sulla scacchiera sono 4.426.165.368 (sì, più di 4 miliardi) e anche solo limitando le possibilità mettendo al massimo una regina per ciascuna riga (o colonna) avremmo comunque 16.777.216 possibili configurazioni da valutare e solo 92 soluzioni che risolvono l’indovinello. Provare tutte le possibili soluzioni non aiuterebbe la ricerca di una soluzione plausibile.

Un modo per risolvere il problema, esplorando un numero contenuto di configurazioni è l’utilizzo di un algoritmo genetico, un algoritmo evolutivo che si ispira al processo di trasmissione dei geni dal cromosoma dei genitori ai figli. L’algoritmo genetico si compone di una sequenza di operazioni:

  1. generazione di una popolazione iniziale
  2. crossover
  3. mutazione
  4. valutazione della popolazione
  5. selezione

La fase 1 è eseguita una sola volta, all’inizio del processo, le fasi successive sono ripetute in sequenza per un numero di volte stabilito inizialmente. Solitamente si decide di fermare l’esecuzione dell’algoritmo dopo un certo periodo di tempo/numero di cicli o se la soluzione è soddisfacente.

Fase 1: Generazione di una popolazione iniziale

In generale la popolazione dell’algoritmo è composta da decine, centinaia o migliaia di elementi in modo tale da avere maggiore variabilità e poter esplorare un numero più ampio di configurazioni. Per questo esempio ci limiteremo a due soli elementi.

Le due configurazioni Genitore 1 e 2 in figura 1 non sembrano molto promettenti perché molte regine si minacciano a vicenda. La soluzione dell’indovinello sembrerebbe ancora lontana.

  1. Genitore 1
  1. Genitore 2

Figura 1. Genitore 1 e Genitore 2 sono due possibili soluzioni che non risolvono l’indovinello delle otto regine.

Fase 2: Crossover

Si immagina la scacchiera come se fosse una sequenza di cromosomi e si genera un Figlio prendendo metà del patrimonio genetico dei due genitori. A titolo di esempio, si potrebbe dividere le due scacchiere a metà, trasmettere la parte sinistra di Genitore 1 e la parte destra di Genitore 2 come mostra figura 2 e unire le due parti in un Figlio in figura 3.

  1. Genitore 1
  1. Genitore 2

Figura 2: Consideriamo le scacchiere come sequenze di DNA e teniamo la parte sinistra di Genitore 1 e la parte destra di Genitore 2.

Figura 3: Figlio prima della mutazione. La metà sinistra di Genitore 1 unita alla metà destra di Genitore 2.

Fase 3: Mutazione

La mutazione genetica è un cambiamento, spesso casuale, che comporta una modifica del genoma. Analogamente, l’algoritmo genetico applica una variazione alla configurazione Figlio in figura 3 cambiando la posizione di uno o più elementi del genoma. Al fine della buona riuscita dell’algoritmo una mutazione “fortunata” della configurazione è lo spostamento di e1 in f1 e f3 in e3 che genera una soluzione dell’indovinello in figura 4.

Figura 4: Soluzione

Fase 4: Valutazione

La valutazione degli elementi della popolazione permette di scartare le configurazioni peggiori. In questo caso un criterio potrebbe essere quello di contare il numero di coppie di regine che si minacciano. Ad esempio, Genitore 1 ha 7 coppie di regine minacciate ed è una configurazione leggermente migliore di Genitore 2 che ne ha 8. Il Figlio Mutato in figura 4 è una soluzione dell’indovinello dove non ci sono coppie di regine che si minacciano.

Fase 5: Selezione

Adesso abbiamo 3 configurazioni Genitore 1Genitore 2 e Figlio Mutato, che si valuta con il criterio del numero di coppie di regine minacciate, rispettivamente 7, 8 e 0. La selezione permette solo agli elementi migliori di sopravvivere e in questo caso le soluzioni migliori sono Genitore 1 e Figlio Mutato perché sono configurazioni con un numero minore di regine minacciate.

A questo punto l’algoritmo può interrompersi e mettere a disposizione le soluzioni trovate oppure continuare a esplorare configurazioni ripartendo dalla Fase 2.

Gli algoritmi evolutivi sono una valida opzione per poter risolvere un vasto panorama di problemi. I principi alla base del funzionamento sono generici e adattabili a molteplici utilizzi.

L’applicazione degli algoritmi evolutivi

Per questi motivi, gli algoritmi evolutivi sono stati applicati con successo a molti problemi sia classici sia industriali. A titolo di esempio, il problema di scheduling è un problema che ogni azienda industriale si trova ad affrontare quando una serie di lavorazioni deve essere svolta in un determinato tempo e secondo una determinata sequenza, occupando delle risorse spesso limitate, come strumenti, macchinari o materie prime.

In questa categoria di problemi l’obiettivo è trovare la giusta configurazione di assegnamento di operazioni e risorse per ottimizzare la produzione. Un’altra applicazione trasversale a molti settori industriali riguarda i problemi di instradamento per la logistica interna ed esterna, più in dettaglio: decidere quanti mezzi sono necessari per la movimentazione, quali percorsi sono migliori e quando i mezzi devono mettersi in movimento. Gli algoritmi evolutivi sono anche stati applicati a problemi di specifici settori, ad esempio, la verifica dei componenti dei telefoni cellulari.

CONCLUSIONI

Per concludere, quando si usano queste tecniche una particolare attenzione deve essere rivolta alla scelta della funzione di valutazione degli elementi della popolazione. Da un lato, gli algoritmi evolutivi funzionano meglio se la valutazione della configurazione descrive con maggiore l’accuratezza la bontà della soluzione. Riprendendo l’esempio dell’Indovinello delle Regine un criterio per valutare una scacchiera potrebbe essere binario: giusto o sbagliato. Una configurazione è giusta se risolve l’indovinello, sbagliata altrimenti.

Però, come abbiamo visto, ci sono diverse gradazioni di sbagliato: 7 coppie di regine si minacciano, 8 coppie di regine… In questo modo abbiamo una descrizione migliore di quanto siamo distanti dalla soluzione e questo semplifica il lavoro del nostro algoritmo perché permette di scartare le soluzioni peggiori e tenere quelle più vicine all’obiettivo (anche se non sempre aiuta).

Dall’altro lato la valutazione è l’operazione con maggior costo computazionale e una funzione complessa può rallentare l’esecuzione dell’algoritmo.

In breve, i benefici e i punti deboli degli algoritmi evolutivi sono i seguenti:

Pros:

  • più veloci di altri algoritmi
  • semplici: richiedono poca conoscenza del dominio di applicazione
  • l’interruzione anticipata restituisce comunque una soluzione

Cons:

  • non si ha certezza di aver trovato l’ottimo assoluto
  • può non essere facile definire una funzione di valutazione

 

Bibliografia

Kaufmann, Paul, Castillo, Pedro A. (Eds.), “Proceedings of the 22nd International Conference, EvoApplications” 2019, Held as Part of EvoStar 2019, Leipzig, Germany, April 24–26, 2019.

Sanchez, Ernesto, Giovanni Squillero, and Alberto Tonda. “Industrial applications of evolutionary algorithms.” 2012.

Medicina e intelligenza artificiale: come le macchine possono migliorare la nostra salute

Medicina e intelligenza artificiale: come le macchine possono migliorare la nostra salute

Il settore della medicina sta mostrando un grande interesse nei confronti dell’Intelligenza Artificiale e soprattutto delle tecniche di Machine Learning in grado di fornire strumenti migliori agli operatori sanitari e più personalizzazione delle cure ai pazienti. Riflettori puntati sul Deep Learning con cui gestire in modo automatizzato le terapie.

Col passare degli anni, sono sempre più le discipline che stanno mostrando un grande interesse nei confronti dell’intelligenza artificiale: una di queste è il settore medico, con la ricerca proiettata nell’utilizzo di tecniche di Machine Learning in grado di migliorare le diagnosi, individuare le schematicità di una ben determinata patologia e, più in generale, di fornire strumenti migliori a disposizione dei dottori, in modo da poter intervenire sui singoli pazienti tramite contromisure adattate ad esigenze specifiche. Non solo: le recenti tecniche di deep learning potrebbero consentire in un futuro prossimo di avere fasi delle terapie totalmente automatizzate, permettendo a medici e operatori del settore di dedicarsi maggiormente allo studio di nuove soluzioni.

AI in campo medico

Cosa succederebbe se un gruppo di esperti potesse essere sempre ai servizi di un singolo paziente? Come fare per ridurre gli errori che possono essere compiuti nella formulazione di una diagnosi? In un mondo ideale, ogni terapia verrebbe formulata andando incontro con estrema precisione alle esigenze del singolo, prendendo spunto sia dalla sua storia clinica che dalla conoscenza collettiva data da milioni di altri pazienti: grazie al Machine Learning, i medici possono rompere i limiti imposti da una conoscenza circostanziale, derivante dall’applicazione di terapie su un numero ristretto di pazienti, attraverso l’uso di una “esperienza condivisa”, grazie alla quale formulare terapie ottimizzate per una persona specifica [1]. Non solo: l’adozione di tecniche di intelligenza artificiale può permettere la totale automazione di alcune fasi cliniche, agevolando il lavoro degli specialisti.

Prognosi

Una prognosi è un procedimento grazie al quale si può predire lo sviluppo di una certa malattia. Un modello di machine learning è in grado di permettere ai medici di prevedere eventi futuri: tra quanto verosimilmente un paziente potrà tornare alla vita di tutti i giorni dopo essersi sottoposto a delle cure? Quanto velocemente progredirà una malattia? Un modello algoritmico richiede dei dati in grado di fornire un quadro completo, inclusi i risultati delle terapie alle quali il paziente si è sottoposto in passato [1]. A livello clinico, andranno collezionati diversi tipi di dati, quali: risultati di test fenotipici, genomici, proteomici e patologici, congiuntamente a immagini mediche [2].

Diagnosi

I migliori dottori sono in grado di comprendere quando un particolare avvenimento clinico sia effettivamente nella norma oppure se rappresenti un rischio per la salute del paziente. L’americana Institute of Medicine ha evidenziato che tutte le persone nel corso della loro vita incorrono almeno una volta in una diagnosi errata [3]: ridurre qualsiasi tipo di errore può essere cruciale nel caso di patologie non comuni, senza considerare il fatto che ciò possa avere un effetto benefico perfino nel caso di malattie a noi più familiari. Basti pensare che complicazioni ritenute debellate quali tubercolosi e/o dissenteria hanno almeno una possibilità di non essere individuate, sebbene nei paesi sviluppati vi sia un accesso adeguato a terapie in grado di far fronte a queste disfunzioni [4]. Attraverso i dati collezionati durante terapie di tutti i giorni, le tecniche di AI possono individuare le diagnosi più probabili durante una visita clinica e prospettare quali condizioni si manifesteranno in futuro nel paziente [1].

Trattamento

In un sistema sanitario su scala nazionale, con migliaia di medici impegnati con altrettanti pazienti, potrebbero presentarsi delle variazioni circa le modalità di trattamento di certi sintomi. Un algoritmo di ML può individuare queste naturali variazioni in modo da aiutare i dottori ad identificare un trattamento da preferire rispetto ad un altro [1]. Un’applicazione potrebbe essere quella di confrontare ciò che il dottore prescriverebbe a un paziente con un trattamento suggerito da un modello algoritmico [1].

Flussi di lavoro per i medici

L’introduzione delle cartelle elettroniche (EHR, Electornic Health Record) ha agevolato l’accesso ai dati, ma allo stesso tempo ha fatto emergere dei “colli di bottiglia” derivanti da passaggi burocratici e amministrativi, creando ulteriori complicazioni per i medici. Le tecniche di ML possono permettere lo snellimento di passaggi inefficienti e macchinosi all’interno del flusso di lavoro clinico [1]. Le stesse tecnologie che vengono utilizzate nei motori di ricerca possono porre in evidenza informazioni rilevanti nella cartella clinica di un paziente, agevolando il lavoro degli specialisti. Ciò consente inoltre ulteriori facilitazioni nell’inserimento di nuovi dati tenendo conto dello storico clinico di un soggetto [1].

Coinvolgimento di un maggior numero di esperti

L’adozione dell’intelligenza artificiale può dare la possibilità di raggiungere un maggior numero di specialisti in grado di fornire una valutazione medica senza che vi sia un loro coinvolgimento diretto [1]. Ad esempio: un paziente potrebbe inviare dal suo smartphone una foto, in modo tale da ottenere un’immediata diagnosi, senza ricorrere a canali medici destinati ai casi più urgenti [1].

Tecniche di Machine Learning comunemente usate in campo medico

Di seguito verranno illustrate le tecniche di ML più usate in letteratura medica. Si sottolinea che in questa sede avverrà una trattazione maggiormente orientata al campo medico, non approfondendo gli aspetti tecnici.

Support Vector Machine

Le SVM vengono utilizzate principalmente per classificare i soggetti all’interno dei due gruppi, aventi rispettivamente come “etichetta” Y = 1 e Y = -1[5]. Questi raggruppamenti sono definiti da un confine decisionale (decision boundary) definito dai dati X in ingresso:

L’obiettivo dell’addestramento della SVM è quello di rinvenire il parametro w ottimale, in modo tale che la classificazione risulti il più precisa possibile (Figura 1). Una delle proprietà più importanti delle SVM consiste nel fatto che la determinazione dei parametri è un problema di ottimizzazione convessa, dunque la soluzione è sempre un ottimo globale.

Figura 1: un esempio di come funziona una Support Vector Machine [5]

Convolutional Neural Network

L’accrescimento delle capacità computazionali dei dispositivi moderni ha permesso al Deep Learning di divenire uno dei campi di ricerca più gettonati all’interno di varie discipline scientifiche: in questo senso, la medicina non ha conosciuto eccezioni [5][6]. Grazie a queste tecniche di apprendimento “profonde” (cosiddette a causa della numerosa presenza di strati, in grado di astrarre schematicità molto complesse), si può effettuare un’analisi dettagliata di immagini mediche, come le scansioni a raggi X, sfruttando l’abilità di una rete neurale di gestire dati voluminosi e estremamente complessi, come appunto le immagini, in modo efficiente [5]. Nel corso degli anni, le Convolutional Neural Network hanno ottenuto un’enorme popolarità, specie nel mondo medico: basti pensare che dal 2014 in poi, questo particolare tipo di reti neurali ha soppiantato metodologie quali le Recurrent Neural Newtork e le Deep Belief Neural Network [5] (Figura 2).

Figura : popolarità degli algoritmi di Deep Learning nel campo medico [5]

Una CNN si basa sull’utilizzo di un’operazione detta di convoluzione, in grado di tenere traccia dei vari cambiamenti di un dato multidimensionale, avendo la posizione di un misuratore all’interno di uno spazio [7]. Considerando un’immagine bidimensionale I, e un kernel K (un array multidimensionale riportante i parametri appresi dall’algoritmo):

In figura 3 viene riportata una struttura a grandi linee di una CNN, mentre nella figura 4 è possibile notare ciò che viene prodotto tramite l’applicazione dell’operazione di convoluzione.

Figura 3: bozza di una CNN [8]
Figura 4: risultato di alcune operazioni di convoluzione[8]

Random Forest

La Random Forest è una tecnica che contempla l’utilizzo di più regressori, strutturati “ad albero” (i.e.: gli alberi di decisione). Ogni albero esprime un proprio candidato attraverso un algoritmo di classificazione: successivamente, i voti di tutti gli alberi vengono sottoposti a una media.

Nell’equazione il termine B sta ad indentificare i singoli bagging, ovvero gli addestramenti degli alberi di decisione su differenti istanze del dataset [9]. In campo medico, questo tipo di tecnica può essere utilizzata, ad esempio, per discriminare caratteri fenotipici di un organismo [10], oppure per classificare i dati clinici di un paziente in modo tale da poter fornire una diagnosi accurata [11].

Limiti dell’AI in campo medico

Disponibilità di dati di qualità

Uno dei temi centrali nella costruzione di un modello ML è quello di poter attingere a un dataset rappresentativo di tutti i possibili soggetti, in modo che sia il più diversificato possibile [1]. L’ideale sarebbe riuscire ad addestrare algoritmi utilizzando dati molto simili, se non identici, a quelli riportati all’interno delle cartelle cliniche elettroniche [1]: purtroppo molte volte si avrà a che fare con dataset piccoli, raccolti da piccoli centri clinici, talvolta di qualità scarsa (riportanti del rumore, ossia delle irregolarità generate da dei dati erronei).

Privacy

Come detto, avere dataset costituiti da cartelle cliniche correttamente compilate sarebbe l’ideale. Tuttavia, questi dati agli occhi della legislazione vigente sono considerati sensibili, dunque di difficile reperibilità, rendendo più difficile la delineazione di modelli di ML. Una soluzione naturale potrebbe essere quella di consegnare i dati clinici al paziente stesso, che deciderà poi che uso farne [1].

Apprendimento da pratiche passate sbagliate

Tutte le attività umane sono sottoposte involontariamente a dei bias cognitivi: alcuni degli aspetti da considerare nello sviluppare un sistema ML è quello di comprendere quanto questi bias, rappresentati dai dati, influenzeranno il modello finale [12] e quali strumenti porre in campo per far fronte a questa problematica [13].

Esperienza nella valutazione finale

Similmente a quanto avviene nei sistemi sanitari, l’applicazione di tecniche di ML richiede una sofisticata struttura regolatoria, in grado di assicurare il giusto impiego degli algoritmi nel campo medico [1]. I medici e pazienti devono capire i limiti di questi strumenti, come ad esempio l’impossibilità di una determinata struttura di poter generalizzare su un altro tipo di problematica [13]. L’affidarsi ciecamente ai modelli ML può condurre a decisioni erronee: ad esempio un medico potrebbe abbassare la guardia nel caso in cui l’algoritmo restituisca un risultato sbagliato, al di sotto di una certa soglia d’allarme [1].

Cooperazione interdisciplinare

Team di informatici, biologi e medici devono collaborare in modo da poter costruire modelli utilizzabili nei loro rispettivi settori. Una mancata comunicazione può condurre a risultati inutilizzabili da parte dei medici [1]. Spesso le pubblicazioni scientifiche vengono pubblicate online sottoforma di prestampa (i.e.: preprint) su portali quali arXiv e bioRxiv, senza considerare la moltitudine di manoscritti informatici che non vengono pubblicati sui giornali scientifici tradizionali ma bensì all’interno di conferenze quali NeurIPS e ICML [1].

Tecniche di AI applicate al COVID-19

Dall’inizio della pandemia del virus SARS-CoV-2, il mondo scientifico ha posto la sua attenzione nel porre in campo metodi in grado di poter contrastare l’accrescimento dei contagi: basti pensare che soltanto nel mese di marzo, sono stati pubblicati 24000 prestampati sui portali arXiv e bioRxiv concernenti l’utilizzo di tecniche di AI con il compito di individuare pazienti affetti da COVID-19 [15]. Molti autori hanno realizzato lavori in cui le CNN vengono usate per discriminare i malati COVID da altri con patologie più comuni, utilizzando dataset costituiti da scansioni a raggi X di pazienti affetti da polmoniti (Figura 5) [16][17].

Figura 5: struttura di una CNN per l’individuazione di pazienti affetti da SARS-CoV-2[16]

Inoltre, sono stati proposti diversi metodi in real-time per l’individuazione immediata della malattia: l’utilizzo degli smart-watch, ad esempio, permette il monitoraggio di diversi parametri fisici in grado di indicare se il soggetto abbia contratto il virus o meno [18].

Conclusioni

Marco, un paziente di 49 anni, avverte un dolore alla spalla e, nonostante ciò, decide di non richiedere assistenza medica. Qualche mese dopo, decide di farsi visitare da un dottore che gli diagnostica una cheratosi seborroica (un’escrescenza cutanea simile a un grosso neo).

Successivamente, Marco si sottopone a una colonscopia e un’infermiera nota una macchia scura sulla sua spalla. Marco decide di farsi visitare da un dermatologo, il quale ottiene un campione dell’escrescenza: le analisi effettuate evidenziano una lesione benigna del pigmento. Il dermatologo, però, non si fida e decide di effettuare una seconda analisi: stavolta la diagnosi parla di un melanoma invasivo. Dunque, un oncologo sottopone Marco a un trattamento chemioterapico ma, nel frattempo, un amico del dottore chiede al povero paziente come mai non si sia ancora sottoposto a immunoterapia [1].

Se Marco avesse avuto accesso alle più moderne tecnologie di ML, avrebbe potuto semplicemente fare una foto alla spalla tramite il suo smartphone per poi inoltrare l’immagine a un dermatologo esperto tramite un’app dedicata. Successivamente a una biopsia della lesione, raccomandata dal dermatologo, si sarebbe giunti alla diagnosi di melanoma al primo stadio: a quel punto, il dermatologo avrebbe potuto recidere la lesione [1].

L’applicazione dell’intelligenza artificiale in medicina potrà far risparmiare tempo, impiegare al meglio il know-how degli specialisti, permettere di giungere a diagnosi maggiormente accurate e, più in generale, migliorare la vita dei pazienti e snellire il lavoro degli operatori del settore.

  • Pros:

– Diagnosi più precise

– Snellimento dei procedimenti medici e burocratici

– Acquisizione di una conoscenza terapeutica globale

– Maggiore specializzazione del personale medico

  • Cons:

– Disponibilità di dati di qualità

– Mancanza di procedure di raccolta dati condivisi

– Componente umana fondamentale nella valutazione finale della diagnosi

References

[1] Rajkomar, A. – Dean, J. – Kohane, I.. “Machine Learning in Medicine.” New England Journal of Medicine, 380. 1347-1358. (2019)

[2] Qayyum, A – Junaid Q. – Muhammad, B. – Ala A.. “Secure and Robust Machine Learning for Healthcare: A Survey.” IEEE reviews in biomedical engineering (2020)

[3] McGlynn, E. – McDonald, K. – Cassel C..”Measurement is Essential for Improving Diagnosis and Reducing Diagnostic Error: A Report from the Institute of Medicine.” The Journal of the American Medical Association, Vol. 314(23), pp. 1-2 (2015)

[4] Das, J. – Woskie, L. – Rajbhandari, R. – Abbasi, K. – Jha, A.. “Rethinking assumptions about delivery of healthcare: implications for universal health coverage.” The British Medical Journal (Clinical research ed.), Vol. 361 (2018)

[5] Jiang, F. – Jiang, Y. – Zhi, H. – Dong, Y. – Li, H. – Ma, S. – Wang, Y. – Dong, Q. – Shen, H. – Wang, Y.. “Artificial Intelligence in Healthcare: Past, Present and Future.” Stroke and Vascular Neurology Vol. 2 (2017)

[6] Mori, J. – Kaji S. – Kawai H. – Kida S. – Tsubokura M. – Fukatsu, M. – Harada, K. – Noji H. – Ikezoe T. – Maeda T. – Matsuda A.. “Assessment of dysplasia in bone marrow smear with convolutional neural network.” Scientific Reports Vol.10 (2020)

[7] Goodfellow, I. – Bengio, Y. – Courville, A.. “Deep Learning.” MIT Press (2016)

[8] Yamashita, R. – Nishio, M. – Do, R., – Togashi, K.. “Convolutional neural networks: an overview and application in radiology.” Insights into imaging, Vol. 9(4), pp. 611–629 (2018)

[9] Breiman, L.. “Random Forests.” Machine Learning Vol.45(1), pp. 5 – 32 (2001)

[10] Chen, T. – Cao, Y. – Zhang, Y. – Liu, J. – Bao, Y. – Wang, C. – Jia, W. – Zhao, A.. “Random forest in clinical metabolomics for phenotypic discrimination and biomarker selection.” Evidence-based complementary and alternative medicine : eCAM (2013)

[11] Alam, Z. – Rahman, S. – Rahman, S.. “A Random Forest based predictor for medical data classification using feature ranking.” Informatics in Medicine Unlocked, Vol. 15, (2019)

[12] Gianfrancesco, MA. – Tamang, S. – Yazdany, J. – Schmajuk, G.. “Potential Biases in Machine Learning Algorithms Using Electronic Health Record Data.” Journal Of American Medical Association, Internal Medicine, Vol.178(11), pp. 1544-1547 (2018)

[13] Rajkomar, A. – Hardt, M. – Howell, M. D. – Corrado, G. – Chin, M. H.. “Ensuring Fairness in Machine Learning to Advance Health Equity.” Annals of internal medicine, Vol.169(12), pp. 866–872 (2018)

[14] Krumholz, H. M.. “Big data and new knowledge in medicine: the thinking, training, and tools needed for a learning health system.” Health affairs (Project Hope), Vol.33(7), pp. 1163-70 (2014)

[15] Hao, K.. ”Over 24,000 coronavirus research papers are now available in one place”. MIT Technology Review, URL: https://www.technologyreview.com/2020/03/16/905290/coronavirus-24000-research-papers-available-open-data/ (2020)

[16] Jain, G. – Mittal, D. – Thakur, D. – Mittal, M. K.. “A deep learning approach to detect Covid-19 coronavirus with X-Ray images”. Biocybernetics and biomedical engineering, Vol.40(4), pp. 1391-1405 (2020)

[17] Hemdan, E.E – Shouman, M. – Karar, M.. “COVIDX-Net: A Framework of Deep Learning Classifiers to Diagnose COVID-19 in X-Ray Images.” ArXiv, abs/2003.11055 (2020)

Mishra, T. – Wang, M. – Metwally, A.A., Bogu G.K. – Brooks A. W. – Bahmani A. – Alavi A. – Celli A. – [18] Higgs, E. – Dagan-Rosenfeld O. – Fay, B. – Kirkpatrick, S. – Kellogg, R. – Gibson M. – Wang, T. – Hunting E. M. – Mamic P. – Ganz A. B. – Rolnik, B. – Li, X. – Snyder M. P.. “Pre-symptomatic detection of COVID-19 from smartwatch data.” Nature Biomedical Engineering (2020).