Im ersten Blogbeitrag der Serie haben wir uns auf die Glaukom Erkrankung und Deep Learning Grundlagen konzentriert. Im zweiten Teil werden wir kurz die Grundlagen eines Convolutional Neural Networks (CNN) erläutern. Im dritten Teil werden wir der Frage nachgehen, wie diese u.a. dafür genutzt werden können, um auf Basis von Augenspiegelungen ein Glaukom zu diagnostizieren.
Convolutional Neural Networks (CNNs)
Die Grundlagen von modernen CNNs wurden schon in den 1980er Jahren u.a. von Kunihiko Fukushima oder Yann Lecun erarbeitet. Geoffrey Hinton und Yoshua Bengio haben ebenfalls wesentliche Beiträge zur Entwicklung und Popularisierung von tiefen neuronalen Netzwerken und CNNs geleistet. Mit der zunehmenden Rechenkapazität moderner CPUs bzw. GPUs wurde es in den frühen 2000 Jahre möglich diese mit effektiven Algorithmen zur Bilderkennung zu nutzen.
Im Folgenden werden diese mathematischen Grundlagen kurz erläutert.
Die meisten CNN’s sind in Ihren mathematischen Grundlagen nahezu identisch und werden heutzutage durch verschiedene Algorithmen abgebildet. Einer der maßgeblichen wie auch Namensgebenden Operationen sind die Faltungsoperationen (Convolution), welche abstrakt beschrieben zur Berechnung eines Wertes im Neuron benötigt werden. Dabei werden die eingehenden Signalparameter der Aktivierungsfunktionen mit den Parametern des Filterkernels über das Skalarprodukt berechnet. Anschaulich kann man sich das so vorstellen das eine kleine Matrize über eine Größere von links nach rechts bewegt wird und die jeweiligen Werte sich als inneres Produkt berechnen lassen. An dieser Stelle ist es wichtig zu verstehen, dass nachgelagerte Neuronen in diesem Layer nur auf Reize in der lokalen Umgebung des vorhergehenden Layers reagieren.
Dabei steigt durch das Training des Modells in der Folge analog zum visuellen Cortex im menschlichen Gehirn in tiefer gelegenen Convolutional Layers sowohl die Größe der aufnehmenden Felder als auch die Komplexität der erkannten Merkmale.
Im Wesentlichen besteht eine CNN-Architektur aus aufeinanderfolgenden sequenziellen Schichten (Layer), die in Blöcken unterteilt werden. In diesen werden aus einem bis mehreren Convolutional Layer (Faltungsschichten) mit einem abschließenden Pooling Layer gebildet. Dies kann sich beliebig oft wiederholen. Je mehr Faltungsschichten ein Netz beinhaltet, desto höher ist die Erkennung von Abstrakten Merkmalen. Durch eine hohe Anzahl dieser Blöcke ergibt sich ein tiefes neuronales Netz, woraus sich der Begriff des Deep Learnings ableitet.
In den Faltungsschichten werden hauptsächlich die schon beschriebenen Faltungsoperationen durchgeführt.
Die mittels dieser diskreten Faltung ermittelten Eingabewerte werden anschließend durch eine Aktivierungsfunktion analog zum biologischen Neuron verarbeitet und durch wiederholte Anwendung dieser Aktivierungsfunktion auf alle Eingabewerte als Ergebnis die Feature Map erzeugt. Dabei werden dieselben Gewichtungen (shared weights) eines Filters auf verschiedene Teile des Eingangsbildes angewendet. Dies reduziert die Anzahl der zu lernenden Parameter und ermöglicht es dem CNN Muster, unabhängig von ihrer Position im Bild, zu erkennen. Hieraus folgt das CNN‘s Translationsinvariant sind, welches eines der wesentlichen Merkmale eines CNN’s ist.
Es gibt unterschiedliche Aktivierungsfunktionen wie z.B. Relu, Sigmoid oder TanH. In der Praxis kommt in einem CNN jedoch häufig die RelU von „rectifier linear unit“ zum Einsatz. Sie ist definiert als der Positivteil eines Eingabeparameters. Siehe Abbildung 3. Aktivierungsfunktionen führen nichtlineare Transformationen an den Eingabedaten durch und ermöglichen es dem Netzwerk, komplexe Muster zu lernen. Ohne Aktivierungsfunktionen wäre ein neuronales Netzwerk im Wesentlichen nur eine lineare Funktion, was seine Fähigkeit, tiefere Strukturen und Beziehungen in den Daten zu erkennen, erheblich einschränken würde.
Aktivierungsfunktionen sind stark von neuronalen Prozessen im menschlichen Gehirn inspiriert. In unserem Gehirn sind Neuronen entweder “aktiviert” oder “inaktiv”, basierend auf dem elektrischen Potenzial, das sie empfangen. Diese binäre Entscheidungsfindung ist vergleichbar mit mathematischen Funktionen in künstlichen neuronalen Netzwerken. Wenn ein Neuron im Gehirn genügend Stimulus erhält, sendet es ein Signal weiter—ähnlich wie Aktivierungsfunktionen in CNNs Signale “weiterleiten” oder blockieren.
In den Pooling Layer werden anschließend die aus der Faltungsoperation erzeugten Feature Maps in Ihrer Größe verringert. In der Praxis kommen unterschiedliche Pooling Funktionen zum Einsatz.
Beim Max Pooling (Siehe Abbildung 4) werden die jeweiligen maximal Werte auf den Ausschnitt des Ausgabevektors projiziert.
Beim SumPooling werden die Werte im Ausschnitt summiert. Im Gegenzug dazu werden beim stochastischen Pooling statistische Mittelwerte bestimmt.
Das Pooling verfolgt dabei folgende Ziele:
- Die Parameteranzahl und damit auch die Speichernutzung wird verringert. Dadurch ist eine effiziente Verarbeitung möglich.
- Gleichzeitig unterstützt es das Hervorbringen von räumlichen Hierarchien, indem die aufeinanderfolgenden Convolutional Layer zunehmend größere Ausschnitte betrachten.
Das biologische Pendant zum Pooling ist hierbei die laterale Hemmung.
Faltungen werden i.d.R. mehrfach durchlaufen. Im Anschluss erfolgt das Pooling. Dadurch ergeben sich mehrere Schichten, die ein „tiefes“ neuronales Netz bilden. Das „Deep“ im Deep Learning leitet sich hiervon ab. Abbildung 5 zeigt ein solches CNN am Beispiel der VGG16 Netzarchitektur.
Kurz gesprochen sind die Faltung und das anschließende Pooling nichts als Filter, die zum Ziel haben, abstrakte Bestandteile eines Bildes herauszubilden, um letzten Endes ein immer konkreteres Bild herauszubilden.
CNNs leisten nach wie vor einen bedeutenden Beitrag zur künstlichen Intelligenz auf Basis der Bilderkennung. Sie sind vielfältig einsetzbar und zeigen besonders in der medizinischen Diagnostik, wie groß der Bedarf an präzisen, KI-basierten Diagnosen ist. Die laufende Forschung und Weiterentwicklung in diesem Bereich versprechen noch genauere und effizientere Modelle in der Zukunft.
Nachdem wir nun die Grundlagen der Convolutional Neural Networks kennen, wenden wir uns im nächsten Teil der Blogserie der genaueren Betrachtung der Modelle zur Glaukomerkennung zu.
Quellen:
Gartner Forecasts Worldwide IT Spending to Grow 8% in 2024 Gartner Forecasts Worldwide IT Spending to Grow 8% in 2024
Alexander Renz “Diagnose von Augenerkrankungen unter Einsatz des maschinellen Lernens“ 17.August 2020
“Automated classification of physiologic, glaucomatous and 2 glaucoma-suspected optic discs using machine learning”
Raphael Diener, Alexander W. Renz, Florian Eckhard, Helmar Segbert, Nicole Eter, Arnim Malcherek, Julia BiermannHolger Schmidt Peter Buxmann. Künstliche Intelligenz – Mit Algorithmen zum wirtschaftlichen Erfolg. 1. Aufl. Seite 21. Springer Gabler, 2019.
European Commission. “Weissbuch Zur Künstlichen Intelligenz – ein europäisches Konzept für Exzellenz und Vertrauen”. In: Weissbuch Zur Künstlichen Intelligenz – ein europäisches Konzept für Exzellenz und Vertrauen (2020). url: https://www.coliquioinsights.de/aerzte-unter-zeitdruck/.
Destatis. “Fallpauschalenbezogene Krankenhausstatistik (DRGStatistik) Operationen und Prozeduren der vollstationären Patientinnen und Patienten in Krankenhäusern”. In: Deutsches Statistisches Bundesamt (2018). url: https://www.destatis.de/DE/ Themen / Gesellschaft – Umwelt / Gesundheit / Krankenhaeuser / Publikationen/Downloads-Krankenhaeuser/operationen-prozeduren5231401187014.pdf?__blob=publicationFile
- LeCun et al. “Handwritten digit recognition with a back-propagation network”. In: Neural Netwotks, current applications”, year = 1992, editor = Lisboa P.G.J., publisher= Chappman and Hall