Ett automatiskt bedömningssystem för Alzheimers sjukdom baserat på tal med hjälp av Feature Sequence Generator och Recurrent Neural Network

Systemöversikt

Det fanns huvudsakligen tre komponenter i vårt system: Det finns tre huvudkomponenter i vårt system: ett datainsamlingsförfarande som samlade in taldata från användaren, Feature Sequence Generator som omvandlade taldata till Feature Sequence, vilket var en ny funktionsrepresentation som föreslogs i den här studien, och en AD Assessment Engine som genererade poängen för att ha Alzheimers sjukdom. Systemets flödesschema visas i figur 1.

Figur 1

Systemets flödesschema.

Datainsamlingsprocedur

Datainsamlingsproceduren för vårt system var som följer. Först instruerades användaren personligen om formuläret och flödet av de efterföljande neuropsykologiska testerna. Därefter ombads användaren att sitta vid ett skrivbord placerat med en mikrofon och ett par högtalare ovanpå. Med totalt sex utvalda neuropsykologiska tester per session spelades beskrivningen av varje neuropsykologiskt test upp i 30 sekunder och följdes av ett svarsfönster på 1 minut. Taldata registrerades endast under denna enminutersperiod. Totalt sett tog det bara mindre än 10 minuter att genomföra en session.

Väljning av neuropsykologiska test

Tre typer av neuropsykologiska test valdes ut i vårt system, nämligen flödestestest19,20,21, bildbeskrivningstest22,23,24 och test för logiskt minne25,26,27. Urvalet baserades på den neuropsykologiska bedömning som utförts i en klinisk miljö samt på välkänd forskning om Alzheimers sjukdom. Dessa tester hade visat sig vara effektiva när det gällde att karakterisera huvuddragen av AD, som alla var mycket differentierbara problem.

Flödighetstest

Flödighetstestets tillvägagångssätt var följande. Givet en utsedd kategori ombads försökspersonen att säga så många olika ord relaterade till den kategorin som möjligt under en begränsad tid. Om kategorin till exempel var djur var möjliga svar elefanter, tigrar, zebror osv. I vårt system valdes kategorin djur och frukt, och tidsgränsen för varje kategori var en minut.

Bildbeskrivningstest

Förfarandet för bildbeskrivningstestet var följande. Med tanke på en presenterad bild ombads försökspersonen att beskriva scenariot i bilden så detaljerat som möjligt under en begränsad tid. Till exempel var följande beskrivning ett möjligt svar. Detta är en bild som visar en typisk familjekväll. Pappa tittar på baseball och mamma stickar en halsduk. Den aktuella tiden är …, osv. I vårt system väljs en bild från en relaterad studie som utfördes i Japan28 , som hade en liknande kulturell bakgrund som vi, och en annan från Western Aphasia Battery (WAB)29 . Tidsgränsen för varje bild var också en minut.

Logiskt minnestest

Förfarandet för det logiska minnestestet var följande. En kort berättelse lästes högt för deltagarna och därefter ombads försökspersonen att spontant minnas berättelsen så exakt som möjligt. I vårt system ingick två berättelser från Wechsler Memory Scale III (WMS-III)30 i analysen. Även om det inte fanns någon tidsgräns för logiska minnestester i en klinisk uppställning, tillämpades ändå en tidsgräns på en minut i vårt system för konsekvensens skull.

Feature representation – feature sequence

Till skillnad från många i den befintliga litteraturen12,13,14,15,16,17,18 var vårt mål att utforma en representation som implicit kunde förkroppsliga funktioner alla på en gång. Det vi kom fram till var en sekvens av tokens, där varje token var ansvarig för att representera ett unikt element i talet. Med hjälp av en sådan representation kan pauser identifieras genom en tystnadstoken eller en fylld paastoken, upprepningar kan identifieras genom tokens som återkommer i sekvensen, och disfluens kan identifieras genom att tystnadstoken växlar mellan tystnadstoken och andra tokens. Förutom dessa tre nyckelegenskaper kan man också identifiera många andra användbara egenskaper som diskuteras i befintlig litteratur13 . Till exempel var talets längd och hastighet båda proportionella mot antalet tokens i sekvensen. Även vissa av de kontextberoende egenskaperna, t.ex. antalet unika ord och lågfrekventa ord, skulle kunna härledas från fördelningen av tokens eftersom varje token kan vara en ganska nära approximation av ett specifikt ord. Dessa egenskaper gjorde vår design fullt kapabel att avbilda AD-patienters tal, vilket var en utmärkt kandidat för uppgifter som upptäckt och bedömning av AD. Sekvensen av tokens kallas Feature Sequence i följande innehåll.

För att uppfylla kriterierna för Feature Sequence var de möjliga kandidattoken fonem, stavelser, ord, yttranden osv. Det primära övervägandet vid valet av den optimala kandidaten var lämplighet, träningsbarhet och generaliserbarhet. Lämplighet var hur pass bra symbolerna kunde manifestera nyckelegenskaperna. Detta uteslöt fonem eftersom det är de minsta enheterna i talet, så det skulle finnas många återkommande tecken, vilket skulle kunna vara vilseledande när det gäller att identifiera upprepningar, eftersom de kan komma från samma ord eller olika ord. Träningsbarhet var hur genomförbart det var att bygga en klassificerare för AD-bedömning baserad på Feature Sequence och en automatisk Feature Sequence-generator. Detta uteslöt uttal eftersom det var omöjligt att samla in tillräckligt med träningsdata. Slutligen var generaliserbarheten hur väl tokenerna kunde införliva regionala dialekter och användningen av blandade språk i Taiwan. Detta uteslöt ord eftersom det inte ens finns en officiell skriftlig form för taiwanesiska och hakka. Å andra sidan är stavelserna i mandarin-kinesiska, taiwanesiska och hakka mycket lika, vilket gjorde det generaliserbart.

Därmed var stavelser valet av våra tokens. Eftersom mandarin-kinesiska, taiwanesiska och hakka är monosyllabiska språk kan stavelser i sig själva innehålla mycket information om det talade innehållet. Detta är en värdefull uppgradering av Feature Sequence eftersom den var kompetent att förkroppsliga både akustikberoende och kontextberoende egenskaper. ZhuYin, det mest populära stavningssättet i Taiwan, användes för att definiera tokenutrymmet för vår Feature Sequence. Enligt den ordbok som upprätthålls av Taiwans utbildningsministerium finns det 1339 olika stavelser som stavas i ZhuYin, och endast 317 av dessa behålls efter att tonmarkörer, dvs. ´, ˇ, ˇ, `, ˙, och liknande fonetiska enheter, dvs, , för att öka träningsbarheten genom att minska tokenutrymmet; dessutom skulle generaliserbarheten också öka eftersom mindre negativa effekter orsakade av olika accenter skulle uppstå eftersom olika toner nu grupperades ihop och betraktades som en enda enhet. En tyst token läggs också till i tokenutrymmet. Eftersom det bara finns en token som anger tystnad i tokenutrymmet måste man fastställa ett tröskelvärde för att bedöma om ett tystnadssegment ska transkriberas till en tystnadstoken på grundval av dess längd. Slutligen var tokenutrymmet för Feature Sequence 318.

Feature sequence generator

Med de insamlade taldata som indata fanns det två sätt att generera Feature Sequence: det ena gjordes manuellt genom mänsklig märkning medan det andra gjordes automatiskt av en modell. Den valda modellen var ett Convolutional Recurrent Neural Network (CRNN) som tränades av Connectionist Temporal Classification (CTC) loss31.

Modellarkitektur

I vårt system var modellens indata den 80-dimensionella log-filterbankens energi som extraherades med en fönsterstorlek på 25 ms och en hoppstorlek på 10 ms. Dessutom tillämpades Cepstral Mean and Variance Normalization (CMVN)32 för att normalisera de härledda energierna. Arkitekturen för Feature Sequence Generator inspirerades till största delen av den senaste end-to-end-taligenkänningsmodellen som utvärderats på både engelska och mandarin-kinesiska, nämligen Deep Speech 2 från Baidu, Inc.33 . Några av de viktigaste punkterna i Deep Speech 2 kan sammanfattas på följande sätt. För det första skulle en dubbelriktad uppställning av ett återkommande neuralt nätverk (Recurrent Neural Network, RNN) förbättra modellens prestanda enormt. För det andra kan man genom att tillämpa 2D-faltningslager före RNN omorganisera spektrogrammet genom att modellera den temporala översättningsinvariansen och den spektrala invariansen och minska beräkningskostnaden för CTC-förlusten genom att skala ner antalet tidssteg. Slutligen kan man genom att tillämpa Batch Normalization (BN)34 på varje lager öka träningshastigheten och ytterligare öka modellens prestanda. Med begränsade hårdvaruresurser hade dock Feature Sequence Generator 3 2D-konvolutionära lager, följt av ett 5-lagers dubbelriktad RNN och slutligen ett fullt anslutet lager. För konvolutionslagren var antalet filter 32, 32 respektive 96, och filtrens kärnstorlek var (11, 41), (11, 21) respektive (11, 21). För varje RNN-skikt fanns det 512 GRU-celler i båda riktningarna. För det fullt sammankopplade lagret fanns det 318 (motsvarar antalet klasser i tokenutrymmet i Feature Sequence) + 1 (motsvarar den ”tomma” token) noder, och aktiveringsfunktionen är en softmax-funktion. BN tillämpas också i alla tre konvolutionslagren strax före aktiveringen. I stället för att tillämpa BN som genomförs i Deep Speech 2 tillämpas dock Layer Normalization (LN) i alla 5 RNN-lagren eftersom LN verkar vara mer lämpligt än BN när det gäller RNN-tillämpningar35. Blockdiagrammet för Feature Sequence Generator visas i figur 2.

Figur 2

Blockdiagrammet för Feature Sequence Generator.

Modellträning

För att träna Feature Sequence Generator samlades fyra dataset på mandarin-kinesiska in, vilka var Aishell36, Primewords Chinese Corpus Set 137, Free ST Chinese Mandarin Corpus38 och THCHS-3039. Det blev totalt 307961 instanser och 422 timmars data. Den genomsnittliga varaktigheten för varje instans var 7 sekunder, och alla instanser över 10 sekunder togs bort från träningsuppsättningen eftersom längre inmatningssekvenser har en större chans att möta problemet med försvinnande och exploderande gradient. Backpropagation through time (BPTT) utfördes med Adam40 med en inlärningshastighet på 0,0005 som optimerare. Gradientklippning tillämpades också för att ytterligare stabilisera träningen, där den högsta tillåtna gradienten var 400. Batchstorleken sattes till 32 under hela träningsprocessen, och modellen tränades i 50000 iterationer. Alla vikter initialiserades med hjälp av Glorot normal initializer41.

Strategi för generering av egenskapssekvenser

Generering av egenskapssekvenser skedde i allmänhet genom greedy avkodning42. Alla token utom tystnadstoken kunde genereras genom att man valde det token som hade den högsta modellutgången vid varje tidssteg. För att generera tystnadstoken utformades en enkel heuristik för att bestämma längden på tystnadssegmentet och huruvida en tystnadstoken ska genereras baserat på den bestämda längden. Först behandlades den tomma token som Feature Sequence Generator gav ut som en tystnad eller åtminstone inget viktigt. Därefter skulle endast ett antal över ett visst tröskelvärde för antalet på varandra följande tomma tecken omvandlas till ett tystnadstoken. Tröskelvärdet kan anges i sekunder, dvs. hur många sekunder ska ett tystnadssegment vara för att behandlas som en tystnadstoken. Eftersom hoppstorleken på inmatningen var 10 ms, skulle en tystnadstoken endast transkriberas när det finns minst tröskelvärdet (i termer av sekunder) dividerat med 0,01 av på varandra följande tomma tokens. Om t.ex. tröskelvärdet är 3 sekunder skulle en tystnadstoken endast transkriberas när det finns minst 300 på varandra följande tomma tokens.

Alzheimer’s disease assessment engine

Med Feature Sequence som indata, som implicit innehåller den nödvändiga informationen för bedömningen, var resultatet bedömningsresultatet för att ha Alzheimers sjukdom. Vi formulerade poängen för att ha Alzheimers sjukdom med en funktion av en uppsättning tokens i Feature Sequence, enligt följande ekvation:

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

där st är den tionde token i Feature Sequence och T är den maximala längden på Feature Sequence. Bedömningspoängen är ett skalärt värde som sträcker sig från 0 till 1, där ju högre bedömningspoängen är, desto större är chansen att man har AD. Istället för att handarbeta många funktioner och välja ut de viktiga via statistisk analys i efterhand för att träna en klassificerare, används datadriven maskininlärningsteknik för att bygga upp vår klassificerare. Den valda modellen är en RNN-modell.

Modellarkitektur

På en högre nivå kan RNN också generellt formuleras som:

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

där xt är inmatningen i tidssteg t, yt är utmatningen i tidssteg t, och ht är RNN:s dolda tillstånd i tidssteg t. Den passar perfekt för vårt problem eftersom dess styrka är sekvensmodellering. Likheten kan också ses genom att jämföra ekv. (1) och (2) Vi tror att efter att en RNN har bearbetat Feature Sequence genom att ersätta xt med st, skulle resultatet från dess sista tidssteg, som också kan ses som ett kodat meddelande eller en funktionsvektor för hela sekvensen, ha tillräckligt med information för att klassificera genom ett fullt sammankopplat lager, Det vill säga

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

där yT är RNN-utgången från det sista tidssteget, W är vikten, b är förspänningen, σ är aktiveringsfunktionen för det fullt kopplade lagret, och score är bedömningsresultatet för att ha AD.

Med endast begränsade data till hands är arkitekturen för AD Assessment Engine utformad för att vara så lätt som möjligt för att öka träningsbarheten och minska risken för överanpassning genom att begränsa dess kapacitet. I slutändan är det en enkelskiktad dubbelriktad RNN med 128 GRU-celler i varje riktning, och utgången från det sista tidssteget i varje riktning sammanfogas och matas genom ett fullt sammankopplat lager för att generera den slutliga utgången, där det är ett enda skalärt värde som sträcker sig från 0 till 1. Aktiveringsfunktionen för GRU-utgången är tanh och aktiveringsfunktionen för GRU-grindkontrollen och den fullt sammankopplade utgången är en sigmoidfunktion. Blockdiagrammet för AD Assessment Engine visas i figur 3.

Figur 3

Blockdiagrammet för AD Assessment Engine.

Modellträning

Då AD Assessment Engine:s utdata aktiverades av en sigmoidfunktion, sträcker den sig från 0 till 1 och kan behandlas som en sannolikhet. Motsvarande etikett för varje utgång var således 0 för personer utan Alzheimers sjukdom och 1 för personer med Alzheimers sjukdom. Förlustfunktionen definierades som summan av korsentropin mellan resultatet och etiketten för alla träningsprov i en batch. BPTT utförs med hjälp av Adam med en inlärningshastighet på 0,001 som optimerare. Partistorleken är satt till 16 under hela träningsprocessen. Alla vikter initialiseras med hjälp av Glorot normal initializer41.

Databeredning

Den presenterade studien har godkänts av den etiska kommittén och Institutional Review Board vid National Taiwan University Hospital. Insamlingen av data och alla metoder i denna studie utfördes alla i enlighet med de godkända riktlinjerna och bestämmelserna. Skriftligt informerat samtycke inhämtades från alla deltagare.

Mandarin_Lu & NTU-dataset

Mandarin_Lu corpus från DementiaBank är ett dataset som innehåller intervjuinspelningar från 52 AD-patienter i Taiwan43,44. För att matcha de data som samlades in med hjälp av vårt datainsamlingsförfarande utökades data manuellt genom att segmentera det första minuten-svaret från försökspersonen. Endast 30 försökspersoner från datasetet valdes ut eftersom resten antingen var kortare än en minut eller avsevärt stördes av intervjuaren. De utvalda uppgifterna omfattar tre neuropsykologiska tester, nämligen ett test för fruktflytande, ett test för lokaliseringsflytande och ett test för bildbeskrivning med hjälp av bilden från WAB. Med hjälp av det datainsamlingsförfarande som anges ovan rekryterades ytterligare 30 kognitivt friska (CH) försökspersoner på egen hand som en kontrollgrupp med ett godkännande av institutionell granskningsnämnd från National Taiwan University Hospital. De neuropsykologiska tester som användes under vår insamling är exakt desamma som de som valts ut från Mandarin_Lu-korpusen. Detta dataset har fått namnet NTU-dataset. Antalet prov i Mandarin_Lu- och NTU-dataset för både frukt- och lokaliseringstestet är 30 och antalet prov för bildbeskrivningstestet är 15.

NTUH-dataset

Men även om en kombination av Mandarin_Lu-dataset och NTU-dataset användes för att pilottesta det föreslagna systemet, är uppgiftens totala svårighetsgrad inte lika svår eftersom de två testgrupperna skiljer sig ganska mycket åt när det gäller kognitiva förmågor. Dessutom är inspelningsmiljön och kvaliteten på inspelningen också mycket olika. Slutligen finns det inte heller någon tillgång till försökspersonens läkarrapport, så det är osäkert om några andra komplikationer uppstod vid sidan av AD. För att övervinna svagheterna med Mandarin_Lu-databasen och NTU-databasen rekryterades ytterligare 20 försökspersoner med hjälp av det datainsamlingsförfarande som anges ovan, där 10 försökspersoner är CH och 10 försökspersoner är AD. Detta dataset kallas NTUH-dataset. Diagnosen mild Alzheimers sjukdom baserades på NINCDS-ADRDA:s kriterier för Alzheimers sjukdom. Deltagarna uteslöts om de hade en aktuell eller tidigare diagnos av en psykiatrisk störning, alkohol- eller drogmissbruk, inlärningssvårigheter, känd huvudskada med medvetandeförlust, obehandlad hypotyreos, B12-vitaminbrist, metabolisk störning eller någon betydande syn- eller hörselskada som omöjliggjorde deltagande i neuropsykologiska tester. Med 6 neuropsykologiska tester per försöksperson fanns det totalt 120 enminutersprov. I tabell 1 anges demografiska uppgifter om försökspersonerna i NTUH Dataset. Försökspersonerna rekryterades på egen hand som en kontrollgrupp under ett godkännande av institutionell granskningsnämnd från National Taiwan University Hospital.

Tabell 1 Information om försökspersoner i NTUH Dataset.

Lämna ett svar

Din e-postadress kommer inte publiceras.