Dimensionssprung beim maschinellen Lernen


10

Was ist das Problem des Dimensionssprungs beim maschinellen Lernen (das in Faltungs-Neuronalen Netzen und bei der Bilderkennung auftritt)? Ich habe darüber gegoogelt, aber alles, was ich bekomme, sind Informationen über die Physik der Materialformverformung. Es ist für mich hilfreicher, wenn jemand dies anhand eines Beispiels zum maschinellen Lernen erklärt. Kann mir jemand dabei helfen oder mich auf Ressourcen hinweisen, die dies können?

Antworten:


7

Willkommen bei DataScience.SE! Ich hatte noch nie von diesem Problem gehört und habe es nachgeschlagen. Es wird auf der dritten Folie dieser Präsentation von Geoff Hinton erklärt:

Weitere Dinge, die es schwierig machen, Objekte zu erkennen

• Änderungen des Blickwinkels führen zu Änderungen der Bilder, mit denen Standard-Lernmethoden nicht umgehen können.

- Informationssprünge zwischen Eingabedimensionen (dh Pixel)

• Stellen Sie sich eine medizinische Datenbank vor, in der das Alter eines Patienten manchmal auf die Eingabedimension springt, die normalerweise für das Gewicht kodiert!

- Um maschinelles Lernen anzuwenden, möchten wir zunächst dieses Dimensionssprung beseitigen.

Mit anderen Worten, es geht um konzeptionelle Features, die von einer Eingabe-Feature-Dimension in eine andere migrieren oder springen, während sie immer noch dasselbe darstellen. Man möchte in der Lage sein, die Essenz des Features zu erfassen oder zu extrahieren, während man unveränderlich ist, auf welcher Eingabedimension es codiert ist.


Ich verstehe, dass man in Computer Vision für Orte im Bild unveränderlich sein möchte, aber ich verstehe das Altersbeispiel nicht.
Martin Thoma

Ich habe das so verstanden, dass Alter und Gewicht abhängig sind, aber ich bin mir nicht sicher; Es ist nicht meine Präsentation! Oder vielleicht meinten sie, sie benutzen buchstäblich die falsche Spalte und wir wollen das erkennen.
Emre

@sdream Ich habe nur einen Kommentar abgegeben; Emre gab die Antwort. (Aber du solltest es wahrscheinlich trotzdem akzeptieren). Der Punkt bei CNNs ist, dass sich nicht nur ein Merkmal ändert, wenn sich ein Objekt an einem anderen Ort befindet, sondern dass sich ein vollständiges Muster an einem anderen Eingang befindet.
Martin Thoma

@Emre, was ich aus Ihrer Antwort erhalte, ist, dass unabhängig davon, aus welcher Richtung eine bestimmte Eigenschaft eingegeben wird, das Merkmal, das diese bestimmte Eigenschaft verursacht, für die Eingabedimension dieser Eigenschaft unveränderlich sein sollte. Vielen Dank! :). Warten Sie immer noch auf spezifischere Antworten, andernfalls wird Ihre Antwort als Antwort markiert.
Traum

3
Das Altersbeispiel soll einen Datensatz hervorheben, der kein Dimensionssprung aufweist. Alter und Gewicht "hüpfen" oder tauschen Werte nicht zufällig zwischen Beispielen aus - sie sind nicht austauschbar und das Beispiel zeigt, wie seltsam das wäre (und wie schwierig es einfache Aufgaben wie die lineare Regression machen würde). Pixelwerte in Bildern (und ähnliche Daten in vielen Signalverarbeitungsaufgaben) können aufgrund der Art des Problems problemlos ausgetauscht oder verschoben werden.
Neil Slater

7

Soweit ich weiß, ist das Problem das Folgende: Bei der Bilderkennung können die Eingaben in Ihr Netzwerk die Pixel sein (Graustufen oder nur 1 und 0 für Schwarzweiß). Wenn Sie beispielsweise handgeschriebene Zahlen erkennen möchten, ist es sehr schwierig, nur mit solchen Werten zu arbeiten, da Sie nie wissen, wo genau die Zahl (dh die schwarzen Werte) sein wird.

Ist Pixel 140 schwarz oder 142 schwarz? In beiden Fällen könnte es durchaus eine Drei sein. Im Beispiel Alter / Gewicht sind diese Eingaben gut definiert. Merkmal 2 ist das Gewicht. Merkmal 3 ist das Alter. Diese "Dimensionen" sollten nicht in Ihren Datensatz "springen".

Also: In Ihrem Bildtraining müssen die "Dreien" oder "Autos" oder "Häuser" unabhängig von ihrer Position im Bild erkannt werden, dh den Pixelwerten, dh dem Merkmal / Eingabevektor, dh den Abmessungen im Gegensatz zu klar definierten Eingaben wie Patientendaten.

Wie lösen Sie das bei der Bilderkennung? Sie verwenden zusätzliche Tricks, z. B. Faltung.


2

Ich habe die vorherigen Antworten gelesen, und Neil Slaters Kommentar zu Emres Beitrag, der unten noch einmal kopiert wurde, trifft den Nagel. "Dimension Hopping" ist ein Begriff, den Dr. Hinton vom Pionier des maschinellen Lernens im Kontext der Sichtweise kreiert hat. Um Dr. Hinton zu zitieren: "Stellen Sie sich also normalerweise vor, die Eingabedimensionen entsprechen Pixeln. Wenn sich ein Objekt in der Welt bewegt und Sie Ihre Augen nicht bewegen, um ihm zu folgen, werden die Informationen über das Objekt auf verschiedenen Pixeln angezeigt." Alter und Gewicht sind Eingabedimensionen, die nicht leicht zu verwechseln sind. Dr. Hinton verwendete diese offensichtlich NICHT wahrscheinliche Dimension-Hopping-Situation von Alter und Gewicht der Patienten, um zu bedeuten, dass wir sicherlich in der Lage wären, Fehler zwischen diesen Datentypen zu erkennen und zu beheben (es ist schwer zu bemerken, dass die meisten Erwachsenen unter 100 Jahre alt und älter sind als 100 Pfund). Das wahrscheinliche Problem des Dimensionssprungs, das Dr. Hinton angesprochen hat, ist, dass Pixel verschoben werden könnten, weil wir einen anderen Blickwinkel haben (z. B. könnte sich das Objekt bewegt haben oder wir betrachten es aus einem anderen Winkel). Lineare neuronale Netze könnten dies nicht erkennen, wohingegen Faltungs-neuronale Netze dies konstruktionsbedingt tun würden.

"Das Altersbeispiel soll einen Datensatz ohne Dimensionssprung hervorheben. Alter und Gewicht" hüpfen "oder tauschen Werte nicht zufällig zwischen Beispielen aus - sie sind nicht austauschbar und das Beispiel zeigt, wie seltsam das wäre (und wie) schwierig würde es einfache Aufgaben wie lineare Regression machen). Pixelwerte in Bildern (und ähnliche Daten in vielen Signalverarbeitungsaufgaben) tauschen sich aufgrund der Art des Problems leicht aus oder bewegen sich leicht. - Neil Slater 29. Mai 16 um 18:01 ""


1

Erklärung direkt aus Hintons Kurs über Neuronale Netze für maschinelles Lernen ...

"Dimensionssprung tritt auf, wenn man die in den Dimensionen einiger Eingaben enthaltenen Informationen zwischen Dimensionen verschieben kann, ohne das Ziel zu ändern . Das kanonische Beispiel ist ein Bild einer handgeschriebenen Ziffer und Übersetzung in das Bild. Die Abmessungen, die "Tinte" enthalten, sind jetzt unterschiedlich (sie wurden in andere Abmessungen verschoben). Die Bezeichnung, die wir der Ziffer zuweisen, hat sich jedoch nicht geändert. Beachten Sie, dass dies nichts ist Das passiert konsistent im gesamten Datensatz, das heißt, wir haben möglicherweise einen Datensatz mit zwei handgeschriebenen Ziffern, wobei eine eine übersetzte Version der anderen ist. Dies ändert jedoch immer noch nichts an der entsprechenden Bezeichnung der Ziffern. "


0

Beim Hoffen geht es nur um Probleme mit einem Teil des Bildes oder der Pixel, die sich innerhalb der Dimension (meistens) und manchmal in ein anderes Dunkel (anderes Empfangsfeld) bewegen, aber die Ausgabe bleibt gleich.

Dieses Problem befasst sich mit Invarianz oder Äquivarianz und scheint ein Beispiel für Gewicht und Alter zu sein. Angenommen, wenn wir uns dieses Gewichts- und Alterssprungs bewusst sind, würden wir leicht Änderungen an der Algo vornehmen und das richtige Ergebnis erzielen. Aber wie beim Daten- / Informationssprung kommt es auch beim Bildsprung vor, wenn wir eine '4' und eine '4' betrachten, die mehrere Pixel nach links verschoben sind, um verschiedene Klassen mit unterschiedlichen Zielen zu sein.

Mit der Übersetzungsinvarianz oder einer besseren Äquivarianz durch Filter ist diese Bewegung oder das Hüpfen kein großes Problem, obwohl sie die Komplexität erhöht und auf Kosten des Wegwerfens von Informationen wie dem Standort führt.

Bitte lassen Sie mich wissen, wenn Sie mehr Klarheit brauchen, werde ich versuchen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.