Z dr. hab. inż. Marcinem Kowalskim, prof. WAT, z Instytutu Optoelektroniki Wojskowej Akademii Technicznej, autorem artykułu „Diabetic retinopathy identification using parallel convolutional neural network based feature extractor and ELM classifier” opublikowanego w „Expert Systems with Applications”, rozmawia Dominika Naruszko.

Dominika Naruszko: Jedna z Pana ostatnich prac dotyczy retinopatii cukrzycowej. Skąd wybór akurat tego tematu? 

Dr hab. inż. Marcin Kowalski: Ten problem jest coraz bardziej powszechny, a retinopatia cukrzycowa nie dotyczy wyłącznie osób z cukrzycą. Może dotknąć także osoby z wysokim poziomem cholesterolu czy z nadciśnieniem, do grup podwyższonego ryzyka włączyć można jeszcze wiele innych. Niestety jest przy tym na tyle złośliwą chorobą, że w pierwszym stadium nie daje żadnych objawów, które chory mógłby łatwo zweryfikować samodzielnie. Trudno jest ocenić na początku, że się słabiej widzi, szczególnie gdy nie chodzi po prostu o ostrość widzenia, tylko o jego „czułość”. To są zmiany na siatkówce i gdy jesteśmy je w stanie zauważyć, to najczęściej jest już za późno. Choroba ta może prowadzić do upośledzenia wzroku i jego utraty. Liczba zdiagnozowanych chorych na świecie wciąż rośnie.

Jak naukowcy mogą pomóc?

Pracujemy w grupie badaczy, w której wykonaliśmy już kilka prac z zakresu analizy danych medycznych.

Opracowujemy nowe, lepsze metody analizy danych dla danych, które są bezwzględnie poprawne. Oznacza to, że staramy się odnaleźć bazy danych medycznych, które są opisane przez lekarzy. W przypadku retinopatii cukrzycowej mamy do czynienia z badaniami obrazowymi dna oka.

Badanie dna oka jest wykonywane pod silnym oświetleniem, najczęściej przez okulistę – albo w postaci cyfrowej, albo przez duże powiększenie, czyli przez soczewkę. W trakcie badania lekarz ocenia, jak wygląda tylna część oka, czyli siatkówka. Można wykonać badanie tomograficzne nerwu wzrokowego – to są badania, które dają nam użyteczny obraz. Jeżeli badanie wykonujemy cyfrowo, to otrzymujemy obraz, który możemy poddać analizie.

W jaki sposób Państwo to wykorzystali?

Do każdego obrazu istnieją metadane opisujące, co zawiera, czy widoczne są zmiany chorobowe, a jeśli tak, to jakie. Najczęściej są to oznaczenia odpowiednich punktów chorobowych. Mamy więc wiedzę, co się tam dzieje, co zawiera każdy obraz. Czasem jest to jeden obraz jednego pacjenta, czasem jeden pacjent posiada szereg pomiarów retrospektywnych. To są dane udostępniane przez jednostki medyczne, np. szpitale uniwersyteckie.

Generalnie uważa się w środowisku naukowym, że to właśnie są dane, które możemy uznać za bezwzględnie poprawne, czyli przyjmujemy, że to, co jest opisane w metadanych, jest prawdą i te dane możemy przetwarzać. Jeżeli zostały zidentyfikowane zmiany chorobowe, to one tam faktycznie są. Najczęściej są także potwierdzone w inny sposób, nie tylko na podstawie badania wizualnego, ale np. badaniem histopatologicznym.

My próbujemy do tego, co opisali lekarze, dorobić metodykę automatyczną, czyli algorytm.

Na czym to polega?

Zaczynamy od tego, co jest teraz niezwykle popularne, czyli od zastosowania sztucznej inteligencji, która jest pojęciem bardzo pojemnym. Nie jestem zwolennikiem stosowania algorytmów sztucznej inteligencji do wszystkiego, bo to spora nadmiarowość, natomiast badania wskazują, że generalnie są co najmniej dwa plusy stosowania AI.

Przede wszystkim sztuczna inteligencja – i generalnie komputer – się nie męczą. Operator czy lekarz, który opisuje badanie, przyglądając się obrazom i wykonując tę pracę przez co najmniej osiem godzin, po jakimś czasie się zmęczy. Istnieje możliwość, że coś zostanie niedostrzeżone, mimo że specjaliści, którzy analizują obrazy wzrokowo, są do tego przeszkoleni i stale udoskonalają swoją wiedzę. Komputer nie ma takich problemów. Działa w podobny sposób dla wszystkich przypadków, oczywiście przy odpowiednio zbudowanym i wyuczonym algorytmie. To jest podstawowa wartość. Druga zaleta jest taka, że algorytmy osiągają już takie skuteczności, że są w stanie konkurować z człowiekiem lub nawet przewyższać jego zdolności analityczne. Dlatego te algorytmy się rozwija i stosuje na przykład w medycynie.

Sztuczna inteligencja miałaby zastąpić lekarzy?

Zdecydowanie nie. To, o czym mówimy, czyli algorytmy analizy danych medycznych, powinny być traktowane jako narzędzia wspomagające lekarzy, a nie podejmujące za nich decyzje. O podjęciu leczenia czy o zakwalifikowaniu osoby jako chorej powinien decydować lekarz, ponieważ istotne są szczegóły. To, co teraz powiem, dotyczy wszystkich algorytmów, które istnieją na świecie – to, że ktoś uzyskał bardzo dobre wyniki w jakimś badaniu na jakimś zbiorze, oznacza, że te wyniki uzyskał tylko na tym zbiorze. I tylko na tym badaniu.

Bardzo trudno jest przygotować algorytm, który bardzo dobrze działa na całej populacji na świecie, ponieważ musielibyśmy mieć dane z całej populacji na świecie. Algorytm bowiem jest tak dobry jak dane, którymi dysponujemy. Muszą być one zróżnicowane pod względem płci, wieku, grupy etnicznej, narodowości, środowiska i dodatkowych warunków zewnętrznych, w których żyjemy. Jest wiele czynników, które wpływają na jakość danych. Tymi danymi uczymy algorytm, pokazując mu je w określony sposób. Jeżeli znajdzie się jakiś przypadek, który wychodzi poza to, co jest w zbiorze danych uczących i ten przypadek jest mocno różny, to algorytm może się dziwnie zachować.

Istotna wydaje się tutaj jeszcze kwestia doboru algorytmu.

Oczywiście. Są algorytmy, które cechują się tym, że zwracają tylko dane w takim zakresie, jaki widziały w trakcie uczenia. Istnieją też algorytmy, które z kolei są znane z tego, że mają dużą zdolność do generalizacji. Potrafią wywnioskować, co może się wydarzyć, jeżeli coś zmienimy w danych, czego do tej pory ten algorytm nie widział. I teraz pytanie jest takie, jakich algorytmów używać w przypadku danych medycznych.

Załóżmy, że mówimy tutaj o masie płodu dziecka. Jeżeli algorytm zostałby wyuczony tylko na bazie danych, która zawierała masy płodów od 2,5 do 4,5 kg i nagle pojawiłyby się nietypowe dane wejściowe, to jeden algorytm, który bardzo dobrze generalizuje, mógłby zwrócić masę płodu 9 kg. Inny algorytm, który trzyma się tylko tego, co widział, mógłby zwrócić 4,5 kg, co jest bardziej rzeczywiste. I to są problemy, z którymi często mamy do czynienia – jakiego typu algorytmu użyć. Czasem ten, który bardziej generalizuje, zachowuje się lepiej w danej grupie, natomiast jest prawdopodobieństwo, że czasem może zwrócić wartość zupełnie nierzeczywistą.

Drugi aspekt, o którym należy wspomnieć, to popularne od jakiegoś czasu stosowanie metod tzw. deep learning, czyli głębokiego uczenia. Deep learning ma to do siebie, że w szczególności dla dużej grupy obrazów tego typu metody zachowują się świetnie. Wykazano nawet w badaniach, że potrafią dokonywać klasyfikacji obrazów lepiej niż oko ludzkie i wytrenowany obserwator.

Jest mnóstwo prac, które starają się wytworzyć nową wiedzę w zakresie metod głębokiego uczenia. Przy czym w przypadku danych medycznych trend jest ostrożniejszy. Niestety często stosowanie metod głębokiego uczenia powoduje, że na pierwszy rzut oka otrzymujemy bardzo dobre wyniki, które cechują się różnymi niepożądanymi zjawiskami typu nieregularność czy bias. Bias w odniesieniu do algorytmów to efekt, w którym algorytmy uczące się na podstawie danych, wykazują pewne uprzedzenia lub nierówności w swoim zachowaniu lub decyzjach. Bias może mieć negatywne konsekwencje, szczególnie w przypadkach, gdy jest stosowany w procesach decyzyjnych, takich jak ocena ryzyka zdrowotnego.

Jak sobie Państwo poradzili z tymi wyzwaniami?

W pracy, którą opublikowaliśmy, staraliśmy się połączyć metody głębokiego uczenia z metodami klasyfikacyjnymi uczenia maszynowego, czyli o jeden stopień mniej skomplikowanego. Zbudowaliśmy sieć neuronową, która pozwala nam wydobyć cechy dystynktywne z obrazów, czyli to, co powinno wskazywać na ewentualne zmiany chorobowe. Następnie użyliśmy klasyfikatora, który nie jest rozbudowany parametrami, po to, aby jednak uzyskać bardziej przewidywalne wyniki i uniknąć niepożądanych efektów, które często się pojawiają.

Te dane, które są udostępniane czy do których my mieliśmy dostęp, nie są idealnie zbalansowane. Oznacza to, że nie są idealnie rozdystrybuowane chociażby między osoby o różnym wieku, o różnej płci, co zaburza proces uczenia. Natomiast co do samego algorytmu – wykorzystaliśmy głębokie uczenie, ale staraliśmy się zbytnio nie rozbudowywać algorytmu. Obecnie algorytmy mają po kilkadziesiąt, a nawet ponad sto ukrytych warstw. My opracowaliśmy dość kompaktową sieć neuronową, która dokonuje ekstrakcji cech dystynktywnych z każdego obrazu, a następnie przekazuje te dane do zewnętrznego klasyfikatora, który także nie jest klasyfikatorem o bardzo dużej liczbie parametrów. Opracowany algorytm to wynik analizy parametrów i obserwacji, jak dana konstrukcja algorytmu zachowa się z posiadanym zestawem danych. To praca eksperymentalna.

Zawsze staramy się wykonać i przetestować szereg wariantów, żeby ocenić, który jest najlepszy. Mogę to nazwać metodą wielowariantową. Jest ona czasochłonna, ale zawsze trzeba iść w kierunku kilku wariantów i przebadaniu różnych możliwości.

Czym charakteryzuje się wypracowane rozwiązanie? 

To jest algorytm, do którego my możemy podać dane rzeczywiste i ten algorytm zwróci nam informacje o znalezionych symptomach chorobowych.

Kto może używać tego algorytmu?

Lekarze, którzy wykonują badania dna oka, mogą stosować go jako narzędzie wspomagające. Dodatkowo jeżeli badanie jest wykonywane w postaci cyfrowej, wtedy poza lekarzem może je obejrzeć także algorytm i wydać swoją opinię na temat tego badania.

Do diagnozowania retinopatii wykorzystywane jest także badanie OCT, czyli optyczna koherentna tomografia komputerowa, która umożliwia przekrojowe zobrazowanie struktur oka. Czy Państwo w swoich badaniach bazowali wyłącznie na badaniach dna oka? 

Przetwarzaliśmy badania dna oka z funduskamery. Na ich podstawie opracowaliśmy algorytm do klasyfikacji obrazów, który musi otrzymać obraz dna oka w postaci cyfrowej, a zwraca maksymalnie dwie klasy: odpowiadające wykryciu zmian chorobowych lub też nie.

OCT można użyć jako badania dodatkowego, potwierdzającego zmiany chorobowe wykryte na przykład za pomocą obrazowania dna oka. OCT wymaga także bardziej skomplikowanego sprzętu, a w związku z tym jest rzadziej stosowane, jak mówią statystyki. Co ciekawe, dzięki OCT możemy wykryć zarówno retinopatię cukrzycową, jak i zmiany jaskrowe.

To są zagadnienia, o których myślimy w dalszej perspektywie. Możliwości prac jest dużo, przy czym do każdego tematu trzeba podejść inaczej.

Co jest zupełnie nowe w tym rozwiązaniu?

Badania i bazy danych są udostępniane od 2010 roku, natomiast boom na tego typu rozwiązania nastąpił w momencie, gdy metody sztucznej inteligencji stały się bardziej przystępne, pojawiły się trochę lepsze narzędzia sprzętowe i biblioteki do pracy ze sztuczną inteligencją.

W swoich badaniach korzystaliśmy z dwóch zbiorów danych medycznych: jeden został udostępniony w 2015 roku, drugi w 2019. Na podstawie tych danych byliśmy w stanie opracować nasze rozwiązanie. Przeanalizowaliśmy poprzednie badania i stwierdziliśmy, co można by w nich usprawnić. Szukaliśmy odpowiedzi na lepszą jednorodność zwracanych wyników, aby zawsze charakteryzowały się podobnym stopniem prawdopodobieństwa. Duży nacisk położyliśmy na kilka czynników: w jaki sposób, jakie dane, jakie cechy dystynktywne są wyciągane z obrazu i jak następnie wykonywany jest proces klasyfikacji tych danych. Ponieważ istnieją już badania w tym zakresie, a ich poziom jest wysoki, to zaproponowanie czegoś nowego faktycznie nie było łatwe i wymagało pracy.

Cały proces badawczy, jaki przeszliśmy i wszystkie wyniki, które uzyskaliśmy, pokazaliśmy w artykule.

Czyli skorzystać mogą nie tylko pacjenci i lekarze, ale także inni naukowcy?

Tę pracę mogą wykorzystać z powodzeniem kolejne zespoły. Dzielenie się i rozwój są w nauce bardzo ważne i korzystamy na tym wszyscy.

Z kolei my jako zespół mamy jeszcze kilka pomysłów na dalsze prace związane z analizą danych medycznych, więc z pewnością będziemy rozwijać dotychczasowe prace.

 

Artykuł „Diabetic retinopathy identification using parallel convolutional neural network based feature extractor and ELM classifier” można przeczytać na https://www.sciencedirect.com/science/article/pii/S0957417423000581?via%3Dihub

 

Dominika Naruszko
fot. Katarzyna Puciłowska