Info

Fotografie: Adam Hříbal (2. LF UK)

Vymýšlíme algoritmy, které šetří vytíženým lékařům čas

Vymýšlíme algoritmy, které šetří vytíženým lékařům čas

S Kamilou Lepkovou o tvorbě a využití neuronových sítí v neurologii

    Rozhovor s jednou z hlavních přednášejících Vědecké konference.

Kamila Lepková, MSc., je biomedicínská inženýrka, věnuje se programování neuronových sítí a diagnostice neurologických onemocnění. Magisterské studium aplikované fyziky v medicíně absolvovala na Univerzitě východního Finska v Kuopiu, studuje doktorské studium na ČVUT a spolupracuje s Mayo Clinic v Rochesteru v Minnesotě ve Spojených státech. Od roku 2022 pracuje v českém start-upu Neurona Lab, který je součástí inovační skupiny Channel Lab, zabývající se precizní medicínou. Zde působí jako vedoucí výzkumu a vývoje od roku 2023.

Studovala jste v Brně a ve Finsku, nyní jste v Praze a zároveň na Mayo Clinic. Kudy vedly vaše cesty?

Vystudovala jsem biomedicínskou techniku a bioinformatiku, obor, který je zároveň pod Fakultou elektrotechniky a komunikačních technologií VUT a Lékařskou fakultou Masarykovy univerzity. A když jsem byla na Erasmu na Univerzitě východního Finska v Kuopiu, moc se mi tam líbilo, a tak jsem se přihlásila na magisterské studium přímo tam. Zajímala mě analýza biologických signálů, především EEG signály, do povědomí se v té době dostávala umělá inteligence: machine learningdeep learning. Ještě v rámci magisterského studia jsem se vydala na roční stáž na Mayo Clinic, spolužák mě propojil se svým šéfem Gregorym Worrellem, který vede BNE laboratoř (Bioelectronics Neurophysiology and Engineering, pozn. red.). V jeho laboratoři se zabývají epilepsií, mimo jiné zkoušejí aplikovat machine learningové algoritmy na detekci zón epileptického nástupu. Na Mayo Clinic se mě ujal shodou okolností další tamní Čech, Václav Křemen, který zároveň působí na ČVUT, a tak jsme se domluvili, že budu pod jeho vedením dělat v Praze doktorát. Výzkum ale dělám pro Mayo Clinic.

A Neurona Lab, kde teď sedíme, to je váš start-up?

Chyběla mi možnost překlopit výzkum do praxe, ale nechtěla jsem se vracet do Ameriky. Investor David Navrátil, který už založil více start-upů, mi nabídl práci v Neurona Lab.

Když se vrátím k vašemu brněnskému projektu, ve kterém jste zkoumali první projevy Parkinsonovy choroby na změnách v řeči a který získal cenu – ujal se váš postup?

Jako studenty nás to bavilo, hráli jsme si s daty a vymýšleli neuronové sítě. Dosáhli jsme přesnosti kolem sedmdesáti osmdesáti procent, nicméně náš algoritmus byl relativně jednoduchý a muselo by se na něm pořádně zapracovat, aby se přenesl do praxe. Jedním z našich projektů v Neurona Lab je detekce Alzheimerovy nemoci pomocí analýzy hlasu, takže zkušenosti určitě uplatníme. Podle publikovaných vědeckých článků by měly být rozpoznatelné rozdíly mezi zdravými jedinci a nemocnými pacienty, jako například hlasitost, intonace, zadrhávání nebo kognitivní deficity.

Co to vlastně je neuronová síť – je to hardware, nebo software? Nebo nějaký cloud?

Neuronová síť je algoritmus, má to tedy blíže k softwaru než k hardwaru. Neuronové sítě se inspirují samotným fungování mozku. Zjednodušeně řečeno, umělé neurony si předávají informace, zpracovávají je a posílají dál. Umělý neuron je v podstatě číslo, které reprezentuje jeho momentální stav; síť se skládá z více vrstev a více neuronů v každé vrstvě. Nejjednodušší síť se skládá ze vstupu, jednoho neuronu a výstupu. 

Do sítě posíláme vstupy a ona dává výstupy. Vstupem může být signál, třeba EEG signály z mozku nebo snímky magnetické rezonance. Data postupně procházejí všemi neurony, v nich se vyhodnotí a posílají dál do dalších neuronů. 

Za jak dlouho dokážete sama vyvinout neuronovou síť? Potřebujete licenci? Nezbytný je předpokládám výkonný počítač...

Máme různé typy architektur neuronových sítí, u kterých je ověřeno, že fungují na dané problémy, a které si můžeme sami naprogramovat během pár minut. Můžeme také experimentovat a vymyslet si vlastní architekturu neuronových sítí. Licence není potřeba, existují open-source knihovny s funkcemi v programovacích jazycích, které můžete bez problému použít. Pro trénování neuronové sítě, a tedy její učení potřebujete výkonný počítač, nebo spíše server, který ovlivní, jak dlouho bude síť trénovat. To může trvat den, ale také týdny až měsíce v případě velkých modelů jako ChatGPT. Naučit síť rozeznat písmeno je snadné – u nepatrného vzorce na skenu z magnetické rezonance je to těžší.

Hloubkové elektrody / Zdroj: BNEL, Mayo Clinic, MN, USA databáze.
Co dál potřebujete?

Umět programovat, například v Pythonu. Napíšete kód, který spustíte na počítači s grafickými kartami nebo na serveru, aby se trénovala. A nejdůležitějším základem pro trénink neuronové sítě je určitě dataset. Dostatečně velký, statisticky relevantní a správně anotovaný, popsaný odborníky. 

Je náročné takový dataset získat?

V medicíně je to určitě náročné: Nemocnice data pečlivě hlídají, takže někdy není snadné se k nim dostat. Doktoři jsou přetížení a nemají čas anotovat snímky. Je vždy lepší mít minimálně dva experty, kteří se v popisu patologie shodnou, abyste zajistil, že je patologie označená správně. Anotace jsou tedy hodně časově náročné. Dále musíte dataset validovat, předzpracovat, vyčistit a dát do přehledné struktury. Tenhle celý proces může zabrat i měsíce.

Jak síť trénujete?

Jsou různé typy tréninku. Jeden je takzvaně s učitelem, kdy síti formou anotace říkáte, na jaké vlastnosti signálu se má neuronová síť dívat a jestli se dívá na patologii nebo na kontrolní snímek: Ona si zapamatuje vlastnosti signálu a podle nich se bude v budoucnu rozhodovat. Když udělá chybu, propaguje ji zpátky do celé struktury sítě a upravuje umělé neurony a jejich stavy tak, aby příště byly přesnější. Tento proces se opakuje, dokud nedosáhne kritéria zastavení. 

A bez učitele?

V tom případě jí neřeknete, co má v signále hledat, a jen jí nakonec sdělíte, jestli to udělala správně. Sama si najde abnormality, na které se má dívat.

Genetický algoritmus publikovaný ve vědeckém časopise Journal of Neural Engineering, kde jste jako spoluautorka, taky spočívá v učení se bez učitele?

Genetický algoritmus je typ optimalizačního algoritmu inspirovaný procesem přirozeného výběru. Algoritmy jsou součástí větší třídy evolučních algoritmů, principem je, že přežije nejsilnější člen – mezi členy se odehrávají „boje“. V publikaci byl použit k tomu, aby našel nejvhodnější parametry neuronové sítě – její nejlepší nastavení. Proč manuálně testovat parametr po parametru a psát si výsledky do tabulky, když to za vás může udělat algoritmus? 

Věnujete se výzkumu epilepsie. V jaké oblasti jste nejvíc doma?

Můj zájem je v lokalizaci ložisek v mozku, která způsobují epileptické záchvaty. Pracuji s EEG záznamy z hloubkových elektrod implantovaných do struktur mozku – vypadají jako takové tyčinky – a zjišťuji, která elektroda lokalizuje zájmovou oblast neboli oblast, kde vzniká epileptický záchvat. Tohle všechno se děje v rámci předoperačního vyšetření pacienta.

V rámci předoperačního vyšetření?

Ano, operativní vyjmutí ložiska v mozku pacienta je další možností, pokud nezabere medikace na potlačení epileptických záchvatů, což se stává asi u třetiny pacientů. Lékaři pomocí klinických projevů a dalších modalit odhadnou, kde se ložisko nachází, a tam potom implantují hloubkové elektrody a čekají, až pacient bude mít epileptický záchvat. Po měření dostaneme popsaný záznam signálu. Já zpracovávám předzáchvatové signály a snažím se najít nějaký biomarker, který by naznačoval, která elektroda bude patologická a která fyziologická.

A k tomu používáte neuronovou síť, kterou jste spolu s vaším týmem vytvořili a „nakrmili“ daty, která vám dodali neurologové...

Signál je však zapotřebí ještě předzpracovat, než jej vložíte do neuronové sítě. Musíte odstranit šum a artefakty, vyfiltrovat zájmové frekvence, normalizovat, roztřídit. 

Vyvíjíte vždy vlastní sítě?

Korporace a velké výzkumné skupiny vyvíjejí různé architektury, některé pracují s obrázky, jiné třeba s datovými řadami, můžete si z nich vybrat podle povahy úkolu. Různé typy architektur neuronových sítí se používají na různé typy úkolů. My si spíše vybíráme a validujeme neuronové sítě na daném úkolu, než abychom si sami vytvářeli novou architekturu. 

Při anotování snímků pracujete i se situací, že se dva nebo i více odborníků neshodne na interpretaci. Ale vaším cílem zároveň je, aby neuronová síť takové rozpory eliminovala a předložila jeden nejsprávnější názor, je to tak? Není pak problematické, že úsudek sítě se staví nad lidský úsudek lékaře?

Nedá se říct, že jde o úsudek sítě, ta jenom dělá, co se naučila. Jak se v praxi nesouhlas odborníků rozhodne? Přizve se další lékař, seniorní nebo z jiné instituce. A my chceme mít performanci naší sítě jako odborníci nebo lepší. Chceme pracovat s daty, která jsou správně anotovaná. Samozřejmě pokud vložíte špatně označená data, síť bude diagnostikovat špatně – žádná není stoprocentní, i při 98procentní úspěšnosti zbývají dva špatně diagnostikovaní lidé, jejichž diagnózu – a samozřejmě nejen jejich – musí zkontrolovat lékař. Proto je nejlepší si nechat data anotovat od více doktorů a používat data, kde se experti shodli.

Takže principiálně nemůžete nabídnout výsledek dokonalejší než konsensus několika nejzkušenějších lékařů?

Neuronová síť nenabídne dokonalejší výsledek než konsensus několika nejzkušenějších lékařů. Nicméně si musíme položit důležitou otázku: Kdy bude několik nejzkušenějších lékařů v jedné místnosti a bude mít čas diagnostikovat daného pacienta? Než kolegové z Aireen získali MDR certifikaci třídy IIb, museli podstoupit klinickou zkoušku a porovnat výsledky s názorem experta. Jenže i ten chybuje, takže síť naučená na x tisících snímků mohla být přesnější než on, protože měla více „zkušeností“ získaných od více doktorů, kteří se na diagnóze museli shodnout. V každém případě se snažíme získat anotace od více odborníků, i z různých institucí, zkrátka co nejvíc relevantních informací, aby neuronová síť byla co nejpřesnější. 

Stejně jako u jiných povolání je častou obavou nahraditelnost lékaře.

Hodně detekčních algoritmů je vyvíjeno na klasifikaci snímků RT, CT, MRI, takže například u radiologů může vyvstat takhle obava. Taková představa ale není úplně namístě. Tak daleko, abychom nechali nějaký algoritmus rozhodovat samostatně o zdraví jedince, ještě nejsme. Potřebujeme lékaře, který diagnózu potvrdí. My určitě doktory nechceme nahrazovat ani jim brát pravomoce. Chceme doktorům usnadnit práci a pomoci tím, že některé procesy zautomatizujeme, že je upozorníme na abnormality, pomůžeme se rozhodovat, když si nejsou jistí. Mohou se pak věnovat více pacientům a nebudou tolik zatížení, jak jsou bez debat nyní. 

To je podobné jako u přepisu rozhovorů – když nyní použiju neuronovou síť, aby mi přepsala náš rozhovor, taky budu muset přepis zkontrolovat.

Přesně tak. Když se vrátím k předoperačnímu snímání u epilepsie, představte si, že pacient je nahráván třeba celý týden a expert musí všechny záznamy z elektrod, kterých bývá desítky ručně procházet. Místo aby nad tímto záznamem strávil hodiny, může mu software ukázat, v jaké minutě se děly mimořádné události, a expert se může podívat jen na ně. 

Myslím, že vždy bude potřeba nějaký expert, který diagnózu a léčbu odsouhlasí. Už jen proto, že v případě nějaké fatální chyby – s kým se budete soudit? S neuronovou sítí, s jejím majitelem? Nebo s doktorem a jeho nemocnicí?

Jak vypadá vaše spolupráce s neurology? O co je typicky u datasetů žádáte, co chtějí oni?

Snažíme se po nich chtít naprosté minimum, které je nutné, protože víme, jak jsou zaneprázdnění. Nicméně i to pro ně představuje hodiny práce. Jedná se především o anotace dat, které my sami bohužel neuděláme, protože tomu nerozumíme. Abychom nevyvíjeli něco, co doktoři nepotřebují, věnujeme hodně času také konzultacím. Diskutujeme, proč je nástroj, který chceme vyvinout, dobrý v praxi, jestli jej doktoři opravdu potřebují, jaký to bude mít zásah, jestli nástroj bude využívat víc nemocnic než jenom tato klinika a tak dále. Když se domluvíme na konkrétních datasetech, snímky sami předzpracujeme, například si ze snímku magnetické rezonance, kde je celá hlava pacienta, vyextrahujeme jen mozek, nebo segmentujeme různé oblasti mozku. A pak konzultujeme, jestli jsme snímky správně předzpracovali, což zabere doktorům taky hodně času. Jen díky doktorům je možné všechno, na čem pracujeme. Patří jim velký dík.

Který z vašich nápadů je nejvíc připraven ke klinickému testování?

Jak jsem už zmínila, v Neurona Lab pracujeme na diagnostice Alzheimerovy nemoci z různých modalit, především z MRI a PET, spolupracujeme s Jakubem Hortem z Motola. Nyní jsme ve fázi zpřesňování a testování softwaru. Klinickou zkoušku a zahájení certifikace máme v plánu v prvním kvartálu příštího roku.

Created: 20. 9. 2023 / Upraveno: 12. 6. 2024 / Mgr. Petr Andreas, Ph.D.