Was bedeutet "Freiheitsgrad" in neuronalen Netzen?


17

In Bishops Buch "Pattern Classification and Machine Learning" beschreibt es eine Technik zur Regularisierung im Kontext neuronaler Netze. Ich verstehe jedoch keinen Absatz, der beschreibt, dass während des Trainings die Anzahl der Freiheitsgrade mit der Komplexität des Modells zunimmt. Das relevante Zitat ist das folgende:

Eine Alternative zur Regularisierung zur Kontrolle der effektiven Komplexität eines Netzwerks ist das Verfahren des frühen Stopps. Das Training nichtlinearer Netzwerkmodelle entspricht einer iterativen Reduzierung der Fehlerfunktion, die in Bezug auf einen Satz von Trainingsdaten definiert ist. Für viele der für das Netzwerktraining verwendeten Optimierungsalgorithmen, z. B. konjugierte Gradienten, ist der Fehler eine nicht zunehmende Funktion des Iterationsindex. Der in Bezug auf unabhängige Daten gemessene Fehler, der allgemein als Validierungssatz bezeichnet wird, zeigt jedoch häufig zuerst eine Abnahme, gefolgt von einer Zunahme, wenn das Netzwerk zu überanpassen beginnt. Das Training kann daher an der Stelle des kleinsten Fehlers in Bezug auf den Validierungsdatensatz gestoppt werden, wie in Abbildung 5.12 angegeben, um ein Netzwerk mit einer guten Generalisierungsleistung zu erhalten.Das Verhalten des Netzwerks in diesem Fall wird manchmal qualitativ durch die effektive Anzahl von Freiheitsgraden im Netzwerk erklärt, in denen diese Anzahl klein beginnt und dann während des Trainingsprozesses zunimmt, was einer stetigen Zunahme der effektiven Anzahl entspricht Komplexität des Modells.

Es heißt auch, dass die Anzahl der Parameter im Laufe des Trainings zunimmt. Ich ging davon aus, dass es sich bei "Parametern" um die Anzahl der Gewichte handelt, die von den verborgenen Einheiten des Netzwerks gesteuert werden. Vielleicht irre ich mich, weil durch den Regularisierungsprozess verhindert wird, dass die Gewichte an Größe zunehmen, aber ihre Anzahl ändert sich nicht. Könnte es sich um das Auffinden einer guten Anzahl versteckter Einheiten handeln?

Was ist ein Freiheitsgrad in einem neuronalen Netzwerk? Welche Parameter erhöhen sich während des Trainings?


1
Nomenklatur. Ein Parameter ist ein einzelnes Gewicht. Steigende Anzahl von Parametern bedeutet, dass die Anzahl von "Neuronen" oder "Verbindungen zwischen Neuronen" zunimmt. Dies bedeutet, dass die Topologie nicht konstant ist.
EngrStudent

Vielen Dank! Aber warum erhöht das Training dann die Anzahl der Gewichte?
Robert Smith

Es gibt tatsächlich Trainingsalgorithmen, die die Struktur eines neuronalen Netzwerks während des Trainings manipulieren (Cascade Correlation, NEAT, ...). Sie erhöhen in der Regel ständig die Anzahl der Gewichte. Aber ich glaube nicht, dass Bischof das in seinem Buch erwähnt.
Alfa

@alfa Interessant. Ich habe das ganze Buch noch nicht gelesen, daher weiß ich nicht, ob diese Art von Algorithmen erwähnt wird. Ich glaube jedoch nicht, dass es sich in diesem Abschnitt des Buches auf sie bezieht.
Robert Smith

Antworten:


12

Ich vermute, das ist was Bischof meint:

Wenn Sie sich ein neuronales Netz als eine Funktion vorstellen, die Eingaben auf eine Ausgabe abbildet, sieht das neuronale Netz beim ersten Initialisieren eines neuronalen Netzes mit kleinen Zufallsgewichten wie eine lineare Funktion aus. Die Sigmoid-Aktivierungsfunktion ist nahezu linear um Null (machen Sie einfach eine Taylor-Erweiterung), und kleine eingehende Gewichte garantieren, dass die effektive Domäne jeder versteckten Einheit nur ein kleines Intervall um Null ist, also das gesamte neuronale Netz, unabhängig davon, wie viele Ebenen, die Sie haben, sehen sehr nach einer linearen Funktion aus. Sie können das neuronale Netz also heuristisch als ein Netz mit einer kleinen Anzahl von Freiheitsgraden beschreiben (die der Dimension der Eingabe entsprechen). Wenn Sie das neuronale Netz trainieren, können die Gewichte beliebig groß werden, und das neuronale Netz kann beliebige nichtlineare Funktionen besser approximieren. So wie das Training fortschreitet,


Vielen Dank für Ihre Antwort. Ich habe den relevanten Teil des Buches als Zitat hinzugefügt, damit Sie den Kontext sehen können. Ich bin mir jedoch nicht sicher, ob dies Ihren Vorschlag bestätigt.
Robert Smith

Ja, das bestätigt, was ich dachte, Bischof meinte.
Marc Shivers

Wenn Sie ein paar Mal Ihre Antwort lesen, denke ich, dass mit dem Fortschreiten des Trainings und dem Beginn der Überanpassung des Modells die Anzahl der Funktionen, die das Modell approximieren kann, tatsächlich reduziert wird, da es sehr gute Punkte aus den Trainingsdaten annähert, aber die Vorhersagen gewonnen haben. ' Dies ist nicht gut, da keine Verallgemeinerung möglich ist, um andere Punkte oder ähnliche Datensätze anzupassen.
Robert Smith

4

Der Ausdruck "manchmal qualitativ erklärt" legt nahe, dass er lediglich eine Analogie zur einfachen linearen Regression darstellt. Jedes Mal, wenn wir einem linearen Regressionsmodell einen Term hinzufügen, fügen wir dem Modell einen Freiheitsgrad hinzu und subtrahieren einen Freiheitsgrad von denjenigen, die mit dem Fehlerterm assoziiert sind. Wenn wir genügend unabhängige Begriffe in ein Modell aufnehmen, können wir den Verlauf aus einer Reihe von Zufallszahlen perfekt "vorhersagen", aber wir können die Zukunft überhaupt nicht vorhersagen.


3

pp. Für kompliziertere Modelle (Sie werden als Regressionsbäume betrachtet) bietet die Möglichkeit, einen zusätzlichen Knoten hinzuzufügen, mehr Flexibilität, da das CART-Modell eine gute Variable zum Teilen und einen guten Aufteilungspunkt sucht. Das ist weit mehr als das, was das Hinzufügen eines Regressors zu einem linearen Modell bewirken kann, und Sie haben festgestellt, dass die Regressionsbäume ungefähr 3,5-4 dfs pro Knoten verbrauchen. Neuronale Netze können irgendwo dazwischen liegen, aber die Freiheitsgrade sind sicherlich viel größer als die Anzahl der Einheiten und können größer als die Anzahl der Gewichte sein.

Ich denke, dass etwas Ähnliches von HTF Sec bereitgestellt wurde . 7.6 , obwohl sie sich überraschenderweise nicht auf Ye (1998) beziehen. Sie bezeichnen Bischof jedoch als Sonderfall.


1
Vielen Dank. Das scheint ungefähr richtig zu sein, aber was ist mit der Beziehung zum Training eines neuronalen Netzwerks? Ich habe in "Die Elemente des statistischen Lernens" auf Seite 96 ( docs.google.com/… ) einen Ausdruck gefunden, der Freiheitsgrade und Kovarianz betrifft , und ich kann sehen, warum mehr Training die Fehlerfunktion reduzieren und infolgedessen Kovarianz und Kovarianz erhöhen würde Freiheitsgrade. Ich verstehe jedoch nicht, warum diese Gleichung (3.60 im Buch) gilt.
Robert Smith

Übrigens scheint es auch ein bisschen anders zu sein als die Definition von (verallgemeinerten) Freiheitsgraden, über die Ye gesprochen hat.
Robert Smith

1
Ich denke, Sie können diese Kovarianz als eine grobe Version des Derivats betrachten ... oder umgekehrt: Das Derivat, definiert als die Grenze, während die Größe des Schritts auf Null geht, kann als das Ziel von betrachtet werden diese Kovarianz als Varianz der Störung geht gegen Null. Gleichung (3.60) muss nicht gelten, es ist eine Definition , es gibt also nichts zu halten. Was gilt , ist die Gleichwertigkeit mit der Standarddefinition von dfs für die linearen Modelle, die auf der nächsten Seite kurz erwähnt wird, und das ist einfach die lineare Algebra von linearen Modellen. Ye (1998) muss auch darüber reden.
StasK

3

Er sagt die "effektive Komplexität des Netzwerks". Er bezieht sich tatsächlich auf die Größe der Gewichte des Netzwerks. Dies kann im Hinblick auf das Prinzip der minimalen Beschreibungslänge verstanden werden . Aber bevor ich darauf eingehe, ist die Intuition, dass je größer die Gewichte, desto mehr verschiedene Arten von Funktionen in Ihr Netzwerk passen und somit die Freiheitsgrade (und die effektive Komplexität) höher sind.

In diesem Kapitel geht es um Regularisierung, eine Technik, mit der das Risiko einer Überanpassung effektiv verringert wird, indem die Gewichte so klein wie möglich gehalten werden. Allgemein,

p(D|w)=np(tn|xn,w)=nexp(β2[tn-y(xn,w)]2)/ZD(β)
wZD(β)

p(w)=exp(-α||w||22)/ZW(α)
argmaxwp(w|D)

p(w|D)=p(D|w)p(w)
Zw

argMindestwnβ2[tn-y(xn,w)]2+α2ichwich2

Im Allgemeinen haben Sie, dass die MAP-Schätzung äquivalent zu den folgenden ist,

wMEINP=argminw-lÖG2P(D|w)-lÖG2(w)

Die rechte Seite des Ausdrucks kann als die Anzahl der Bits interpretiert werden, die zur Beschreibung Ihres Klassifikators erforderlich sind. Der erste Term gibt die Anzahl der Bits an, die erforderlich sind, um die Fehler zu codieren, die Ihr Netzwerk bei den Trainingsdaten macht. Die zweite Zahl gibt die Anzahl der Bits an, die zum Codieren der Gewichte erforderlich sind.

Die MAP-Schätzung entspricht somit der Auswahl einer möglichst kompakten Darstellung. Mit anderen Worten, Sie suchen nach dem Gewichtungssatz, der die Trainingsdaten so genau wie möglich berücksichtigt und der mit der geringsten Anzahl von Bits ausgedrückt werden kann.

Beachten Sie, dass dies eine andere Form des Bias / Varianz-Problems ist: Je größer die Gewichte, desto geringer der erste Term, da das Netzwerk die Trainingsdaten besser anpassen kann (Überanpassung). Gleichzeitig ist aber die Komplexität der Gewichte umso höher. Je kleiner die Gewichte sind, desto kleiner ist die Komplexität des Netzwerks, aber desto höher ist der Fehlerterm (Bias). Je höher die Anzahl der Bits, um die Fehler des Netzwerks zu codieren.

Hoffe, das gibt Ihnen eine gute Vorstellung davon, worauf er sich bezieht.

PS: Ein längeres Argument zur laufenden Diskussion hinzufügen Vielleicht verstehe ich dich falsch. Lassen Sie mich bitte versuchen, mich ein letztes Mal zu erklären.

Die Prioritäten für die Gewichtsmittel stellen die Annahme dar, die wir über die Funktion machen, die Sie anpassen möchten. Je größer der Prior (dh die Gewichte), desto breiter der Gauß'sche Wert, dh desto mehr mögliche Konfigurationen werden für das Netzwerk in Betracht gezogen.

Betrachten wir den Fall der Regression (wie in dem Artikel, auf den ich mich bezog). Ein geringer Generalisierungsfehler bedeutet, dass das Netzwerk unsichtbare Samples sehr nahe an den tatsächlichen Werten abbilden kann. Wenn Sie eine gerade Linie einpassen, genügt ein Polynom erster Ordnung (geringe Komplexität). Jetzt können Sie die Daten auch mit einem Polynom höherer Ordnung anpassen (Koeffizienten höherer Ordnung müssen sich von Null unterscheiden). Die Komplexität des Netzwerks ist höher, da Sie für eine komplexere Kurve Oszillationen zulassen. Wenn die Koeffizienten, die den Termen höherer Ordnung entsprechen, jedoch niedrig genug sind, kann das Netzwerk die Gerade sehr gut approximieren, was zu einer guten Verallgemeinerung führt.

Der springende Punkt bei MDL ist es also, Ihre Gewichte so klein wie möglich zu halten, solange der Generalisierungsfehler minimiert werden kann.

Abschließend zitiere ich Sie: "Ich finde das Argument, dass die Fähigkeit des Modells, andere Funktionen zu modellieren, mit zunehmender Überanpassung zunehmen wird, immer noch problematisch. Ich denke, dass das Gegenteil der Fall ist, da ein überanpassendes Modell nicht verallgemeinert werden kann, um auf neues Modell angewendet zu werden Information.". Ja, es kann ANDERE, komplexere Funktionen modellieren, aber es wird die vorliegende Funktion nicht richtig modellieren. In der Abbildung 5.12 im Buch nimmt der Fehler zuerst ab, wenn die Größe des Gewichts zunimmt (Verringerung der Verzerrung). Bis zu einem bestimmten Zeitpunkt, an dem es wieder zunimmt (Abnahme der Generalisierung, Überanpassung).


1
Vielen Dank. Dies ähnelt der Idee von Marc, ich störe jedoch immer noch das Argument, dass mit zunehmender Überanpassung des Modells dessen Fähigkeit zur Modellierung anderer Funktionen zunehmen wird. Ich denke, das ist genau das Gegenteil, denn ein Modell, das überpasst, kann nicht verallgemeinert werden, um auf neue Informationen angewendet zu werden.
Robert Smith

1
Robert, ich glaube, das ist ein Missverständnis dessen, was Generalisierungsfehler im Vergleich zur Komplexität des Netzwerks bedeuten, dh der Fähigkeit, komplexere Funktionen zu modellieren. Es gibt eine Reihe von Artikeln , die die verschiedenen Begriffe beschreiben, wie z . B. cbcl.mit.edu/projects/cbcl/publications/ps/… .
jpmuc

Ich glaube nicht, dass es Verwirrung gibt, wenn der Begriff "Komplexität" verwendet wird, denn wenn Sie eine Reihe von Gewichten mit verrückten Werten haben, macht dies das Modell sehr komplex und Sie können es sofort an der resultierenden Darstellung erkennen. Andererseits erfordert die Verwaltung einer Vielzahl von Funktionen ein Modell, das in der Lage ist, die Daten, die durch Vermeidung einer Überanpassung erhalten werden können, gut zu verallgemeinern.
Robert Smith
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.