An Automatic Assessment System for Alzheimer’s Disease Based on Speech Using Feature Sequence Generator and Recurrent Neural Network
System overview
I componenti del nostro sistema erano principalmente tre: una procedura di raccolta dati che raccoglieva i dati del discorso dall’utente, il Feature Sequence Generator che trasformava i dati del discorso nella Feature Sequence, che era una nuova rappresentazione delle caratteristiche proposta in questo studio, e un AD Assessment Engine che generava il punteggio di avere AD. Il diagramma di flusso del sistema è mostrato in Fig. 1.
Procedura di raccolta dati
La procedura di raccolta dati del nostro sistema era come segue. In primo luogo, l’utente è stato istruito di persona sul modulo e sul flusso dei successivi test neuropsicologici. Poi, all’utente è stato chiesto di sedersi a una scrivania con un microfono e un paio di altoparlanti sopra. Con un totale di sei test neuropsicologici selezionati per sessione, la descrizione di ogni test neuropsicologico è stata riprodotta per 30 secondi, ed è stata seguita da una finestra di risposta di 1 minuto. I dati del discorso sono stati registrati solo durante questo periodo di un minuto. Complessivamente, ci sono voluti meno di 10 minuti per completare una sessione.
Selezione dei test neuropsicologici
Nel nostro sistema sono stati selezionati tre tipi di test neuropsicologici: il test di fluenza19,20,21, il test di descrizione delle immagini22,23,24 e il test di memoria logica25,26,27. La selezione si è basata sulla valutazione neuropsicologica effettuata in un contesto clinico e su ricerche ben note riguardanti l’AD. Questi test si erano dimostrati efficaci nel caratterizzare le caratteristiche chiave del MA, che erano tutti problemi molto differenziabili.
Test di fluenza
Il procedimento del test di fluenza era il seguente. Data una categoria designata, al soggetto veniva chiesto di dire il maggior numero possibile di parole diverse relative a quella categoria per un tempo limitato. Per esempio, se la categoria era animale, le risposte possibili erano elefanti, tigri, zebre, ecc. Nel nostro sistema, sono state scelte le categorie di animali e frutta, e il limite di tempo per ogni categoria era di un minuto.
Test di descrizione dell’immagine
Il procedimento del test di descrizione dell’immagine era il seguente. Data un’immagine presentata, al soggetto è stato chiesto di descrivere lo scenario nell’immagine nel modo più dettagliato possibile per un tempo limitato. Per esempio, la seguente descrizione era una possibile risposta. Questa è un’immagine che mostra una tipica serata di una famiglia. Papà sta guardando il baseball e la mamma sta lavorando a maglia una sciarpa. L’ora corrente è …, ecc. Nel nostro sistema, sono state scelte un’immagine da uno studio correlato condotto in Giappone28 , che condivideva un background culturale simile al nostro, e un’altra dalla Western Aphasia Battery (WAB)29 . Anche il limite di tempo per ogni immagine era di un minuto.
Test di memoria logica
La procedura del test di memoria logica era la seguente. Una breve storia è stata letta ad alta voce ai partecipanti, e dopo il soggetto è stato chiesto di ricordare spontaneamente la storia nel modo più preciso possibile. Nel nostro sistema, due storie della Wechsler Memory Scale III (WMS-III)30 sono state incluse per l’analisi. Anche se non c’era un limite di tempo per i test di memoria logica in un contesto clinico, un limite di tempo di un minuto è stato comunque applicato nel nostro sistema per ragioni di coerenza.
Rappresentazione delle caratteristiche – sequenza di caratteristiche
A differenza di molta della letteratura esistente12,13,14,15,16,17,18, il nostro obiettivo era quello di progettare una rappresentazione che potesse implicitamente incorporare le caratteristiche tutte insieme. Ciò che abbiamo ottenuto è stata una sequenza di token, dove ogni token era responsabile di rappresentare un elemento unico nel discorso. Usando una tale rappresentazione, la pausa potrebbe essere identificata da un token di silenzio o da un token di pausa riempito, la ripetizione potrebbe essere identificata da token che ricorrono nella sequenza, e la disfluenza può essere identificata dall’alternanza tra token di silenzio e altri token. Oltre a queste tre caratteristiche chiave, possono essere identificate anche molte altre utili caratteristiche derivate discusse nella letteratura esistente13 . Per esempio, la lunghezza e la velocità del discorso erano entrambe proporzionali al numero di token nella sequenza. Anche alcune delle caratteristiche dipendenti dal contesto, come il numero di parole uniche e le parole a bassa frequenza, potrebbero essere dedotte dalla distribuzione dei token, perché ogni token può essere un’approssimazione piuttosto vicina a una parola specifica. Queste proprietà hanno reso il nostro progetto pienamente in grado di ritrarre il discorso dei pazienti di AD, che era un candidato eccellente per compiti come il rilevamento e la valutazione di AD. La sequenza di token è indicata come Feature Sequence nei contenuti seguenti.
Per soddisfare i criteri della Feature Sequence, i possibili token candidati erano fonemi, sillabe, parole, enunciati, ecc. La considerazione principale per selezionare il candidato ottimale era l’idoneità, l’addestrabilità e la generalizzabilità. L’idoneità era quanto appropriatamente i token potessero manifestare le caratteristiche chiave. Questo ha escluso il fonema poiché è l’unità minima del discorso, quindi ci sarebbero stati molti token ricorrenti, che potrebbero essere fuorvianti nell’identificare le ripetizioni, poiché potrebbero provenire dalla stessa parola o da parole diverse. L’addestrabilità era quanto fosse fattibile costruire un classificatore per la valutazione dell’AD basato sulla Feature Sequence e su un generatore automatico di Feature Sequence. Questo ha escluso gli enunciati poiché era impossibile raccogliere abbastanza dati di addestramento. Infine, la generalizzabilità era quanto bene i token potessero incorporare i dialetti regionali e l’uso di lingue miste a Taiwan. Questo ha escluso la parola poiché non esiste nemmeno una forma scritta ufficiale per il taiwanese e l’hakka. D’altra parte, le sillabe del cinese mandarino, del taiwanese e dell’hakka sono molto simili, il che lo rende generalizzabile.
Quindi, le sillabe sono state la scelta dei nostri token. Inoltre, poiché il cinese mandarino, il taiwanese e l’hakka sono lingue monosillabiche, la sillaba da sola può contenere molte informazioni sul contenuto parlato. Questo è un prezioso aggiornamento della Feature Sequence perché è stato competente per incarnare sia le caratteristiche dipendenti dall’acustica che quelle dipendenti dal contesto. ZhuYin, il modo più popolare di scrivere a Taiwan, è stato usato per definire lo spazio dei token per la nostra Feature Sequence. Secondo il dizionario mantenuto dal Ministero dell’Educazione di Taiwan, ci sono 1339 sillabe diverse scritte in ZhuYin, e solo 317 tra queste sono conservate dopo aver scartato i marcatori di tono, cioè, ´, ˇ, `, ˙, e unità fonetiche simili, cioè, , per aumentare l’addestrabilità diminuendo lo spazio dei token; inoltre, la generalizzabilità sarebbe anche aumentata perché sorgerebbero meno effetti negativi causati da accenti diversi perché i diversi toni sono ora raggruppati insieme e visti come una singola unità. Anche un token silenzioso viene aggiunto allo spazio dei token. Tuttavia, poiché c’è solo un token che indica il silenzio nello spazio dei token, è necessario determinare una soglia per giudicare se un segmento di silenzio debba essere trascritto in un token di silenzio in base alla sua lunghezza. Alla fine, il token space per la Feature Sequence era 318.
Generatore di Feature Sequence
Dati i dati del discorso raccolti come input, c’erano due modi di generare la Feature Sequence: uno era fatto manualmente dall’etichettatura umana mentre l’altro era fatto automaticamente da un modello. Il modello scelto era una Rete Neurale Convoluzionale Ricorrente (CRNN) addestrata con perdita Connectionist Temporal Classification (CTC)31.
Architettura del modello
Nel nostro sistema, l’input del modello era l’energia log filterbank 80-dimensionale estratta con una finestra di 25 ms e un hop size di 10 ms. Inoltre, per normalizzare le energie derivate è stata applicata la normalizzazione della media e della varianza Cepstral (CMVN)32. L’architettura del Feature Sequence Generator è stata principalmente ispirata dal modello di riconoscimento vocale end-to-end allo stato dell’arte, valutato sia sull’inglese che sul cinese mandarino, ovvero il Deep Speech 2 di Baidu, Inc.33. Alcuni punti salienti del Deep Speech 2 sono riassunti come segue. In primo luogo, una rete neurale ricorrente bidirezionale (RNN) migliorerebbe enormemente le prestazioni del modello. In secondo luogo, l’applicazione di strati di convoluzione 2D prima della RNN potrebbe riorganizzare lo spettrogramma modellando l’invarianza di traduzione temporale e l’invarianza spettrale e ridurre il costo di calcolo della perdita CTC scalando il numero di timeteps. Infine, l’applicazione della Normalizzazione Batch (BN)34 ad ogni strato aumenta la velocità di addestramento e migliora ulteriormente le prestazioni del modello. Tuttavia, con le limitate risorse hardware a disposizione, il Feature Sequence Generator aveva 3 strati di convoluzione 2D, seguiti da una RNN bidirezionale a 5 strati, e infine uno strato completamente connesso. Per gli strati di convoluzione, il numero dei filtri era 32, 32 e 96 rispettivamente, la dimensione del kernel dei filtri era (11, 41), (11, 21) e (11, 21) rispettivamente. Per ogni strato della RNN, c’erano 512 celle GRU in entrambe le direzioni. Per lo strato completamente connesso, c’erano 318 (corrispondono al numero di classi nello spazio dei token della Feature Sequence) + 1 (corrispondono al token “vuoto”) nodi, e la funzione di attivazione è una funzione softmax. BN è anche applicato in tutti e 3 gli strati di convoluzione subito prima dell’attivazione. Tuttavia, piuttosto che applicare la BN implementata in Deep Speech 2, la normalizzazione dei livelli (LN) viene applicata in tutti e 5 gli strati RNN perché LN sembra essere più adatta della BN quando si tratta di applicazioni RNN35. Lo schema a blocchi del Feature Sequence Generator è mostrato in Fig. 2.
Formazione del modello
Per allenare il Feature Sequence Generator, sono stati raccolti quattro set di dati in cinese mandarino, che erano Aishell36, Primewords Chinese Corpus Set 137, Free ST Chinese Mandarin Corpus38, e THCHS-3039. Il totale è stato di 307961 istanze e 422 ore di dati. La durata media di ogni istanza era di 7 secondi, e tutte le istanze oltre i 10 secondi sono state rimosse dal set di allenamento perché le sequenze di input più lunghe hanno una maggiore possibilità di affrontare il problema del gradiente che svanisce ed esplode. La backpropagation through time (BPTT) è stata effettuata utilizzando Adam40 con un tasso di apprendimento di 0,0005 come ottimizzatore. Il clipping del gradiente è stato applicato anche per stabilizzare ulteriormente l’addestramento, dove il gradiente massimo consentito era 400. La dimensione del batch è stata impostata a 32 durante l’intero processo di formazione, e il modello è stato addestrato per 50000 iterazioni. Tutti i pesi sono stati inizializzati usando l’inizializzatore normale di Glorot41.
Strategia di generazione della sequenza di caratteristiche
La generazione della sequenza di caratteristiche è stata generalmente effettuata tramite decodifica greedy42. Tutti i token, eccetto il token del silenzio, potevano essere generati selezionando quello che aveva il massimo output del modello ad ogni timetep. Per generare il token di silenzio, è stata progettata una semplice euristica per determinare la lunghezza del segmento di silenzio e se generare un token di silenzio in base alla lunghezza determinata. In primo luogo, il token vuoto prodotto dal Feature Sequence Generator è stato trattato come un silenzio o almeno niente di significativo. Poi, solo un numero sopra una certa soglia di gettoni vuoti consecutivi sarebbe stato trascritto in un gettone di silenzio. La soglia poteva essere specificata in termini di secondi, cioè, quanti secondi doveva essere un segmento di silenzio per essere trattato come un token di silenzio. Poiché l’hop size dell’input era di 10 ms, un token di silenzio verrebbe trascritto solo quando esiste almeno la soglia (in termini di secondi) divisa per 0,01 di token vuoti consecutivi. Per esempio, dato che la soglia è di 3 secondi, un token di silenzio verrebbe trascritto solo quando esistono almeno 300 token vuoti consecutivi.
Motore di valutazione della malattia di Alzheimer
Data la Feature Sequence come input, che contiene implicitamente le informazioni necessarie per la valutazione, l’output era il punteggio di valutazione di avere AD. Abbiamo formulato il punteggio di avere AD con una funzione di un insieme di token nella sequenza di caratteristiche, come mostrato nella seguente equazione:
dove st è il tesimo token nella Feature Sequence, e T è la lunghezza massima della Feature Sequence. Il punteggio di valutazione è un valore scalare che va da 0 a 1, dove più alto è il punteggio di valutazione, maggiore è la possibilità di avere AD. Invece di creare a mano numerose caratteristiche e selezionare quelle significative attraverso un’analisi statistica per addestrare un classificatore, viene utilizzata una tecnica di apprendimento automatico guidata dai dati per costruire il nostro classificatore. Il modello scelto è un RNN.
Architettura del modello
A un livello superiore, RNN può anche essere formulato generalmente come:
dove xt è l’input del timestep t, yt è l’output del timestep t, e ht è lo stato nascosto della RNN del timestep t. Si adatta perfettamente al nostro problema poiché la sua forza è la modellazione delle sequenze. La somiglianza può essere vista anche confrontando le Eq. (1) e (2) Crediamo che dopo che una RNN ha elaborato la sequenza di caratteristiche sostituendo xt in st, l’output del suo ultimo timestep, che può anche essere visto come un messaggio codificato o un vettore di caratteristiche dell’intera sequenza, avrebbe abbastanza informazioni per classificare attraverso uno strato completamente connesso, cioè,
dove yT è l’output RNN del timestep finale, W è il peso, b è il bias, σ è la funzione di attivazione dello strato completamente connesso, e score è il punteggio di valutazione di avere AD.
Con soli dati limitati a portata di mano, l’architettura dell’AD Assessment Engine è progettata per essere il più leggera possibile per aumentare l’addestrabilità e diminuire la possibilità di overfitting limitando la sua capacità. Alla fine, si tratta di una RNN bidirezionale a singolo strato con 128 celle GRU in ogni direzione, e l’uscita dal timestep finale in ogni direzione è concatenata e alimentata attraverso uno strato completamente connesso per generare l’uscita finale, dove è un singolo valore scalare che va da 0 a 1. La funzione di attivazione dell’uscita GRU è un tanh, e quella del controllo del gate GRU e l’uscita completamente collegata è una funzione sigmoide. Il diagramma a blocchi del motore di valutazione AD è mostrato in Fig. 3.
Model Training
Siccome l’output dell’AD Assessment Engine era attivato da una funzione sigmoide, va da 0 a 1 e potrebbe essere trattato come una probabilità. L’etichetta corrispondente per ogni uscita era quindi 0 per i soggetti senza AD e 1 per i soggetti con AD. La funzione di perdita è stata definita come la somma dell’entropia incrociata tra l’uscita e l’etichetta di tutti i campioni di allenamento in un batch. Il BPTT viene eseguito utilizzando Adam con un tasso di apprendimento di 0,001 come ottimizzatore. La dimensione del batch è impostata a 16 durante l’intero processo di formazione. Tutti i pesi sono inizializzati usando l’inizializzatore normale di Glorot41.
Preparazione dei dati
Lo studio presentato è stato approvato dal Comitato Etico e dall’Institutional Review Board del National Taiwan University Hospital. La raccolta dei dati e tutti i metodi di questo studio sono stati eseguiti in conformità con le linee guida e i regolamenti approvati. Il consenso informato scritto è stato ottenuto da tutti i partecipanti.
Mandarin_Lu & NTU dataset
Mandarin_Lu corpus dal DementiaBank è un dataset contenente registrazioni di interviste da 52 pazienti AD in Taiwan43,44. Al fine di abbinare i dati raccolti con la nostra procedura di raccolta dati, i dati sono stati aumentati manualmente segmentando la risposta del primo minuto dal soggetto. Solo 30 soggetti del set di dati sono stati selezionati perché il resto era più breve di un minuto o notevolmente interferito dall’intervistatore. I dati selezionati includono tre test neuropsicologici, che sono un test di fluidità della frutta, un test di fluidità della posizione e un test di descrizione dell’immagine utilizzando l’immagine da WAB. Utilizzando la procedura di raccolta dei dati di cui sopra, altri 30 soggetti cognitivi sani (CH) sono stati reclutati per conto nostro come gruppo di controllo sotto l’approvazione del comitato di revisione istituzionale dell’ospedale universitario nazionale di Taiwan. I test neuropsicologici utilizzati durante la nostra raccolta sono esattamente gli stessi di quelli selezionati dal corpus Mandarin_Lu. Questo set di dati è chiamato NTU dataset. Il numero di campioni nel corpus Mandarin_Lu e nel dataset NTU sia per il test di fluidità della frutta e della posizione sono 30 e quello per il test di descrizione dell’immagine sono 15.
NTUH Dataset
Mentre una combinazione del corpus Mandarin_Lu e del dataset NTU è stata usata per lo studio pilota del sistema proposto, la difficoltà complessiva del compito non è così difficile perché i due gruppi di test sono abbastanza diversi tra loro in termini di capacità cognitive. Inoltre, anche l’ambiente di registrazione e la qualità della registrazione sono molto diversi. Infine, non c’è accesso al rapporto medico del soggetto, quindi non è certo che si siano verificate altre complicazioni insieme all’AD. Per superare la debolezza del dataset Mandarin_Lu e del dataset NTU, venti soggetti sono stati ulteriormente reclutati utilizzando la procedura di raccolta dati di cui sopra, dove 10 soggetti sono CH e 10 soggetti sono AD. Questo set di dati è stato chiamato set di dati NTUH. La diagnosi di AD lieve era basata sui criteri NINCDS-ADRDA per l’Alzheimer. I partecipanti sono stati esclusi se avevano una diagnosi attuale o passata di un disturbo psichiatrico, abuso di alcol o droghe, difficoltà di apprendimento, trauma cranico noto con perdita di coscienza, ipotiroidismo non trattato, carenza di vitamina B12, alterazione metabolica, o qualsiasi significativa menomazione visiva o uditiva che precludeva la partecipazione ai test neuropsicologici. Con 6 test neuropsicologici per soggetto, ci sono stati 120 campioni di un minuto in totale. La tabella 1 elenca i dati demografici dei soggetti nel dataset NTUH. I soggetti sono stati reclutati per conto nostro come gruppo di controllo sotto l’approvazione di un comitato di revisione istituzionale del National Taiwan University Hospital.