Als Haftungsausschluss arbeite ich in meiner Forschung an neuronalen Netzen, aber im Allgemeinen verwende ich eher relativ kleine, flache neuronale Netze als die wirklich tiefen Netze, die an der Spitze der Forschung stehen, die Sie in Ihrer Frage zitieren. Ich bin kein Experte für die Macken und Besonderheiten sehr tiefer Netzwerke, und ich werde mich jemandem beugen, der es ist.
Erstens gibt es im Prinzip keinen Grund, warum Sie überhaupt tiefe neuronale Netze benötigen. Ein ausreichend breites neuronales Netzwerk mit nur einer einzigen verborgenen Schicht kann jede (vernünftige) Funktion bei ausreichenden Trainingsdaten approximieren. Es gibt jedoch einige Schwierigkeiten bei der Verwendung eines extrem breiten, flachen Netzwerks. Das Hauptproblem ist, dass diese sehr breiten, flachen Netzwerke sich gut einprägen, aber nicht so gut verallgemeinern lassen . Wenn Sie also das Netzwerk mit jedem möglichen Eingabewert trainieren, kann sich ein Super-Wide-Netzwerk eventuell den gewünschten Ausgabewert merken. Dies ist jedoch nicht sinnvoll, da Sie für eine praktische Anwendung nicht über alle möglichen Eingabewerte verfügen, mit denen Sie trainieren können.
Der Vorteil mehrerer Ebenen besteht darin, dass sie Features auf verschiedenen Abstraktionsebenen lernen können . Wenn Sie zum Beispiel ein tiefes neuronales Faltungsnetzwerk trainieren, um Bilder zu klassifizieren, werden Sie feststellen, dass die erste Ebene sich darauf trainiert, sehr grundlegende Dinge wie Kanten zu erkennen, die nächste Ebene trainiert sich darauf, Sammlungen von Kanten wie Formen zu erkennen, die nächste Die Ebene wird so trainiert, dass sie Ansammlungen von Formen wie Augen oder Nasen erkennt, und die nächste Ebene lernt Features höherer Ordnung wie Gesichter. Die Verallgemeinerung mehrerer Ebenen ist viel besser, da sie alle Zwischenmerkmale zwischen den Rohdaten und der übergeordneten Klassifizierung lernen .
Das erklärt, warum Sie möglicherweise ein tiefes Netzwerk anstelle eines sehr breiten, aber flachen Netzwerks verwenden. Aber warum nicht ein sehr tiefes, sehr weites Netzwerk? Ich denke, die Antwort ist, dass Ihr Netzwerk so klein wie möglich sein soll, um gute Ergebnisse zu erzielen. Wenn Sie das Netzwerk vergrößern, müssen Sie lediglich mehr Parameter einführen, die Ihr Netzwerk lernen muss, und damit die Wahrscheinlichkeit einer Überanpassung erhöhen. Wenn Sie ein sehr weites, sehr tiefes Netzwerk aufbauen, merkt sich jeder Layer, wie die Ausgabe aussehen soll, und es entsteht ein neuronales Netzwerk, das sich nicht auf neue Daten verallgemeinert .
Abgesehen von der Gefahr einer Überanpassung dauert das Training umso länger, je breiter Ihr Netzwerk ist . Tiefe Netzwerke können bereits sehr rechenintensiv sein, sodass ein starker Anreiz besteht, sie breit genug zu machen, damit sie gut funktionieren, aber nicht breiter.