An Automatic Assessment System for Alzheimer’s Disease Based on Speech Using Feature Sequence Generator and Recurrent Neural Network

Systemoversigt

Der var hovedsageligt tre komponenter i vores system: Det var en dataindsamlingsprocedure, der indsamlede taledata fra brugeren, Feature Sequence Generator, der omdannede taledataene til Feature Sequence, som var en ny funktionsrepræsentation, der blev foreslået i denne undersøgelse, og en AD Assessment Engine, der genererede scoren for at have AD. Systemets flowdiagram er vist i fig. 1.

Figur 1

Systemets flowdiagram.

Dataindsamlingsprocedure

Dataindsamlingsproceduren for vores system var som følger. Først blev brugeren personligt instrueret om formularen og forløbet af de efterfølgende neuropsykologiske test. Derefter blev brugeren bedt om at sidde ved et skrivebord, hvor der var placeret en mikrofon og et par højttalere ovenpå. Med i alt seks udvalgte neuropsykologiske test pr. session blev beskrivelsen af hver neuropsykologisk test afspillet i 30 sekunder og blev efterfulgt af et svarvindue på 1 minut. Taledata blev kun registreret i denne etminutters periode. Samlet set tog det kun mindre end 10 minutter at gennemføre en session.

Udvalg af neuropsykologiske test

Der blev udvalgt tre typer neuropsykologiske test i vores system, nemlig fluency-testen19,20,21, billedbeskrivelsestesten22,23,24 og den logiske hukommelsestestest25,26,27. Udvælgelsen var baseret på neuropsykologisk vurdering udført i et klinisk setup samt på velkendt forskning vedrørende AD. Disse test havde vist sig at være effektive til at karakterisere hovedtrækkene ved AD, som alle var meget differentierbare problemer.

Flydighedstest

Flydighedstestens fremgangsmåde var som følger. Ved at give en udpeget kategori blev forsøgspersonen bedt om at sige så mange forskellige ord med relation til denne kategori som muligt i en begrænset tid. Hvis kategorien f.eks. var dyr, var de mulige svar elefanter, tigre, zebraer osv. I vores system blev kategorien dyr og frugt valgt, og tidsgrænsen for hver kategori var et minut.

Billedbeskrivelsestest

Fremgangsmåden i billedbeskrivelsestesten var som følger. På baggrund af et præsenteret billede blev forsøgspersonen bedt om at beskrive scenariet i billedet så detaljeret som muligt i en begrænset tid. F.eks. var følgende beskrivelse et muligt svar. Dette er et billede, der viser en typisk aften i en familie. Far ser baseball, og mor strikker et halstørklæde. Det aktuelle tidspunkt er …, osv. I vores system udvælges et billede fra en beslægtet undersøgelse udført i Japan28 , som deler en lignende kulturel baggrund med os, og et andet fra Western Aphasia Battery (WAB)29 . Tidsgrænsen for hvert billede var også et minut.

Logisk hukommelsestest

Proceduren for den logiske hukommelsestest var som følger. En kort historie blev læst højt for deltagerne, og derefter blev forsøgspersonen bedt om spontant at genkalde sig historien så præcist som muligt. I vores system blev der medtaget to historier fra Wechsler Memory Scale III (WMS-III)30 til analyse. Selv om der ikke var nogen tidsbegrænsning for logiske hukommelsestests i et klinisk setup, blev der stadig anvendt en tidsbegrænsning på et minut i vores system af hensyn til konsistensen.

Funktionel repræsentation – funktionel sekvens

I modsætning til mange i den eksisterende litteratur12,13,14,15,16,17,18 var vores mål at designe en repræsentation, der implicit kunne legemliggøre funktioner alle på en gang. Det, vi fandt frem til, var en sekvens af tokens, hvor hvert token var ansvarlig for at repræsentere et unikt element i talen. Ved hjælp af en sådan repræsentation kunne pauser identificeres ved et tavshedstoken eller et udfyldt pausetoken, gentagelser kunne identificeres ved tokens, der går igen i sekvensen, og disfluency kan identificeres ved den vekslende forekomst mellem tavshedstokens og andre tokens. Ud over disse tre nøglekarakteristika kan der også identificeres mange andre nyttige afledte karakteristika, som diskuteres i den eksisterende litteratur13 . F.eks. var talens længde og hastighed begge proportionale med antallet af tokens i sekvensen. Selv nogle af de kontekstafhængige træk som f.eks. antallet af unikke ord og lavfrekvente ord kunne potentielt udledes af fordelingen af tokens, fordi hvert token kan være en ret tæt tilnærmelse til et bestemt ord. Disse egenskaber gjorde vores design fuldt ud i stand til at skildre tale fra AD-patienter, hvilket var en fremragende kandidat til opgaver som f.eks. detektion og vurdering af AD. Sekvensen af tokens kaldes Feature Sequence i det følgende indhold.

For at opfylde kriterierne for Feature Sequence var de mulige kandidat-tokens fonemer, stavelser, ord, ytringer osv. Den primære overvejelse ved udvælgelsen af den optimale kandidat var egnethed, trænbarhed og generaliserbarhed. Egnethed var, hvor hensigtsmæssigt symbolerne kunne manifestere de vigtigste karakteristika. Dette udelukkede fonemer, da de er de mindste taleenheder, så der ville være mange tilbagevendende tokens, hvilket kunne være misvisende i forbindelse med identifikation af gentagelser, da de kunne stamme fra enten det samme ord eller forskellige ord. Trænbarhed var, hvor muligt det var at opbygge en klassifikator til AD-vurdering baseret på Feature Sequence og en automatisk Feature Sequence-generator. Dette udelukkede ytringer, da det var umuligt at indsamle tilstrækkelige træningsdata. Endelig var generaliserbarheden, hvor godt tokens kunne inkorporere regionale dialekter og blandet sprogbrug i Taiwan. Dette udelukkede ord, da der ikke engang findes en officiel skriftlig form for taiwanesisk og hakka. På den anden side er stavelserne i mandarin-kinesisk, taiwanesisk og hakka meget ens, hvilket gjorde det generaliserbart.

Derfor var stavelser valget af vores tokens. Da mandarin-kinesisk, taiwanesisk og hakka desuden er et monosyllabisk sprog, kan stavelser alene indeholde mange oplysninger om det talte indhold. Dette er en værdifuld opgradering af Feature Sequence, fordi den var kompetent til at indbefatte både akustisk afhængige og kontekstafhængige træk. ZhuYin, den mest populære måde at stave på i Taiwan, blev brugt til at definere tokenrummet for vores Feature Sequence. Ifølge den ordbog, der vedligeholdes af Taiwans undervisningsministerium, er der 1339 forskellige stavelser stavet i ZhuYin, og kun 317 af disse er bevaret efter at have udeladt tonemarkeringer, dvs. ´, ´, ˇ, `, ˙, og lignende fonetiske enheder, dvs, , for at øge træningsmulighederne ved at mindske tokenrummet; desuden ville generaliserbarheden også blive øget, fordi der ville opstå mindre negativ effekt forårsaget af forskellige accenter, fordi forskellige toner nu blev grupperet sammen og betragtet som en enkelt enhed. Der er også tilføjet et tavse token til tokenrummet. Da der imidlertid kun er ét token, der angiver stilhed i tokenrummet, er det nødvendigt at fastsætte en tærskel for at vurdere, om et stilhedssegment skal transskrives til et stilhedstoken på grundlag af dets længde. I sidste ende blev tokenrummet for Feature Sequence 318.

Feature sequence generator

Givet de indsamlede taledata som input var der to måder at generere Feature Sequence på: den ene blev udført manuelt ved menneskelig mærkning, mens den anden blev udført automatisk af en model. Den valgte model var et Convolutional Recurrent Neural Network (CRNN) trænet af Connectionist Temporal Classification (CTC) loss31.

Modelarkitektur

I vores system var modellens input den 80-dimensionelle logfilterbankenergi, der blev udvundet med en vinduesstørrelse på 25 ms og en hopstørrelse på 10 ms. Desuden blev Cepstral Mean and Variance Normalization (CMVN)32 anvendt til at normalisere de afledte energier. Arkitekturen i Feature Sequence Generator blev hovedsagelig inspireret af den avancerede end-to-end-talegenkendelsesmodel, der er evalueret på både engelsk og mandarin-kinesisk, nemlig Deep Speech 2 fra Baidu, Inc.33 . Nogle af de vigtigste højdepunkter i Deep Speech 2 er opsummeret som følger. For det første ville en tovejsopsætning af et recurrent neuralt netværk (RNN) forbedre modellens ydeevne enormt. For det andet kunne anvendelsen af 2D-foldningslag forud for RNN’et reorganisere spektrogrammet ved at modellere den tidsmæssige translationsinvarians og den spektrale invarians og reducere beregningsomkostningerne ved CTC-tab ved at nedskalere antallet af tidstrin. Endelig kan man ved at anvende Batch Normalization (BN)34 på hvert lag øge træningshastigheden og yderligere øge modellens ydeevne. Med begrænsede hardwareressourcer til rådighed havde Feature Sequence Generator imidlertid 3 2D-konvolutionelle lag, efterfulgt af et 5-laget bidirektionelt RNN og til sidst et fuldt forbundet lag. For konvolutionslagene var antallet af filtre henholdsvis 32, 32 og 96, og filtrenes kernestørrelse var henholdsvis (11, 41), (11, 21) og (11, 21). For hvert lag af RNN’en var der 512 GRU-celler i begge retninger. For det fuldt sammenkoblede lag var der 318 (svarende til antallet af klasser i tokenrummet i Feature Sequence) + 1 (svarende til det “tomme” token) knuder, og aktiveringsfunktionen er en softmax-funktion. BN anvendes også i alle 3 konvolutionslag lige før aktiveringen. Men i stedet for at anvende BN, der er implementeret i Deep Speech 2, anvendes lagnormalisering (LN) i alle 5 RNN-lag, fordi LN synes at være mere egnet end BN, når der er tale om RNN-applikationer35. Blokdiagrammet for Feature Sequence Generator er vist i fig. 2.

Figur 2

Blokdiagrammet for Feature Sequence Generator.

Modeltræning

For at træne Feature Sequence Generator blev der indsamlet fire datasæt i mandarin-kinesisk, som var Aishell36, Primewords Chinese Corpus Set 137, Free ST Chinese Mandarin Corpus38 og THCHS-3039. Det blev til i alt 307961 forekomster og 422 timers data. Den gennemsnitlige varighed af hver instans var 7 sekunder, og alle instanser over 10 sekunder blev fjernet fra træningssættet, fordi længere inputsekvenser har større chance for at blive konfronteret med problemet med forsvindende og eksploderende gradient. Backpropagation gennem tiden (BPTT) blev udført ved hjælp af Adam40 med en indlæringshastighed på 0,0005 som optimizer. Gradient clipping blev også anvendt for yderligere at stabilisere træningen, hvor den maksimalt tilladte gradient var 400. Batchstørrelsen blev sat til 32 under hele træningsprocessen, og modellen blev trænet i 50000 iterationer. Alle vægte blev initialiseret ved hjælp af Glorot normal initializer41.

Feature sequence generation strategy

Generering af Feature Sequence blev generelt udført ved hjælp af greedy afkodning42. Alle tokens undtagen tavshedstoken kunne genereres ved at vælge det token, der havde det maksimale modeloutput ved hvert timestep. For at generere stilhedstokenet blev der udviklet en simpel heuristik til at bestemme længden af stilhedssegmentet og til at afgøre, om der skal genereres et stilhedstoken på grundlag af den bestemte længde. Først blev det tomme token, som Feature Sequence Generator udsender, behandlet som en tavshed eller i det mindste som noget uden betydning. Derefter blev kun et antal over en vis tærskel af på hinanden følgende tomme tokens transskriberet til et tavshedstoken. Tærsklen kunne angives i sekunder, dvs. hvor mange sekunder et stilhedssegment skal være for at blive behandlet som et stilhedstoken. Da inputets hopstørrelse var 10 ms, ville et tavshedstoken kun blive transskriberet, når der er mindst tærskelværdien (i sekunder) divideret med 0,01 af på hinanden følgende tomme tokens. Hvis tærsklen f.eks. er 3 sekunder, vil en tavshedstoken kun blive transskriberet, når der findes mindst 300 på hinanden følgende tomme tokens.

Alzheimer’s disease assessment engine

Givet Feature Sequence som input, der implicit indeholder de nødvendige oplysninger til vurdering, var outputtet vurderingsscoren for at have Alzheimers sygdom. Vi formulerede scoren for at have AD med en funktion af et sæt af tokens i Feature Sequence, som vist i følgende ligning:

$$$score=f({s}_{1},\,{s}_{2},\,\ldots ,\,{s}_{T})\in $$$
(1)

hvor st er det tiende token i feature-sekvensen, og T er den maksimale længde af feature-sekvensen. Vurderingsscoren er en skalarværdi, der går fra 0 til 1, hvor jo højere vurderingsscoren er, desto større er chancen for at have AD. I stedet for at udarbejde en lang række funktioner i hånden og efterfølgende udvælge de signifikante funktioner via en statistisk analyse for at træne en klassifikator, anvendes datadrevet maskinlæringsteknik til at opbygge vores klassifikator. Den valgte model er en RNN.

Modelarkitektur

På et højere niveau kan RNN også generelt formuleres som:

$$${h}_{t+1},\,{y}_{t}=RNN({x}_{t},\,{h}_{t})$$$
(2)

hvor xt er input for tidsskridt t, yt er output for tidsskridt t, og ht er RNN’ens skjulte tilstand for tidsskridt t. Den passer perfekt til vores problem, da dens styrke er sekvensmodellering. Ligheden kan også ses ved at sammenligne Eqs. (1) og (2) Vi mener, at efter at en RNN har bearbejdet Feature Sequence ved at erstatte xt med st, vil output fra dens sidste timestep, som også kan ses som en kodet meddelelse eller en featurevektor for hele sekvensen, have nok information til at klassificere gennem et fuldt forbundet lag, dvs.,

$$$score=\sigma (W{y}_{T}+b)$$$
(3)

hvor yT er RNN-udgangen fra det sidste tidstrin, W er vægten, b er bias, σ er aktiveringsfunktionen for det fuldt forbundne lag, og score er vurderingsscoren for at have AD.

Med kun begrænsede data til rådighed er arkitekturen i AD Assessment Engine designet til at være så let som muligt for at øge træningsmulighederne og mindske risikoen for overfitting ved at begrænse dens kapacitet. I sidste ende er det en bidirektionel RNN i et enkelt lag med 128 GRU-celler i hver retning, og output fra det sidste tidsskridt i hver retning sammenkædes og føres gennem et fuldt forbundet lag for at generere det endelige output, hvor det er en enkelt skalarværdi, der spænder fra 0 til 1. Aktiveringsfunktionen for GRU-output er en tanh, og aktiveringsfunktionen for GRU-gate-kontrollen og det fuldt forbundne output er en sigmoidfunktion. Blokdiagrammet for AD Assessment Engine er vist i fig. 3.

Figur 3

Blokdiagrammet for AD Assessment Engine.

Modeltræning

Da output fra AD Assessment Engine blev aktiveret af en sigmoidfunktion, går det fra 0 til 1 og kan behandles som en sandsynlighed. Den tilsvarende etiket for hvert output var således 0 for personer uden AD og 1 for personer med AD. Tabsfunktionen blev defineret som summen af krydsentropien mellem output og etiketten for alle træningsprøver i en batch. BPTT er udført ved hjælp af Adam med en indlæringshastighed på 0,001 som optimizer. Batchstørrelsen er sat til 16 under hele træningsprocessen. Alle vægte initialiseres ved hjælp af Glorot normal initializer41.

Dataforberedelse

Den præsenterede undersøgelse blev godkendt af den etiske komité og Institutional Review Board på National Taiwan University Hospital. Indsamlingen af data og alle metoder i denne undersøgelse blev alle udført i overensstemmelse med de godkendte retningslinjer og bestemmelser. Der blev indhentet skriftligt informeret samtykke fra alle deltagere.

Mandarin_Lu & NTU-datasæt

Mandarin_Lu-korpus fra DementiaBank er et datasæt, der indeholder interviewoptagelser fra 52 AD-patienter i Taiwan43,44. For at matche de data, der er indsamlet ved hjælp af vores dataindsamlingsprocedure, blev dataene suppleret manuelt ved at segmentere det første minuts svar fra forsøgspersonen. Kun 30 emner fra datasættet blev udvalgt, fordi resten enten var kortere end et minut eller blev væsentligt forstyrret af intervieweren. De udvalgte data omfatter tre neuropsykologiske test, nemlig en test af frugtflydende adfærd, en test af lokaliseringsflydende adfærd og en test af billedbeskrivelse ved hjælp af et billede fra WAB. Ved hjælp af den ovenfor nævnte dataindsamlingsprocedure blev yderligere 30 kognitivt raske (CH) forsøgspersoner rekrutteret på egen hånd som kontrolgruppe i henhold til en godkendelse fra det nationale universitetshospital i Taiwan fra et institutionelt review board. De neuropsykologiske test, der blev anvendt under vores indsamling, er nøjagtig de samme som dem, der blev udvalgt fra Mandarin_Lu-korpus. Dette datasæt benævnes NTU-datasæt. Antallet af prøver i Mandarin_Lu- og NTU-datasættet for både frugt- og lokaliseringstesten er 30, og antallet af prøver for billedbeskrivelsestesten er 15.

NTUH-datasættet

Mens en kombination af Mandarin_Lu-datasættet og NTU-datasættet blev brugt til pilotundersøgelse af det foreslåede system, er opgavens samlede sværhedsgrad ikke så svær, fordi de to testgrupper er ret forskellige fra hinanden med hensyn til deres kognitive evner. Desuden er optagelsesmiljøet og kvaliteten af optagelsen også meget forskellige. Endelig er der heller ikke adgang til forsøgspersonernes lægeerklæring, så det er usikkert, om der er opstået nogle andre komplikationer ved siden af AD. For at afhjælpe svaghederne ved Mandarin_Lu-datasættet og NTU-datasættet blev der yderligere rekrutteret 20 forsøgspersoner ved hjælp af den ovennævnte dataindsamlingsprocedure, hvor 10 forsøgspersoner er CH og 10 forsøgspersoner er AD. Dette datasæt benævnes NTUH-datasæt. Diagnosen mild AD blev stillet på grundlag af NINCDS-ADRDA Alzheimer-kriterierne. Deltagerne blev udelukket, hvis de havde en nuværende eller tidligere diagnose af en psykiatrisk lidelse, alkohol- eller stofmisbrug, indlæringsvanskeligheder, kendt hovedskade med bevidsthedstab, ubehandlet hypothyreose, B12-vitaminmangel, stofskifteforstyrrelser eller væsentlige syns- eller hørenedsættelser, der forhindrede deltagelse i neuropsykologiske test. Med 6 neuropsykologiske test pr. forsøgsperson var der i alt 120 prøver af et minuts varighed. Tabel 1 viser de demografiske oplysninger om forsøgspersonerne i NTUH-datasættet. Forsøgspersoner blev rekrutteret på egen hånd som en kontrolgruppe under en godkendelse fra det institutionelle review board fra National Taiwan University Hospital.

Tabel 1 Forsøgspersonoplysninger i NTUH Dataset.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.