KI erkennt Lungenentzündungen

Aufgrund aktuellen Corona-Lage und der hohen Patientenzahlen stehen die Ärzte vor der Herausforderung, der Masse an Diagnosen gerecht zu werden, denn auch andere Erkrankungen müssen weiterhin behandelt werden. In diesem Beitrag zeigen wir, wie die Entwicklung einer KI zur Erkennung von Lungenentzündungen funktioniert und wie dadurch die Ärzte entlastet werden können.

Die Entwicklung einer Künstlichen Intelligenz verläuft in der Regel immer nach demselben Muster, welches wir in dem Blogbeitrag „Blick hinter die Kulissen“ näher erklärt haben. Anhand des konkreten Beispiels, der Erkennung von Lungenentzündungen wollen wir diesen Prozess hier noch einmal genauer darstellen.

Bezüglich Corona ist es nicht nur relevant, Lungenentzündungen zu erkennen, sondern auch bestimmen zu können, ob diese durch Covid19 oder auf anderem Weg hervorgerufen wurden. Für diese spezielle Unterscheidung und weitere Anwendungsfälle rund um Corona gibt es schon einige Lösungen. Wir werden nachfolgend der Einfachheit halber den Prozesses einer „normalen“ Lungenentzündung betrachten.

1. Gibt es einen konkreten Anwendungsfall?

Bevor man die Entwicklung einer KI startet, sollte, man sich zunächst einmal anschauen, ob es einen konkreten Anwendungsfall (Use Case) gibt, welcher durch die KI-Lösung gelöst werden kann.

Dazu stellt man sich zunächst die Frage: „Bietet die KI-Lösung einen Nutzen, welches Problem kann damit gelöst werden?“ In diesem Fall werden Ärzte bei der schnellen Diagnose von Lungenentzündungen unterstützt, wodurch zumindest teilweise die sehr hohe Belastung der Ärzte minimiert werden kann.

Danach sollte man hinterfragen, ob dieses Thema denn auch aktuell ist. Eventuell gibt es inzwischen schon einige Lösungen dazu, oder das Problem ist aktuell nicht mehr relevant. In diesem Fall ist es durch die aktuelle Corona-Lage wichtig, Lungenentzündungen schnell zu erkennen – das Problem ist also sehr aktuell.

Als letztes gilt es zu klären, ob das Problem denn auch durch eine Künstliche Intelligenz lösbar ist und ob genug Datenmaterial zur Realisierung vorhanden ist. Genaueres dazu findest du in unserem Beitrag „Eine KI kann (nicht) alles“. Im Anwendungsfall der Lungenentzündungen ist das Problem definitiv von einer KI lösbar ist und es gibt auch umfangreiches Datenmaterial, sodass der Umsetzung dieser KI nichts mehr im Wege steht.

2. Daten sammeln und aufbereiten

Für die Entwicklung einer KI zum Erkennen von Lungenentzündungen werden zwei Arten von Röntgenbildern benötigt: Bilder von Lungen, welche gesund sind und Aufnahmen von Lungen, welche eine Lungenentzündung zeigen.

Es gibt drei Arten, an Datenmaterial zu kommen: Man kann dieses selbst erstellen bzw. sammeln, man bekommt dieses von einem Partner oder dem Anwender zur Verfügung gestellt, oder man greift auf ein frei verfügbares Datenset z.B. von Kaggle zurück.

Dabei sollte man besonderen Fokus auf die Qualität dieser Daten legen. Nicht unbedingt auf die Bildqualität, sondern auch darauf, dass alle Daten korrekt gelabelt sind. Jeder Fehler in den Daten hat ein schlechteres Ergebnis der KI zur Folge. Wie du das perfekte KI-Datenset zusammenstellst, haben wir in unserem Beitrag „Was macht ein gutes Datenset aus?“ erklärt.

3. Das Verfahren und die Architektur

Es gibt verschiedene KI-Verfahren, welche sich für unterschiedliche Anwendungsfälle besser oder schlechter eignen. Da es bei unserem Anwendungsfall um die Verarbeitung von Bilddaten geht, wird hier ein sogenanntes Convolutional Neural Network eingesetzt, was sich in diesem Bereich aufgrund der guten Performance und Qualität durchgesetzt hat.

Ein solches Netzwerk ist aus verschieden Ebenen (Layern) aufgebaut, welche miteinander verknüpft sind und wiederum aus einzelnen Neuronen bestehen. Durch diese Struktur, welche im Groben dem Aufbau unseres Gehirns ähnelt, ist es möglich, dass die KI lernt, Bilder mit einer Lungenentzündung von Bildern ohne eine solche zu unterscheiden.

Die Kunst der KI-Entwicklung besteht darin, das optimale Netzwerk aus diesen Layern für den spezifischen Anwendungsfall zu konstruieren. Zu komplexe Netzwerke können das Training verlangsamen und zu einem „Auswendiglernen“ der Bilddaten durch die KI führen, ein zu kleines Netzwerk wiederum kann nicht alle Informationen ausreichend verarbeiten und liefert somit ein schlechteres Ergebnis.

4. Die KI lernt Lungenentzündungen zu erkennen

Hat man ein gutes Datenset zusammengestellt und eine erste Architektur der KI konstruiert, so beginnt man diese zu trainieren. Bei diesem Training bekommt die KI immer ein Bild vorgelegt, gibt dann einen Tipp ab, ob es sich dabei um eines mit Lungenentzündung oder nicht handelt und erhält anschließend ein Feedback, ob dieser Tipp korrekt war.

Dieser Prozess wird tausende Male wiederholt und durch eine Anpassung der Gewichtungen zwischen den Neuronen (was mit einer Verstärkung der Synapsen im Gehirn gleichgesetzt werden kann) lernt die KI nach und nach, wie Bilder mit einer Lungenentzündung aussehen.

Während dieses Trainings wird der Fortschritt in regelmäßigen Abständen überprüft. Dazu wurde der Datensatz vorher in 80% Trainingsdaten und 20% Validierungsdaten aufgeteilt, damit man das Training mit Bildern überprüfen kann, welche der KI unbekannt sind.

In der Regel liefert der erste Trainingsdurchlauf noch nicht die gewünschte Qualität, deshalb ist einen weiterer Schritt notwendig: Die aufgezeichneten Trainingsdaten müssen korrekt interpretiert werden und das Netzwerk, die Trainingsdaten oder die Trainingsmethode müssen dementsprechend angepasst werden. Oftmals wird eine Optimierung schon durch die Anpassung der Netzwerk-Architektur erreicht, doch es ist auch möglich, dass mehr oder andere Trainingsdaten benötigt werden oder noch weitere Parameter angepasst werden müssen.

5. Die Künstliche Intelligenz bedienbar machen

Damit die entwickelte KI auch wirklich Ärzte bei der Erkennung von Lungenentzündungen unterstützen kann, ist es notwendig, eine Anwenderoberfläche zu dieser KI zu entwickeln. In unserem Anwendungsfall würde als einfachste Variante eine Bildauswahl ausreichen, welche anschließend dann das Ergebnis (erkrankt oder gesund) darstellt.

Bei der Entwicklung einer solchen Anwendung sollte man diese immer aus der Sicht des Anwenders und dessen Arbeitsumgebung betrachten. Daraus lässt sich dann die Komplexität und der optimale Aufbau der Anwendung ableiten und das Ergebnis kann von dem Anwender auch entsprechend bedient werden.

Neben der Möglichkeit eine KI als Webanwendung umzusetzen, wodurch sie auf allen Endgeräten gleichermaßen verfügbar ist und kein Programm installiert werden muss, gibt es auch noch die Möglichkeit eines nativen Programms oder einer App. Diese sind aus Sicht der Datenschützer oftmals ein wenig beliebter, da bei einer Offline-Anwendung keine sensiblen Daten über das Internet versendet werden müssen.

Simon Pirmann

Verfasst von Simon Pirmann am

Du hast eine Frage zum Thema?

Schreib mir eine Mail an: simon.pirmann@compaile.com

Mail schreiben