Dieser Artikel verdeutlicht die Gruppenstandardisierung in einer grundlegenden Weise. Ich habe diesen Artikel nach dem verfasst, was ich aus Fast.ai und deeplearning.ai gewonnen habe. Ich beginne damit, warum wir sie brauchen, wie sie funktioniert und wie sie in vorbereitete Systeme, z.B. VGG, integriert werden kann.

Aus welchem Grund verwenden wir die Gruppenstandardisierung?

Wir standardisieren die Informationsebene, indem wir die Erlasse modifizieren und skalieren. Wenn wir zum Beispiel Highlights von 0 bis 1 und einige von 1 bis 1000 haben, sollten wir sie standardisieren, um das Lernen zu beschleunigen. Falls die Informationsebene davon profitiert, warum nicht etwas sehr Ähnliches auch für die Qualitäten in den verborgenen Schichten erreichen, die sich ständig ändern, und die Vorbereitungsgeschwindigkeit um ein Vielfaches oder mehr verbessern.

Die Gruppenstandardisierung verringert die Summe um das, um was sich die verborgene Einheit, die Wertschätzung, herumbewegt (Kovarianzbewegung). Um die Kovarianzbewegung zu verdeutlichen, wie wäre es, wenn wir ein tiefgreifendes System zur Erkennung von Katzen hätten. Wir trainieren unsere Informationen nur auf den Bildern von Dunkelkatzen. In diesem Sinne ist es für den Fall, dass wir gegenwärtig versuchen, dieses System auf Informationen mit gefärbten Raubkatzen anzuwenden, selbstverständlich; wir werden keine bewundernswerten Fortschritte erzielen. Der Vorbereitungssatz und der Prognosesatz sind die Bilder der beiden Raubkatzen, doch sie unterscheiden sich ein wenig. Am Ende des Tages, wenn eine Berechnung einige X- zu Y-Kartierungen angepasst hat, und für den Fall, dass sich die Zirkulation von X ändert, müssen wir an diesem Punkt möglicherweise die Lernberechnung neu anpassen, indem wir versuchen, die Verbreitung von X an die Übertragung von Y anzupassen. ( Deeplearning.ai: Aus welchem Grund funktioniert die Bunch-Norm? (C2W3L06))

Darüber hinaus ermöglicht die Klumpenstandardisierung, dass jede Schicht eines Systems ohne den Input anderer etwas freier von verschiedenen Schichten lernen kann.

Wir können höhere Lernraten nutzen, da die Standardisierung von Clustern sicherstellt, dass es keine Betätigung gibt, die wirklich erhöht oder wirklich erniedrigt wird. Dadurch werden auch Dinge, die ohnehin nicht die Möglichkeit hatten, sich vorzubereiten, vorbereitet.

Angesichts der Tatsache, dass es einen leichten Regularisierungseffekt hat, verringert es die Überanpassung. Wie der Abbruch fügt es den Initiationen jeder verhüllten Schicht ein wenig Geschrei hinzu. Auf diese Weise werden wir für den unwahrscheinlichen Fall, dass wir die Klumpenstandardisierung verwenden, weniger Dropout einsetzen, wofür wir angesichts der Tatsache, dass wir nicht viele Daten verlieren werden, dankbar sein sollten. Wie dem auch sei, wir sollten uns bei der Regularisierung nicht nur auf die Gruppenstandardisierung verlassen, sondern sie zusammen mit dem Abbruch besser nutzen.

Wie funktioniert die Gruppenstandardisierung?

Um die Stabilität eines neuronalen Netzwerks zu erhöhen, normalisiert die Chargennormalisierung die Ausgabe einer vorherigen Aktivierungsschicht, indem der Chargenmittelwert subtrahiert und durch die Chargenstandardabweichung geteilt wird.

Wie dem auch sei, nachdem diese Verschiebung/Größe der Verabschiedung durch einige willkürlich instituierte Parameter nachgibt, sind die Lasten in der folgenden Schicht nie wieder ideal. SGD (Stochastischer Winkelabfall) fixiert diese Standardisierung, wenn es ein Weg für sie ist, die Unglücksarbeit zu begrenzen.

Folglich fügt die Batch-Normalisierung jeder Schicht zwei trainierbare Parameter hinzu, so dass die normalisierte Ausgabe mit einem Parameter für die “Standardabweichung” (Gamma) multipliziert und ein Parameter für den “Mittelwert” (Beta) hinzugefügt wird. Am Ende des Tages lässt die Bündelnormalisierung SGD die Denormalisierung durchführen, indem nur diese beiden Lasten für jede Einleitung geändert werden, anstatt die Stärke des Systems zu verlieren, indem jede einzelne der Lasten geändert wird.

Gruppenstandardisierung und vorbereitete Systeme wie VGG:

In der VGG gibt es keine Cluster-Standardschicht, da es vor der VGG keine Gruppenstandardisierung gab. Für den unwahrscheinlichen Fall, dass wir sie von Anfang an mit ihr trainieren, wird das vorbereitete Gewicht von der Standardisierung der Aktionen profitieren. Die Einbeziehung einer Cluster-Standardschicht verbessert ImageNet also wirklich, was cool ist. Man kann es zu dicken Schichten hinzufügen, und darüber hinaus zu Faltungsschichten.

Für den Fall, dass wir eine Gruppennorm in ein vorbereitetes System einbetten, wird sie die vorbereiteten Belastungen verändern, da sie den Mittelwert und die Lücke um die Standardabweichung für die Ausführungsebenen subtrahiert, und das brauchen wir nicht zu tun, da diese vorbereiteten Belastungen gleichwertig bleiben müssen. Was wir in diesem Sinne tun müssen, ist, eine Gruppenstandardschicht einzubetten und Gamma und Beta sinnvoll einzusetzen, um die Änderung der Erträge zu fixieren.

Um alles zu verdichten, können Sie die Bündelstandardisierung als Vorverarbeitung auf jeder Ebene des Systems betrachten.