←Kronika

Co naprawdę oznacza wnioskowanie bayesowskie w klinicznej AI

Rozumowanie naprzód kontra dopasowywanie wstecz

Chroneme / Kronika

Nie zleca się badania w nadziei, że wyjdzie dodatnie

Lekarka, która zleca oznaczenie troponiny, nie pyta: „czy ten pacjent ma zawał?”. Pyta: „na ile ten wynik powinien zmienić moją ocenę?”. To dwa różne pytania.

Zanim zleci badanie, ma już własne oszacowanie. 62-letni mężczyzna z bólem w klatce piersiowej promieniującym do lewej kończyny górnej i ze zlewnymi potami ma wysokie prawdopodobieństwo przedtestowe ostrego zespołu wieńcowego. 28-letnia kobieta, która zgłasza tę samą dolegliwość po trzech espresso, ma je niskie. Wynik troponiny znaczy u każdego z nich co innego. Lekko podwyższona troponina u pierwszego pacjenta potwierdza to, co lekarka już podejrzewała. Ten sam wynik u drugiej pacjentki jest raczej fałszywie dodatni. Samo badanie nie jest bowiem doskonałe, a gdy niedoskonały test wykonuje się u kogoś, kto najpewniej nie jest chory, rachunek obraca się przeciwko nam.

Każde badanie ma swoją czułość i swoistość. Czułość mówi, jak często test wykrywa chorobę, gdy ona rzeczywiście jest. Swoistość mówi, jak często prawidłowo ją wyklucza u kogoś, kto jej nie ma. Żaden test nie osiąga 100% ani w jednym, ani w drugim. Badanie o czułości 95% wciąż przeoczy 5% prawdziwych przypadków. Badanie o swoistości 90% wciąż błędnie wskaże 10% zdrowych osób. Te liczby opisują test, nie pacjenta. I oznaczają, że każdy wynik obarczony jest niepewnością: powinien zmieniać nasze przekonanie, a nie je zastępować.

Na tym polega rozumowanie bayesowskie. Zaczynamy od tego, co już wiemy o pacjencie. Dostajemy nową informację. Korygujemy ocenę w takim stopniu, na jaki pozwala wiarygodność tej informacji. Potem powtarzamy to z następną.

Większość klinicznej AI robi odwrotnie

Większość systemów AI w medycynie działa wstecz. Bierze zestaw danych (parametry życiowe, wyniki badań, rozpoznania, leki) i retrospektywnie dopasowuje go do wzorców wyuczonych na danych treningowych. System widzi kreatyninę 1,6, cukrzycę w wywiadzie i inhibitor ACE na liście leków, po czym zwraca „prawdopodobna przewlekła choroba nerek (CKD)”, bo taki zestaw cech często występował razem w przypadkach, na których go uczono.

Brzmi rozsądnie, dopóki nie zapytamy, czego tu brakuje. System nie wie, czy kreatynina rośnie, czy stoi w miejscu. Nie wie, czy inhibitor ACE włączono dla ochrony nerek, czy z powodu nadciśnienia. Nie wie, że dwa lata temu kreatynina wynosiła 0,9 i od tamtej pory systematycznie rośnie. Nie bierze pod uwagę, że oznaczenie albuminy w moczu daje w tej populacji 15% wyników fałszywie dodatnich. Po prostu porównuje bieżącą stopklatkę z dawnymi wzorcami i przykleja etykietę.

Lekarka, która ma przed sobą tego samego pacjenta, rozumowałaby naprzód. Zaczęłaby od prawdopodobieństwa a priori CKD przy jego wieku, płci i czynnikach ryzyka. Skorygowałaby je o wynik kreatyniny, ale tylko na tyle, na ile ufa pojedynczemu pomiarowi. Patrzyłaby na trend, a nie wyłącznie na dzisiejszą wartość. Wzięłaby pod uwagę inhibitor ACE, ale zanim uznałaby go za przesłankę choroby nerek, zapytałaby, po co go włączono. Każda przesłanka przesuwa prawdopodobieństwo, a jej waga zależy od tego, na ile jest wiarygodna.

Podejście retrospektywne pyta: na co to wygląda? Podejście prospektywne pyta: skoro wiemy już tyle, co mówi nam ta nowa informacja i na ile możemy jej ufać?

Widzieć pacjenta, a widzieć wyniki

Jedna z pierwszych lekcji na zajęciach klinicznych brzmi: leczy się pacjenta, nie wynik. Potas 5,8 w zhemolizowanej próbce nic nie znaczy. Ciśnienie 160 u kogoś, kto właśnie wbiegł do gabinetu, to jeszcze nie nadciśnienie. O tym, czy wynik jest sygnałem, czy szumem, decyduje kontekst, a kontekst wymaga wiedzy o pacjencie wykraczającej poza dzisiejszą kartę.

AI ogólnego przeznaczenia przetwarza wyniki. Czyta liczby, notatki i zakodowane rozpoznania, a odpowiedź buduje na wzorcach w tekście. Robi to bardzo dobrze. Streści wypis szybciej niż jakikolwiek człowiek. Wydobędzie uporządkowane dane z chaotycznego tekstu klinicznego. Ale czyta kartę tak, jak czyta się opis przypadku w podręczniku. Po fakcie.

Lekarka, która widzi pacjenta tu i teraz, robi coś innego. Rozumuje w warunkach niepewności, naprzód w czasie: koryguje ocenę z każdą nową informacją i każdej przypisuje wagę zależną od tego, na ile jej ufa. Wie, że dodatni D-dimer u pacjenta z niskim ryzykiem to najpewniej wynik fałszywie dodatni. Wie, że prawidłowe RTG klatki piersiowej nie wyklucza wczesnego zapalenia płuc. Nosi w głowie prawdopodobieństwo a priori i przesuwa je z każdym kolejnym odchyleniem, nie po równo, lecz proporcjonalnie do jego wartości diagnostycznej.

Budując Chroneme, chcieliśmy, żeby system rozumował tak jak ona, a nie jak wyszukiwarka. Naprzód, nie wstecz. Żeby z każdą nową przesłanką korygował prawdopodobieństwa, z wagą odpowiadającą temu, na ile ta przesłanka jest naprawdę wiarygodna.

Jak to wygląda w praktyce

58-letni mężczyzna z cukrzycą typu 2 przychodzi na rutynowe badania. Jego wyjściowe prawdopodobieństwo przewlekłej choroby nerek, wynikające z wieku, płci i rozpoznania cukrzycy, ma określony poziom. Nie zerowy, bo cukrzyca jest główną przyczyną CKD. Nie wysoki, bo pacjent nie ma objawów ani wcześniejszych nieprawidłowości ze strony nerek.

Kreatynina wynosi 1,2. Formalnie mieści się w normie, ale jest wyższa niż poprzednio. System koryguje ocenę. Nieznacznie, bo jedna lekko podwyższona kreatynina ma umiarkowaną wartość diagnostyczną. Czułość i swoistość pojedynczego pomiaru kreatyniny w rozpoznawaniu CKD nie są same w sobie wysokie.

Dziesięć miesięcy później kreatynina wynosi 1,4, a eGFR spadł poniżej 60. Tym razem korekta jest większa, bo eGFR poniżej 60 ma dla CKD znacznie większą wartość diagnostyczną. System widzi jednak coś, czego model statyczny nie zobaczy: trajektorię. Kreatynina nie jest po prostu podwyższona. Rośnie w tempie, które, jeśli się utrzyma, zaprowadzi ją w niepokojący zakres.

Po roku pojawia się białkomocz. Prawdopodobieństwo jest już na tyle wysokie, że trzeba działać. Ale klinicznie najważniejsze jest co innego: system sygnalizował tego pacjenta na wiele miesięcy przed pojawieniem się białkomoczu. Nie z pewnością, lecz z prawdopodobieństwem, które rosło w sposób zasługujący na uwagę. Lekarka przeglądająca kartę widzi każdą korektę i jej przyczynę, i sama decyduje, czy się z nią zgadza. Jeśli uważa, że inhibitor ACE włączono z powodu ciśnienia, a nie nerek, może w swoim osądzie przypisać temu czynnikowi inną wagę. System pokazuje swoje rozumowanie. Ona stosuje własne.

Sama trajektoria staje się dowodem, niezależnie od jakiejkolwiek pojedynczej liczby.

Dlaczego to buduje zaufanie

Kiedy sieć neuronowa podaje „73% szans na CKD”, nie da się zapytać dlaczego. Liczba wyłania się z milionów parametrów, które nie odpowiadają żadnym pojęciom klinicznym. Lekarz nie może na nią spojrzeć i powiedzieć: „co do kreatyniny się zgadzam, ale chyba przeceniasz wywiad lekowy”. Nie ma tu części o kreatyninie. Nie ma części o lekach. Jest tylko liczba.

Kiedy 73% podaje system bayesowski, lekarka może zapytać dlaczego. Widzi, które przesłanki przesunęły prawdopodobieństwo i o ile. Może się nie zgodzić z konkretnym czynnikiem i zastosować własny osąd. Właśnie dzięki takiej rozmowie kliniczna AI realnie zmienia opiekę nad pacjentem. Bez niej wynik jest twierdzeniem. Z nią staje się argumentem.

Dobrze ujął to nefrolog, któremu pokazaliśmy system. Przejrzał łańcuch przesłanek u jednego pacjenta i powiedział, że z większością się zgadza, ale jeden czynnik ma według niego zbyt dużą wagę, bo lek przepisano w innych okolicznościach, niż założył system. Miał rację. A to, że mógł to zauważyć, wskazać konkretny czynnik i wnieść własną wiedzę, jest dokładnie tym, co powinno umożliwiać wspomaganie decyzji klinicznych. Czarna skrzynka podałaby mu to samo prawdopodobieństwo, ale takiej rozmowy nie dałoby się z nią odbyć.

Ograniczenia, o których mówimy otwarcie

Wnioskowanie bayesowskie zakłada, że przesłanki są warunkowo niezależne przy danej chorobie. W medycynie często takie nie są. W CKD kreatynina i białkomocz są ze sobą skorelowane. To znane ograniczenie, a jego pełne rozwiązanie pozostaje w tej dziedzinie problemem otwartym.

Jakość wyniku zależy od jakości wag przypisanych przesłankom. Część z nich ma mocne oparcie w opublikowanej literaturze. Inne są przybliżeniami, które dopracowujemy w trakcie walidacji. Kalibracja wciąż trwa i nie udajemy, że jest inaczej.

Wnioskowanie bayesowskie dobrze radzi sobie z danymi ustrukturyzowanymi, które da się zmierzyć: wynikami badań, parametrami życiowymi, lekami, zakodowanymi rozpoznaniami. Gorzej z nieustrukturyzowanymi notatkami i objawami zgłaszanymi przez pacjentów. Do różnych rodzajów danych klinicznych stosujemy różne metody, dobierając narzędzie do problemu.

Wybraliśmy wnioskowanie bayesowskie, bo odzwierciedla sposób, w jaki lekarze już myślą. System nadaje formalny kształt temu, co dobry klinicysta robi intuicyjnie, i robi to na dużą skalę, u każdego pacjenta, bez przerwy. Nic więcej. Żadnej magii. Po prostu matematyka rozumowania klinicznego, wyłożona wprost.