Heim > Artikel > Technologie-Peripheriegeräte > Deep-Ensemble-Learning-Algorithmus zur Klassifizierung von Netzhautbildern
Übersetzer | Zhu Xianzhong
Rezensent | Weltweit gab es etwa 2,2 Milliarden Menschen mit Sehbehinderungen, von denen mindestens eine Milliarde hätte verhindert werden können oder noch behandelt werden. Wenn es um die Augenpflege geht, steht die Welt vor vielen Herausforderungen, darunter Ungleichheiten in der Abdeckung und Qualität präventiver, therapeutischer und rehabilitativer Dienste. Es mangelt an geschultem Augenpflegepersonal und die Augenpflegedienste sind nur unzureichend in das Hauptgesundheitssystem integriert. Mein Ziel ist es, zum Handeln anzuregen, um diese Herausforderungen gemeinsam anzugehen. Das in diesem Artikel vorgestellte Projekt ist Teil von Iluminado, einem datenwissenschaftlichen Abschlussprojekt, an dem ich derzeit arbeite.
Designziele des Capstone-Projekts
Der Zweck der Erstellung dieses Artikelprojekts besteht darin, ein Deep-Learning-Ensemble-Modell zu trainieren, das letztendlich für Familien mit niedrigem Einkommen sehr zugänglich ist und eine erste Krankheitsrisikodiagnose zu geringen Kosten durchführen kann. Mithilfe meines Modellverfahrens können Augenärzte anhand der Netzhautfundusfotografie feststellen, ob ein sofortiger Eingriff erforderlich ist.
Quelle des ProjektdatensatzesOphthAI stellt einen öffentlich verfügbaren Bilddatensatz namens Retinal Fundus Multi-Disease Image Dataset („RFMiD“) bereit, der 3200 Bilder enthält. Fundusbilder, die von drei verschiedenen Funduskameras aufgenommen wurden, wurden mit Anmerkungen versehen von zwei hochrangigen Netzhautexperten basierend auf einem gerichtlichen Konsens.
Diese Bilder wurden aus Tausenden von Inspektionen extrahiert, die im Zeitraum 2009–2010 durchgeführt wurden. Dabei wurden sowohl einige qualitativ hochwertige Bilder als auch einige Bilder geringer Qualität ausgewählt, was den Datensatz anspruchsvoller macht.
Bildquelle
Das Bild unten wurde mit einem Werkzeug namens Funduskamera aufgenommen. Eine Funduskamera ist ein spezielles Mikroskop mit geringer Leistung, das an eine Blitzkamera angeschlossen ist und zum Fotografieren des Fundus, der Netzhautschicht im hinteren Teil des Auges, verwendet wird.
Heutzutage sind die meisten Funduskameras Handkameras, sodass der Patient nur direkt in die Linse schauen muss. Darunter zeigt der hell blinkende Teil an, dass das Fundusbild aufgenommen wurde.
Fundus-Retina-Bildgebungssystem-Aufnahmesituation:
Abbildung 2: Bilder, die basierend auf ihren jeweiligen visuellen Merkmalen aufgenommen wurden: (a) diabetische Retinopathie (DR), (b) altersbedingte Makuladegeneration (ARMD) und (c) Mäßige Trübung (MH).
Wo wird die endgültige Diagnose gestellt?
Der anfängliche Screening-Prozess kann durch Deep Learning unterstützt werden, die endgültige Diagnose wird jedoch von einem Augenarzt mithilfe einer Spaltlampenuntersuchung gestellt.Dieser Vorgang wird auch biomikroskopische Diagnostik genannt und beinhaltet die Untersuchung lebender Zellen. Der Arzt kann eine mikroskopische Untersuchung durchführen, um festzustellen, ob Anomalien in den Augen des Patienten vorliegen.
Abbildung 3: Abbildung einer Spaltlampenuntersuchung
Im Gegensatz zu herkömmlichen Algorithmen für maschinelles Lernen können Deep Convolutional Neural Networks (CNN) mehrschichtige Modelle verwenden, um automatisch zu extrahieren und zu klassifizieren Merkmale aus Rohdaten.
Kürzlich hat die akademische Gemeinschaft eine große Anzahl von Artikeln über den Einsatz von Convolutional Neural Networks (CNN) zur Identifizierung verschiedener Augenkrankheiten wie diabetischer Retinopathie und Glaukom mit abnormalen Ergebnissen (AUROC>0,9) veröffentlicht.
Der AUROC-Score fasst die ROC-Kurve in einer Zahl zusammen, die die Leistung des Modells bei der gleichzeitigen Verarbeitung mehrerer Schwellenwerte beschreibt. Es ist erwähnenswert, dass ein AUROC-Score von 1 einen perfekten Score darstellt, während ein AUROC-Score von 0,5 einer zufälligen Schätzung entspricht.
Abbildung 4: Schematische Darstellung der ROC-Kurve mit Darstellung
Kreuzentropie wird normalerweise als Verlustfunktion beim maschinellen Lernen verwendet. Kreuzentropie ist eine Metrik im Bereich der Informationstheorie, die auf der Definition von Entropie aufbaut und typischerweise zur Berechnung der Differenz zwischen zwei Wahrscheinlichkeitsverteilungen verwendet wird, während man sich Kreuzentropie als Berechnung der Gesamtentropie zwischen zwei Verteilungen vorstellen kann.
Kreuzentropie hängt auch mit logistischen Verlusten zusammen, die als logarithmischer Verlust bezeichnet werden. Obwohl diese beiden Maße aus unterschiedlichen Quellen stammen, berechnen beide Methoden bei Verwendung als Verlustfunktion für ein Klassifizierungsmodell dieselbe Menge und können austauschbar verwendet werden.
(Weitere Einzelheiten finden Sie unter: https://machinelearningmastery.com/logistic-regression-with-maximum-likelihood-estimation/)
Kreuzentropie ist ein Maß für die Differenz zwischen zwei Wahrscheinlichkeitsverteilungen für eine gegebene Zufallsvariable oder eine Reihe von Ereignissen. Sie erinnern sich vielleicht, dass Informationen die Anzahl der Bits quantifizieren, die zum Kodieren und Übertragen eines Ereignisses erforderlich sind. Ereignisse mit geringer Wahrscheinlichkeit enthalten tendenziell mehr Informationen, während Ereignisse mit hoher Wahrscheinlichkeit weniger Informationen enthalten.
In der Informationstheorie beschreiben wir gerne die „Überraschung“ von Ereignissen. Je unwahrscheinlicher das Eintreten eines Ereignisses ist, desto überraschender ist es und desto mehr Informationen enthält es.
Angesichts der Wahrscheinlichkeit des Ereignisses P(x) kann die Information h(x) für Ereignis x wie folgt berechnet werden:
h(x) = -log(P(x))
Abbildung 4: Perfekte Illustration ( Bildnachweis: Vlastimil Martinek)
Entropie ist die Anzahl der Bits, die erforderlich sind, um ein zufällig ausgewähltes Ereignis aus einer Wahrscheinlichkeitsverteilung zu übertragen. Schiefe Verteilungen haben eine geringere Entropie, während Verteilungen mit gleichen Ereigniswahrscheinlichkeiten im Allgemeinen eine höhere Entropie aufweisen.
Abbildung 5: Eine perfekte Darstellung des Verhältnisses von Ziel- zu vorhergesagten Wahrscheinlichkeiten (Bildquelle: Vlastimil Martinek)
Eine schiefe Wahrscheinlichkeitsverteilung hat weniger „Überraschungen“ und hat im Gegenzug möglichst eine geringere Entropie Ereignisse dominieren. Relativ gesehen ist die Gleichgewichtsverteilung überraschender und weist eine höhere Entropie auf, da die Ereignisse mit gleicher Wahrscheinlichkeit eintreten.
Die Entropie H(x) kann für eine Zufallsvariable mit einer Menge von x in x diskreten Zuständen und ihrer Wahrscheinlichkeit P(x) berechnet werden, wie in der folgenden Abbildung dargestellt:
Abbildung 6: Mehrstufige Kreuzentropieformel (Bildquelle: Vlastimil Martinek)
Multi-Kategorie-Klassifizierung – wir verwenden Multi-Kategorie-Kreuzentropie – ein spezifischer Anwendungsfall der Kreuzentropie, bei dem das Ziel Es wird ein One-Hot-Codierungsvektorschema verwendet. (Interessierte Leser können den Artikel von Vlastimil Martinek lesen)
Abbildung 7: Perfektes Zerlegungsdiagramm der Panda- und Katzenverlustberechnung (Bildquelle: Vlastimil Martinek)
Abbildung 8: Verlustwert Abbildung 9 : Perfekte Zerlegung des Verlustwerts Abbildung 2 (Bildquelle: Vlastimil Martinek) Abbildung 9: Über Wahrscheinlichkeit und Verlust Visuelle Darstellung von (Bildnachweis: Vlastimil Martinek)
Wie wäre es mit binärer Kreuzentropie?
Abbildung 10: Darstellung der Klassifizierungs-Kreuzentropieformel (Bildquelle: Vlastimil Martinek)
In unserem Projekt haben wir uns für die binäre Klassifizierung entschieden – binäres Kreuzentropieschema, das heißt, das Ziel ist 0 oder 1 Kreuzentropieschema. Wenn wir die Ziele in Hot-Codierungsvektoren von [0,1] bzw. [1,0] umwandeln und vorhersagen, können wir zur Berechnung die Kreuzentropieformel verwenden.
Abbildung 11: Darstellung der Formel zur Berechnung der binären Kreuzentropie (Bildquelle: Vlastimil Martinek)
Verwendung eines asymmetrischen Verlustalgorithmus zur Verarbeitung unausgeglichener Daten
In einer typischen Multi-Label-Modellumgebung wird die Datenmerkmale einer Menge können eine unverhältnismäßige Anzahl positiver und negativer Bezeichnungen aufweisen. An diesem Punkt hat die Tendenz des Datensatzes, negative Labels zu bevorzugen, einen dominanten Einfluss auf den Optimierungsprozess und führt letztendlich zu einer Unterbetonung des Gradienten positiver Labels, wodurch die Genauigkeit der Vorhersageergebnisse verringert wird.
Das ist genau die Situation, in der sich der Datensatz befindet, den ich derzeit auswähle.
Der von BenBaruch et al. entwickelte asymmetrische Verlustalgorithmus (siehe Abbildung 12) wird in diesem Projekt verwendet. Dies ist eine Methode zur Lösung der Klassifizierung mit mehreren Etiketten, aber die Kategorien weisen auch schwerwiegende unausgeglichene Verteilungssituationen auf.
Die Methode, die ich mir ausgedacht habe, besteht darin, das Gewicht des negativen Etikettenteils durch asymmetrische Änderung der positiven und negativen Komponenten der Kreuzentropie zu reduzieren und schließlich das Gewicht des positiven Etikettenteils hervorzuheben, das schwieriger zu verarbeiten ist .
Abbildung 12: Asymmetrischer Multi-Label-Klassifizierungsalgorithmus (2020, Autor: Ben-Baruch et al.)
Die zu testende Architektur
Zusammenfassend lässt sich sagen, dass dieses Projekt die im gezeigte verwendet Abbildung Architektur:
Abbildung 13 (Bildquelle: Sixu)
Die in der obigen Architektur verwendeten Schlüsselalgorithmen umfassen hauptsächlich:
Zhu Xianzhong, 51CTO-Community-Redakteur, 51CTO-Expertenblogger, Dozent, Computerlehrer an einer Universität in Weifang, Veteran in der Freiberufliche Programmierbranche Ein Stück.
Originaltitel:
Deep Ensemble Learning für Retinal Bildklassifizierung (CNN), Autor: Cathy Kam
Das obige ist der detaillierte Inhalt vonDeep-Ensemble-Learning-Algorithmus zur Klassifizierung von Netzhautbildern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!