Konfigurieren der Verlustfunktion für ein neuronales Netzwerk basierend auf seismischen Daten

In einem früheren Artikel haben wir ein Experiment beschrieben, um die Mindestanzahl manuell beschrifteter Abschnitte zum Trainieren eines neuronalen Netzwerks unter Verwendung seismischer Daten zu bestimmen. Heute setzen wir dieses Thema fort, indem wir die am besten geeignete Verlustfunktion auswählen.

Zwei grundlegende Funktionsklassen werden betrachtet - binäre Kreuzentropie und Schnittmenge über Union - in 6 Varianten mit Auswahl von Parametern sowie Kombinationen von Funktionen verschiedener Klassen. Zusätzlich wird die Regularisierung der Verlustfunktion berücksichtigt.

Spoiler: Es ist gelungen, die Qualität der Netzwerkprognose deutlich zu verbessern.



Unternehmensforschungsziele


Wir werden die Beschreibung der Besonderheiten der seismischen Vermessung, der erhaltenen Daten und der Aufgaben ihrer Interpretation nicht wiederholen. All dies ist in unserem vorherigen Artikel beschrieben .

Die Idee dieser Studie wurde durch die Ergebnisse des Wettbewerbs für die Suche nach Salzablagerungen auf 2D-Scheiben angeregt . Laut den Teilnehmern des Wettbewerbs , um dieses Problem zu lösen, wurde ein ganzer Zoo von verschiedenen Verlustfunktionen verwendet darüber hinaus mit unterschiedlichen Erfolgen.

Deshalb haben wir uns gefragt: Ist es wirklich möglich, dass solche Probleme bei solchen Daten durch Auswahl der Verlustfunktion zu einem signifikanten Qualitätsgewinn führen? Oder ist dies nur für die Wettbewerbsbedingungen charakteristisch, wenn um die von den Organisatoren vordefinierte Metrik um die vierte oder fünfte Dezimalstelle gekämpft wird?

Bei Aufgaben, die mit Hilfe neuronaler Netze gelöst werden, basiert die Abstimmung des Lernprozesses in der Regel hauptsächlich auf den Erfahrungen des Forschers und einigen Heuristiken. Beispielsweise werden für die Probleme der Bildsegmentierung am häufigsten Verlustfunktionen verwendet, die auf der Beurteilung des Zusammentreffens der Formen erkannter Zonen basieren, der sogenannten Schnittmenge über der Union.

Intuitiv, basierend auf einem Verständnis des Verhaltens und der Forschungsergebnisse, liefern diese Arten von Funktionen bessere Ergebnisse als diejenigen, die für Bilder nicht geschärft sind, wie z. B. Kreuzentropie. Dennoch werden Experimente auf der Suche nach der besten Option für diese Art von Aufgabe als Ganzes und jede Aufgabe einzeln fortgesetzt.

Die zur Interpretation vorbereiteten seismischen Daten weisen eine Reihe von Merkmalen auf, die einen erheblichen Einfluss auf das Verhalten der Verlustfunktion haben können. Zum Beispiel sind die Horizonte, die die geologischen Schichten trennen, glatt und ändern sich nur an den Stellen der Verwerfungen stärker. Zusätzlich haben die unterscheidbaren Zonen eine ausreichend große Fläche relativ zum Bild, d.h. kleine Flecken auf Interpretationsergebnissen werden meist als Erkennungsfehler angesehen.

Im Rahmen dieses Experiments haben wir versucht, Antworten auf die folgenden lokalen Fragen zu finden:

  1. Ist die Verlustfunktion der Klasse "Schnittmenge über Union" wirklich das beste Ergebnis für das unten betrachtete Problem? Es scheint, dass die Antwort offensichtlich ist, aber welche? Und wie viel ist aus geschäftlicher Sicht das Beste?
  2. Ist es möglich, die Ergebnisse durch die Kombination von Funktionen verschiedener Klassen zu verbessern? Zum Beispiel Schnittpunkt über Union und Kreuzentropie mit unterschiedlichen Gewichten.
  3. Ist es möglich, die Ergebnisse zu verbessern, indem der Verlustfunktion verschiedene Ergänzungen hinzugefügt werden, die speziell für seismische Daten entwickelt wurden?

Und zu einer globaleren Frage:

Lohnt es sich, sich mit der Auswahl der Verlustfunktion für die Interpretation seismischer Daten zu befassen, oder ist der Qualitätsgewinn nicht mit dem Zeitverlust für die Durchführung solcher Studien vergleichbar? Vielleicht lohnt es sich, intuitiv eine Funktion auszuwählen und Energie für die Auswahl wichtigerer Trainingsparameter aufzuwenden?

Allgemeine Beschreibung des Experiments und der verwendeten Daten


Für das Experiment haben wir die gleiche Aufgabe übernommen, geologische Schichten auf 2D-Schnitten eines seismischen Würfels zu isolieren (siehe Abbildung 1).


Abbildung 1. Beispiel eines 2D-Schnitts (links) und das Ergebnis der Markierung der entsprechenden geologischen Schichten (rechts) ( Quelle )

und des gleichen Satzes vollständig beschrifteter Daten aus dem niederländischen Sektor der Nordsee. Die seismischen Quelldaten sind auf der Website des Open Seismic Repository: Project Netherlands Offshore F3 Block verfügbar . Eine kurze Beschreibung findet sich bei Silva et al. "Niederländischer Datensatz: Ein neuer öffentlicher Datensatz für maschinelles Lernen in der seismischen Interpretation . "

Da es sich in unserem Fall um 2D-Schnitte handelt, haben wir nicht den ursprünglichen 3D-Würfel verwendet, sondern das bereits erstellte „Schneiden“, das hier verfügbar ist:Niederlande F3 Interpretationsdatensatz .

Während des Experiments haben wir die folgenden Probleme gelöst:

  1. Wir haben uns die Quelldaten angesehen und die Schnitte ausgewählt, deren Qualität der manuellen Markierung am nächsten kommt (ähnlich dem vorherigen Experiment).
  2. Wir haben die Architektur des neuronalen Netzwerks, die Methodik und die Parameter des Trainings sowie das Prinzip der Auswahl von Schichten für das Training und die Validierung festgelegt (ähnlich wie im vorherigen Experiment).
  3. Wir haben die untersuchten Verlustfunktionen gewählt.
  4. Wir haben die besten Parameter für die parametrisierten Verlustfunktionen ausgewählt.
  5. Wir haben neuronale Netze mit unterschiedlichen Funktionen auf demselben Datenvolumen trainiert und die beste Funktion ausgewählt.
  6. Wir haben neuronale Netze mit verschiedenen Kombinationen der ausgewählten Funktion mit Funktionen einer anderen Klasse auf derselben Datenmenge trainiert.
  7. Wir haben neuronale Netze mit Regularisierung der ausgewählten Funktion auf dieselbe Datenmenge trainiert.

Zum Vergleich verwendeten wir die Ergebnisse eines früheren Experiments, bei dem die Verlustfunktion ausschließlich intuitiv gewählt wurde und eine Kombination von Funktionen verschiedener Klassen mit Koeffizienten war, die ebenfalls „mit dem Auge“ ausgewählt wurden.

Die Ergebnisse dieses Experiments in Form von geschätzten Metriken, die von den Netzwerken der Schichtmasken vorhergesagt werden, sind nachstehend dargestellt.

Aufgabe 1. Datenauswahl


Als erste Daten verwendeten wir vorgefertigte Inlines und Crosslines eines seismischen Würfels aus dem niederländischen Sektor der Nordsee. Wie im vorherigen Experiment, bei dem die Arbeit des Dolmetschers simuliert wurde, haben wir für das Training des Netzwerks nur saubere Masken ausgewählt, nachdem wir alle Schnitte betrachtet hatten. Als Ergebnis wurden 700 Kreuzlinien und 400 Inlines aus ~ 1600 Quellbildern ausgewählt.

Aufgabe 2. Festlegen der Parameter des Experiments


Dieser und die folgenden Abschnitte sind vor allem für Spezialisten in Data Science von Interesse, daher wird eine geeignete Terminologie verwendet.

Für das Training haben wir 5% der Gesamtzahl der Slices ausgewählt, außerdem Inlines und Crosslines zu gleichen Teilen, d. H. 40 + 40. Die Scheiben wurden gleichmäßig im gesamten Würfel ausgewählt. Zur Validierung wurde 1 Schicht zwischen benachbarten Bildern der Trainingsprobe verwendet. Somit bestand die Validierungsstichprobe aus 39 Inlines und 39 Crosslines.

321 Inline und 621 Crossline fielen in die verzögerte Stichprobe, mit der die Ergebnisse verglichen wurden.

Ähnlich wie im vorherigen Experiment wurde keine Bildvorverarbeitung durchgeführt, und es wurde dieselbe UNet-Architektur mit denselben Trainingsparametern verwendet.

Die Zielscheibenmasken wurden als Binärwürfel der Dimension HxBx10 dargestellt, wobei die letzte Dimension der Anzahl der Klassen entspricht und jeder Wert des Würfels 0 oder 1 ist, je nachdem, ob dieses Pixel im Bild zur Klasse der entsprechenden Ebene gehört oder nicht.

Jede Netzwerkvorhersage war ein ähnlicher Würfel, dessen Wert sich auf die Wahrscheinlichkeit bezieht, dass ein bestimmtes Bildpixel zur Klasse der entsprechenden Schicht gehört. In den meisten Fällen wurde dieser Wert unter Verwendung eines Sigmoid in die Wahrscheinlichkeit selbst umgewandelt. Dies sollte jedoch nicht für alle Verlustfunktionen durchgeführt werden, daher wurde die Aktivierung nicht für die letzte Schicht des Netzwerks verwendet. Stattdessen wurden die entsprechenden Konvertierungen in den Funktionen selbst durchgeführt.

Um den Einfluss der Zufälligkeit der Wahl der Anfangsgewichte auf die Ergebnisse zu verringern, wurde das Netzwerk für eine Ära mit binärer Kreuzentropie als Funktion von Verlusten trainiert. Alle anderen Trainings begannen mit diesen erhaltenen Gewichten.

Aufgabe 3. Die Auswahl der Verlustfunktionen


Für das Experiment wurden 2 Grundklassen von Funktionen in 6 Varianten ausgewählt:

Binäre Kreuzentropie :

  • binäre Kreuzentropie;
  • gewichtete binäre Kreuzentropie;
  • ausgeglichene binäre Kreuzentropie.

Schnittpunkt über Union :

  • Jaccard Verlust;
  • Tversky Verlust;
  • Lovász Verlust.

Eine kurze Beschreibung der aufgelisteten Funktionen mit Code für Keras finden Sie im Artikel . Hier präsentieren wir die wichtigsten mit Links (wo möglich) zu einer detaillierten Beschreibung jeder Funktion.

Für unser Experiment ist die Konsistenz der während des Trainings verwendeten Funktion mit der Metrik wichtig, anhand derer wir das Ergebnis der Netzwerkprognose für die verzögerte Stichprobe bewerten. Daher haben wir unseren in TensorFlow und Numpy implementierten Code verwendet, der direkt mit den folgenden Formeln geschrieben wurde.

Die folgende Notation wird in den Formeln verwendet

  • pt - für die binäre Zielmaske (Ground Truth);
  • pp - für Netzwerkvorhersagemaske.

Für alle Funktionen wird, sofern nicht anders angegeben, angenommen, dass die Netzwerkvorhersagemaske Wahrscheinlichkeiten für jedes Pixel im Bild enthält, d. H. Werte im Intervall (0, 1).

Binäre Kreuzentropie


Beschreibung: https://towardsdatascience.com/understanding-binary-cross-entropy-log-loss-a-visual-explanation-a3ac6025181a .



Diese Funktion versucht, die Netzwerkprognoseverteilung näher an das Ziel heranzuführen und nicht nur fehlerhafte, sondern auch unsichere Vorhersagen zu bestrafen.

Gewichtete binäre Kreuzentropie




Diese Funktion stimmt mit der binären Kreuzentropie mit einem Beta-Wert von 1 überein. Sie wird für starke Klassenungleichgewichte empfohlen. Für Beta> 1 nimmt die Anzahl falsch negativer Vorhersagen (falsch negativ) ab und die Vollständigkeit (Rückruf) nimmt zu, für Beta <1 nimmt die Anzahl falsch positiver Vorhersagen (falsch positiv) ab und die Genauigkeit nimmt zu (Präzision).

Ausgeglichene binäre Kreuzentropie




Diese Funktion ähnelt der gewichteten Kreuzentropie, korrigiert jedoch den Beitrag nicht nur einzelner, sondern auch null Werte der Zielmaske. Fällt (bis zu einer Konstanten) mit binärer Kreuzentropie bei einem Wert des Koeffizienten Beta = 0,5 zusammen.

Jaccard Verlust


Der Jacquard-Koeffizient (auch bekannt als Intersection over Union, IoU) bestimmt das Maß für die „Ähnlichkeit“ der beiden Bereiche. Der Würfelindex macht dasselbe:



Es macht keinen Sinn, beide Funktionen zu berücksichtigen. Wir haben uns für Jacquard entschieden.

Für den Fall, dass beide Bereiche mit binären Masken angegeben werden, kann die obige Formel in Bezug auf die Werte der Masken leicht umgeschrieben werden:



Für nicht-binäre Vorhersagen ist die Optimierung des Jacquard-Koeffizienten eine nicht triviale Aufgabe. Wir werden dieselbe Formel für Wahrscheinlichkeiten in der Prognosemaske als eine bestimmte Nachahmung des Anfangskoeffizienten und dementsprechend die folgende Verlustfunktion verwenden:



Tversky Verlust


Beschreibung: https://arxiv.org/pdf/1706.05721.pdf



Diese Funktion ist eine parametrisierte Version der Optimierung des Jacquard-Koeffizienten, die mit ihm bei alpha = beta = 1 und mit dem Würfelindex bei alpha = beta = 0,5 übereinstimmt. Für andere Nicht-Null- und Nicht-Übereinstimmungswerte können wir den Schwerpunkt auf Genauigkeit oder Vollständigkeit verschieben, genauso wie bei den Funktionen der gewichteten und ausgeglichenen Kreuzentropie.

Das Problem der Betonungsverschiebung kann unter Verwendung eines einzelnen Koeffizienten, der im Intervall (0, 1) liegt, umgeschrieben werden. Die resultierende Verlustfunktion sieht folgendermaßen aus:



Lovász Verlust


Es ist schwierig, eine Formel für diese Funktion anzugeben, da dies eine Option zur Optimierung des Jacquard-Koeffizienten durch einen Algorithmus ist, der auf sortierten Fehlern basiert.

Die Beschreibung der Funktion finden Sie hier . Eine der Codeoptionen finden Sie hier .

Wichtige Erklärung!


Um den Vergleich von Werten und Graphen im Folgenden zu vereinfachen, werden wir unter dem Begriff "Jacquard-Koeffizient" die Einheit abzüglich des Koeffizienten selbst weiter verstehen. Jaccard-Verlust ist eine Möglichkeit, dieses Verhältnis zu optimieren, zusammen mit Tversky-Verlust und Lovász-Verlust.

Aufgabe 4. Auswahl der besten Parameter für parametrisierte Verlustfunktionen


Um die beste Verlustfunktion für denselben Datensatz auszuwählen, wird ein Bewertungskriterium benötigt. In seiner Qualität haben wir die durchschnittliche / mittlere Anzahl verbundener Komponenten für die resultierenden Masken ausgewählt. Zusätzlich haben wir den Jacquard-Koeffizienten für Vorhersagemasken verwendet, die in einschichtiges Argmax konvertiert und erneut in binärisierte Schichten unterteilt wurden.

Die Anzahl der verbundenen Komponenten (d. H. Feste Flecken derselben Farbe) bei jeder erhaltenen Vorhersage ist ein indirektes Kriterium zur Beurteilung des Volumens ihrer nachfolgenden Verfeinerung durch den Interpreter. Wenn dieser Wert 10 ist, werden die Ebenen korrekt ausgewählt und es handelt sich um ein Maximum der geringfügigen Horizontkorrektur. Wenn es nicht mehr viele gibt, müssen Sie nur kleine Bereiche des Bildes "reinigen". Wenn es wesentlich mehr davon gibt, ist alles schlecht und muss möglicherweise sogar komplett neu gestaltet werden.

Der Jacquard-Koeffizient charakterisiert wiederum das Zusammentreffen von Bildzonen, die einer Klasse zugeordnet sind, und deren Grenzen.

Gewichtete binäre Kreuzentropie


Gemäß den Ergebnissen der Experimente wurde der Wert des Parameters Beta = 2 ausgewählt:


Abbildung 2. Vergleich der Qualität der Netzwerkprognose für die Hauptverlustfunktion und der ausgewählten Kriterien


Abbildung 3. Statistik für die Anzahl der verbundenen Komponenten in Bezug auf die Werte des Beta-Parameters

Ausgeglichene binäre Kreuzentropie


Gemäß den Ergebnissen der Experimente wurde der Wert des Parameters Beta = 0,7 gewählt:


Abbildung 4. Vergleich der Qualität der Netzwerkprognose durch die Hauptverlustfunktion und die ausgewählten Kriterien


Abbildung 5. Statistik für die Anzahl der angeschlossenen Komponenten

Tversky Verlust


Gemäß den Ergebnissen der Experimente wurde der Wert des Parameters Beta = 0,7 gewählt:


Abbildung 6. Vergleich der Qualität der Netzwerkprognose durch die Hauptverlustfunktion und die ausgewählten Kriterien


Abbildung 7. Vergleich der Qualität der Netzwerkprognose durch die Hauptverlustfunktion und die ausgewählten Kriterien

Aus den obigen Abbildungen lassen sich zwei Schlussfolgerungen ziehen.

Erstens korrelieren die ausgewählten Kriterien ziemlich gut miteinander, d.h. Der Jacquard-Koeffizient stimmt mit einer Schätzung des Volumens der erforderlichen Verfeinerung überein. Zweitens unterscheidet sich das Verhalten der Kreuzentropieverlustfunktionen logischerweise ziemlich vom Verhalten der Kriterien, d.h. Es lohnt sich immer noch nicht, nur diese Funktionskategorie ohne zusätzliche Auswertung der Ergebnisse zu trainieren.

Aufgabe 5. Auswahl der besten Verlustfunktion.


Vergleichen Sie nun die Ergebnisse, die die ausgewählten 6 Verlustfunktionen im selben Datensatz zeigten. Um das Bild zu vervollständigen, haben wir die Vorhersagen des Netzwerks hinzugefügt, die im vorherigen Experiment erhalten wurden.


Abbildung 8. Vergleichsprojektionsnetzwerke, die mit unterschiedlichen Verlustfunktionen für die ausgewählten Kriterien trainiert wurden

Tabelle 1. Die Mittelwerte der Kriterien




Abbildung 9. Vergleichsnetzwerkprojektionen zur Anzahl der Vorhersagen der angegebenen Anzahl verbundener Komponenten

aus den dargestellten Diagrammen und Tabellen, die folgenden Schlussfolgerungen zur Verwendung von "Solo" Verlustfunktionen:

  • In unserem Fall zeigen die "Jacquard" -Funktionen der Intersection over Union-Klasse wirklich bessere Werte als die Cross-Entropy-Funktionen. Darüber hinaus deutlich besser.
  • Lovazh loss.

Vergleichen wir die Prognosen für die Schichten visuell mit einem der besten und einem der schlechtesten Lovazh-Verlustwerte und der Anzahl der verbundenen Komponenten. Die Zielmaske wird in der oberen rechten Ecke angezeigt, die Vorhersage, die im vorherigen Experiment erhalten wurde, in der unteren rechten Ecke:


Abbildung 10. Netzwerkvorhersagen für eine der besten Schichten


Abbildung 11. Netzwerkvorhersagen für eine der schlechtesten Schichten

Es ist ersichtlich, dass alle Netzwerke auf gut erkennbaren Ebenen gleich gut funktionieren Scheiben. Aber selbst in einem schlecht erkennbaren Bereich, in dem alle Netzwerke falsch sind, ist die Prognose für den Lovazh-Verlust visuell besser als die Prognosen anderer Netzwerke. Obwohl es einer der schlimmsten Verluste für diese Funktion ist.

In diesem Schritt haben wir uns also für einen klaren Führer entschieden - den Verlust von Lovazh, dessen Ergebnisse wie folgt beschrieben werden können:

  • etwa 60% der Prognosen sind nahezu ideal, d.h. erfordern nur Anpassungen an einzelnen Abschnitten des Horizonts;
  • ungefähr 30% der Vorhersagen enthalten nicht mehr als 2 zusätzliche Punkte, d.h. kleinere Verbesserungen erfordern;
  • ungefähr 1% der Vorhersagen enthalten 10 bis 25 zusätzliche Punkte, d.h. erfordert eine wesentliche Verbesserung.

In diesem Schritt, bei dem nur die Verlustfunktion ersetzt wurde, konnten wir eine signifikante Verbesserung der Ergebnisse im Vergleich zum vorherigen Experiment erzielen.

Kann es durch eine Kombination verschiedener Funktionen noch verbessert werden? Hör zu.

Aufgabe 6. Auswahl der besten Kombination von Verlustfunktionen


Die Kombination von Verlustfunktionen verschiedener Art wird ziemlich oft verwendet. Die beste Kombination zu finden ist jedoch nicht einfach. Ein gutes Beispiel ist das Ergebnis eines früheren Experiments, das sich als noch schlechter als die "Solo" -Funktion herausstellte. Der Zweck solcher Kombinationen besteht darin, das Ergebnis durch Optimierung nach verschiedenen Prinzipien zu verbessern.

Versuchen wir, verschiedene Optionen der im vorherigen Schritt ausgewählten Funktion mit anderen zu sortieren, jedoch nicht mit allen in einer Reihe. Wir beschränken uns auf Kombinationen von Funktionen verschiedener Typen, in diesem Fall mit Kreuzentropiefunktionen. Es macht keinen Sinn, Kombinationen von Funktionen des gleichen Typs in Betracht zu ziehen.

Insgesamt haben wir 3 Paare mit jeweils 9 möglichen Koeffizienten überprüft (von 0,1 \ 0,9 bis 0,9 \ 0,1). In den folgenden Abbildungen zeigt die x-Achse den Koeffizienten vor dem Lovazh-Verlust. Der Koeffizient vor der zweiten Funktion ist gleich eins minus dem Koeffizienten vor der ersten. Der linke Wert ist nur eine Kreuzentropiefunktion, der rechte Wert ist nur der Lovazh-Verlust.


Abbildung 12. Bewertung der Prognoseergebnisse von auf BCE + Lovazh trainierten Netzwerken


Abbildung 13. Bewertung der Prognoseergebnisse von auf BCE + Lovazh trainierten Netzwerken


Abbildung 14. Bewertung der Prognoseergebnisse der auf BBCE + Lovazh trainierten Netzwerke

Es ist ersichtlich, dass die ausgewählte "Solo" -Funktion durch Hinzufügen von Kreuzentropie nicht verbessert wurde. Das Reduzieren einiger Werte des Jacquard-Koeffizienten um 1-2 Tausendstel kann in einem Wettbewerbsumfeld wichtig sein, kompensiert jedoch nicht die geschäftliche Verschlechterung des Kriteriums für die Anzahl der verbundenen Komponenten.

Um das typische Verhalten einer Kombination von Funktionen verschiedener Typen zu überprüfen, haben wir eine ähnliche Reihe von Schulungen für Jaccard-Verlust durchgeführt. Für nur ein Paar konnten die Werte beider Kriterien gleichzeitig leicht verbessert werden:

0,8 * JaccardLoss + 0,2 * BBCE
Durchschnitt der verbundenen Komponenten: 11,5695 -> 11,2895
Durchschnitt der Jaccard: 0,0307 -> 0,0283

Aber selbst diese Werte sind schlechter als der Lovazh-Verlust „solo“.

Daher ist es sinnvoll, Kombinationen von Funktionen unterschiedlicher Art auf unseren Daten nur unter Wettbewerbsbedingungen oder in Gegenwart von Freizeit und Ressourcen zu untersuchen. Es ist unwahrscheinlich, dass eine signifikante Qualitätssteigerung erreicht wird.

Aufgabe 7. Regularisierung der besten Verlustfunktion.


In diesem Schritt haben wir versucht, die zuvor ausgewählte Verlustfunktion durch einen Zusatz zu verbessern, der speziell für seismische Daten entwickelt wurde. Dies ist die im Artikel beschriebene Regularisierung: "Neuronale Netze für Geophysiker und ihre Anwendung auf die Interpretation seismischer Daten . "

Der Artikel erwähnt, dass Standard-Regularisierungen wie das Abfallen von Gewichten bei seismischen Daten nicht gut funktionieren. Stattdessen wird ein Ansatz vorgeschlagen, der auf der Norm der Gradientenmatrix basiert und darauf abzielt, die Grenzen von Klassen zu glätten. Der Ansatz ist logisch, wenn wir uns daran erinnern, dass die Grenzen der geologischen Schichten glatt sein sollten.

Bei Verwendung einer solchen Regularisierung ist jedoch mit einer gewissen Verschlechterung der Ergebnisse nach dem Jacquard-Kriterium zu rechnen, da geglättete Klassengrenzen fallen weniger wahrscheinlich mit möglichen abrupten Übergängen zusammen, die mit manuellem Markup erhalten werden. Wir haben jedoch noch ein Kriterium für die Überprüfung - die Anzahl der angeschlossenen Komponenten.

Wir haben 13 Netzwerke mit der im Artikel beschriebenen Regularisierung und dem Koeffizienten davor trainiert und Werte von 0,1 bis 0,0001 angenommen. Die folgenden Abbildungen zeigen einige der Bewertungen für beide Kriterien.


Abbildung 15. Vergleich der Qualität der Netzwerkprognose anhand der ausgewählten Kriterien


Abbildung 16. Statistik für die Anzahl der verbundenen Komponenten in Bezug auf die Koeffizientenwerte vor der Regularisierung

Es ist ersichtlich, dass die Regularisierung mit einem Koeffizienten von 0,025 die Statistik für das Kriterium für die Anzahl der verbundenen Komponenten signifikant reduzierte. Das Jacquard-Kriterium stieg in diesem Fall jedoch erwartungsgemäß auf 0,0357. Dies ist jedoch ein leichter Anstieg im Vergleich zu einer Verringerung der manuellen Verfeinerung.


Abbildung 17. Vergleich der Netzwerkvorhersagen anhand der Anzahl der Vorhersagen mit der angegebenen Anzahl verbundener Komponenten.

Schließlich vergleichen wir die Klassengrenzen auf dem Ziel und die vorhergesagten Masken für den zuvor ausgewählten schlechtesten Schnitt.


Abbildung 18. Die Netzwerkprognose für eine der schlechtesten Schichten.


Abbildung 19. Überlagern eines Teils des Horizonts der Zielmaske und der Prognose

Wie aus den Figuren ersichtlich ist, ist die Vorhersagemaske natürlich an einigen Stellen falsch, aber gleichzeitig glättet sie die Schwingungen der Zielhorizonte, d.h. korrigiert kleinere Fehler im anfänglichen Markup.

Zusammenfassende Merkmale der ausgewählten Verlustfunktion mit Regularisierung:

  • etwa 87% der Prognosen sind nahezu ideal, d.h. erfordern nur Anpassungen an einzelnen Abschnitten des Horizonts;
  • ungefähr 10% der Vorhersagen enthalten 1 zusätzlichen Punkt, d.h. kleinere Verbesserungen erfordern;
  • Etwa 3% der Vorhersagen enthalten 2 bis 5 zusätzliche Punkte, d.h. erfordern eine etwas substanziellere Verfeinerung.

Ergebnisse


  • Nur durch die Anpassung eines Lernparameters - der Verlustfunktion - konnten wir die Qualität der Netzwerkprognose signifikant verbessern und den Umfang der erforderlichen Verfeinerung um etwa das Dreifache reduzieren.
  • Intersection over Union ( Lovazh loss) . -, .
  • -, . , .. .

:


  1. Reinaldo Mozart Silva, Lais Baroni, Rodrigo S. Ferreira, Daniel Civitarese, Daniela Szwarcman, Emilio Vital Brazil. Netherlands Dataset: A New Public Dataset for Machine Learning in Seismic Interpretation
  2. Lars Nieradzik. Losses for Image Segmentation
  3. Daniel Godoy. Understanding binary cross-entropy / log loss: a visual explanation
  4. Seyed Sadegh Mohseni Salehi, Deniz Erdogmus, and Ali Gholipour. Tversky loss function for image segmentation using 3D fully convolutional deep networks
  5. Maxim Berman, Amal Rannen Triki, Matthew B. Blaschko. The Lovasz-Softmax loss: A tractable surrogate for the optimization of the intersection-over-union measure in neural networks
  6. Bas Peters, Eldad Haber, and Justin Granek. Neural-networks for geophysicists and their application to seismic data interpretation

All Articles