Kapazität ist ein informeller Begriff. Es ist sehr nah (wenn nicht ein Synonym) für die Komplexität des Modells. Auf diese Weise können Sie darüber sprechen, wie kompliziert ein Muster oder eine Beziehung ein Modell ausdrücken kann. Sie können erwarten, dass ein Modell mit höherer Kapazität mehr Beziehungen zwischen mehr Variablen modellieren kann als ein Modell mit niedrigerer Kapazität.
Wenn Sie eine Analogie aus der umgangssprachlichen Definition von Kapazität ziehen, können Sie sich diese als die Fähigkeit eines Modells vorstellen, aus immer mehr Daten zu lernen, bis diese vollständig mit Informationen "gefüllt" sind.
Es gibt verschiedene Möglichkeiten, die Kapazität zu formalisieren und einen numerischen Wert dafür zu berechnen. Wichtig ist jedoch, dass dies nur einige mögliche "Operationalisierungen" der Kapazität sind (ähnlich wie wenn Sie eine Formel zur Berechnung der Schönheit finden würden, würden Sie dies erkennen Die Formel ist nur eine fehlbare Interpretation von Schönheit.
Die VC-Dimension ist eine mathematisch strenge Formulierung der Kapazität. Es kann jedoch eine große Lücke zwischen der VC-Dimension eines Modells und der tatsächlichen Fähigkeit des Modells bestehen, die Daten anzupassen. Obwohl die Kenntnis des VC-Dim eine Grenze für den Generalisierungsfehler des Modells darstellt, ist dies normalerweise zu locker, um mit neuronalen Netzen nützlich zu sein.
Eine andere Forschungsrichtung , die hier zu sehen ist, besteht darin, die Spektralnorm der Gewichtsmatrizen in einem neuronalen Netzwerk als Maß für die Kapazität zu verwenden. Ein Weg, dies zu verstehen, besteht darin, dass die Spektralnorm die Lipschitz-Konstante des Netzwerks begrenzt.
Die gebräuchlichste Methode zur Schätzung der Kapazität eines Modells besteht darin, die Anzahl der Parameter zu zählen. Je mehr Parameter vorhanden sind, desto höher ist im Allgemeinen die Kapazität. Natürlich lernt ein kleineres Netzwerk oft, komplexere Daten besser zu modellieren als ein größeres Netzwerk, daher ist diese Maßnahme auch alles andere als perfekt.
Eine andere Möglichkeit, die Kapazität zu messen, besteht darin, Ihr Modell mit zufälligen Beschriftungen zu trainieren ( Neyshabur et al. ). Wenn sich Ihr Netzwerk eine Reihe von Eingaben zusammen mit zufälligen Beschriftungen korrekt merken kann, zeigt dies im Wesentlichen, dass das Modell in der Lage ist, sich alle diese zu merken Datenpunkte einzeln. Je mehr Eingabe / Ausgabe-Paare "gelernt" werden können, desto höher ist die Kapazität.
Wenn Sie dies an einen Auto-Encoder anpassen, können Sie zufällige Eingaben generieren, das Netzwerk trainieren, um sie zu rekonstruieren, und dann zählen, wie viele zufällige Eingaben Sie mit weniger als Fehlern erfolgreich rekonstruieren können .ϵ