Mindmap-Galerie traditionelles neuronales Netzwerk
Überprüfen Sie einige Wissenspunkte traditioneller neuronaler Netze für maschinelles Lernen, einschließlich nichtlinearer Aktivierungsfunktionen, des Konzepts des Gradienten, des Konzepts der linearen Regression, Anwendungsszenarien und Einschränkungen der linearen Regression, der Struktur neuronaler Netze usw.
Bearbeitet um 2022-11-23 09:35:21Welche Preismethoden gibt es für Projektunteraufträge im Rahmen des EPC-Generalvertragsmodells? EPC (Engineering, Procurement, Construction) bedeutet, dass der Generalunternehmer für den gesamten Prozess der Planung, Beschaffung, Konstruktion und Installation des Projekts verantwortlich ist und für die Testbetriebsdienste verantwortlich ist.
Die Wissenspunkte, die Java-Ingenieure in jeder Phase beherrschen müssen, werden ausführlich vorgestellt und das Wissen ist umfassend. Ich hoffe, es kann für alle hilfreich sein.
Das Software-Anforderungs-Engineering ist ein Schlüsselkapitel für Systemanalytiker. Zu den Kapiteln „Anforderungserhebung“ und „Anforderungsanalyse“ gehören häufig Veröffentlichungen.
Welche Preismethoden gibt es für Projektunteraufträge im Rahmen des EPC-Generalvertragsmodells? EPC (Engineering, Procurement, Construction) bedeutet, dass der Generalunternehmer für den gesamten Prozess der Planung, Beschaffung, Konstruktion und Installation des Projekts verantwortlich ist und für die Testbetriebsdienste verantwortlich ist.
Die Wissenspunkte, die Java-Ingenieure in jeder Phase beherrschen müssen, werden ausführlich vorgestellt und das Wissen ist umfassend. Ich hoffe, es kann für alle hilfreich sein.
Das Software-Anforderungs-Engineering ist ein Schlüsselkapitel für Systemanalytiker. Zu den Kapiteln „Anforderungserhebung“ und „Anforderungsanalyse“ gehören häufig Veröffentlichungen.
traditionelles neuronales Netzwerk
nichtlineare Aktivierungsfunktion
Sigmoid
Vorteil
Komprimieren Sie Eingabemerkmalswerte in einem weiten Bereich auf Werte zwischen 0 und 1, sodass die Datenamplitude in tiefen Netzwerken ohne größere Änderungen beibehalten werden kann
Im physikalischen Sinne den biologischen Neuronen am nächsten
Abhängig von ihrem Ausgabebereich eignet sich diese Funktion für Modelle, die vorhergesagte Wahrscheinlichkeiten als Ausgabe haben
Mangel
Wenn die Eingabe sehr groß oder sehr klein ist, ist die Ausgabe grundsätzlich konstant, dh die Änderung ist sehr gering, was dazu führt, dass der Gradient nahe bei 0 liegt.
Gradienten können vorzeitig verschwinden, was zu einer langsameren Konvergenz führt
Exponentielle Operationen sind relativ zeitaufwändig
Die Ausgabe ist nicht 0-Mittelwert, was dazu führt, dass die Neuronen in der nächsten Schicht das von der vorherigen Schicht ausgegebene Signal, das nicht 0-Mittelwert ist, als Eingabe erhalten. Mit der Vertiefung des Netzwerks ändert sich der Verteilungstrend der Originaldaten.
tanh
Vorteil
Lösen Sie das Problem, dass die Ausgabe der obigen Sigmoid-Funktion nicht den Mittelwert 0 hat
Die Ableitung der Tanh-Funktion reicht von 0 bis 1, was besser ist als die 0 bis 0,25 der Sigmoidfunktion, wodurch das Problem verschwindender Gradienten bis zu einem gewissen Grad gemildert wird.
Die Tanh-Funktion ähnelt der y=x-Funktion in der Nähe des Ursprungs. Wenn der Eingabeaktivierungswert niedrig ist, können Matrixoperationen direkt ausgeführt werden und das Training ist relativ einfach.
Mangel
Ähnlich wie bei der Sigmoid-Funktion besteht weiterhin das Problem des verschwindenden Gradienten
Beobachten Sie die beiden Ausdrucksformen 2*sigmoid(2x)-1 und (exp(x)-exp(-x))/(exp(x) exp(-x)). Der Leistungsbetrieb ist weiterhin vorhanden
ReLU
Im Vergleich zur Sigmoidfunktion und der Tanh-Funktion weist die Relu-Funktion bei positiver Eingabe kein Sättigungsproblem auf, wodurch das Problem des Verschwindens des Gradienten gelöst und das tiefe Netzwerk trainierbar wird.
Die Berechnungsgeschwindigkeit ist sehr hoch. Sie müssen lediglich feststellen, ob die Eingabe größer als der Wert 0 ist
Die Konvergenzgeschwindigkeit ist viel schneller als bei Sigmoid- und Tanh-Funktionen
Die Relu-Ausgabe führt dazu, dass einige Neuronen einen Wert von 0 haben, was nicht nur zu Netzwerksparsität führt, sondern auch die Korrelation zwischen Parametern verringert, was das Problem der Überanpassung bis zu einem gewissen Grad lindert.
Mangel
Die Ausgabe der Relu-Funktion ist keine Funktion mit 0 als Mittelwert.
Es liegt ein Dead Relu-Problem vor, das heißt, einige Neuronen werden möglicherweise nie aktiviert, was dazu führt, dass die entsprechenden Parameter nie aktualisiert werden. Zu den Hauptgründen für dieses Problem gehören Probleme bei der Parameterinitialisierung und zu große Lernrateneinstellungen.
Wenn die Eingabe ein positiver Wert und die Ableitung 1 ist, verschwindet der Gradient in der „Kettenreaktion“ nicht, aber die Stärke des Gradientenabfalls hängt vollständig vom Produkt der Gewichte ab, was zum Problem der Gradientenexplosion führen kann
Undichte ReLU
Vorteil
Als Reaktion auf das Dead-Relu-Problem, das in der Relu-Funktion existiert, verleiht die Leaky-Relu-Funktion dem Eingabewert eine sehr kleine Steigung, wenn die Eingabe ein negativer Wert ist. Auf der Grundlage der Lösung des 0-Gradientenproblems im Fall einer negativen Eingabe. Es wird auch das Dead Relu-Problem gut gelindert
Die Ausgabe dieser Funktion reicht von negativer Unendlichkeit bis positiver Unendlichkeit, das heißt, Leaky erweitert den Bereich der Relu-Funktion, wobei der Wert von α im Allgemeinen auf einen kleineren Wert eingestellt wird, beispielsweise 0,01
Mangel
Theoretisch hat diese Funktion bessere Auswirkungen als die Relu-Funktion, aber eine große Menge an Praxis hat gezeigt, dass ihre Wirkung instabil ist, sodass es in der Praxis nicht viele Anwendungen dieser Funktion gibt.
Inkonsistente Ergebnisse aufgrund unterschiedlicher Funktionen, die in unterschiedlichen Intervallen angewendet werden, führen dazu, dass keine konsistenten Beziehungsvorhersagen für positive und negative Eingabewerte bereitgestellt werden können.
Das Konzept des Gradienten
Die ursprüngliche Bedeutung des Gradienten ist ein Vektor (Vektor), was bedeutet, dass die Richtungsableitung einer bestimmten Funktion an diesem Punkt entlang dieser Richtung den Maximalwert erreicht, dh die Funktion ändert sich entlang dieser Richtung (der Richtung dieses Gradienten) am schnellsten. Zu diesem Zeitpunkt ist die Änderung am größten (Modul des Gradienten).
Das Konzept der linearen Regression
Lineare Beziehung zur Beschreibung der Zuordnungsbeziehung von der Eingabe zur Ausgabe
Anwendungsszenarien der linearen Regression
Netzwerkanalyse, Risikoanalyse, Aktienkursvorhersage, Wettervorhersage
Einschränkungen der linearen Regression
Die lineare Regression kann die Segmentierung linear verteilter Daten klar beschreiben, ist jedoch bei der Beschreibung nichtlinear verteilter Daten schwach.
Die Struktur des neuronalen Netzwerks
Eingabeschicht
Aktivierungswert
Mittelschicht
Ausgabeschicht
Gewicht: bezieht sich auf die enge Beziehung zu einem Neuron in der Eingabeschicht. Je enger die Verbindung, desto größer der Wert.
Aktivierungswert: Der Aktivierungswert der Ausgabeschicht wird berechnet. Die einfache Berechnung besteht darin, den Aktivierungswert der Eingabeschicht mit dem Gewicht zu multiplizieren.
Offset: Machen Sie sich über diesen Parameter vorerst keine Sorgen
„Parallel“- und „Serien“-Verbindung von Neuronen
Hier stellt m die Breite der n-ten Schicht des neuronalen Netzwerks dar und n ist die Tiefe des aktuellen neuronalen Netzwerks.
Von der ersten Schicht des neuronalen Netzwerks bis zur endgültigen Ausgabe wird der Wert jedes Neurons durch den Neuronenwert der vorherigen Schicht, die Neuronenparameter W, b und die Anregungsfunktion bestimmt. Die Gleichung des k-ten Neurons im n -te Schicht kann durch die Formel ausgedrückt werden:
Verlustfunktion-Verlust
Einer der wichtigsten Faktoren, die die Deep-Learning-Leistung beeinflussen. Es ist die Außenwelt, die auf die Nerven einwirkt Direkte Anleitung für das Netzwerkmodelltraining
Eine geeignete Verlustfunktion kann die Konvergenz des Deep-Learning-Modells sicherstellen
Der Entwurf einer geeigneten Verlustfunktion ist einer der Hauptinhalte der Forschungsarbeit
Softmax-Funktionsdefinition und ihre Vorteile
normalisierte Exponentialfunktion
Konvertieren Sie Vorhersageergebnisse in nichtnegative Zahlen
Der erste Schritt von Softmax besteht darin, die Vorhersageergebnisse des Modells in eine Exponentialfunktion umzuwandeln und so sicherzustellen, dass die Wahrscheinlichkeit nicht negativ ist.
Die Summe der Wahrscheinlichkeiten verschiedener vorhergesagter Ergebnisse ist gleich 1
Die Methode besteht darin, die konvertierten Ergebnisse durch die Summe aller konvertierten Ergebnisse zu dividieren, was als Prozentsatz der konvertierten Ergebnisse an der Gesamtsumme verstanden werden kann. Dies ergibt ungefähre Wahrscheinlichkeiten.
Definition der Kreuzentropiefunktion und ihrer Vorteile
Warum es als Verlustfunktion verwendet werden kann
Kreuzentropie kann als Verlustfunktion in neuronalen Netzen verwendet werden (maschinelles Lernen). p stellt die Verteilung realer Etiketten dar, und q ist die vorhergesagte Etikettenverteilung des trainierten Modells. Die Kreuzentropieverlustfunktion kann die Ähnlichkeit zwischen p und q messen .
Ein weiterer Vorteil der Kreuzentropie als Verlustfunktion besteht darin, dass durch die Verwendung der Sigmoidfunktion während des Gradientenabstiegs das Problem einer verringerten Lernrate der mittleren quadratischen Fehlerverlustfunktion vermieden werden kann, da die Lernrate durch den Ausgabefehler gesteuert werden kann.
Betrachten Sie p(i) als die reale Wahrscheinlichkeitsverteilung und q(i) als die vorhergesagte Wahrscheinlichkeitsverteilung. Wenn wir die Kreuzentropie als Verlustfunktion verwenden, können wir q(i) schrittweise an p(i) heranführen. Der Zweck der Anpassung wird erreicht.
,
Regressionsproblem mit Zielintervall [0, 1] und Generierung
anpassen
Nehmen Sie Gefallen an einem bestimmten Attribut
Nehmen Sie bestimmte vorhergesagte Werte einzeln heraus oder weisen Sie Parameter unterschiedlicher Größe zu
Mehrere Verluste zusammenführen
Trainingsaufgaben mit mehreren Zielen, Festlegung angemessener Verlustkombinationsmethoden (verschiedene Operationen)
Fusion neuronaler Netzwerke
Verschiedene Verluste neuronaler Netzwerke werden kombiniert und der gemeinsame Verlust wird zum Trainieren und Führen des Netzwerks verwendet.
Lernrate
Je größer der Wert, desto schneller ist die Konvergenzgeschwindigkeit.
Kleiner numerischer Wert, hohe Konvergenzgenauigkeit
So wählen Sie eine geeignete Lernrate
Fest
Fest, also eine feste Lernrate, ist die einfachste Konfiguration und erfordert nur einen Parameter.
Die Lernrate bleibt während des gesamten Optimierungsprozesses unverändert. Dies ist eine sehr selten verwendete Strategie, da die Lernrate bei Annäherung an den globalen optimalen Punkt immer kleiner werden sollte, um ein Überspringen des optimalen Punkts zu vermeiden.
Schritt
Verwenden Sie eine einheitliche Reduzierungsmethode. Beispielsweise beträgt jede Reduzierung das 0,1-fache des ursprünglichen Werts.
Dies ist eine sehr häufig verwendete Lernraten-Iterationsstrategie. Jedes Mal, wenn die Lernrate auf ein bestimmtes Vielfaches des Originals reduziert wird, handelt es sich um eine diskontinuierliche Transformation. Sie ist einfach anzuwenden und führt normalerweise zu guten Ergebnissen.
Adagrad
adaptive Lernrate
Aus dem AdaGrad-Algorithmus ist ersichtlich, dass r mit der weiteren Iteration des Algorithmus immer größer wird und die Gesamtlernrate immer kleiner wird. Daher beginnt der AdaGrad-Algorithmus im Allgemeinen mit der Anreizkonvergenz und geht dann langsam in die Strafkonvergenz über, und die Geschwindigkeit wird immer langsamer.
RMSprop
Der RMSProp-Algorithmus akkumuliert nicht gewaltsam und direkt quadratische Gradienten wie der AdaGrad-Algorithmus, sondern fügt einen Dämpfungskoeffizienten hinzu, um zu steuern, wie viele historische Informationen erhalten werden.
Vereinfacht ausgedrückt wird nach dem Festlegen der globalen Lernrate für jeden Durchgang die globale Lernrate Parameter für Parameter durch die Quadratwurzel der Quadratsumme der historischen Gradienten dividiert, die durch den Dämpfungskoeffizienten gesteuert werden, sodass die Lernrate jedes einzelnen Parameters erhalten wird Parameter ist unterschiedlich.
Der Effekt besteht darin, dass in der flacheren Richtung des Parameterraums größere Fortschritte gemacht werden (da er flacher ist, ist die Summe der Quadrate der historischen Gradienten kleiner, was einem geringeren Lernabfall entspricht) und die steilere Richtung möglich ist flüssiger, wodurch das Training beschleunigt wird
Schwung
Folgen Sie der ermittelten Optimierungsrichtung. Es ist nicht erforderlich, die Richtung neu zu finden, sondern nur eine Feinabstimmung vorzunehmen.
Was ist der Unterschied zwischen der Nutzung von Momentum und der direkten Steigerung der Lernrate?
Die Richtung ist anders und die Suche ist genauer.
Überanpassung
Überanpassung wird auch als Überlernen bezeichnet. Die intuitive Manifestation besteht darin, dass der Algorithmus beim Trainingssatz gut funktioniert, beim Testsatz jedoch nicht, was zu einer schlechten Generalisierungsleistung führt.
Überanpassung wird dadurch verursacht, dass die Trainingsdaten während des Modellparameteranpassungsprozesses Stichprobenfehler enthalten und das komplexe Modell auch die Stichprobenfehler während des Trainings anpasst. Der sogenannte Stichprobenfehler bezieht sich auf die Abweichung zwischen dem durch Stichprobenziehung gewonnenen Stichprobensatz und dem Gesamtdatensatz.
Das Modell selbst ist so komplex, dass es zum Rauschen im Trainingsbeispielsatz passt. Zu diesem Zeitpunkt müssen Sie ein einfacheres Modell auswählen oder das Modell zuschneiden
Die Trainingsstichproben sind zu gering oder es mangelt ihnen an Repräsentativität. Zu diesem Zeitpunkt ist es notwendig, die Anzahl der Proben zu erhöhen oder die Probenvielfalt zu erhöhen
Die Interferenz des Trainingsmusterrauschens führt dazu, dass das Modell an diese Geräusche angepasst wird. In diesem Fall ist es notwendig, die verrauschten Daten zu eliminieren oder auf ein Modell umzusteigen, das nicht empfindlich auf Rauschen reagiert.
Lösung
Ausfallen
Der Unterschied zwischen Dropout und Pooling
Unterthema
Während der Vorwärtsausbreitung lassen wir zu, dass der Aktivierungswert eines bestimmten Neurons mit einer bestimmten Wahrscheinlichkeit p nicht mehr funktioniert, was das Modell verallgemeinerbarer machen kann, da es sich nicht zu sehr auf bestimmte lokale Merkmale verlässt.
Regulierung
Welche Auswirkung hat die Regularisierung auf den Parameter w?
Was ist Gewichtsverlust und wie hängt er mit der Regularisierung zusammen?
Der Zweck der L2-Regularisierung besteht darin, das Gewicht auf einen kleineren Wert abzuschwächen und das Problem der Modellüberanpassung bis zu einem gewissen Grad zu reduzieren. Daher wird die Gewichtsabschwächung auch als L2-Regularisierung bezeichnet.
Feinabstimmung
Die meisten Parameter müssen nicht aktualisiert werden und die tatsächlichen Parameter werden stark reduziert.
Frieren Sie einen Teil der Faltungsschichten des vorab trainierten Modells ein (normalerweise die Mehrheit der Faltungsschichten in der Nähe der Eingabe, da diese Schichten viele zugrunde liegende Informationen behalten) oder frieren Sie sogar alle Netzwerkschichten ein und trainieren Sie die verbleibenden Faltungsschichten (normalerweise). die Teile nahe der Ausgabefaltungsschicht) und die vollständig verbundene Schicht.
Das Prinzip der Feinabstimmung besteht darin, die bekannte Netzwerkstruktur und die bekannten Netzwerkparameter zu verwenden, die Ausgabeschicht in unsere eigene Schicht zu ändern und die Parameter mehrerer Schichten vor der letzten Schicht zu optimieren, wodurch die leistungsstarken Generalisierungsfähigkeiten von Deep effektiv genutzt werden Feinabstimmungsmöglichkeiten für neuronale Netze und die Notwendigkeit, komplexe Modelle zu entwerfen und zeitaufwändiges Training durchzuführen, machen die Feinabstimmung besser geeignet, wenn die Datenmenge nicht ausreicht.
Bedeutung
Stehen Sie auf den Schultern von Giganten: Es besteht eine hohe Wahrscheinlichkeit, dass das von Ihren Vorgängern trainierte Modell stärker ist als das Modell, das Sie von Grund auf neu erfinden.
Der Trainingsaufwand kann sehr niedrig sein: Wenn Sie die Methode der Ableitung von Merkmalsvektoren für das Transferlernen verwenden, sind die späteren Trainingskosten sehr gering, die CPU wird nicht belastet und es kann ohne eine Deep-Learning-Maschine durchgeführt werden.
Geeignet für kleine Datensätze: In Situationen, in denen der Datensatz selbst klein ist (Tausende Bilder), ist es unrealistisch, ein großes neuronales Netzwerk mit mehreren zehn Millionen Parametern von Grund auf zu trainieren, denn je größer das Modell, desto größer das Datenvolumen Anforderungen lässt sich eine Überanpassung nicht vermeiden. Wenn Sie derzeit weiterhin die Super-Feature-Extraktionsfähigkeiten großer neuronaler Netze nutzen möchten, können Sie sich nur auf Transferlernen verlassen.
Migrationsmodell
Beim Transferlernen werden, wie der Name schon sagt, die Parameter eines trainierten Modells (vorab trainiertes Modell) auf ein neues Modell übertragen, um das neue Modell beim Trainieren zu unterstützen. Da die meisten Daten oder Aufgaben zusammenhängen, können wir durch Transferlernen die erlernten Modellparameter (die auch als vom Modell erlerntes Wissen verstanden werden können) auf irgendeine Weise an das neue Modell weitergeben, um den Prozess zu optimieren und die Lerneffizienz zu optimieren Die Umsetzung des Modells erfordert kein Lernen von Grund auf, wie dies bei den meisten Netzwerken der Fall ist.