Online Magazine
Wie man eine KI zur Erkennung von Lungenentzündungen entwickelt

Künstliche Intelligenz wird in immer mehr Bereichen der Medizin eingesetzt. Eine der aktuellsten Anwendungen: Eine KI, die dabei hilft, eine Lungenentzündung anhand von Röntgenbildern zu erkennen. Anhand des folgenden Anwendungsfalls zeige ich, worauf es bei der Entwicklung einer angewandten medizinischen KI mit Convolutional Neural Networks (CNNs) ankommt.
von Dzmitry Ashkinadze

Dank der jüngsten Entwicklungen im Bereich der Deep Neural Networks (NN) und der Convolutional Neural Networks (CNN) ist es viel einfacher geworden, Algorithmen des maschinellen Lernens (ML) zu entwickeln, die mithilfe von Open-Source-Softwarelösungen eine medizinische Bedeutung haben. Einrichtungen des Gesundheitswesens setzen daher zunehmend KI-gesteuerte Lösungen ein: Laut Grand View Research wurde die Marktkapitalisierung der künstlichen Intelligenz im Gesundheitswesen in den USA im Jahr 2021 auf 10,4 Mrd. USD geschätzt, mit einer erwarteten jährlichen Wachstumsrate von 38,4 % von 2022 bis 2030.
Welche KI-Anwendungen sich im Gesundheitswesen auszahlen?
Accenture hat die zehn KI-Anwendungen mit den grössten kurzfristigen Auswirkungen auf das Gesundheitswesen analysiert. Die drei wichtigsten Anwendungen in naher Zukunft sind dabei robotergestützte Chirurgie, virtuelle Pflegeassistenten und Anwendungen zur Unterstützung von Verwaltungsabläufen.
Machine-Learning-Systeme für die Erkennung von Lungenentzündungen sind von grosser Bedeutung, da sie die Diagnose unterstützen und beschleunigen und damit eine frühere Behandlung ermöglichen können. Einfach ausgedrückt, bestehen sie aus Convolutional Neural Networks, die anhand eines Datensatzes von manuell beschrifteten Röntgenbildern (Abb. 1) trainiert werden, wobei jedes Röntgenbild als gesund oder ungesund (Lungenentzündung) gekennzeichnet wird. Schauen wir uns an, wie genau ein solches ML-System entwickelt wird und was wir von diesem Anwendungsfall für unsere eigenen Projekte im Bereich der angewandten medizinischen KI lernen können.
Abb. 1: Röntgenbilder einer gesunden Person (oben) und einer Person mit Lungenentzündung (unten).
Daten und die Vermeidung eines Bias
Wie jedes andere Projekt zum maschinellen Lernen beginnt auch dieses mit Daten, nämlich mit dem öffentlich zugänglichen Datensatz "OCT and Chest X-Ray images and codes". Der Datensatz besteht aus 5863 beschrifteten Röntgenbildern von Kindern im Alter von 1 bis 5 Jahren aus dem Woman and Children's Medical Center in Guangzhou, China.
Um die Daten für den ML-Algorithmus vorzubereiten, haben die Entwickler die Eingabebilder zunächst grau skaliert und auf 150x150 Pixel verkleinert, um sie zu standardisieren und zu entrauschen. Ausserdem musste sichergestellt werden, dass die für die Klassifizierung verwendeten Klassen "gesund" und "ungesund" ausgewogen (d.h. gleich gross) waren. Andernfalls würde das Modell möglicherweise die Vorhersage einer dominanten Klasse verfälschen. Da Deep-Learning-Algorithmen am besten mit grossen Datensätzen arbeiten, nutzten die Entwickler Augmentation, um die Klassen auszugleichen und den Datensatz durch zufälliges Drehen, Zoomen und Verschieben der Bilder zu erweitern. Schließlich wurden die Daten gemäss den besten Praktiken des maschinellen Lernens in einen Trainings- und einen Testabschnitt aufgeteilt, um eine Überanpassung zu vermeiden (d.h. um zu verhindern, dass das Rauschen oder die zufälligen Schwankungen in den Trainingsdaten vom Netzwerk aufgegriffen und als Konzepte gelernt werden).
Modellkonstruktion: Definition der Verlustfunktion und Begrenzung der Überanpassung
Der erste Schritt bei der Konstruktion des Convolutional Neural Network (CNN) ist die richtige Definition der Verlustfunktion. Die Verlustfunktion vergleicht die Vorhersagen des CNN-Modells mit der Grundwahrheit. Je näher die Modellvorhersagen an der Grundwahrheit liegen, desto geringer ist der Verlust. Daher können wir das Modell durch Minimierung der Verlustfunktion optimieren und trainieren. Der optimale Typ der Verlustfunktion hängt von der Aufgabe des maschinellen Lernens ab. Für diesen Anwendungsfall wurde der Cross-Entropie-Verlust verwendet, da er normalerweise für Klassifizierungsaufgaben eingesetzt wird.
Das Convolutional Neural Network wurde sequentiell aus fünf Gruppen von Faltungsschichten und Max-Pooling-Schichten aufgebaut. Der erste Satz von Schichten im CNN extrahiert schwache lokale Merkmale, die dabei helfen, Röntgenbilder des Brustkorbs gesunder Menschen von denen ungesunder Menschen zu unterscheiden, indem winzige Details betrachtet werden. Ein typisches Beispiel für eine lokale Merkmalsextraktion ist die "Kantenerkennung": Sie identifiziert kontrastreiche Bereiche im Bild. Mit jedem weiteren Satz von Schichten werden diese lokalen Merkmale kombiniert, um starke globale Merkmale zu konstruieren. Globale Merkmale könnten zum Beispiel das Vorhandensein oder Fehlen von ungewöhnlichen Wolkenformationen in der Lunge sein. Diese globalen Merkmale werden schliesslich als Eingabe für das herkömmliche vollverknüpfte "Feedforward Neural Network" (FNN) verwendet, das die Bilder in die entsprechenden Klassen einteilt.
Ein Problem, das bei CNN auftreten kann, ist die Überanpassung: In diesem Anwendungsfall wurde sie durch die Dropout-Schichten begrenzt, die zufällig Knoten im neuronalen Netz abtrennen. Die Entwickler verwendeten im gesamten neuronalen Netz (mit Ausnahme des Ausgangs) eine gleichgerichtete lineare Aktivierungsfunktion (ReLU), da sie im Vergleich zu alternativen Aktivierungsfunktionen leichter zu trainieren ist und tiefere Formationen der neuronalen Netze ermöglicht. Es ist wichtig zu verstehen, dass es keine Architektur für neuronale Netze gibt, die immer am besten funktioniert; sie muss für jedes neue Projekt optimiert werden.
Apropos KI & Gesundheit
Viktoria Prantauer setzt sich als Brustkrebs-Überlebende und Co-Founderin der Hippo AI Foundation dafür ein, dass alle Menschen von medizinischen Daten profitieren können. Jetzt mehr dazu lesen!
Mit einer KI-basierten Technologie gelingt es dem Schweizer Start-up Scailyte, Krankheiten zu entdecken, bevor es zu spät ist. Jetzt den Podcast dazu hören!
Modelltraining mit Mini-Batches
Der Trainingsprozess solcher Deep CNNs ist in der Regel zeit- und rechenintensiv und erfordert viele hochwertige Daten. Sobald das Modell jedoch trainiert ist, kann es verwendet werden, um die Röntgenbilder schnell als "gesund" und "ungesund" zu klassifizieren.
Um die Trainingszeit des Netzwerks zu verkürzen, wurden Ministapel von jeweils 32 Bildern verwendet. Wie in Abbildung 2 zu sehen ist, gleichen sich die Trainings- und Validierungsgenauigkeit (links) und die Verluste (rechts) nach 20 Epochen mehr oder weniger an. Das bedeutet, dass das Training des CNN-Modells erfolgreich war und zu einer optimalen Lösung konvergiert hat. Es bedeutet auch, dass dieses Modell mit 98 % Genauigkeit vorhersagen kann, ob ein Trainingsbild "gesund" oder "ungesund" ist. Und, was noch wichtiger ist, es kann mit einer Genauigkeit von etwa 80 % vorhersagen, ob ein neues Röntgenbild "gesund" oder "ungesund" ist. Ein RMSprop-Optimierungsalgorithmus wurde als Netzwerkoptimierer zusammen mit einer adaptiven Lernrate verwendet, um die Leistung zu verbessern und die Konvergenz zu einer suboptimalen Lösung zu vermeiden.
Abb. 2: Modellgenauigkeit (links) und Kreuzentropieverlust beim Training.
Modellbewertung: die Bedeutung von Genauigkeit und Rücklauf
Um die Klassifizierungsmodelle zu bewerten und zu vergleichen, ist es wichtig, die Modellgenauigkeit und den Modellrücklauf zu diskutieren. Die Modellgenauigkeit gibt an, wie genau das Modell die Lungenentzündung identifiziert, während der Modellrücklauf angibt, wie viele Fälle von Lungenentzündung vom Modell identifiziert werden. Wenn das Modell sehr "vorsichtig" ist und eine Lungenentzündung nur bei sehr offensichtlichen Fällen erkennt, ist es sehr genau, hat aber eine niedrige Rücklaufquote. Ist das Modell dagegen "grosszügig" und erkennt eine Lungenentzündung schon bei geringem Verdacht, hat es eine ausgezeichnete Trefferquote, aber eine geringe Genauigkeit.
Die Entwickler unseres Anwendungsfallmodells berechneten die Daten zur Genauigkeit und zum Wiedererkennungswert, indem sie die Testkennzeichnungen und die aus den Teströntgenbildern vorhergesagten Kennzeichnungen verglichen. Die Ergebnisse sind in einer Konfusionsmatrix zusammengefasst, die zeigt, wie viele gesunde bzw. Lungenentzündungsfälle vom CNN als solche erkannt werden. Je nach Art des Anwendungsfalls muss vor dem Entwurf des CNN die Bedeutung von Genauigkeit und Wiedererkennung festgelegt werden. Im Falle eines medizinischen Hilfsmittels ist die Wiedererkennung sehr wichtig, da es schwerwiegende Folgen haben kann, eine Person mit Lungenentzündung als gesund zu bezeichnen.
Abb. 3: Konfusionsmatrix
Schlussfolgerung
Bei der Entwicklung einer angewandten medizinischen KI, die z.B. eine Lungenentzündung anhand von Röntgenbildern erkennt, sollte auf folgende Punkte geachtet werden:
- Man muss sicherstellen, dass die für die Klassifizierung verwendeten Klassen ungefähr gleich gross sind, damit sie das Modell nicht dazu verleiten, eine dominante Klasse vorherzusagen.
- Da das primäre Ziel darin besteht, ein Klassifizierungsmodell zu erstellen, sollte man den Kreuzentropieverlust verwenden, der beim Training des Modells minimiert wird.
- Die Überanpassung in CNN sollte mit Hilfe von Dropout-Schichten begrenzt werden, die nach dem Zufallsprinzip Knoten im neuronalen Netz abtrennen.
- Um ein Modell zu bewerten, schaut man sich die Genauigkeit und den Rücklauf an. Für medizinische Hilfsmittel ist eine hohe Trefferquote sehr wichtig, da ein Fall, der fälschlicherweise als "gesund" identifiziert wird, schwerwiegende Folgen für einen Patienten haben kann.
Wie ich bereits erläutert habe, setzen immer mehr Einrichtungen des Gesundheitswesens KI-gestützte Lösungen ein, die sie z.B. bei der Früherkennung von Krankheiten unterstützen. Die COVID-19-Pandemie hat die Einführung medizinischer KI-Technologie weiter beschleunigt. KI-gesteuerte Lösungen für die Erkennung von Lungenentzündungen, wie die Lösung in unserem Anwendungsfall, werden bereits in Krankenhäusern wie der UC San Diego eingesetzt.

Schau dich weiter um!

