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

System overview

A rendszerünkben elsősorban három komponens volt: A Feature Sequence Generator, amely a beszédadatokat Feature Sequence-vé alakította, ami egy új, ebben a tanulmányban javasolt új feature-reprezentáció volt, és egy AD Assessment Engine, amely az AD-vel rendelkező személy pontszámát generálta. A rendszer folyamatábrája az 1. ábrán látható.

1. ábra

A rendszer folyamatábrája.

Adatgyűjtési eljárás

A rendszerünk adatgyűjtési eljárása a következő volt. Először a felhasználót személyesen instruáltuk az űrlapról és a későbbi neuropszichológiai tesztek menetéről. Ezután megkérték a felhasználót, hogy üljön le egy íróasztalhoz, amelynek tetején egy mikrofon és egy pár hangszóró volt elhelyezve. A munkamenetenként összesen hat kiválasztott neuropszichológiai teszt esetében az egyes neuropszichológiai tesztek leírását 30 másodpercig játszották le, majd egy 1 perces válaszadási ablak következett. A beszédadatokat csak ebben az egyperces időszakban rögzítették. Összességében egy munkamenet elvégzése csak kevesebb mint 10 percet vett igénybe.

Neuropszichológiai tesztek kiválasztása

Rendszerünkben háromféle neuropszichológiai tesztet választottunk ki, ezek a folyékonysági teszt19,20,21, a képleíró teszt22,23,24 és a logikai memóriateszt25,26,27 voltak. A kiválasztás alapja a klinikai környezetben végzett neuropszichológiai értékelés, valamint az Alzheimer-kórral kapcsolatos jól ismert kutatások voltak. Ezek a tesztek bizonyítottan hatékonyan jellemezték az Alzheimer-kór fő jellemzőit, amelyek mindegyike jól elkülöníthető probléma volt.

Fluencia teszt

A fluencia teszt menete a következő volt. Adva volt egy kijelölt kategória, a kísérleti személyt arra kérték, hogy korlátozott idő alatt minél több különböző, az adott kategóriához kapcsolódó szót mondjon ki. Például, ha a kategória állat volt, a lehetséges válaszok az elefántok, tigrisek, zebrák stb. voltak. A mi rendszerünkben az állat és a gyümölcs kategóriát választottuk, és az időkorlát minden kategóriánál egy perc volt.

Képleíró teszt

A képleíró teszt menete a következő volt. Adott egy bemutatott kép, a kísérleti személyt arra kérték, hogy korlátozott idő alatt a lehető legrészletesebben írja le a képen látható forgatókönyvet. Például a következő leírás volt egy lehetséges válasz. Ez a kép egy tipikus családi estét ábrázol. Apu baseballt néz, anyu pedig sálat köt. Az aktuális időpont …, stb. A mi rendszerünkben egy Japánban28 végzett kapcsolódó vizsgálatból származó képet választottunk ki, amely hasonló kulturális háttérrel rendelkezik, mint mi, valamint egy másik képet a Western Aphasia Battery (WAB)29ből. A képenkénti időkorlát szintén egy perc volt.

Logikai memóriateszt

A logikai memóriateszt menete a következő volt. Egy rövid történetet olvastak fel hangosan a résztvevőknek, majd a kísérleti személyt arra kérték, hogy spontán módon idézze fel a történetet a lehető legpontosabban. Rendszerünkben a Wechsler Memória Skála III (WMS-III)30 két története szerepelt az elemzésben. Bár klinikai felállásban a logikai memóriateszteknél nem volt időkorlát, a mi rendszerünkben a következetesség kedvéért mégis egyperces időkorlátot alkalmaztunk.

Jellemző reprezentáció – jellemző szekvencia

A meglévő szakirodalom12,13,14,15,16,17,18 nagy részével ellentétben a mi célunk egy olyan reprezentáció megtervezése volt, amely implicit módon egyszerre képes megtestesíteni a jellemzőket. Amire jutottunk, az egy tokenekből álló szekvencia volt, ahol minden token a beszéd egy-egy egyedi elemének reprezentálásáért volt felelős. Egy ilyen reprezentációt használva a szünetet egy csend token vagy egy kitöltött szünet token azonosíthatja, az ismétlést a szekvenciában ismétlődő tokenek azonosíthatják, a beszédzavar pedig a csend tokenek és más tokenek váltakozó előfordulásával azonosítható. E három fő jellemzőn kívül számos más, a meglévő szakirodalomban13 tárgyalt hasznos származtatott jellemző is azonosítható. Például a beszéd hossza és sebessége egyaránt arányos volt a szekvenciában lévő tokenek számával. Még néhány kontextusfüggő jellemző, például az egyedi szó és az alacsony gyakoriságú szó száma is potenciálisan kikövetkeztethető a tokenek eloszlásából, mivel minden egyes token egy adott szóhoz elég közeli közelítést jelenthet. Ezek a tulajdonságok tették a tervezetünket teljes mértékben alkalmassá az AD-betegek beszédének ábrázolására, ami kiváló jelölt olyan feladatokhoz, mint az AD felismerése és értékelése. A tokenek sorozatát a következő tartalmakban Feature Sequence-nek nevezzük.

A Feature Sequence kritériumainak teljesítéséhez a lehetséges tokenjelöltek fonémák, szótagok, szavak, kifejezések stb. voltak. Az optimális jelölt kiválasztásánál elsődleges szempont volt az alkalmasság, a betaníthatóság és az általánosíthatóság. Az alkalmasság azt jelentette, hogy a tokenek mennyire alkalmasak a kulcsfontosságú jellemzők megnyilvánulására. Ez kizárta a fonémákat, mivel ezek a beszéd minimális egységei, így sok ismétlődő token lesz, ami félrevezető lehet az ismétlődések azonosításában, mivel azok származhatnak akár ugyanabból a szóból, akár különböző szavakból. A betaníthatóság azt jelentette, hogy mennyire volt megvalósítható a Feature Sequence és egy automatikus Feature Sequence generátor alapján az AD értékelésére szolgáló osztályozó létrehozása. Ez kizárta az utterance-t, mivel lehetetlen volt elegendő képzési adatot gyűjteni. Végül az általánosíthatóság azt jelentette, hogy a tokenek mennyire képesek a regionális dialektusok és a tajvani vegyes nyelvhasználat figyelembevételére. Ez kizárta a szavakat, mivel a tajvani és a hakka nyelvnek nincs is hivatalos írott formája. Másrészt a mandarin kínai, a tajvani és a hakka szótagjai nagyon hasonlóak, ami általánosíthatóvá tette.

Ezért a szótagokra esett a választás a tokenjeink között. Továbbá, mivel a mandarin kínai, a tajvani és a hakka egyszótagú nyelv, a szótag önmagában sok információt tartalmazhat a beszélt tartalomról. Ez egy értékes frissítés a Feature Sequence-hez, mivel alkalmas volt arra, hogy mind az akusztikától, mind a kontextustól függő jellemzőket megtestesítse. A ZhuYin-t, a Tajvanon legnépszerűbb helyesírási módot használtuk a Feature Sequence-ünk token-térének meghatározásához. A tajvani Oktatási Minisztérium által vezetett szótár szerint 1339 különböző szótag van a ZhuYin írásmódban, és ezek közül csak 317 maradt meg a hangjelölők, azaz a ´, ´, ˇ, `, ˙, és a hasonló hangtani egységek, azaz, , hogy növelje a betaníthatóságot a token-tér csökkentésével; emellett az általánosíthatóság is növekedne, mivel kevesebb káros hatás keletkezne a különböző ékezetek miatt, mivel a különböző hangokat most csoportosították és egyetlen egységnek tekintették. Egy néma token is hozzáadódik a token-térhez. Mivel azonban a token-térben csak egy csendet jelző token van, meg kellett határozni egy küszöbértéket annak megítélésére, hogy egy csendes szegmenst a hossza alapján csend tokenné kell-e átírni. Végül a Feature Sequence token-tér 318 volt.

Feature sequence generator

A begyűjtött beszédadatokat bemenetként megadva a Feature Sequence generálásának két módja volt: az egyiket kézzel, emberi címkézéssel, míg a másikat automatikusan, egy modell segítségével végeztük. A választott modell egy Convolutional Recurrent Neural Network (CRNN) volt, amelyet a Connectionist Temporal Classification (CTC) veszteség31 segítségével képeztek ki.

Modell architektúra

A mi rendszerünkben a modell bemenete a 80 dimenziós log szűrőbank energiája volt, amelyet 25 ms-os ablakmérettel és 10 ms-os ugrásmérettel nyertünk ki. Ezenkívül Cepstral Mean and Variance Normalization (CMVN)32 -t alkalmaztunk a származtatott energiák normalizálására. A Feature Sequence Generator architektúráját leginkább a legkorszerűbb, angol és mandarin kínai nyelven egyaránt kiértékelt végponttól végpontig tartó beszédfelismerő modell, nevezetesen a Baidu, Inc. által készített Deep Speech 233 ihlette. A Deep Speech 2 néhány legfontosabb jellemzője az alábbiakban foglalható össze. Először is, a kétirányú rekurrens neurális hálózat (RNN) beállítása óriási mértékben javítaná a modell teljesítményét. Másodszor, az RNN előtti 2D konvolúciós rétegek alkalmazása az időbeli transzlációs invariancia és a spektrális invariancia modellezésével átszervezheti a spektrogramot, és az időlépések számának csökkentésével csökkentheti a CTC-veszteség számítási költségét. Végül a Batch Normalization (BN)34 alkalmazása minden rétegre növeli a képzési sebességet és tovább növeli a modell teljesítményét. A rendelkezésre álló korlátozott hardveres erőforrások miatt azonban a Feature Sequence Generator 3 2D-konvolúciós réteggel rendelkezett, amelyet egy 5 rétegű kétirányú RNN, majd végül egy teljesen összekapcsolt réteg követett. A konvolúciós rétegek esetében a szűrők száma 32, 32, illetve 96 volt, a szűrők kernelmérete pedig (11, 41), (11, 21), illetve (11, 21). Az RNN minden egyes rétegéhez mindkét irányban 512 GRU-cella tartozott. A teljesen összekapcsolt réteghez 318 (a Feature Sequence token-térben lévő osztályok számának megfelelő) + 1 (az “üres” token-nek megfelelő) csomópont volt, az aktivációs függvény pedig egy softmax függvény. A BN-t mind a 3 konvolúciós rétegben közvetlenül az aktiválás előtt is alkalmazzuk. A Deep Speech 2-ben megvalósított BN alkalmazása helyett azonban mind az 5 RNN-rétegben rétegnormalizációt (LN) alkalmazunk, mivel az LN alkalmasabbnak tűnik a BN-nél, ha RNN-alkalmazásokról van szó35. A Feature Sequence Generator blokkdiagramja a 2. ábrán látható.

2. ábra

A Feature Sequence Generator blokkdiagramja.

Modellképzés

A Feature Sequence Generator képzéséhez négy mandarin kínai nyelvű adathalmazt gyűjtöttünk össze, amelyek az Aishell36, a Primewords Chinese Corpus Set 137, a Free ST Chinese Mandarin Corpus38 és a THCHS-3039 voltak. Ez összesen 307961 példányt és 422 órányi adatot jelentett. Az egyes példányok átlagos időtartama 7 másodperc volt, és a 10 másodpercnél hosszabb példányokat eltávolítottuk a gyakorlóhalmazból, mivel a hosszabb bemeneti szekvenciák nagyobb eséllyel szembesülnek az eltűnő és felrobbanó gradiens problémájával. Az időbeli visszaterjedést (BPTT) az Adam40 segítségével hajtottuk végre, 0,0005-ös tanulási rátával, mint optimalizálóval. A képzés további stabilizálása érdekében gradienscsökkentést is alkalmaztunk, ahol a maximálisan megengedett gradiens 400 volt. A kötegméretet a teljes képzési folyamat során 32-re állítottuk be, és a modellt 50000 iteráción keresztül képeztük. Minden súlyt Glorot normál inicializálóval inicializáltunk41.

Jellemzősorozat-generálási stratégia

A jellemzősorozat generálása általában mohó dekódolással történt42. A csend token kivételével minden tokent úgy lehetett generálni, hogy minden egyes időlépésnél kiválasztották azt, amelyiknek a modell kimenete a legnagyobb volt. A csend token generálásához egy egyszerű heurisztikát terveztünk a csend szegmens hosszának meghatározására, és arra, hogy a meghatározott hossz alapján generáljunk-e csend tokent. Először a Feature Sequence Generator által kibocsátott üres tokent csendnek vagy legalábbis semmi jelentősnek tekintettük. Ezután csak az egymást követő üres tokenek egy bizonyos küszöbérték feletti számát írták át csend tokenné. A küszöbértéket másodpercekben lehetett megadni, azaz hány másodpercesnek kell lennie egy csendszegmensnek ahhoz, hogy csendtokként kezeljék. Mivel a bemenet ugrásmérete 10 ms volt, egy csendjelet csak akkor írnánk át, ha legalább a küszöbérték (másodpercben kifejezve) osztva 0,01-gyel létezne egymást követő üres jelekből. Például, ha a küszöbérték 3 másodperc, akkor a csend token csak akkor kerül átírásra, ha legalább 300 egymást követő üres token van.

Alzheimer-kór értékelő motor

Az értékeléshez szükséges információkat implicit módon tartalmazó Feature Sequence-t adta meg bemenetként, a kimenet pedig az Alzheimer-kórra vonatkozó értékelési pontszám volt. Az AD-ben szenvedés pontszámát a Feature Sequence-ben található tokenek egy halmazának függvényével fogalmaztuk meg, ahogyan az a következő egyenletben látható:

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

(1)

ahol st a t-edik token a Feature Sequence-ben, és T a Feature Sequence maximális hossza. Az értékelési pontszám egy 0 és 1 közötti skalárérték, ahol minél magasabb az értékelési pontszám, annál nagyobb az AD előfordulásának esélye. Ahelyett, hogy kézzel készítenénk rengeteg jellemzőt, és utána statisztikai elemzéssel kiválasztanánk a jelentőseket egy osztályozó képzése céljából, adatvezérelt gépi tanulási technikát használunk az osztályozónk felépítéséhez. A választott modell egy RNN.

Modellarchitektúra

Az RNN magasabb szintű nézőpontból általánosan a következőképpen is megfogalmazható:

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

hol xt a t időlépés bemenete, yt a t időlépés kimenete, és ht az RNN rejtett állapota a t időlépésben. Ez tökéletesen illeszkedik a problémánkhoz, mivel erőssége a szekvencia-modellezés. A hasonlóságot az egyenletek összehasonlításával is láthatjuk. (1) és (2) Úgy gondoljuk, hogy miután egy RNN feldolgozta a Feature Sequence-t az xt st-be való behelyettesítésével, az utolsó időlépés kimenete, amely a teljes szekvencia kódolt üzenetének vagy feature-vektorának is tekinthető, elegendő információval rendelkezne az osztályozáshoz egy teljesen összekapcsolt rétegen keresztül, vagyis

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

mivel yT az utolsó időlépés RNN kimenete, W a súly, b a torzítás, σ a teljesen összekapcsolt réteg aktiválási függvénye, score pedig az AD-vel rendelkező értékelési pontszám.

Mivel csak korlátozott mennyiségű adat áll rendelkezésre, az AD Assessment Engine architektúráját úgy tervezték, hogy a lehető legkönnyebb legyen, hogy növelje a betaníthatóságot, és a kapacitás korlátozásával csökkentse a túlillesztés esélyét. Végül ez egy egyrétegű, kétirányú RNN, mindkét irányban 128 GRU-cellával, és az utolsó időlépés kimenete mindkét irányban össze van kötve, és egy teljesen összekapcsolt rétegen keresztül tápláljuk a végső kimenet létrehozásához, ahol ez egyetlen skalárérték, amely 0 és 1 között mozog. A GRU-kimenet aktiválási függvénye egy tanh, a GRU-kapu vezérlés és a teljesen összekapcsolt kimeneté pedig egy szigmoid függvény. Az AD értékelő motor blokkdiagramja a 3. ábrán látható.

3. ábra

Az AD Assessment Engine blokkdiagramja.

Modellképzés

Mivel az AD Assessment Engine kimenetét egy szigmoid függvény aktiválta, 0 és 1 között mozog, és valószínűségként kezelhető. Az egyes kimenetek megfelelő címkéje tehát 0 volt az AD nélküli alanyok esetében és 1 az AD-vel rendelkező alanyok esetében. A veszteségfüggvényt a kimenet és az egy tételben lévő összes képzési minta címkéje közötti keresztentrópia összegeként definiáltuk. A BPTT-t a 0,001-es tanulási rátájú Adam optimalizálóval végeztük. A tételméretet a teljes képzési folyamat során 16-ra állítottuk be. Minden súlyt a Glorot normál inicializálóval inicializálunk41.

Adatok előkészítése

A bemutatott tanulmányt a Nemzeti Tajvani Egyetemi Kórház etikai bizottsága és intézményi felülvizsgálati bizottsága hagyta jóvá. Az adatgyűjtést és a tanulmányban szereplő összes módszert a jóváhagyott irányelveknek és előírásoknak megfelelően végeztük. Minden résztvevőtől írásbeli beleegyező nyilatkozatot kaptunk.

Mandarin_Lu & NTU dataset

A DementiaBankból származó Mandarin_Lu korpusz egy olyan adathalmaz, amely 52 tajvani AD-beteg interjúfelvételét tartalmazza43,44 . Az adatgyűjtési eljárásunkkal gyűjtött adatokkal való egyezés érdekében az adatokat manuálisan egészítettük ki az alany első perces válaszának szegmentálásával. Az adatállományból csak 30 alany került kiválasztásra, mivel a többi vagy egy percnél rövidebb volt, vagy az interjúkészítő jelentősen zavarta őket. A kiválasztott adatok három neuropszichológiai tesztet tartalmaznak, amelyek a gyümölcsök folyékonysági tesztje, a helymeghatározás folyékonysági tesztje és a WAB-ból származó képet használó képleíró teszt. A fent említett adatgyűjtési eljárás alkalmazásával további 30 kognitívan egészséges (CH) személyt toboroztunk saját magunk, mint kontrollcsoportot a Nemzeti Tajvani Egyetemi Kórház intézményi felülvizsgálati bizottságának jóváhagyásával. A gyűjtésünk során használt neuropszichológiai tesztek pontosan megegyeznek a Mandarin_Lu korpuszból kiválasztott tesztekkel. Ezt az adathalmazt NTU adathalmaznak neveztük el. A minták száma a Mandarin_Lu és az NTU adathalmazban mind a gyümölcs-, mind a helymeghatározási folyékonysági teszt esetében 30, a képleíró teszt esetében pedig 15.

NTUH adathalmaz

Míg a Mandarin_Lu és az NTU adathalmaz kombinációját használtuk a javasolt rendszer kísérleti vizsgálatához, a feladat általános nehézsége nem olyan nehéz, mivel a két tesztcsoport kognitív képességei tekintetében meglehetősen különböznek egymástól. Ráadásul a felvételi környezet és a felvétel minősége is nagyban különbözik. Végül, nincs hozzáférés a vizsgálati alanyok orvosi jelentéséhez sem, így bizonytalan, hogy az AD mellett történt-e valamilyen más komplikáció is. A Mandarin_Lu adatállomány és az NTU adatállomány gyengeségének kiküszöbölése érdekében a fent említett adatgyűjtési eljárással további húsz alany került toborzásra, ahol 10 alany CH és 10 alany AD. Ezt az adathalmazt NTUH-adathalmaznak neveztük el. Az enyhe AD diagnózisa a NINCDS-ADRDA Alzheimer-kritériumok alapján történt. A résztvevőket kizárták, ha jelenlegi vagy korábbi pszichiátriai rendellenesség, alkohol- vagy drogfogyasztás, tanulási zavar, ismert eszméletvesztéssel járó fejsérülés, kezeletlen pajzsmirigy-alulműködés, B12-vitamin-hiány, anyagcserezavar, vagy bármilyen jelentős látás- vagy halláskárosodás, amely kizárta a neuropszichológiai vizsgálatban való részvételt. Vizsgálatonként 6 neuropszichológiai tesztet végeztek, összesen 120 egyperces mintát. Az 1. táblázat az NTUH adatállományban szereplő alanyok demográfiai adatait tartalmazza. Az alanyokat saját magunk toboroztuk kontrollcsoportként a Nemzeti Tajvani Egyetemi Kórház intézményi felülvizsgálati bizottságának jóváhagyásával.

1. táblázat Az NTUH adathalmaz alanyi adatai.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.