Wie gruppiert ein U-Net Pixel in einen einzelnen räumlichen Bereich?

7

Das als " U-Net " bekannte neuronale Netzwerk (Ronneberger, Fischer und Brox 2015) war eine herausragende Technik in Kaggles jüngstem Ultraschall- Nervensegmentierungswettbewerb , bei dem Algorithmen, die Pixelmasken mit einem hohen Grad an Überlappung mit erzeugten, hohe Punktzahlen verliehen wurden die handgezeichneten Regionen.

Nerv mit Plexus brachialis Umriss (Foto von Christopher Hefele )

Wenn man fortfährt, jedes Pixel zu klassifizieren (möglicherweise aus einem heruntergetasteten Bild), muss es viele Möglichkeiten geben, das Vorwissen einzubeziehen, dass benachbarte Pixel dazu neigen, dieselbe Klasse zu haben, und außerdem, dass alle positiven Klassifizierungen in einer einzigen liegen müssen räumliche Region. Ich kann jedoch nicht herausfinden, wie diese U-Netze es tun. Sie klassifizieren jedes Pixel, wenn auch als Labyrinth von Faltungs- und Pooling-Operatoren: Das U-Netz

Es gibt Trennungsgrenzen, aber das Papier stellt fest, dass sie "unter Verwendung morphologischer Operationen berechnet" werden, was ich als völlig getrennt vom U-Netz selbst verstehe. Diese Ränder werden nur verwendet, um die Gewichte so zu ändern, dass die Pixel am Rand stärker betont werden. Sie scheinen die Klassifizierungsaufgabe nicht grundlegend zu verändern.

Trennungsgrenze

Wie berücksichtigt dieses tiefe Faltungs-Neuronale Netzwerk, das als "U-Netz" bezeichnet wird, bei der Klassifizierung jedes Pixels das Vorwissen, dass die vorhergesagte Region eine einzelne räumliche Region sein wird?

Ben Ogorek
quelle

Antworten:

1

Es enthält "Vorkenntnisse", indem das Netzwerk über einen Trainingsdatensatz trainiert wird, der die Gewichte der Faltungsfilter aktualisiert. Auf diese Weise werden die meisten neuronalen Netze mit Standard-Backprop trainiert. Wo der zu rückwirkende Verlust auf dem Segmenationsverlust in diesem Fall basiert.

Hier ist ein Link, um eine Entfaltungsvisualisierung besser zu zeigen, nämlich . Es zeigt nicht, wie es trainiert wird, da dies das gleiche ist wie das Training der regulären Faltung, und es gibt andere Ressourcen dafür, wie hier Backprop .

Steven
quelle
Denken Sie also zum Beispiel an die Struktur von LSTMs. Die Architektur selbst ermöglicht eine zeitliche Stabilität über einen "Zellzustand". Ich habe so etwas für U-Netze im räumlichen Bereich nicht gesehen. Seit ich diese Frage gestellt habe, habe ich jedoch ein bisschen mehr gelernt. Jetzt denke ich, dass Pixel in der Nähe voneinander tendenziell dieselbe vorhergesagte Klasse haben, da die Eingaben aufgrund der Filter und der Auffaltungsoperationen fast gleich sind.
Ben Ogorek
Was Sie angegeben haben, ist falsch. Die Architektur eines LSTM ermöglicht von Natur aus keine Stabilität (auch nicht über die Zeit). Stattdessen führt das LSTM eine nichtlineare Kombination eines verborgenen Zustands (vorherige Eingaben) mit seiner aktuellen Eingabe durch. Die nichtlineare Kombination muss überhaupt nicht stabil sein.
Steven
Dies ähnelt eher der Bildklassifizierung. Wie klassifiziert VGG oder Resnet beispielsweise ein Bild als Katze oder Hund usw. Es baut einige nichtlineare Darstellungen der Pixel auf, die es dann zur Klassifizierung des Bildes verwenden kann. In diesem Fall baut die U-Net-Architektur nichtlineare Kombinationen der Pixel in immer größerer räumlicher Auflösung durch Downsampling auf, dann führt sie ein Upsampling durch, lernt jedoch ein Upsampling, bei dem einige Merkmale im Originalbild Vorrang vor anderen haben. Sie trainieren die Gewichte, die sowohl das Downsampling als auch das Upsampling durchführen, um ein Bild besser zu segmentieren.
Steven
Ihre letzten beiden Sätze sind eher das, was ich mir in der ursprünglichen Antwort erhofft hatte. Es gibt im Allgemeinen nicht viel Material zum Up-Sampling (Up-Convolution?) Und zu den Arten von Features, die gelernt werden können. Können Sie das in Ihrer ursprünglichen Antwort näher erläutern?
Ben Ogorek
Wirklich ist es dasselbe wie Faltung. Wie werden die Filter in einem der Prozesse durch Rückausbreitung gelernt? Ich habe einen Link zu einem anderen Beitrag eingefügt, der besser hervorhebt, was Upconvolution tut. Der graue Quadratblock ist ein Filter, der gelernt und auf den aufgefüllten blauen Eingang angewendet wird. Lassen Sie mich wissen, ob dies hilft oder ob noch Verwirrung herrscht.
Steven