Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
České vysoké učení technické v Praze Fakulta elektrotechnická
Diplomová práce
Analýza signálů biologických neuronů Lukáš Tůma
Vedoucí práce: Ing. Božena Mannová, M.Math.
Obor: Výpočetní technika Leden 2007
1
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
Prohlášení: Prohlašuji, že jsem svou diplomovou práci vypracoval samostatně a použil jsem pouze podklady uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu § 60 zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon).
V Praze dne 8.1.2007
2
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
Abstrakt Jednotkové potenciály jsou elektrické fenomény zaznamenávané v okolí i uvnitř excitabilních buněk (biologických neuronů). Vyhodnocení záznamu jednotkových potenciálů je zatíženo značnou časovou náročností. V této práci byl vytvořen a implementován algoritmus pro jejich semiinteraktivní vyhledávání, třídění a porovnávání jednotlivých záznamů mezi sebou. Vyhledávání jednotkových potenciálů je prováděno pomocí charakteristických znaků (výchylka, růst úseku křivky, asymetrie grafoelementů) úseku záznamu, jejichž hodnoty mohou být přizpůsobeny aktuálním potřebám. Vybrané úseky záznamu jsou dále porovnávány a tříděny pomocí modifikované umělé neuronové sítě (K-means, síť bez učitele) s opětovnou možností interaktivní selekce požadované subpopulace. Dalším krokem je porovnávání a třídění jednotlivých záznamů mezi sebou podle četnosti výskytu vyselektovaných grafoelementů, mediánu jejich frekvence, amplitudy, frekvenčního histogramu. V programu jsou implementovány nejen samotné výše uvedené postupy, ale i tabulkový výstup umožňující provádět další výpočty (např. statistické) nad výstupy jednotlivých částí programu.
Abstract Single Units are electrical phenomena recorded in the vicinity of excitable cells (biological neurons) or inside them. Evaluation of single units waveform is burdened with enormously time-consuming labour. In this work an algorithm of their semi-interactive tracking, sorting and comparing of entire recordings among each other was created and implemented. Tracking of single units is conducted using characteristic features (amplitude, steepness of amplitude increase, asymmetry of elements) of points of the record. These can be adjusted to relevant needs. Selected points are further compared and sorted on a modified artificial neuronal network (K-means, network without teacher) with repeated possibility of selection of desired subpopulation. In the next step, we compare and sort compare and sort individual entire recordings among each other according to incidence of selected elements, their frequency median, amplitude and frequency histogram. The program implements neither sole proceeding stated above but also a table output facilitating further computations (e.g. statistics) of outputs of particular sections of the program.
„Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.“ Albert Einstein
3
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
Obsah Abstrakt...............................................................................................................3 Abstract............................................................................................................... 3 Obsah 4 Seznam obrázků................................................................................................. 6 1 Úvod 9 1.1 Současné možnosti hodnocení záznamu elektrické aktivity neuronů............................... 9 1.2 Biologické neurony a jednotkové potenciály.................................................................. 10 1.2.1 Anatomie neuronu.................................................................................................... 10 1.2.2 Fyziologie neuronu.................................................................................................. 10 1.3 Záznam elektrických projevů excitabilních buněk......................................................... 11 1.3.1 Rozdělení................................................................................................................. 11 1.4 Jednotkové potenciály..................................................................................................... 13 1.5 Ovlivnění jednotkové aktivity......................................................................................... 14 1.6 Parametry aktivity excitabilních buněk...........................................................................15 1.7 Praktické poznámky k záznamu jednotkových potenciálů............................................. 16
2 Vyhledávání grafoelementů v záznamu....................................................... 17 2.1 Současné trendy.............................................................................................................. 17 2.2 Implementace vyhledávání grafoelementů..................................................................... 17 2.2.1 Předzpracování......................................................................................................... 18 2.2.2 Vyhledávání příznaků.............................................................................................. 20 2.2.3 Porovnávání grafoelementů..................................................................................... 22 2.2.3.1 Umělá neuronová síť......................................................................................... 23 2.2.3.1.1 K-means..................................................................................................... 28 2.2.3.1.2 Analýza komponent................................................................................... 31 2.2.4 Interaktivní selekce vzorů........................................................................................ 32 2.2.5 Výstup...................................................................................................................... 32 2.2.6 Přehled zpracování záznamu.................................................................................... 32 2.3 Výsledky vyhledávání..................................................................................................... 33 2.4 Grafické uživatelské rozhraní......................................................................................... 34
3 Porovnávání záznamů jednotkových potenciálů......................................... 37 3.1 Motivace..........................................................................................................................37 3.2 Porovnání dynamiky změn..............................................................................................37 3.2.1 Porovnávané charakteristiky.................................................................................... 37 3.2.2 Porovnávání průběhu záznamu................................................................................ 38 3.2.3 Řetězec zpracování souboru jednotkových potenciálů............................................ 38 3.3 Výsledky porovnávání ................................................................................................... 39 3.4 Grafické uživatelské rozhraní......................................................................................... 41
4 Implementační dodatek................................................................................. 43
4
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
5 Závěr 44 6 Literatura........................................................................................................ 45 7 Poděkování...................................................................................................... 46 8 Příloha A (CD)................................................................................................ 47 9 Příloha B – stručný návod na ovládání programu...................................... 49 9.1 Vyhledávání grafoelementů............................................................................................ 49 9.2 Porovnávání záznamů..................................................................................................... 51
5
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
Seznam obrázků Obr 1.Schématické zobrazení neuronu [Šíma, Neruda: Teoretické otázky neuronových sítí]............................................................................................... 11 Obr 2.Příklady sumačních záznamů elektrické aktivity buněk (vlevo EKG, uprostřed EEG) a jednotkových potenciálů (vpravo)....................................12 Obr 3.Schéma synapse [Grau Lab, http://graulab.tamu.edu]...................... 13 Obr 4.Akční potenciál....................................................................................... 14 Obr 5.Jednotkové potenciály............................................................................14 Obr 6.Jednotkové potenciály v zašuměném signálu.......................................14 Obr 7.Ukázka histogramu rozdělení frekvencí záznamu jednotkových potenciálů........................................................................................................... 15 Obr 8.Znalostní pyramida [Brát, Juřík: Speciální metody pro vyhledávání v datech]............................................................................................................. 17 Obr 9.Předzpracování záznamu...................................................................... 19 Obr 10.K pojmu strmost (modře signál, zeleně strmost)...............................20 Obr 11.K pojmu amplituda (modře signál, zeleně strmost, šedivě baseline) 21 Obr 12.K pojmu symetrie, asymetrie okolí bodu (modře signál, zeleně strmost) ..............................................................................................................21 Obr 13.Výpočetní složitost předzpracování záznamu....................................22 Obr 14.McCulloch-Pittsův perceptron [Šnorek et al.: Neuronové sítě a neuropočítače]....................................................................................................23 Obr 15.Porovnání podobnosti vzorů – lineární vzdálenost, euklidovská vzdálenost a vnitřní součin. Na levém obrázku je porovnávaný vzor vyznačen tlustou červenou barvou, světle-modrý vzor je nejblíže k porovnávanému vzoru v metrice vnitřního součinu, růžový vzor je nejblíže v metrice euklidovské a lineární vzdálenosti. Na pravém obrázku jsou vzdálenosti porovnávaného vzoru od ostatních vzorů ve všech třech metrikách........................................................................................................... 25 Obr 16.Ukázka uniformity jednotkových potenciálů u vzorů v levém grafu a rozmanitosti u vzorů v pravém grafu........................................................... 25
6
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
Obr 17.Ukázka rozložení vybraných bodů podle hlavních komponent a odpovídající vzory jednotkové aktivity (vlevo dole amplitudy, vpravo dole strmosti)..............................................................................................................27 Obr 18.Příklad třídění grafoelementů na neuronové síti NeuralZoom (učení s učitelem), 4% chybně zařazených vzorů (čistý záznam). Vlevo transformace vstupních vektorů do dvoudimenzionálního prostoru. Vpravo neurony a jejich rozdělení (zeleně jsou zbarveny neurony, které odpovídají hledaným grafoelementům)..............................................................................27 Obr 19.Příklad třídění grafoelementů na neuronové síti GAME (učení s učitelem), 1,5% chybně zařazených vzorů (čistý záznam). Vlevo rozložení hodnot odpovídající hledaným grafoelementům, vpravo naopak................ 28 Obr 20.Příklad třídění grafoelementů na neuronové síti Backpropagation (učení s učitelem). Na levém obrázku struktura sítě, na pravém obrázku průběh učení sítě................................................................................................28 Obr 21.Výpočetní složitost třídění na neuronové síti v závislosti na počtu vzorů (neuronů)................................................................................................. 30 Obr 22.Výpočetní složitost třídění na neuronové síti v závislosti na počtu zkoumaných úseků............................................................................................ 30 Obr 23.Pomocný graf určený k analýze shluků vzorů a úseků záznamu pomocí zjednodušené analýzy hlavních komponent..................................... 31 Obr 24.Struktura věty ukládané sekvence vybraných bodů a jejich okolí..32 Obr 25.Operace prováděné při zpracovávání záznamu................................ 33 Obr 26.Porovnání úspěšnosti vyhodnocení čistého a zašuměného záznamu 34 Obr 27.Grafické uživatelské rozhraní programu pro výběr grafoelementů 35 Obr 28.Schéma zpracování souborů jednotkových potenciálů.....................39 Obr 29. Roztřídění devíti záznamů na dvě skupiny podle počtu grafoelementů v časových úsecích. V tomto případě je škálování záznamů potlačeno (násobení či dělení konstantou).......................................................40 Obr 30.Příklad roztřídění devíti záznamů na dvě skupiny podle mediánu latence. V tomto případě je použito škálování záznamů............................... 40 Obr 31.Vývoj frekvenčního spektra záznamu, na ose x ( → ) je rozdělení frekvenčního spektra, na ose y ( ) je čas a na ose z ( ↑ ) je počet úseků
7
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
spadajících do jednotlivých částí histogramu, jako příklad datového výstupu programu............................................................................................. 41 Obr 32.Grafické uživatelské rozhraní programu pro porovnávání záznamů 42 Obr 33.Vyhledávání grafoelementů: hlavní okno – návod na ovládání programu............................................................................................................51 Obr 34.Porovnávání záznamů:hlavní okno - návod na ovládání programu 53
8
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
1 Úvod Průběh celé řady přírodních jevů lze zaznamenávat křivkou jejich průběhu v čase. Tato práce se věnuje záznamu elektrických signálů dráždivých buněk a jeho vyhodnocení. Elektrická aktivita neuronů je vysoce komplexní jev. Může nám připadat jako uspořádané sekvence stereotypních vzorů, odpovědí na skupinu definovaných podnětů (např. somatosenzorické evokované potenciály). Činnost biologických neuronů je ale tak komplikovaná, že se nám zčásti jeví i jako stochastický (nedeterministický) proces (příkladem je aktivita v asociačních kortikálních prefrontálních oblastech). Tento vjem je ale spíše zakotven v omezeném porozumění významu provázanosti buněčných dějů, které jsou již dobře prozkoumány, pro funkci mozku. Protože jsme schopni analyzovat jen několik dějů paralelně, soustřeďujeme se na jejich extrémně detailní analýzu. (Albert Einstein: „Das, wobei unsere Berechnungen versagen, nennen wir Zufall.“). Zaznamenávaný signál je vždy zašuměn. Obsahuje tedy i aktivitu, kterou nesledujeme a která nám znesnadňuje vyhledání základní aktivity. Porovnání průběhu záznamu elektrické aktivity neuronů má zásadní význam pro experimentální praxi. Změna charakteru aktivity (amplitudy, frekvence, latence vln) může pramenit v experimentálním zásahu. Takto vzniká možnost porovnávat aktivitu buněk ve fyziologickém a modifikovaném prostředí, které modeluje některé patologické stavy. Příkladem z reálného světa může být cerebrální ischémie (např. v důsledku ischemické cévní mozkové příhody). Tento patologický stav umíme modelovat in vivo (fototrombotická okluze cévy, podvaz cévy ... ) za průběžného snímání záznamu elektrické aktivity postižených buněk. Hlavním námětem této práce je návrh a implementace algoritmu umožňujícího vyhledání grafoelementů v záznamu, jejich odlišení od šumu, srovnání aktivity neuronů a jejich kategorizace do disjunktních tříd. Při vyhodnocení jsou použity algoritmy umělé inteligence (neuronové sítě, analýza hlavních komponent), důležitou roli hraje i interakce uživatele při nastavování kritérií výběru a třídění grafoelementů a záznamů. Algoritmus zpracování záznamu je implementačně ztělesněn ve dvou programech odpovídajících dvoustupňové analýze signálu. V práci jsou rovněž diskutovány fyziologické aspekty hodnocení elektrické aktivity neuronů.
1.1 Současné možnosti hodnocení záznamu elektrické aktivity neuronů Hodnocením záznamu elektrické aktivity neuronů se zabývalo již řada autorů nejčastěji z amerických výzkumných středisek. Algoritmy se obvykle zabývají detekcí grafoelementů v určitém typu záznamu (viz dále). Kvalita různých implementací není ale srovnatelná. Výsledek vždy závisí na kvalitě signálu, vzorkovací frekvenci, dostupu signálu od šumu, ale i charakteru elektrické aktivity (typ neuronu a povaha jeho okolí). Rovněž srovnávané charakteristiky se mezi pracemi liší, nejčastěji užívanými metrikami jsou senzitivita resp.
9
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
specificita, které se ve větších souborech pohybují kolem 65 – 80 %. Z užívaných metod zmiňme např. spike detektory (Gotman, two-stage), které nabízí více variant vyhledávání hrotů podle omezujících podmínek, či neuronové sítě, které skýtají široké téma nealgoritmického způsobu vyhledávání na základě podobnosti. Posledně jmenované jsou užity i v naší implementaci a budou dále diskutovány.
1.2 Biologické neurony a jednotkové potenciály 1.2.1 Anatomie neuronu Morfologickým podkladem jednotkových potenciálů jsou neurony – obecněji všechny dráždivé (excitabilní) buňky mezi něž patří i např. myocyty (svalové buňky). Neuron se skládá z těla, dendritů a axonu. Axon je nejdelší výběžek, zprostředkovává fugální přenos vzruchu. Obvykle je obalen myelinovou pochvou, která umožňuje zrychlení přenosu signálu tzv. saltatorní vedení. Délka axonu na periferii může přesahovat délku jednoho metru, rychlost vedení vzruchu přesahuje 100 m/s u tlustých (alfa) vláken. Z těla neuronu vystupují ještě menší výběžky – dendrity. Může jich být značné množství, zprostředkovávají aferentní dráhu. Tělo neuronu se již více podobá ostaním eukaryontním buňkám.
1.2.2 Fyziologie neuronu Jednotkové potenciály jsou elektrické fenomény zaznamenávané v blízkém okolí excitabilních buněk. Tyto fenomény, častěji v neurovědních disciplinách označované jako grafoelementy, jsou základním projevem dráždivých buněk. Mezi excitabilní buňky řadíme zejména neurony – nervové buňky schopné přenosu elektrického signálu až na metrové vzdálenosti. Jejich činnost je založena na toku iontů iontovými kanály. Ty jsou lokalizovány v neurolemmě, plasmatické membráně nervových buněk. Iontové kanály podléhají biologickému řízení jednak napětím (voltage-gated) jednak ligandy (ligand-gated). Speciálními typy kanálů jsou tzv. „leak channels“, které zůstávají otevřené pořád, a „stretchgated channels“, reagující na mechanické stimuly. Typickým napěťově řízeným kanálem je natriový kanál v neurolemmě axonu, který je zodpovědný za neurofugální šíření signálu a tím i interneuronální přenos vzruchu. Mezi kanály řízené ligandy patří například acetylcholinergní receptor na postsynaptické membráně synaptické štěrbiny. Činnost neuronu je komplexní, podléhá mnoha vlivům. Tomu odpovídá i široká paleta typů neuronů s obecnou až vysoce specializovanou funkcí. Biologický neuron je ontogeneticky stará záležitost – difúzní nervová soustava je popisována již u žahavců. Ve vývojové řadě pozorujeme centralizaci a specializaci funkcí dráždivých buněk. Široká je i paleta neuromediátorů, základní dělení je na inhibiční (GABA, acetylcholin ... ) a excitační (glutamát, noradrenalin ...). Funkci neuronů ovlivňují i jiné látky – neuromodulátory, které pouze ovlivňují přenos vzruchu. Zajímavostí je, že neuroendokrinní sekrece je jeden ze způsobů endokrinní mezibuněčné signalizace. Mezi excitabilní buňky neřadíme jenom samotné neurony – z neuroepithelu vznikají a migrují dále např. senzorické buňky. Rovněž svalové buňky (myocyty) vykazují dráždivost.
10
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
Přenos vzruchu mezi dvěma neurony je u savců s maximální převahou chemický, probíhá na tzv. synapsi, přenos mezi neuronem a svalem na neurosvalové ploténce. Synapse se skládá z presynaptické membrány (axonální button – konečné rozšíření axonu), synaptické štěrbiny (extracelulární tekutina) a postsynaptické membrány (neurolemma druhého neuronu), obsahuje ligand-gated kanály. Když vzruch dorazí na konec axonu, dojde k uvolnění (exocytóze) mediátorů do synaptické štěrbiny. Mediátory se pak váží na receptory v postsynaptické membráně a konečně dochází k otevření iontových kanálů a depolarizaci (v případě excitace) či hyperpolarizaci (v případě inhibice) postsynaptické membrány. Vyvolané změny membránového potenciálu se prostorově sčítají. Pokud v místě s nejnižším prahem (tzv. iniciální segment) depolarizace překročí práh, vznikne akční potenciál, který má binární povahu („vše nebo nic“) a díky voltage-gated channels se šíří bez dekrementu. Neuron má tedy svou analogovou (vstupní) a binární (výstupní) část. Vlastnosti neuronu jsou ovlivňovány i zvenčí řadou látek – neuromodulátorů. Toto vše podtrhuje komplexnost signalizace v nervové soustavě.
Obr 1.Schématické zobrazení neuronu [Šíma, Neruda: Teoretické otázky neuronových sítí]
1.3 Záznam elektrických projevů excitabilních buněk 1.3.1 Rozdělení Elektrické projevy neuronů se v dnešní době zaznamenávají více způsoby. Klinický a experimentální přístup lze rozdělit podle makroskopické úrovně do následujících skupin: 1) Sumační záznam velké skupiny neuronů a. Elektroencefalogram (EEG) – sumační záznam z povrchu hlavy / kalvy, neinvazívní metoda, používaná v klinické praxi.
11
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
b. Elektrokortikogram (ECoG) – sumační záznam z povrchu mozku (cortex = kůra), invazívní metoda, používaná experimentálně, elektrody je nutno uložit na povrch mozku (na dura mater). 2) Jednotkové potenciály (SU – Single Units) – záznam akčních potenciálů jednoho neuronu, měření lze provádět a. Extracelulárně – mimo buňku b. Intracelulárně – uvnitř buňky c. Na membráně – iontové kanály, tzv. metody zámku (voltage-clamp, patchclamp) 3) Multiple unit activity – záznam malé skupiny neuronů, extracelulární záznam. Podle původu vzniku vzruchu dělíme záznamy na: 1) Spontánní záznam – vzruchy vznikají spontánně, pro činnost nervové soustavy je charakteristická mírně neuspořádaná elektrická aktivita. Vysoká neuspořádanost ale i uspořádanost elektrické aktivity je výrazem patologie (např. epilepsie). 2) Evokované potenciály – elektrická aktivita je provokována definovaným podnětem. Může se jednat o přímou stimulaci neuronu či skupiny neuronů (v našich experimentech se jedná např. o stimulaci n.ischiadicus). V klinické praxi jsou využívány např. visuální evokované potenciály (VEP) v diagnostice poruch zrakové dráhy, či kmenové a sluchové evokované potenciály (BERA = brain stem evoked response audiometry).
Obr 2.Příklady sumačních záznamů elektrické aktivity buněk (vlevo EKG, uprostřed EEG) a jednotkových potenciálů (vpravo) Nejenom samotné neurony ale i jiné dráždivé buňky mohou být předmětem záznamu elektrické aktivity – snad nejznámějším záznamem elektrické aktivity je EKG (elektrokardiogram), standardně dvanáctisvodový záznam sumární elektrické aktivity kardiomyocytů. V klinické neurologii se uplatňuje myografie, záznam aktivity
12
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
rhabdomyocytů (buněk příčně pruhovaných svalových vláken), speciální formou je záznam aktivity okulomotorických svalů.
1.4 Jednotkové potenciály Jako jednotkové potenciály (SU – single units) označujeme záznam změn elektrického pole jednoho nebo malé skupiny neuronů během akčního potenciálu, t.j. při depolarizaci plasmatické membrány neuronu, která nastává při dosažení napěťové úrovně akčního potenciálu sumací excitačních a inhibičních podnětů z přilehlých synapsí. V našem případě, kdy zaznamenáváme extracelulární změny, se akční potenciál v záznamu projeví vznikem hrotu („spike“) a repolarizační vlny („wave“). Na iontové úrovni odpovídá depolarizace otevření natriových kanálů a proudu Na+ iontů od buňky (Na+ je extracelulární kationt). Tento jev je následován přesunem kaliových iontů (K+ je intracelulární kationt) do extracelulární tekutiny ve fázi zvané repolarizace. Iontová rovnováha na membráně se ustaluje pomocí ATP dependentní Na+/K+ pumpy, čili za kontinuálního spotřebovávání energie. U kardiomyocytů dochází při depolarizaci k uvolnění kalciových iontů ze sarkoplazmatického retikula, jehož následkem dochází k prodloužení depolarizační fáze v tzv. fázi plateau. Fáze depolarizace a repolarizace dohromady trvají okolo 1 ms, ale např. u kardiomyocytů kolem 300 ms odpovídající QT intervalu na EKG křivce.
Obr 3.Schéma synapse [Grau Lab, http://graulab.tamu.edu]
13
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
Obr 4.Akční potenciál
Obr 5.Jednotkové potenciály
Obr 6.Jednotkové potenciály v zašuměném signálu
1.5 Ovlivnění jednotkové aktivity Jednotková aktivita neboli záznam elektrické aktivity z blízkosti jedné buňky má stochastický průběh. Jejich rozdělení by se dalo nejlépe přiblížit logaritmicko - normálním rozdělením
14
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
His togram late ncí je dnotkových potenciálů
140
700
100 80 60
600 500
.
počet v kategorii .
800
120
Histogram latencí jednotkových pote nciálů
900
160
.
počet v kategorii .
180
400 300
40
200
20
100 0
0 1
2
3
4
k
5
0,5^x
6
7
8
9
1
10 11 12 13 14 15 16 17 18 19 20
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20
k0,5^x dělení základního intervalu
dělení základního intervalu
Obr 7.Ukázka histogramu rozdělení frekvencí záznamu jednotkových potenciálů s parametry X (průměr) a σ (rozptyl). Vzhledem ke složitému zapojení neuronů (mohou mít stovky synapsí – vstupů) je ale vzor jejich aktivity komplexnější a někdy nelze k žádné známé distribuci přirovnat. Rozdělení frekvencí jednotlivých výbojů je možno ovlivnit mnoha způsoby. Například u epilepsie dochází k hypersynchronizaci a rytmicitě pulzů, které se pak na sumačním záznamu (EEG nebo ECoG) zobrazují jako ostré hroty a vlny. Frekvence výbojů je vyšší, ve frekvenčním spektru se objevuje ve větší míře uniformita. Frekvenci výbojů je možno ovlivnit jak opakovanou stimulací buňky, umělou i biologickou, tak i změnou vnějších podmínek (např. složení extracelulární tekutiny). Právě složení extracelulární tekutiny je podstatným faktorem vzniku mnoha patologických stavů. Jmenujme například cerebrální ischemii. Právě zde dochází v první řadě ke snížení přísunu kyslíku, následkem čehož neurony po velmi krátké době podléhají nekróze (lytické, neprogramované, smrti). Složení extracelulární tekutiny se mění postupně, nikoli skokově, stejně tak je odstupňována odpověď neuronů na inzult.
1.6 Parametry aktivity excitabilních buněk Jaké parametry aktivity neuronů je tedy možné experimentálně ovlivnit? Na sumačním záznamu elektrické aktivity (EEG), kde nacházíme tzv. grafoelementy, můžeme vyhodnocovat jejich 1) 2) 3) 4)
četnost (počet v určitém časovém úseku) frekvenci (1/interval mezi jednotlivými výboji) amplitudu signálu tvar signálu – amplitudy a latence jednotlivých vln
Záznam aktivity jediné buňky je o mnoho jednodušší, hodnotit lze pouze 1) četnost (počet v určitém časovém úseku) 2) frekvenci (1/latence mezi jednotlivými grafoelementy)
15
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
3) vazbu na aktivitu jiné buňky, která může mít vliv a. inhibiční t.j. čím větší aktivita první buňky, tím vyšší aktivita druhé buňky b. aktivační t.j. opak a) c. indiferentní t.j. buňky se navzájem neovlivňují Hodnocení amplitudy jednotkového záznamu nenabývá významu. Akční potenciál buď vzniká nebo nevzniká („vše nebo nic“). Amplituda signálu tedy více vypovídá o uložení elektrody a kvalitě signálu. Vyskytuje se v čitateli vzorce pro výpočet odstupu signálu od šumu (SNR) - 10 * log ( hladina okolního šumu / hladina signálu sledované buňky ) To je důležité i pro vyhledávání jednotkových potenciálů a jejich odlišení od šumu pozadí. Amplituda nám rovněž pomůže, když potřebujeme odlišit dvě aktivity v jednom záznamu. Z výše uvedeného přímo vyplývá, že dvě jednotkové aktivity mohou mít velice podobný tvar signálu, lišící se pouze o multiplikativní (i zápornou) konstantu, zatímco u sumačních záznamů (EEG, EKG) pozorujeme výrazné interindividuální morfologické rozdíly mezi jednotlivými křivkami. Jednotková aktivita mění svou amplitudu v průběhu snímání záznamu. To je dáno změnou geografické vzdálenosti od elektrody. Ta se může měnit při vzniku drobného perifokálního edému či v rytmu pulzace blízkých cévních svazků. Odlišnosti ve tvaru signálu extracelulárně zaznamenávaných akčních potenciálů mohou vznikat na podkladě různé polohy elektrody v elektrickém poli příslušného neuronu. Vzájemná vazba aktivity dvou buněk v jednom záznamu probíhá v krátkodobém pohledu nejčastěji přes jejich synaptické spojení (ev. zprostředkovaně ještě přes jinou buňku). V řádu minut se aktivita dvou geograficky blízkých buněk mění na základě složení okolního prostředí. Při lýze buňky dochází k salvě výbojů, po které aktivita úplně vymizí. Jejím podkladem je influx natriových kationtů do buňky, způsobující zvýšení klidové hodnoty napětí na membráně a snazší dostupnost akčního potenciálu.
1.7 Praktické poznámky k záznamu jednotkových potenciálů Cestu mezi snímáním elektrické aktivity neuronů a vlastním záznamem vytváří obecně známý řetězec předzpracování signálu. Vzhledem k nízké amplitudě jednotkových potenciálů (desítky mikrovoltů) je nutné velké zesílení signálu před vstupem do analogově digitálního převodníku s rozsahem vstupního napětí +/- 5V. To klade značné nároky na kvalitu skleněných elektrod (dovolen je pouze malý rozsah impedancí), na prostředí, ve kterém snímání probíhá (dobře odstíněná Farradayova klec a ostatní zařízení), ale i na zručnost a zkušenost operátora. Rovněž tak i zkoumaný objekt musí být dobře chirugicky připraven (šetrná trepanace kalvy), klidný (stupeň anestezie) a dostatečně fixovaný ve stereotaktickém přístroji.
16
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
2 Vyhledávání grafoelementů v záznamu 2.1 Současné trendy Vyhledávání grafoelementů v záznamu a vyhledávání závislostí a odlišností mezi skupinami záznamů dobře odpovídá definici dataminingu, jak ji vytvořil v roce 1996 Fayyad: „Datamining je netrivální proces zjišťování platných, neznámých, potenciálně užitečných a snadno pochopitelných závislostí v datech“ (Fayyad, 1996) Mezi metody dataminingu řadíme: [Brát, Juřík: Speciální metody pro vyhledávání v datech] 1) 2) 3) 4) 5) 6) 7)
regresní analýzu rozhodovací stromy rozhodovací pravidla, asociační pravidla metody založené na analogii induktivní logické programování analýzu hlavních komponent neuronové sítě
Obr 8.Znalostní pyramida [Brát, Juřík: Speciální metody pro vyhledávání v datech]
2.2 Implementace vyhledávání grafoelementů V této části je popsána implementace vyhledávání a výběru grafoelementů v záznamu jednotkové aktivity. Hned na úvod je důležité uvědomit si motivaci implementace algoritmu pro vyhledávání grafoelementů. Představme si typický záznam aktivity neuronu z naší laboratoře. Má délku 20 minut (1200 s) a každý dvoutisící bod představuje grafoelement, který se má najít. Prohlédnutí jednoho rámce, t.j. 5 s záznamu (při vzorkovací frekvenci 10 kHz to představuje 50000 bodů), kde se vyskytuje 25 grafoelementů. Jejich označení vyžaduje minimálně 10
17
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
minut práce, která se rovněž nedá vykonávat cyklicky a bezchybně po delší dobu. Celý záznam je tak možné vyhodnotit za více jak 2400 minut, čili asi za dva dny nepřetržité práce. Záznam je zpracováván následujícím řetězcem operací: 1) 2) 3) 4) 5)
Předzpracování záznamu Vyhledávání příznaků Porovnávání grafoelementů, rozdělení do tříd Selekce subpopulace, event. opětovné rozdělení → 3) Uložení výběru
2.2.1 Předzpracování Předzpracování záznamu hraje významnou předzpracování jsou:
roli v kvalitě vyhodnocení. Hlavními úkoly
1) Čištění dat: doplnění chybějících hodnot, identifikace a vyřazení odlehlých hodnot, redukce šumu (clustering, binning), vyhlazení 2) Integrace dat: z více databází 3) Transformace dat: normalizace (maximum ... minimum, z-score, softmax scaling) 4) Redukce dat: snížení objemu dat, tak aby výběr produkoval stejné výsledky V našem případě hraje hlavní roli vyhlazení zašuměného signálu. Do hry vstupují jak náhodné šumy (bílý šum pozadí), tak i pravidelné signály jako např. pulsace cév či okolní síťové rušení (50 Hz). Vytvořením plovoucí nuly (anglicky „baseline“) dosáhneme potlačení těchto oscilací. Délku baseline můžeme volit dle aktuální potřeby. Čím méně bodů využijeme k výpočtu plovoucí nuly, tím vyšší frekvence potlačíme. Přibližně lze říci, že počet bodů, ze kterých se vypočítává baseline, by měl odpovídat alespoň délce periody rušivého signálu s nejvyšší frekvencí. V praxi je nutné volit délku baseline i s ohledem na frekvenci hledaného signálu, aby nedošlo k jeho zprůměrování. Experimentálně bylo zjištěno, že v našem záznamu, kde vlna odpovídající akčnímu potenciálu odpovídá přibližně 10 až 40 bodům při vzorkovací frekvenci 10 kHz, se optimální délka baseline pohybuje okolo 60 až 100 bodů. Na záznamu jsou patrné rovněž i „rychlé“ artefakty v délce asi 1 – 2 bodů mající svůj původ v bílém šumu z okolí. Tyto lze odstranit vyhlazením křivky, kterého docílíme, stejně jako v předchozím případě, výpočtem klouzavého průměru z nejbližšího okolí. Termín nejbližší je zase závislý na charakteru křivky, vzorkovací frekvenci atd. V našem případě se jeví jako nejvhodnější zprůměrování 1 až 2 nejbližších hodnot.
18
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
vstupní záznam
strmost
vyhlazení
klouzavý průměr
odečtení klouzavého průměru
kritéria výběru
Obr 9.Předzpracování záznamu
19
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
2.2.2 Vyhledávání příznaků Příznak je charakteristický znak vypovídající o určité vlastnosti bodu či skupiny bodů v záznamu. Podle příznaku můžeme selektovat body, které jsou vhodné pro další zpracování. Body se od ostatních mohou odlišovat ve všech charakteristikách uvedených v odstavci „Parametry aktivity excitabilních buněk“. Kritéria pro naměřené hodnoty mohou být buď v absolutních číslech (např. amplituda, strmost) nebo v číslech relativních (strmost před zkoumaným bodem < k*strmost za bodem a vice versa). Mohou se také vztahovat k tvaru signálu (hrot charakterizovaný tím, že hodnoty bodů v blízkém okolí mají nižší amplitudu). V našem případě byla zvolena následující kritéria, která jsou všechna ekvivalentní (jsou spojeny konjunkcí): 1) Kritérium strmosti Strmost je definována jako derivace křivky v bodě (dx/dy), v našem nespojitém signálu lépe ∂x/∂y či xk+i/2 – xk-i/2 / yk+i/2 – yk-i/2 , kde i odpovídá šířce okolí bodu. Vzhledem k ekvidistantnímu vzorkování a konstantní (definované) délce okolí i bodu lze výpočet zjednodušit na xk+i/2 – xk-i/2 . Rozhodovacím kritériem ale není jen absolutní hodnota strmosti, důležitá je také symetrie strmostí. Výrazně asymetrické hodnoty svědčí spíše pro artefakt. Jako kritérium symetrie volíme poměr strmosti před a po vyšetřovaném bodu a naopak, který by neměl přesáhnou zvolenou hodnotu. V našich záznamech se jeví vhodné hodnoty multiplikativní konstanty v oboru <6 .. 10>.
Obr 10.K pojmu strmost (modře signál, zeleně strmost) 2) Kritérium amplitudy Amplituda je y-ová výchylka bodu od plovoucí nuly (baseline). Představuje druhé základní kritérium pro výběr bodu. V našem případě je definovaná jako průměrná výchylka bodu a jeho okolí i, i/2
( ∑
yj ) / (i+1).
j=-i/2
které samozřejmě může mít i nulovou vzdálenost. Vzhledem k tomu, že se při výpočtu velikost okolí bodu nemění, je možné při vzájemném porovnávání amplitud vypustit
20
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
dělení. Symetrie okolí bodu byla již diskutována v předchozím odstavci, nicméně i zde je možno užít stejného kritéria, kde porovnáváme průměrnou amplitudu u bodů před zkoumaným bodem s průměrnou amplitudou bodů za ním.
Obr 11.K pojmu amplituda (modře signál, zeleně strmost, šedivě baseline) 3) Kritérium extrému (hrotu) Extrém funkce je definován jako bod, ve kterém nabývá první derivace nulové hodnoty. Tak tomu je i u ekvidistantně vzorkovaného signálu. Derivaci nahradíme strmostí (viz „Kritérium strmosti“) a můžeme konstatovat, že lokální extrém nalezneme mezi dvěma body, pro které platí, že strmost jejich okolí nabývá opačného znaménka. Vzhledem k odlišné definici okolí u kritéria strmosti a amplitudy nemusí být maximum záznamu ani v jednom ze zúčastněných bodů. Může být umístěno v jeho bezprostřední blízkosti a zde ho také nalézáme. Přesné vystředění extrému nebo maximální hodnoty je nezbytné v další fázi při porovnávání jednotlivých úseků záznamu.
Obr 12.K pojmu symetrie, asymetrie okolí bodu (modře signál, zeleně strmost) Vyhledávání bodů nemusí vždy napoprvé dopadnout nejlépe. Záznamy se mezi sebou liší, proto je nutné u každého záznamu nastavit „rozlišovací úroveň“ podle aktuálního tvaru, charakteru šumu, amplitudy hrotů atd. K tomu nám mohou pomoci předpočítané statistiky, jako je průměrná amplituda a průměrná strmost, které jsou počítány při prvotním načtení
21
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
záznamu. Množství vybraných bodů se zobrazuje na „mapě“ záznamu ve formě histogramů s volitelným počtem tříd. Je tudíž jednoduché nahlédnout shluky jednotkových potenciálů a udělat si obrázek o tom, jaký typ hrotů a vln se v záznamu vyskytuje, a přiměřeně tomu upravit kritéria výběru. Obecně vzato, kritéria výběru by měla mít lépe větší senzitivitu než specificitu, falešně pozitivní body je možné následně odhalit v dalším kroku při porovnávání grafoelementů. Nicméně, pokud si zvolíme zbytečně velký počet bodů, bude výpočet další části trvat výrazně déle (viz. „Porovnávání grafoelementů“). Složitost výpočtu kriterií roste řádově θ(n). Z okolí bodu je potřeba vypočítat baseline, strmost a vyhladit křivku. Každá z těchto operací potřebuje pro každý bod 2 součty (přičtení dalšího bodu a odečtení již neplatného bodu) a event. jednu operaci dělení. Dále se provádí odečtení baseline od záznamu. Další operace porovnání okolí se provádějí jen u zlomku bodů, které splňují kriterium nulové derivace a potřebují řádově tolik operací, jak veliké je nastaveno okolí bodu (konstanta). Výpočetní složitost předzpracování záznamu 500 450 400 čas (s) .
350 300 250 200 150 100 50 0 0,00
2,00
4,00
6,00
8,00
10,00
12,00
m iliony bodů
Obr 13.Výpočetní složitost předzpracování záznamu Uvedené doby výpočtu jsou experimentálně změřené na přenosném počítači, CPU AMD Sempron 3000+, který se svým výkonem v době psaní této práce řadí do „nižší třídy“. Možnosti zrychlení samotného algoritmu by mohly spočívat v pouze částečném předzpracování a „předvýběru“ grafoelementů a dalším „dopočítání“ pouze menšího počtu vybraných bodů. Při návrhu algoritmu jsme testovali i jiné metriky jako např. vyšší stupeň derivace, šíři hrotu v definované úrovni od vrcholu atd., které, jak se ukázalo, mají v porovnání s výše uvedenými kritérii zanedbatelný význam.
2.2.3 Porovnávání grafoelementů Po vybrání bodů podle výše uvedených kriterií jsme si výrazně omezili počet bodů, se kterými budeme počítat. To je velmi důležité, protože následující část, porovnávání grafoelementů se vzory pomocí umělé neuronové sítě, je výpočetně náročná.
22
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
2.2.3.1 Umělá neuronová síť Umělé neuronové sítě jsou výpočetní systémy, které jsou svou funkcí schopny principiálně napodobovat funkci vyšších nervových soustav živočichů. Obecně vzato jsou od centrální nervové soustavy živočichů velice vzdáleny. To platí samozřejmě i proto, že centrální nervová soustava např. člověka není úplně prozkoumána, nelze ji tudíž ani dobře napodobovat. Více se tedy jedná o zjednodušené přiblížení funkce jednoho neuronu a jejich vzájemného zapojení. Nejjednodušším umělým výkonným prvkem je McCulloch-Pittsův perceptron, popsaný již v roce 1943. Přenosová funkce tohoto základního stavebního kamene je N
S ( ∑ wi xi + θ ) i=1
kde S je přenosová nelineární funkce wi jsou váhy jednotlivých vstupů xn jsou vstupy neuronu θ je práh neuronu
Obr 14.McCulloch-Pittsův perceptron [Šnorek et al.: Neuronové sítě a neuropočítače] Základní pracovní fáze umělé neuronové sítě jsou: 1) adaptivní fáze – fáze učení, tvarování paměti sítě, nastavování vah 2) aktivní fáze – fáze vybavování, výkonná fáze Umělá neuronová síť sestavená z jednotlivých výkonných prvků v sobě na počátku nenese žádnou informaci. Tu získává až při procesu učení. Rozeznáváme dva základní typy učení:
23
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
1) učení s učitelem – síti jsou předkládány jednotlivé vzory s požadovaným výstupem, síť upravuje váhy tak, aby se výstup sítě lišil od požadovaného výstupu co nejméně. Příklad: Backpropagation network (BP) 2) učení bez učitele – vzory jsou předkládány bez znalosti požadovaného výstupu, např. u sítí s funkcí klasifikace vzorů do tříd. Váhy jsou obvykle nastavovány v průběh celé aktivní fáze. Příklad: Self-Organizing Map (SOM) V naší práci potřebujeme rozdělit vybrané body na základě jejich podobnosti (podobnosti jejich okolí) do definovaného počtu tříd, tak abychom z nich posléze mohli některé třídy vybrat a dále analyzovat. První otázka, kterou je nutno zodpovědět, zní, jak definovat a měřit podobnost bodů a jejich okolí. V praxi můžeme najít více definic míry podobnosti. Mezi nejpoužívanější patří: 1) eukleidovská vzdálenost, počítaná jako N
dij = ║Xi - Xj║ = [ ∑ ( xin – xjn )2 ]1/2 n=1
2) vnitřní součin, definovaný jako N
dij = XiT Xj = ∑ xin . xjn n=1
který po vydělení ║Xi║ .║ Xj║ dává kosinus úhlu, který oba vektory svírají (skalární součin dvou vektorů). V naší implementaci jsme se rozhodli jít vlastní cestou a definovat odlišnost dvou vzorů jako lineární rozdíl vzdáleností odpovídajících bodů okolí vyselektovaného bodu. Tato definice je spojena s minimální výpočetní složitostí. Provádí se řádově jen tolik základních operací (sčítání, odčítaní), kolik je v definovaném okolí bodů. Součet rovněž nenabývá hodnot, které by dávaly podnět k přetečení hodnoty součtu (na rozdíl od druhé mocniny u euklidovské vzdálenosti).
24
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
Vzory
lineární vzdálenost euklidovská vzdálenost
Vzdále nos t vybrané ho vzoru
1500
6
1000
vnitřní součin
5
0 y
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 vzor 1 vzor 2 vzor 3 -1000 vzor 4 vzor 5 vzor 6 -1500 vzor 7 vzor 8 -2000 vzor 9 x porovnávaný -500
vzdálenost .
500 4 3 2 1 0 1
2
3
4vzory5
6
7
8
9
Obr 15.Porovnání podobnosti vzorů – lineární vzdálenost, euklidovská vzdálenost a vnitřní součin. Na levém obrázku je porovnávaný vzor vyznačen tlustou červenou barvou, světlemodrý vzor je nejblíže k porovnávanému vzoru v metrice vnitřního součinu, růžový vzor je nejblíže v metrice euklidovské a lineární vzdálenosti. Na pravém obrázku jsou vzdálenosti porovnávaného vzoru od ostatních vzorů ve všech třech metrikách. Při rozhodování, zda použijeme neuronovou síť s učitelem nebo bez něho vycházíme z faktu, že záznam jednotkových potenciálů se může v čase výrazně měnit (vyhodnocované záznamy mají délku až půl hodiny). Není možné procházet záznam za účelem vyhledání vhodných kandidátů na „správné“ a „špatné“ vzory. Navíc i nalezená aktivita se může měnit tak, že již nebude rozpoznávána neuronem se „správným“ vzorem. Z podobného důvodu rovněž nelze užít roztříděný výběr vzorů z jiného již vyhodnoceného záznamu. Řešením je síť bez učitele s následným interaktivním výběrem vzorů (viz dále).
Obr 16.Ukázka uniformity jednotkových potenciálů u vzorů v levém grafu a rozmanitosti u vzorů v pravém grafu
25
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
Jakou neuronovou síť tedy nakonec zvolit k porovnávání jednotlivých vzorů. Vzhledem k tomu, že se v záznamu bude vyskytovat více odlišných vzorů, je nutné užít samoorganizující síť s vlastností shlukové analýzy umožňující na základě celočíselných vstupů rozlišit (nebo lépe shluknout grafoelementy do) více vzorů. Ze známějších sítí připadajících v úvahu máme na výběr: 1) SOM (Self-Organising Map) – shluková analýza, otázka organizace a sousednosti. 2) ART (Adaptive Rezonance Theory) – zajímavá paralela mechanismu dlouhodobé potenciace (LTP) typické pro neurony hipokampu. Není stanovena horní hranice počtu neuronů, obtížně odhadnutelná vzdálenost dvou vzorů, který by vedl na „rozumný“ počet neuronů. 3) Analýza hlavních komponent (PCA – principal component analysis), distribuce vzorů podle dimenzí s největším rozptylem (viz obr.) Tato metoda je v naší práci užita jenom jako pomůcka k následující síti. 4) Shluková analýza pomocí K-means algoritmu – zřejmě nejlepší řešení.
20 15
10
10
.
15
5 0 0
10
20
30
40
50
-5 -10 -15 -20
dimenze 2 - amplituda
. dimenze 2 - amplituda -
Rozdě le ní bodů podle hlavních k om pone nt
Rozdělení bodů podle hlavních komponent
20
5 0 -10
-8
-6
-4
-2
-10 -15 -20 jednotkové potenciály -25
-25
šum
-30 -35
-5 0
-30 -35
jednotkové potenciály šum
dim enze 1 - s trm os t
dim e nze 1 - am plituda +
26
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
Amplituda
Strmost
Obr 17.Ukázka rozložení vybraných bodů podle hlavních komponent a odpovídající vzory jednotkové aktivity (vlevo dole amplitudy, vpravo dole strmosti)
Obr 18.Příklad třídění grafoelementů na neuronové síti NeuralZoom (učení s učitelem), 4% chybně zařazených vzorů (čistý záznam). Vlevo transformace vstupních vektorů do dvoudimenzionálního prostoru. Vpravo neurony a jejich rozdělení (zeleně jsou zbarveny neurony, které odpovídají hledaným grafoelementům).
27
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
Obr 19.Příklad třídění grafoelementů na neuronové síti GAME (učení s učitelem), 1,5% chybně zařazených vzorů (čistý záznam). Vlevo rozložení hodnot odpovídající hledaným grafoelementům, vpravo naopak.
Obr 20.Příklad třídění grafoelementů na neuronové síti Backpropagation (učení s učitelem). Na levém obrázku struktura sítě, na pravém obrázku průběh učení sítě.
2.2.3.1.1 K-means Naše implementace využívá poslední zmiňované možnosti – shlukové analýzy metodou Kmeans. Porovnáváme jednotlivé úseky se vzory (představující jednotlivé neurony umělé sítě). V případě, že se nový úsek liší od nejbližšího vzoru méně nežli se liší jednotlivé vzory mezi sebou, přiřadíme úsek k onomu vzoru. Nalezený vzor je upraven směrem k nově přiřazenému úseku. Váha pro úpravu bodů nalezeného vzoru odpovídá počtu úseků, které daný vzor „pohltil“. Tím rovněž dosahujeme konvergence v čase: čím později úsek vzoru přiřazujeme,
28
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
tím více již má daný vzor „nasbíráno“ podobných úseků a má tudíž i větší „váhu“ a menší „ochotu“ měnit tvar své křivky. Úseky, jejichž vzdálenost od nejbližšího vzoru je větší než nejmenší aktuální známá vzdálenost mezi vzory, založí nový neuron. Vzhledem k tomu, že takto by nám počet neuronů rostl nade všechny meze, což by vedlo k výraznému zpomalení výpočtu a nepřehlednosti, je nutné nadbytečné vzory slučovat. Slučujeme opět zase vždy dva nejbližší vzory do jednoho. Váhy pro slučování bodů opět nastavujeme podle počtu úseků, které se k tomu kterému vzoru přiřadily. Klasifikace vzorů na neuronové síti je výpočetně složitá. Bez předzpracovaných dat by nebyla časově možná. Složitost třídění na neuronové síti můžeme jen přibližně odhadnout – konečný výsledek pak závisí na tvaru porovnávaných úseků. Zaveďme počet buněk b, počet úseků k porovnání u. Každý úsek je nejprve porovnáván se všemi buňkami t.j. bn operací. Pouze pro část úseků je nutno vytvořit vlastní vzor. Při tom se zvýší počet neuronů o 1 a je tudíž třeba dva neurony spojit. Při vyhledávání nejbližších dvou neuronů provedeme porovnání každý s každým, čili všechny kombinace po dvou. n! _ n n(n-1) + (n-1)(n-2) + ... + 2*1 = k = k!(n-k)!
=
b! _ b = 2(b-2)! 2
=
b*(b-1) 2
Počet těchto porovnání roste , jak se dalo předpokládat, přibližně kvadraticky s počtem buněk. Celková složitost výpočtu tedy bude b*(b-1) k1 * bn + k2 * + k3 2 kde k1, k2 a k3 jsou konstanty. Tuto operaci je (zhruba vyjádřeno) potřeba aplikovat na každý zkoumaný úsek, t.j. u krát. u *
k1 * bn
+
k2 *
b*(b-1) 2
+ k3
+
k4
Z výše uvedeného je zřejmé, že třídění úseků má polynomiální složitost, a řádově roste přibližně kvadratickou rychlostí v závislosti na počtu buněk a lineární rychlostí v závislosti na počtu zkoumaných úseků. Empiricky se jeví jako dobrý odhad konstant (závislost času potřebného k výpočtu na počtu vzorů) čas = ( b2 + 3,9b + 16,6 ) * kn kde kn je konstanta odpovídající počtu úseků
29
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
Výpočetní složitost v závisloti na počtu vzorů
.
400 350 300 250 200 150 100 50 0
výpočetní čas (s)
y = 0,0179x2 + 0,6991x + 2,964
y = 0,0061x2 + 0,2455x + 1,1703
0
20 40 počet vzorů
60
80
100
120
Počet porovnávaných úseků 6998 2442
140
5190
438
Obr 21.Výpočetní složitost třídění na neuronové síti v závislosti na počtu vzorů (neuronů) Pokud provedeme lineární korelaci výpočetní složitosti třídění s konstantním počtem buněk, potvrdíme již výše uvedený odhad lineární závislosti (p<0,001). Výpočetní složitost v závislosti na počtu úseků
300
10x 15x
250 výpočetní čas (s)
.
20x 25x
200
30x 150
40x
100
50x 60x
50
70x 80x
0 0
1
2
3
4 5 počet úseků (tisíce)
6
7
8
90x 100x
Obr 22.Výpočetní složitost třídění na neuronové síti v závislosti na počtu zkoumaných úseků čas = k1 * u + k2 Konstanta k2 je tak malá, že ji můžeme zanedbat, konstanta k 1 je závislá na počtu vzorů (neuronů). Porovnání úseků záznamu se vzory je možné v programu zvolit buď na základě jejich předzpracovaného záznamu nebo vypočtené strmosti úseku.
30
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
Výpočetní časy uvedené v grafech byly dosaženy na pomalém přenosném počítači. I tak jsou z hlediska obsluhy programu vyhovující. Možnosti zrychlení samotného algoritmu vidíme ve zvětšení variace počtu neuronů, která by umožnila provést porovnávání jednotlivých vzorů mezi sebou v delších intervalech.
2.2.3.1.2 Analýza komponent Pro usnadnění orientace ve spleti vzorů jsme do programu přidali možnost vynesení komponent jejich dvou vektorů (úsek vyhlazeného záznamu a strmosti) do dvojrozměrného grafu – simplifikovaná obdoba PCA (Analýza hlavních komponent, angl. Principal Component Analysis). V okně pod grafem zobrazujícím jednotlivé buňky se nalézá přehledový graf součtu vzdáleností všech vzorů v daném bodě, jak pro vyhlazený záznam tak i strmost. Výběr bodů, které budou vyneseny do grafu, závisí na charakteru záznamu. Uživatel může vycházet jak z přehledového grafu, tak i z grafu záznamů; vybírá tak místa, která jsou z hlediska odlišnosti jednotlivých vzorů nejpopisnější. V grafu analýzy hlavních komponent je možno provádět výběr jak vzorů (jednotlivé buňky) tak i jednotlivých úseků v záznamu. Výsledek výběru vzorů je možno zobrazit v základním grafu vzorů na hlavním panelu. Jednotlivé úseky odpovídající vybraným bodům záznamu je možno označit a vypustit. To má další výhodu: pokud dva blízké shluky pokrývá jeden vzor, můžeme vybrat jen požadovanou část bodů.
Obr 23.Pomocný graf určený k analýze shluků vzorů a úseků záznamu pomocí zjednodušené analýzy hlavních komponent
31
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
2.2.4 Interaktivní selekce vzorů Roztřídění vybraných úseků záznamu na neuronové síti nemusí být definitivní. Můžeme například chtít vybrat jen určitou subpopulaci evokovaných potenciálů, která se nám zobrazila do jednoho či více vzorů. I na toto je v naší práci myšleno. Výběr vzorů a jejich další analýza má i jiný význam - urychluje vyhodnocení. Jak bylo již dříve uvedeno, časová složitost třídění roste kvadraticky s počtem vzorů a lineárně s počtem tříděných úseků. Zjednodušeně řečeno, pokud bychom chtěli 2n úseků rozdělit na 2k typů, které se do tříd rozdělí rovnoměrně, zabere nám to řádově 2n * 4k2. Pokud to provedeme nadvakrát – rozdělením 2n úseků na k typů, vybráním subpopulace a opětovným rozdělením n úseků na k typů – zabere nám to 2n * k2 + n * k2 = 3n * k2 a to je méně jak polovina. Interaktivní výběr vzorů rovněž přináší další možnost, jak se zbavit artefaktů – ty jsou často výrazně odlišné od hledaných evokovaných potenciálů a zobrazí se tudíž na jiné vzory. V programu je výběr vzorů umožněn více způsoby. Nejjednodušší je vybrání jednoho či skupiny vzorů označením či tažením kurzorem. Program nabízí i možnost provést inverzi výběru, namapovat barvy křivek grafu vzorů na body základního záznamu, spočítat vybrané množství buněk atd., což výrazně ulehčuje výběr.
2.2.5 Výstup Výstupem programu je sekvence vybraných bodů s jejich okolím. Pořadí v původní posloupnosti, vyhlazený záznam a vypočtená strmost okolí bodů jsou charakteristiky, které jsou buď ukládány do binárního souboru (pořadí jako 32-bitové celé číslo následované body jako 16-bitová celá čísla), nebo mohou být exportovány do textového pole jako celá čísla oddělená tabulátorem. Odtud jsou pak přístupná dalšímu výpočtu ve statistických programech a tabulkových kalkulátorech. 50 * 16b
50 * 16b
0 32b vyhlazený úsek záznamu pozice v záznamu
strmost okolí bodů
Obr 24.Struktura věty ukládané sekvence vybraných bodů a jejich okolí
2.2.6 Přehled zpracování záznamu Na závěr tohoto oddílu přinášíme pro přehled vývojový diagram operací prováděných nad záznamem, tak jak zde byly postupně zmíněny.
32
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
Obr 25.Operace prováděné při zpracovávání záznamu
2.3 Výsledky vyhledávání Problematika porovnávání kvality jednotlivých algoritmů vyhledávání grafoelementů v záznamu není ještě dořešena. Je velký rozdíl porovnávat vyhodnocení čistého záznamu s vysokým odstupem signál/šum a signálu zašuměného. V prvém případě můžeme mít 100% úspěšnost, v případě druhém bude úspěšnost nižší. V literatuře se tzv. validace provádí ze záznamů vyhodnocených několika nezávislými odborníky. Jejich ohodnocení se pak považuje za správné. Validace je často následníkem trénovací fáze, ve které se podobně ohodnocené záznamy předkládají arbitru (neuronové síti), která jim přizpůsobuje svou vnitřní strukturu (váhy na vstupech Perceptronu, středy buněk mapy). V našem případě závisí kvalita implementace i na operátorovi programu, na tom, jakou si dá práci s nastavením parametrů předzpracování signálu, nebo jak využije možnosti interaktivního výběru vzorů a jejich opakovaného třídění. Jako míru úspěšnosti vyhledávání grafoelementů ( ale obecně i čehokoli jiného ) berme následující dvě hodnoty: 1) Senzitivita: říká, kolik bodů ze všech správných algoritmus správně vybere počet správně označených bodů počet všech správných bodů 2) Specificita: říká, kolik bodů ze všech nalezených je skutečně správně nalezených počet správně označených bodů počet všech označených bodů
33
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
Senzitivita Specificita
Čistý záznam 1,0 1,0
Středně zašuměný záznam 0,98 0,96
Ukázka
Obr 26.Porovnání úspěšnosti vyhodnocení čistého a zašuměného záznamu Mezi specificitou a senzitivitou lze plynule přecházet: volbou parametrů vyhledávání můžeme snižovat specificitu a zvyšovat senzitivitu a naopak. Na závěr můžeme říci, že kvalita vyhodnocení záznamu je dostatečná. Je zřejmě srovnatelná i s hodnocením nezávislými pozorovateli. U nezašuměného signálu není pochyb o tom, kde se vyskytuje grafoelement, u zašuměných signálů je hodnocení záznamu nejednoznačné, shoda není ani při manuálním hodnocení.
2.4 Grafické uživatelské rozhraní Grafické uživatelské rozhraní je řešeno ve stylu ovládacího panelu, na kterém jsou všechny potřebné ovládací i zobrazovací prvky viditelné bez dalších zbytečných „kliků“ na záložky nebo podformuláře. V levém sloupci je umístěn výběr souboru ke zpracování včetně listování systémem souborů. Iniciální adresář je kořenový adresář programu. Dvojitým klikem na soubor dojde k jeho načtení a vypočítání základních statistik. V pravém horním okně se nachází graf se záznamem. Elektivně se zobrazuje vyhlazená křivka, průběžná strmost a plovoucí nula, jejichž barvy jsou zvoleny tak, aby umožňovaly co největší přehlednost. Barvy křivek je rovněž možno změnit. V grafu se rovněž zobrazují nalezené body včetně jejich barevného přiřazení vzorům. V okně grafu je sice možný výběr a mazání nalezených bodů, i když tato funkce v praxi nenabývá většího významu; bodů k označení je mnoho a úkolem programu je, aby se postaral o usnadnění jejich výběru. Křivku je možno přibližovat, oddalovat a posouvat. Podlouhlé okno grafu uprostřed panelu slouží k náhledu záznamu. Zobrazuje polohu horního grafu v celé délce záznamu. Ukazuje i histogram počtu vybraných bodů, velikost jednoho okna histogramu je možné zvolit. Největší část panelu je vyhrazena porovnávání okolí vybraných bodů na neuronové síti. Tématicky se točí okolo grafu vzorů, které představují jednotlivé buňky. Jednotlivé parametry se nastavují na nejbližším panelu (nalevo od grafu), kde se i spouštějí jednotlivé operace nad
34
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
polem vzorů. Přímo v okně grafu je možno tahem myši vybírat skupinu vzorů či zaklikáním jednotlivé exempláře. Podle vzorů lze barevně odlišit vybrané body v záznamu v horním grafu. Vybrané záznamy lze opakovaně třídit (nevybrané vzory jsou smazány) do čím dál větších podrobností. Tloušťka čar v grafu vypovídá o relativní síle vzorů (počtu podobných bodů) Výběr bodů ze základního záznamu se provádí na základě parametrů na panelu v pravém dolním kvadrantu. Zde je umístěno i průběžné zobrazení postupu vyhodnocení (tzv. „progress bar“). Úplně při dolním okraji panelu se nachází náhled rozdílu mezi jednotlivými vybranými body okolí. Slouží k nastavení parametrů pro komponentní analýzu – nadstavbu výběru vzorů v grafu. Kliknutím na tlačítko PCA se zobrazí rozložení bodů dle dvou hlavních (vybraných) komponent. I v tomto grafu je možný manuální výběr vzorů určených k další analýze. Textový výstup umístěný při samém pravém okraji panelu umožňuje zobrazení vypočítaných hodnot: vybraných bodů, bodů podobných vybraným vzorům, křivky vzorů. Při operacích nad většími množinami prvků je možno textové pole schovat (nezobrazovat) a urychlit tím i vlastní výpočet. Obsah textového pole lze jedním kliknutím zkopírovat do schránky a přímo přenést od jiného programu (typicky tabulkového kalkulátoru k dalšímu vyhodnocení).
Obr 27.Grafické uživatelské rozhraní programu pro výběr grafoelementů
35
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
Okno grafu obsahuje mnoho ovládacích a zobrazovacích prvků a nelze ho zvětšovat ani zmenšovat. Velikost panelu je optimalizována pro rozlišení monitoru 1280 x 800 bodů.
36
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
3 Porovnávání záznamů jednotkových potenciálů 3.1 Motivace Dalším stupněm vyhodnocení záznamu jednotkových potenciálů je porovnání vývoje grafoelementů v časovém měřítku. Klademe si otázku, zda se nějak liší charakteristiky jednotkových potenciálů na začátku a konci záznamu, či v jiných dvou časových úsecích. Důvodem je experimentální metodika. Porovnáváme totiž reakci experimentální skupiny na experimentální zásah, v našem případě vyvolání ischémie, s reakcí kontrolní skupiny. Rozvoj ischémie v oblasti, jejíž zdrojová tepna byla trombotizována, vyvolává postupné změny. Objekty experimentální skupiny by tudíž měly mít jiný vzor rozvoje postischemických změn než kontrolní skupina. Z faktů zmíněných v odstavci o fyziologii neuronu vyplývá, že hlavním sledovaným parametrem je četnost grafoelementů a rozložení jejich frekvenčního spektra. Hodnota amplitudy, ačkoliv je v programu rovněž implementována, nemá u jednotkových potenciálů výpovědní hodnotu. Hovoří spíše o změně kvality záznamu během registrace následkem poškození buňky či vzdálení buňky od elektrody např. z důvodu rozvoje fokálního edému.
3.2 Porovnání dynamiky změn Při porovnávání dynamiky změn jednotkové aktivity srovnáváme vždy více záznamů mezi sebou, snažíme se najít podobnost a záznamy přiřadit k jednotlivým vzorům. Opět provádíme tzv. „cluster analysis“ neboli analýzu shluků. Znovu zde musíme zavést měřítko podobnosti dvou záznamů. Zde máme k dispozici více charakteristik, které vedou i na více definic podobnosti. Aktuální výběr porovnávané hodnoty závisí na charakteru záznamu a je plně v režii operátora programu.
3.2.1 Porovnávané charakteristiky Při výběru porovnávaných charakteristik jsme vycházeli ze základní funkce neuronu stran jejich odlišení. 1) Maximální amplituda je metrika, kterou jsme v programu implementovali pro event. další rozšíření do budoucna. Nutno poznamenat, že vzhledem k fyziologii neuronů je tato charakteristika málo přínosná. 2) Počet grafoelementů v časovém úseku je užitečná charakteristika, která ukazuje na vývoj intenzity elektrické aktivity jednotlivých buněk. 3) Sloupec histogramu frekvencí s maximálním počtem grafoelementů. Zde se zobrazuje a porovnává poloha sloupce s maximálním počtem grafoelementů. Jednotlivé úseky histogramu jsou odstupňovány exponenciálním zmenšováním základního úseku délky u, t.j. n-tý úsek odpovídá rozmezí hodnot < ek^n ; ek^(n+1) ),
37
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
kde n je počet úseků histogramu a konstanta k leží na ( 0 ; 1). Zjemnění dělení úseků se dosáhne zvýšením hodnoty multiplikativní konstanty k a počtu úseků histogramu u. 4) Medián a průměr frekvencí (latencí). Charakteristiky střední hodnoty výběru. Průměr je veličina používaná u normálního rozložení, naproti tomu medián nevytváří žádné předpoklady o typu rozdělení hustoty.
3.2.2 Porovnávání průběhu záznamu Porovnávání průběhu záznamu probíhá obdobně jako při vyhledávání grafoelementů v záznamu jednotkových potenciálů. Opět využíváme algoritmu K-means a dopomáháme si analýzou hlavních komponent (PCA, Principal Component Analysis). Vybrané záznamy se přiřadí k jednotlivým vzorům podle jejich podobnosti. Jednotlivým záznamům lze volitelně měnit měřítko v zadaném rozsahu tak, aby se lépe porovnaly s určitým vzorem. Vzory lze vybírat a znovu rozdělovat a hledat drobnější změny. K usnadnění výběru správných vzorů slouží i okno analýzy hlavních komponent souboru záznamů s jejich dvourozměrnou projekcí. Program umí nabídnout vektory s největším rozptylem (či lineárně definovanou vzdáleností), ale konečné rozhodnutí o jejich užití či přizpůsobení závisí na uživateli. Okno náhledu zobrazuje průběžnou vzdálenost vzorů v čase, slouží tedy rovněž k volbě správných vektorů pro analýzu hlavních komponent.
3.2.3 Řetězec zpracování souboru jednotkových potenciálů Na následujícím obrázku je výstižně naznačen řetězec zpracování souborů jednotkových potenciálů za účelem jejich porovnání a nalezení závislostí mezi nimi, který se skládá z: 1) Načtení souborů s časovou značkou bodu a s jeho okolím. 2) Vypočtení charakteristik jednotlivých záznamů (viz výše) a jejich zobrazení v grafu 3) Třídění záznamů podle vypočtených charakteristik. i. Třídění na neuronové síti K-means (učení bez učitele) s euklidovskou nebo lineární metrikou ii. Výběr hlavních komponent. Záznamy jsou zobrazeny jako dvourozměrné vektory v místech největšího rozptylu zkoumané charakteristiky. 4) Výběr vzorů a k nim příslušných záznamů a jejich opětovné třídění. 5) Uložení výstupních dat. Probíhá formou přenosu tabulek přes schránku do jiných programů (nejčastěji tabulkového kalkulátoru), kde jsou data okamžitě přístupná k dalšímu využití.
38
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
Obr 28.Schéma zpracování souborů jednotkových potenciálů
3.3 Výsledky porovnávání Z předběžných výsledků je zřejmé, že program umí dobře sdružovat podobné vzory vývoje jednotkové aktivity v čase podle zadané metriky. Vzhledem ke složité interpretaci výsledků podobnosti jednotlivých záznamů zde uvádíme pouze příklad vyhodnocení skupiny záznamů. Tudíž nelze tomto případě vyhodnotit ani „úspěšnost“ třídění.
39
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
Obr 29. Roztřídění devíti záznamů na dvě skupiny podle počtu grafoelementů v časových úsecích. V tomto případě je škálování záznamů potlačeno (násobení či dělení konstantou).
Obr 30.Příklad roztřídění devíti záznamů na dvě skupiny podle mediánu latence. V tomto případě je použito škálování záznamů.
40
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
Obr 31.Vývoj frekvenčního spektra záznamu, na ose x ( → ) je rozdělení frekvenčního spektra, na ose y ( ) je čas a na ose z ( ↑ ) je počet úseků spadajících do jednotlivých částí histogramu, jako příklad datového výstupu programu. Z analýzy funkce algoritmu vyplývá i úvaha o jeho složitosti. Je zřejmé, že výpočet průběžných charakteristik vykazuje linerální složitost O(d) v závislosti na celkovém počtu bodů všech záznamů d. N
d = ∑ li , n=1
kde li je počet bodů záznamu i, a N je počet všech záznamů. Složitost porovnávání charakteristik záznamů a jejich třídění je obdobná jako u třídění grafoelementů (viz výše). Rozdíl je v tom, že nyní již porovnámáme řádově maximálně desítky úseků s jednotkami vzorů. Proto je složitost třídění záznamů z praktického hlediska nevýznamná.
3.4 Grafické uživatelské rozhraní Grafické uspořádání panelu je podobné tomu v předchozím případě (vyhledávání jednotkových potenciálů v záznamu). Program je řešen jako jeden panel, kde jsou všechna důležitá tlačítka a grafy. Jediné samostatné okno (modální dialog) představuje analýza hlavních komponent. Jednotlivé části jsou graficky oddělené. V levé části jsou opět okna určená k výběru sekvencí k porovnání. Jejich seznam, do kterého lze přenést i více jmen souborů najednou, je zobrazen v levém horním rohu. Sekvence zobrazené v okně lze exportovat ve formátu textu odděleného tabulátory. V další fázi se provádí počítání charakteristik. Výpočet je rychlý, proto se počítají všechny dosažitelné charakteristiky najednou. Jejich tvar se následně zobrazí v horním grafu. Oba zobrazené grafy mohou být jak
41
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
dvou- tak i třírozměrné, linky mohou mít charakter „schodů“, čímž naznačují tvar histogramů. Pro větší přehlednost je iniciálně zvolen třírozměrný graf. Sekvence je možno třídit v pravé dolní části okna, kde je i graf zobrazující vygenerované vzory. V grafu je možno označovat či odznačovat jednotlivé vzory pomocí kurzoru myši. Úzký graf napravo dole ukazuje celkovou odchylku vzorů od sebe. Tím usnadňuje výběr bodů pro event. další analýzu hlavních komponent. Program má i textový výstup, který lze pro urychlení některých operací skrýt. Textové pole plně spolupracuje se schránkou (clipboard) a umožňuje tak přenos dat do jiných programů k dalšímu využití.
Obr 32.Grafické uživatelské rozhraní programu pro porovnávání záznamů
42
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
4 Implementační dodatek Všechny výše uvedené algoritmy jsou zapouzdřeny do dvou programů. První vyhledává podobné skupiny grafoelementů v jednom záznamu. Druhý porovnává jednotlivé záznamy mezi sebou, jejich vývoj v čase. Rozdělení analýzy do dvou stupňů je v tomto případě velmi výhodné: oba představují ucelený soubor funkcí vystavěný nad odlišnými typy záznamů. Výhodné je i to, že obě subjednotky představují každá ucelený a přehledný operační panel se všemi funkcemi dostupnými najednou. Od objektivního hodnocení tzv. „usability“ však pro úzce omezený okruh potencionálních uživatelů ustupujeme. Formátem vstupního souboru prvního programu je posloupnost 16-bitových celých čísel (se znaménkem, „signed short integer“). Jednoduchý soubor s celými čísly je výhodný pro zachování univerzality programu. Typ 16-bitového celého čísla byl zvolen na základě subtypu námi často používaného formátu CFS (Cambridge Electronic Design Filling Systems), který tento typ užívá. Programy byly implementovány v jazyce C++, což je vyšší programovací jazyk s podporou objektového programovacího stylu. Většího využití se dostalo tzv. kontejnerům („containers“), které představují množinu složených datových typů (typu fronta, vektor atd.) s předdefinovanými operacemi. Grafické zpracování je implementováno knihovnou vizuálních komponent („visual component library“, vcl), která je zakomponována v samém integrovaném vývojovém prostředí Borland C++. Důvodem volby tohoto prostředí je rovněž jeho příbuznost s Borland Delphi, se kterým máme bohaté zkušenosti. Program byl odladěn na přenosném počítači s procesorem AMD Sempron 3000+ a 512MB operační paměti. Tato konfigurace již umožňuje vyhodnocení záznamů v „rozumném“ časovém horizontu. Vzhledem k výpočetní složitosti prováděných operací bychom však doporučovali, alespoň pro delší záznamy (tj. nad 1 mil bodů), o třídu rychlejší CPU, např. Athlon 64. Rozlišení obrazovky je nutné mít alespoň 1280 x 800 pixelů. Tento požadavek vychází z neměnné velikosti panelů. Komplexní grafická struktura a členění panelu totiž neumožňuje změnu jeho velikosti bez výrazného snížení přehlednosti. Docházelo by totiž k zakrytí důležitých součástí panelu a nutnosti častého „scrollování“. Vyhodnocení skupiny deseti kvalitních záznamů pomocí implementovaných algoritmů, každý o délce milion bodů, zabere méně jak hodinu času. Manuální vyhodnocení stejného objemu dat by znamenalo stereotypní prohlížení záznamů a vypisování údajů o grafoelementech. Vyhodnocení výše specifikovaného souboru záznamů by zabralo odhadem několik dní práce. V tomto poznatku tkví nesporná výhoda počítačového vyhodnocení experimentálních dat. Další nespornou výhodnou je i uniformita vyhodnocení signálu v celém průběhu záznamu.
43
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
5 Závěr Hodnocení záznamu biologických jevů je jedním z nepostradatelných článků analýzy experimentálních dat. Užití výpočetních metod nabízí uniformní vyhodnocení dat v „rozumném“ čase, výrazně redukuje stereotypní manuální činnost. K hodnocení dat a zjišťování závislostí mezi nimi je nutno přistupovat individuálně a s hlubokou znalostí biologické podstaty zkoumaných jevů. V naší práci jsme ukázali a implementovali metodu vyhledávání jednotkových potenciálů a porovnání dynamiky záznamů. V postupu byly s výhodou využity metody tzv. „dataminingu“ - neuronovou síť K-means a analýzu hlavních komponent. Použity byly i klasické metody pro předzpracování dat. Interaktivita implementace dává uživateli možnost blíže definovat požadavky na vyhodnocení záznamu podle bližších znalostí o jeho povaze. Textové výstupy přibližují zpracovávaná data dalšímu vyhodnocení v programech s širší tematikou (tabulkový kalkulátor, statistický program). Vzhledem k tomu, že na programech je vždy co „vylepšovat“, není jistě současná verze poslední. Do budoucna plánujeme vytvoření „mini“ verze, která bude obsahovat méně možností ovlivnění různých konstant; ty budou předem nastavené ve volitelných profilech. Takové zjednodušení přinese vyšší uniformitu vyhodnocení skupiny záznamů a zjednodušené ovládání programu. Program na hodnocení jednotkových potenciálů následuje po programu na hodnocení ECoG záznamu evokovaných potenciálů (sumované elektrické aktivity velké skupiny neuronů), který již dva roky s výhodou používáme. To nám umožní porovnat změny elektrické aktivity neuronů jak na makroskopické (ECoG) tak i na celulární (jednotkové potenciály) úrovni a dotvořit si obrázek o působení ischémie na centrální nervový systém. V dalších pracech se pak budeme moci zaměřit na studium možností ovlivnění (omezení) míry postischemického poškození centrální nervové soustavy např. preconditioningem či aplikací vybraných farmak – slibné se v této oblasti jeví scavengery volných kyslíkových radikálů jako např. melatonin.
44
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
6 Literatura [1] [2] [3] [4]
Čihák R. et al: Anatomie 3, Grada 1997. Trojan S et al: Lékařská fyziologie, Grada 1994. Šnorek et al: Neuronové sítě a neuropočítače, ČVUT 2004 JavaNNS – simulátor neuronové sítě Backpropagation na http://wwwra.informatik.uni-tuebingen.de [5] GAME na http://neuron.felk.cvut.cz [6] Stránky předmětu 36NAN – Neuronové sítě a neuropočítače na http://service.felk.cvut.cz/courses/36NAN [7] Stránky Neuronové skupiny FEL ČVUT na http://ncg.felk.cvut.cz [8] Rogalewicz Z.: Pravděpodobnost a statistika pro inženýry, ČVUT 2000 [9] Šíma J., Neruda R: Teoretické otázky neuronových sítí, Matfyzpress 1996 [10] Tůma L., Kordík P.: Evaluation of Cortex Single-Units on Neuronal Network, Semestrální práce z předmětu Neuronové sítě a neuropočítače 2006 [11] Adjouadi M. et al.: Detection of Interictal Spikes nad Artifactual Data Through Orthogonal Transformations, Journal of Clinical Neurophysiology, Vol 22, 2005. [12] CED Filling Systems na www.ced.co.uk [13] Grau Lab na http://graulab.tamu.edu
45
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
7 Poděkování Poděkování za podnětné připomínky a rady při tvorbě této práce patří: Doc. MUDr. Jan Mareš, CSc., Ústav normální, patologické a klinické fyziologie, 3.lékařská fakulta UK, Praha Ing. Božena Mannová, M.Math., Katedra počítačů, Fakulta elektrotechnická, ČVUT, Praha MUDr. Klára Bernášková, CSc., Ústav normální, patologické a klinické fyziologie, 3.lékařská fakulta UK, Praha Ing. Pavel Kordík, Katedra počítačů, Fakulta elektrotechnická, ČVUT, Praha Poděkování patří rovněž rodičům za jejich podporu při studiu.
46
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
8 Příloha A (CD) Na přiloženém kompaktním disku se nachází: 1) 2) 3) 4) 5)
Zdrojové texty programů Testovací data Knihovny Borland C++ Runtime Text diplomové práce Prezentace
Adresářová struktura a pokyny k instalaci programů jsou uvedeny v souboru contents.txt: Obsah adresářů: \contents.txt..............obsah cd a pokyny \source\...................zdrojové soubory programu \exec\.....................spustitelné soubory \exec\static_selection\....program pro vyhledávání grafoelementů \exec\dynamic_comparison\..program pro dynamické porovnávání záznamů \text\.....................text diplomové práce \data\.....................testovací data, utility, knihovny \data\cfs_to_binary_converter\ ... příklad converteru z formátu CFS (CED Filling System) do binárních souborů, které jsou vstupem programu pro vyhledávání jednotkových potenciálů. \data\Borland_Cpp_6_Runtime_Extended_Set\ ... knihovny Doporučené vybavení: 1)OS Windows XP 2)Procesor Athlon 64 a vyšší nebo ekvivalent 3)512MB a více operační paměti 4)Rozlišení monitoru 1280 x 800 a více, High Color nebo True Color 5)Třítlačítková myš 6)CD-ROM Postup instalace: Programy v podadresářích adresáře \source jsou zkompilované zdrojové soubory v C++ Builderu a jsou tedy přímo spustitelné. Knihovny, které se nevyskytují na Vašem počítači, naleznete v adresáři \data a podadresářich (nutné přidat do cesty), dále jsou k dispozici v distribuci Borland C++ Builder (viz www.borland.com). Na kompaktním disku je k dispozici soubor komprimovaných knihoven Borland_Cpp_6_Runtime.exe (samorozbalitelný soubor). Ten neobsahuje dvě knihovny, indy60.bpl a tee60.bpl, které najdete samostatně v adresáři \data\Borland_Cpp_6_Runtime_Extended_Set\. Spuštění programů:
47
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
1) program pro statické vyhledávání grafoelementů se nachází v adresáři \exec\static_selection\ 2) program pro dynamické porovnávání záznamů se nachází v adresáři \exec\dynamic_comparison\
48
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
9 Příloha B – stručný návod na ovládání programu Program implementuje komplexní přístup k vyhodnocení jednotkových potenciálů, který je zčásti založen na nezbytných znalostech fungování biologických neuronů, nutných ke správnému ovládání programu. Strategie analýzy rovněž záleží na přístupu každého uživatele. Algoritmus analýzy je implementován ve dvou stupních. V prvním stupni se vyhledávání grafoelementy, které odpovídají jednotkových potenciálům. V druhém stupni se pak jednotlivé záznamy porovnávají podle vybraných charakteristik.
9.1 Vyhledávání grafoelementů 1) Otevření souboru: soubor otevřete výběrem jeho jména v levém (1) okně dvojitým kliknutím nebo kliknutím na tlačítko (2). Počet bodů, které se mají načíst specifikujte v příslušném poli (3). Pokud chcete načíst všechny body zaklikněte zatrhávací pole (4). Ve vstupním souboru musí být uložena posloupnost 16-bitových celých čísel. 2) Graf záznamu: zobrazuje se v pravém horním okně (5). Křivky, které se mají zobrazit označíte v zaškrtávacích polích pod ním (6). V grafu se pohybujete tažením myší se stisknutým levým tlačítkem, pravým tlačítkem a pohybem myši doleva nahoru rušíte zoom, při pohybu opačným směrem zvětšujete ohraničenou oblast. Barvu jednotlivých křivek můžete měnit v polích nalevo od grafu (7). Vybrané body záznamu je možno editovat manuálně přímo v grafu. Klikem na označený bod levým tlačítkem myši se stisknutou klávesou Ctrl vymažete vybraný bod, při současném stisku klávesy Shift bod na křivku přidáte. Při výběru nového bodu je nutné, aby bylo zobrazeno alespoň 7 bodů před a 43 bodů za vybíraným bodem. 3) Náhled grafu záznamu: v malém grafu pod grafem záznamu se zobrazuje poloha aktuálně zobrazeného úseku záznamu v celém záznamu (8). V grafu je rovněž zobrazen průběžný počet vybraných bodů v úseku záznamu. V náhledu grafu se pohybujeme buď dvojklikem levým tlačítkem myši na místo, které chceme zobrazit, nebo přetáhnutím (zelené) značky počátku záznamu (9) tamtéž (pravé tlačítko myši). Počet bodů histogramu lze volit v okně nalevo od náhledu grafu (10). 4) Předzpracování záznamu: konstanty pro předzpracování záznamu jsou na panelu pod oknem grafu záznamu (11). Kromě volby zobrazení příslušných křivek v záznamu je zde možno volit šířku (počet bodů pro výpočet) klouzavého průměru, strmosti a vyhlazení záznamu. 5) Výběr bodů: nastavení podmínek výběru bodů k dalšímu zpracování probíhá na panelu vpravo od grafu vzorů. Řádky pro stoupání a amplitudu jsou rozděleny po třech editačních oknech. V prvním je zadáno, z kolika bodů se metrika počítá, v druhém je prahová hodnota a ve třetím se nastavuje multiplikativní koeficient asymetrie. Zaškrtnutím políčka „no neighbours“ docílíte eliminace jednoho ze dvou sousedních vrcholů (kladný a záporný) představující dvě fáze jedné vlny; vybrán je bod s vyšší absolutní hodnotou amplitudy. Políčko „peak to middle“ umožňuje zarovnání hodnoty maxima amplitudy, povolený posun se nastaví v přilehlém editačním poli. 6) Třídění bodů: vzory buněk neuronové sítě jsou zobrazeny ve spodním grafu (13). Pohyb v grafu je obdobný jako v horním grafu (viz výše). Výběr jednotlivých vzorů provádíme
49
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
klikem levým tlačítkem myši, příp. tažením se stisknutím prostředním tlačítkem myši. Při současném podržení klávesy Ctrl se ruší výběr označených vzorů. Parametry třídění vybraných úseků záznamu se nastavují v panelu vlevo od grafu vzorů. Vybrat můžeme, podle které charakteristiky budeme chtít záznamy třídit (amplituda, strmost) a která charakteristika bude zobrazena. Počet buněk volíme v editačním okně s nadpisem „cells“. Třídění spouštíme stiskem tlačíka s názvem „Kmeans“, vymazání vzorů zajistíme stiskem tlačítka „reset“. Tlačítko „desel“ slouží k odznačení vybraných vzorů, „invsel“ invertuje výběr (vybrané vzory odznačí a naopak), „select“ spočítá úseky odpovídající vybraným vzorům a namapuje barvy vzorů na body v grafu záznamu. Tlačítkem „analyze sel.“ vyberete úseky odpovídající označeným (modrým) vzorům k další analýze, ostatní úseky jsou vymázany. 7) Analýza komponent (15): další pomůcka podobná metodě PCA (Principal Component Analysis), ale v zjednodušné podobě nabízí možnost zobrazení vzorů do dvou dimenzí. Na ose x je vynesena hodnota v bodě určeném v poli „x-axis“, na osu y hodnota v době určeném v poli „y-axis“. Charakteristiky vynášené na obě souřadnice je možno zvolit v příslušných polích. Náhled součtu rozdílu jednotlivých vzorů je uveden v malém grafu pod grafem vzorů. Okno s grafem rozložení hodnot otevřete kliknutím na tlačítko „PCA“. V okně můžete vybírat vzory tažením myši se stisknutým prostředním tlačítkem, či naopak výběr rušit tažením myši se stisknutým prostředním tlačítem při stisknuté klávese „Ctrl“. Výběr je možno zrcadlit v grafu vzorů stiskem tlačítka „update cells“. Rovněž samotné „vybrané“ body záznamu je možno vybrat (tažením myši se stisknutým prostředním tlačítkem a stištěnou klávesou Shift) a výber rušit (tažením myši se stisknutým prostředním tlačítkem a stištěnou klávesou Alt). Nevybrané body pak lze vypustit stištěním tlačítka „del gray pts“. 8) Uložení vybraných úseků záznamu: poslední část první fáze analýzy. Vybrané úseky záznamu se ukládají v binární podobě do souboru, jehož název můžete specifikovat v okně (16). Cestu k souboru lze nalistovat v adresářovém okně v levé části okna aplikace. Vybrané úseky nakonec uložíte kliknutím na tlačítko „save selected pts“. 9) Textový výstup: výstup jednotlivých částí analýzy se zobrazuje v textovém okně (17). Toto je možno pro urychlení výpočtu skrýt. Obsah okna je možno zkopírovat od schránky windows (clipboard) a přímo tak přenést k dalšímu vyhodnocení např. do tabulkového kalkulátoru (čísla jsou oddělena tabulátorem).
50
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
Obr 33.Vyhledávání grafoelementů: hlavní okno – návod na ovládání programu
9.2 Porovnávání záznamů 1) Otevření souborů: vzhledem k tomu, že program porovnává více záznamů najednou, je nutné definovat množinu vstupních souborů. Soubory se přidávají buď dvojklikem na název souboru (1), nebo jejich označením a kliknutím na tlačítko „add“. Jména vybraných souborů jsou zobrazena v horním levém okně (2), odkud se dají zase odstranit dvojklikem nebo klikem na tlačítko „remove“. Odstranit jména všech souborů z okna lze pomocí tlačítka „clear“. Vybrané soubory lze otevřít klikem na tlačítko „load + calc“ (3). V panelu uprostřed nahoře (4) je možno definovat, jaká časová oblast vstupního záznamu se zobrazí do jednoho bodu (pole s názvem pts/bin). V dalším poli lze nastavit počet kategorií frekvenčního histogramu, ještě níže je možno určit konstantu k exponentu proměnné určené k dělení základního intervalu na části velikosti < ek^n ; ek^(n+1) ). 2) Graf záznamů: se nachází v pravém horním okně (5). Zobrazuje vybranou charakteristiku všech porovnávaných záznamů. Styl grafu je možno měnit tlačítky umístěnými pod grafem, kde je rovněž umístěno okno pro výběr zobrazované charakteristiky (6). V legendě grafu jsou barevně zakódovaná jména příslušných vstupních souborů (7). 3) Třídění záznamů: je zobrazeno v grafu v pravé dolní části okna (8). Jednotlivé řady představují vzory. Graf je možno upravovat podobně jako graf záznamů (9). V grafu je
51
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
možno vybrat jednotlivé vzory kliknutím myš. Pomocí tlačítka „count + paint“ je možno spočítat záznamy přiřazené k jednotlivým vzorům a ty v grafu záznamů zvýraznit. Množinu vybraných vzorů je možno dále opakovaně analyzovat. Charakteristiku, podle které se záznamy třídí, je možno zvolit v okně s titulkem „compare“ (10). Další okno slouží k volbě metriky (RMS, nebo lineární vzdálenost). Počet vzorů je možno stanovit v okně „cells“. Pokud chcete použít možnost škálování, zaškrtněte „auto scale“. Maximální multiplikativní konstanta pro škálování je uvedena v okně „max +/-“. 4) Analýza komponent: obdoba téhož při vyhledávání grafoelementů. Jedná se o zjednodušenou formu PCA (Principal Component Analysis). Do dvojrozměrného grafu jsou vyneseny vzory a záznamy nejlépe v místech jejich největší „vzdálenosti“. Je zde opět možno vybrat vzory podle jejich rozložení v grafu. Přehledný graf „vzdálenosti“ záznamů je zobrazen pod grafem vzorů (11), má napomoci výběru obou bodů, které se vynáší na souřadnice grafu. 5) Textový výstup: druhá část analýzy má pouze textový výstup do textového pole (12). Jednotlivá čísla jsou oddělena tabulátory a jsou tak přímo přístupna dalšímu využití např. v tabulkovém kalkulátoru, kam mohou být přemístěna pomocí schránky (clipboard). Jednotlivé záznamy je možno rovněž vyexportovat ve formátu čísel oddělených tabulátorem stiskem tlačítka „dump record“. Pod ním je umístěno okno, kde si uživatel může vybrat spektrum záznamů, které chce zobrazit v textové podobě. Program umožňuje i exportování jednotlivých charakteristik záznamů (tlačítko „dump metrics“) a vzorů. Textové okno je možno skrýt (tlačítko „show“), což u delších záznamů může urychlit jejich výpis.
52
Lukáš Tůma: ANALÝZA SIGNÁLŮ BIOLOGICKÝCH NEURONŮ
Obr 34.Porovnávání záznamů:hlavní okno - návod na ovládání programu
53