Wie wählen wir die Kernelgröße je nach Problem?

8

Das Finden geeigneter Hyperparameter für ein neuronales Netzwerk ist offensichtlich eine komplexe Aufgabe und ein Problem oder domänenspezifisch. Es sollte jedoch mindestens einige "Regeln" geben, die für die Größe des Filters (oder Kernels) meistens gelten!

In den meisten Fällen sollte die Intuition darin bestehen, kleine Filter zur Erkennung von Hochfrequenzmerkmalen und große Kernel für Niederfrequenzmerkmale zu verwenden, oder? Zum Beispiel,3×3 Kernelfilter für Kantenerkennung, Farbkontrast usw. und möglicherweise 11×11 zum Erkennen voller Objekte, wenn die Objekte eine Fläche von ungefähr einnehmen 11×11 Pixel.

Ist diese "Intuition" mehr oder weniger allgemein wahr? Wie können wir entscheiden, welche Kernelgrößen für ein bestimmtes Problem oder sogar für eine bestimmte Faltungsschicht ausgewählt werden sollen?

daniel451
quelle

Antworten:

2

Schauen Sie sich diesen Artikel an . Es bietet Tools, mit denen Sie verstehen können, was Ihre Filter gelernt haben, und die zeigen, was Sie als Nächstes tun können, um Ihre Hyperparameter zu optimieren. Lesen Sie auch neuere Artikel, in denen interpretiert werden soll, was NN gelernt hat.

Robin
quelle
1

Ein Schlüssel zur Antwort ist die Frage "Auch für eine bestimmte Conv-Schicht". Es ist keine gute Idee, tiefe Faltungsnetzwerke unter der Annahme aufzubauen, dass eine einzelne Kernelgröße am besten für alle Schichten gilt. Bei der Durchsicht der Konfigurationen, die sich in Veröffentlichungen als erfolgreich erwiesen haben, wird deutlich, dass Konfigurationen, die sich durch ihre Schichten unterscheiden, häufiger als optimal befunden werden.

Der andere Schlüssel ist zu verstehen, dass zwei Schichten von 11x11-Kerneln eine Reichweite von 21x21 und zehn Schichten von 5x5-Kerneln eine Reichweite von 41x41 haben. Eine Zuordnung von einer Abstraktionsebene zur nächsten muss nicht in einer Ebene durchgeführt werden.

Es gibt allgemeine Hinweise zu Kernelgrößen, diese sind jedoch Funktionen der typischen Eingabeeigenschaften, der gewünschten Ausgabe des Netzwerks, der verfügbaren Rechenressourcen, der Auflösung, der Größe des Datensatzes und der Frage, ob es sich um Standbilder oder Filme handelt.

Betrachten Sie hinsichtlich der Eingabeeigenschaften den folgenden Fall: Die Bilder werden mit einer großen Schärfentiefe unter schlechten Lichtbedingungen aufgenommen, z. B. in Sicherheitsszenarien, sodass die Blende des Objektivs weit geöffnet ist und Objekte in bestimmten Entfernungsbereichen außerhalb der Reichweite liegen Fokus, oder es kann Bewegungsunschärfe geben.

Unter solchen Bedingungen erkennt ein einzelner 3x3-Kernel nicht viele Kanten. Wenn die Kante fünf Pixel umfassen kann, besteht die Wahl, wie viele Ebenen für ihre Erkennung vorgesehen sind. Welche Faktoren diese Auswahl beeinflussen, hängt davon ab, welche anderen Merkmale in den Eingabedaten vorhanden sind.

Erwarten Sie, dass mit der Entwicklung der Beschleunigungshardware (in VLSI-Chips, die für diesen Zweck vorgesehen sind) die Einschränkungen der Rechenressourcen als Faktor bei der Auswahl der Kernelgröße an Priorität verlieren. Gegenwärtig ist die Rechenzeit erheblich und zwingt die Entscheidung, wie die Anzahl der Schichten und die Schichtgröße ausgeglichen werden sollen, hauptsächlich zu den Kosten.

Diese Frage wirft eine andere Frage auf. Kann ein Aufsichtsmaschinenlerner lernen, wie die Konfiguration von Deep-Convolution-Netzwerken automatisch ausgeglichen wird? Es könnte dann erneut ausgeführt werden, wenn zusätzliche Rechenressourcen bereitgestellt werden. Es wäre überraschend, wenn nicht mindestens ein Dutzend Labors genau an dieser Funktion arbeiten würden.

Douglas Daseeco
quelle