Sieci neuronowe w służbie zdrowia: jak dobrze radzą sobie z wykrywaniem chorób?
Wstęp
Naukowcy z Uniwersytetu Stanford stworzyli sieć neuronową, która lepiej sobie radzi z wykrywaniem zapalenia płuc na podstawie zdjęć rentgenowskich niż zespół radiologów. A trzeba wspomnieć, że jest to dość trudny proces i często nawet wysokiej klasy lekarze nie są zgodni co do diagnozy.
Algorytm
Użyta została 121-warstwowa konwolucyjna sieć neuronowa o nazwie CheXNet. Sieć na przyjmuje a wejściu zdjęcie rentgenowskie, wynikiem jest prawdopodobieństwo występowania zapalenia płuc wraz z mapą wskazującą ogniska choroby. Została ona wytrenowana na zbiorze ChestX-ray14, który jest obecnie największym publicznie dostępnym zbiorze zdjęć rentgenowskich klatki piersiowej, zawiera ich 112120. Do każdego zdjęcia przypisana jest jedna z 14 chorób, w tym zapalenie płuc. Sieć neuronowa uzyskała lepsze wyniki niż zespół radiologów z dużym doświadczeniem. Lekarze oceniali zdjęcie niezależnie, następnie brana była pod uwagę odpowiedź z największą liczbą głosów. Trzeba dodać, że diagnoza była stawiana tylko na podstawie zdjęcia. Ani sieć neuronowa ani lekarze nie mieli dostępu do historii pacjenta (co oczywiście byłoby ułatwieniem dla obu stron).
Pozostałe choroby
Po przeprowadzeniu badania dla zapaleniu płuc, zostało ono rozszerzone na pozostałe 13 chorób, wchodzących w skład zbioru danych ChestX-ray14. Wyniki zostały porównane z dwiema wcześniejszymi realizacjami tego problemu. Jak widać, skuteczność poprawiła się w każdym wypadku.
Choroba | Wang (2017) | Yao (2017) | CheXNet |
---|---|---|---|
Niedodma | 0.716 | 0.772 | 0.8094 |
Kardiomegalia | 0.807 | 0.904 | 0.9248 |
Wylew | 0.784 | 0.859 | 0.8638 |
Naciek | 0.609 | 0.695 | 0.7345 |
Zlepienie | 0.706 | 0.792 | 0.8676 |
Guz | 0.671 | 0.717 | 0.7802 |
Zapalenie płuc | 0.633 | 0.713 | 0.7680 |
Odma opłucna | 0.806 | 0.841 | 0.8887 |
Konsolidacja | 0.708 | 0.788 | 0.7901 |
Obrzęk | 0.835 | 0.882 | 0.8878 |
Rozedma płuc | 0.815 | 0.829 | 0.9371 |
Zwłóknienie | 0.769 | 0.767 | 0.8047 |
Zgrubienie opłucnej | 0.708 | 0.765 | 0.8062 |
Przepuklina | 0.767 | 0.914 | 0.9164 |
Pozostałe prace
Wcześniej inne zespoły badaczy osiągnęły sukcesy na polu rozpoznawania takich chorób jak:
- retinopatia cukrzycowa
- rak skóry
- arytmia
- krwotok
Podsumowanie
Uzyskanie tak dobrych wyników nie byłoby możliwe bez gwałtownego postępu w uczeniu głębokim (deep learningu) na przestrzeni ostatnich lat, a to z kolei wynika z rozwoju algorytmów, dostępu do dużej ilości danych oraz mocy obliczeniowej.
Zdjęcia rentgenowskie są najpopularniejszą formą diagnostyki chorób płuc. Co roku wykonuje się ich około 2mld. Często w biedniejszych rejonach globu wykonanie zdjęcia rentgenowskiego nie jest problemem, pojawia się on dopiero przy jego interpretacji, gdyż brak jest wykwalifikowanych radiologów. Użycie rozwiązań takich jak CheXNet pozwoliłoby znacznie zmniejszyć skalę problemu.
Bardzo ciekawe.
Ale...
No to już lekka przesada. No bo jakim ułatwieniem dla sieci neuronowej nauczonej analizy obrazu i to o bardzo wąskiej specjalizacji byłaby historia pacjenta? Żadnym - byłyby to dla niej dane zupełnie niezrozumiałe.
Co do sieci neuronowych to bardzo się cieszę, że się rozwijają. Obawiam się tylko, żeby nie zaczęły być przeceniane. To znaczy, że powinny by używane jako narzędzie, które może się mylić - nie jako wyrocznia, która się nigdy nie myli i ma zawsze rację przed człowiekiem. Jeśli zdjęcie RTG ma ocenić internista, który ma mizerne w tym doświadczenie, to pewnie spokojnie może zawierzyć diagnozie postawionej przez AI (chyba powinniśmy jednak mówić sieć neuronowa, przecież to nie jest inteligencja w takim normalnym rozumieniu).
A czemu może się mylić? Dużo zależy od tego na jakim zbiorze danych się uczyła. Czy były tam wszystkie choroby jakie można odkryć z analizy RTG klatki piersiowej? Nawet takie bardzo rzadkie (1 na 10mln osób)?
Znam inne przypadki gdy bezkrytycznie zawierza się wynikom analizy programów komputerowych, bo podejście jest takie - wszyscy im ufają, a ja nie mam pojęcia co się tam w środku dzieje. Zapomina się, ze programy komputerowe piszą ludzie, którzy czasem się mylą a czasem ujawniają jakieś uprzedzenia. Że dane sieciom neuronowym też przygotowują ludzie. Że być może sieci neuronowe też popełniają błędy, tylko nie jesteśmy w stanie tego wykryć ani ocenić. Może kiedyś napiszę o tym artykuł.
Użyta tutaj konwolucyjna sieć neuronowa jest przeznaczona do analizy obrazu, to się zgadza, ale nic nie stoi na przeszkodzie, żeby dołączyć drugą sieć analizującą dane tekstowe (czyli np historię choroby). Wynik końcowy byłby ważoną średnią obu tych sieci. Albo nawet większą liczbę sieci. Taka technika nosi nazwę Ensemble averaging i jest dość popularna. Jeszcze pytanie dlaczego tutaj postanowiono się skupić tylko na analizie obrazu, a nie na kilku czynnikach? Tego nie wiem, może chciano zacząć od badania, gdzie łatwiej będzie porównać wyniki.
Sieci neuronowe oczywiście się mylą. Grunt żeby się myliły rzadziej niż człowiek, wtedy są wartościowe :) Bo jeśli liczba wysokiej klasy radiologów jest ograniczona i wstępna ocena jest tylko na podstawie zdjęcia RTG, to lepiej jeśli to zrobi sieć z 75% skutecznością niż lekarz z mały stażem z 65% skutecznością.
Oczywiście też jestem w pewnym stopniu sceptyczny, nawet czytałem wypowiedzi radiologów, którzy stwierdzili, że to badanie nie było przeprowadzone w sposób idealny. Tak czy siak moim zdaniem to przyszłość. Myślę, że w pierwszej kolejności pojawią się systemy "pierwszej linii wsparcia", gdzie taka sieć będzie w stanie szybko ocenić sytuację, bez potrzeby czekania na specjalistę.
Z historią choroby to podejrzewam, że może być problem. Nie wiem za wiele o sieciach neuronowych i nie znam się na medycynie, ale podejrzewam, że przygotowanie takich danych do wpuszczenia na wejście sieci neuronowej musi być bardzo trudną sprawą. Skodyfikowanie wszystkich objawów, uchwycenie i skodyfikowanie zależności między nimi, skodyfikowanie zależności czasowych między różnymi objawami, między objawami a wynikami badań albo nawet między stopniem nasilania się jednego choćby objawu. To co pacjent mówi lekarzowi na jednej tylko wizycie dla człowieka jest dość prostym kilkunastozdaniowym komunikatem. Zamiana tego w dane, na których będzie mogła pracować sieć wydaje mi się bardzo poważnym problemem i powodem dla którego przez długi jeszcze czas nie będziemy mieli elektronicznych lekarzy.
Również tak myślę. Miejmy tylko nadzieję, że sieci neuronowe będą traktowane jako zaawansowane narzędzia a nie coś co ma mieć autorytet lekarza. Nie zrozum mnie źle, nie uważam, że człowieka się nie da zastąpić. Sam zresztą bardzo jestem zawiedziony tym jak działa medycyna i ja funkcjonują lekarze (z NFZu ale i spoza również) u nas w kraju (ale w innych raczej nie jest lepiej). Już pomijając wszystkie kwestie finansowania sektora zdrowia i wynagradzania lekarzy, coś jest nie tak. Nie wiem czy to jest skostniały proces edukacyjny, czy też ta wiedza medyczna tak szybko skoczyła do przodu, że jest nie do ogarnięcia przez pojedynczego człowieka, czy też to jeszcze zupełnie inne problemy. Ale zostawmy to.
To co chciałem przekazać to to, że zastosowanie systemów informatycznych w tak ważnych obszarach jak diagnozowanie budzi we mnie niepokój. Wiadomo, że sieci neuronowe mogą się mylić i wszystko OK dopóki wszyscy, którzy ich używają mają tego pełną świadomość. Ale tam gdzie kończy się nauka a zaczyna biznes w grę zaczynają wchodzić czynniki ekonomiczne One zaś dość często powodują, że ostateczne produkty odbiegają nieco od pierwotnych założeń. Tak jest zresztą w każdej dziedzinie przemysłu, tyle że tutaj stawką jest ludzkie życie i zdrowie.
Bardzo dobry news.
Pokazuje tendencje w medycynie związane z "pierwszą" linią wsparcia medycznego. Sieci neuronowe będą niedługo diagnozowały zachorowania z którymi zgłaszamy się najczęściej do lekarza pierwszego kontaktu. Także diagnoza oparta o możliwości telemedycyny będzie wpierana przez SI.
Powstaje już dziś szereg aplikacji do "samodiagnozy" w oparciu o ankiety czy czujniki podłączone pod smartfony.
Czeka nas wszystkich ogromny medyczny przełom.
Trzeba się tylko zastanowić jak zareaguje pacjent, próbujący się żalić na ból w krzyżu do sieci neuronowej...
Dobrze powiedziane z tą "pierwszą" linią wsparcia medycznego. Zamiast lekarza pierwszego kontaktu będzie sieć neuronowa pierwszego kontaktu. Trzeba tylko je połączyć właśnie z takmi aplikacjami do samodiagnozy jak np Streams.
Sztuczna inteligencja strasznie się rozwija ostatnim czasem. Zobaczcie sobie projekt OpenAI. Jego ostatnim sukcesem było samodzielne nauczenie się gry w DOTA a potem pokonanie najlepszych graczy na świecie. Gra to MOBA, czyli bardzo złożona gra z wysokim progiem wejścia dla większości graczy (przykłady takich gier: DOTA, League of Legends). Dodatkowo DOTA charakteryzuje się wyższym współczynnikiem strategii od reszty gier z gatunku, co wymaga planowania i przewidywania.
W pełni zgadzam się z tym co piszesz. O DOTA nawet zamieściłem kiedyś wpis.
Czekam też na sukcesy w StarCraft II, bo to będzie kolejny poziom, ze względu na konieczność planowania długofalowego.
Niby fajne, ale troszkę dziwne :D Komputer mądrzejszy od użytkownika ... z drugiej strony zawsze tak było!
Nie wiem czy do tego pijesz z tą dziwnością, ale sprecyzuję jedną rzecz :P Jak oceniano czy w danym przypadku rzeczywiście było to zapalenie płuc czy nie, skoro zespół radiologów miał skuteczność na poziomie 77%? Ano te wyniki są na podstawie tylko zdjęć RTG, a to czy zachorowanie rzeczywiście było czy nie, sprawdzano na podstawie wielu czynników (historii pacjenta, innych badań, obserwacji). No i mając do dyspozycji samego pacjenta.