Hohe Argumentation für tiefes Lernen

Hallo Freunde. Das heutige Material ist dem Start der nächsten Gruppe von Gruppen in den Grund- und Fortgeschrittenenkursen „Mathematik für Datenwissenschaften“ gewidmet.




Heute werden wir einige Gedanken zu Deep-Learning-Methoden ansprechen. Wir beginnen mit einer Überprüfung der Vorlagenmethoden für die Anwendung von Deep Learning im wissenschaftlichen Umfeld und werden dann kurz auf den End-to-End-Entwurfsprozess sowie kurz auf die Merkmale alternativer Methoden des maschinellen Lernens eingehen, die sich als vielversprechender für die Lösung spezifischer Probleme herausstellen können.

Science Deep Learning-Vorlagen


Wie werden Deep-Learning-Methoden typischerweise in der wissenschaftlichen Gemeinschaft eingesetzt? Auf hoher Ebene können Sie mehrere Vorlagenmethoden formulieren, mit denen Deep Learning für die folgenden Aufgaben verwendet werden kann:

  1. Vorhersagen. , – (). . , , , , . , « / ». – , , . , ( ) (, ), .
  2. . , , . . , . , , , . , . , .
  3. . , (, , , ), . , , , , .

Workflow


Anhand der oben genannten Deep Learning-Anwendungsvorlagen werden wir den Workflow zum Entwerfen eines Deep Learning-Systems von Anfang bis Ende untersuchen. In Abbildung 1 sehen Sie, wie ein typischer Deep-Learning-Workflow aussieht.


Abbildung 1: Diagramm eines typischen Deep-Learning-Workflows.

Ein typischer Entwicklungsprozess für Deep-Learning-Anwendungen besteht aus drei Hauptschritten: (i) dem Datenverarbeitungsschritt, (ii) der Trainingskomponente, (iii) Validierung und Analyse. Jede dieser Stufen umfasst mehrere Stufen und damit verbundene Methoden, die auch in der Abbildung dargestellt sind. In dieser Übersicht werden die meisten Methoden der Schulungsphase sowie verschiedene Validierungs- und Datenanalysetechniken behandelt. Bitte beachten Sie, dass während die natürliche Sequenz zuerst die Verarbeitung der Daten, dann das Training und schließlich die Validierung umfasst, der Standardentwicklungsprozess wahrscheinlich zu mehreren Iterationen von Stufen führt, dh die Methode oder Auswahl, die in einer bestimmten Stufe getroffen wird, wird überprüft basierend auf den Ergebnissen eines späteren Stadiums.

Nachdem Sie ein Prognoseproblem ausgewählt haben, das Sie interessiert, können Sie über drei Phasen des Entwurfs und der Verwendung eines Deep-Learning-Systems nachdenken: (i) die Datenverarbeitungsphase, z. B. Sammeln, Beschriften, Vorverarbeiten, Visualisieren usw., (ii) die Schulungsphase, z. B. Auswählen eines Modells Neuronales Netz, Definition von Aufgaben und Methoden zum Trainieren des Modells, (iii) Phase der Validierung und Analyse, in der auf der Grundlage der erhaltenen Daten eine Bewertung der Wirksamkeit durchgeführt wird, sowie Analyse und Interpretation versteckter Darstellungen und ablative Studien allgemeiner Methoden.

Natürlich folgen diese drei Stufen aufeinander. Sehr oft ist der erste Versuch, ein Deep-Learning-System zu schaffen, jedoch erfolglos. Um die Probleme zu lösen, ist es wichtig, sich an den iterativen Charakter des Entwurfsprozesses zu erinnern, bei dem die Ergebnisse der verschiedenen Phasen als Grundlage für eine Überprüfung der Architektur und die erneute Ausführung anderer Phasen dienen.

In Abbildung 1 sind Beispiele für gängige Iterationen mit bilateralen Verbindungspfeilen dargestellt: (i) Pfeil Iterieren (1) , was der Iteration in der Prozessdatenerfassung entspricht, da nach dem Datenvisualisierungsprozess möglicherweise Leyblinga-Rohdaten angepasst werden müssen, da das Ergebnis ebenfalls angepasst wurde laut oder nicht erfasst das gewünschte Ziel; (ii) Pfeil iterieren (2)Dies entspricht Iterationen im Lernprozess, beispielsweise wenn ein anderes Ziel oder eine andere Methode besser geeignet ist oder wenn der Lernprozess in mehrere Phasen unterteilt werden muss, wobei zunächst eine Selbstüberwachung durchgeführt und dann mit dem Lehrer trainiert wird. (iii) den Iterationspfeil (3) , der für die Änderung der Datenverarbeitungsschritte basierend auf den Ergebnissen der Trainingsphase verantwortlich ist; (iv) Pfeil iterieren (4)ist dafür verantwortlich, die Architektur des Lernprozesses basierend auf den in der Validierungsphase erzielten Ergebnissen zu ändern, um die Trainingszeit zu verkürzen oder ein einfacheres Modell zu verwenden; (v) Der Iterationspfeil (5) ist eine Anpassung der Datenverarbeitungsschritte basierend auf den Validierungs- / Analyseergebnissen, beispielsweise wenn das Modell auf falschen Datenattributen beruht und die Daten erneut gesammelt werden müssen, um dies zu vermeiden.

Forschungsschwerpunkt und Nomenklatur


In diesem Abschnitt werden wir auf die vielen Methoden eingehen, die in der Trainingsphase verwendet werden, sowie auf einige Methoden, die für die Datenverarbeitungs- und Validierungsphasen typisch sind (z. B. Erweiterung, Interpretierbarkeit und Analyse von Darstellungen).

In der Trainingsphase berücksichtigen wir beliebte Modelle, Aufgaben und Methoden. Unter Modellen (die manchmal auch als Architektur bezeichnet werden) verstehen wir die Struktur des neuronalen Netzwerks des tiefen Lernens - die Anzahl der Schichten, ihren Typ, die Anzahl der Neuronen usw. Beispielsweise werden bei der Klassifizierung von Bildern Bilder eingegeben, und die Wahrscheinlichkeitsverteilung über die (diskrete) Menge verschiedener Kategorien (oder Klassen) wird eingegeben. Mit Methoden ist die Art des Trainings gemeint, mit dem das System trainiert wird. Beispielsweise ist das Lernen mit einem Lehrer ein beliebter Lernprozess, wenn ein neuronales Netzwerk markierte Daten empfängt, wobei Beschriftungen Beobachtungen anzeigen.

Im Gegensatz zu verschiedenen Modellen und Aufgaben können Methoden Teilmengen anderer Methoden sein. Zum Beispiel Selbstüberwachung- Dies ist eine Methode, bei der ein neuronales Netzwerk auf Dateninstanzen und Beschriftungen trainiert wird, wobei Beschriftungen automatisch auf Dateninstanzen erstellt werden. Diese Methode kann auch Lehrmethoden mit einem Lehrer zugeordnet werden. Das klingt etwas verwirrend! Zu diesem Zeitpunkt reicht es jedoch aus, zumindest ein allgemeines Verständnis für Modelle, Probleme und Methoden zu haben.

Deep Learning nutzen oder nicht?


Bevor Sie sich mit den verschiedenen Methoden des Deep Learning befassen, ist es wichtig, das Problem zu formulieren und zu verstehen, ob Deep Learning die richtigen Werkzeuge zur Lösung bietet. Leistungsstarke Grundmodelle neuronaler Netze bieten viele komplexe Funktionen, wie z. B. komplexe Bildtransformationen. In vielen Fällen ist Deep Learning jedoch möglicherweise nicht der beste erste Schritt oder nicht zur Lösung des Problems geeignet. Im Folgenden werden kurz die gängigsten Methoden des maschinellen Lernens vorgestellt, insbesondere in wissenschaftlichen Kontexten.

Dimensionsreduzierung und Clustering. In der wissenschaftlichen Gemeinschaft besteht das ultimative Ziel der Datenanalyse darin, die grundlegenden Mechanismen zu verstehen, die Muster in den Daten erzeugen. Wenn das Ziel so ist, sind Dimensionsreduzierung und Clustering einfache, aber äußerst effektive Methoden, um verborgene Dateneigenschaften aufzudecken. Sie erweisen sich häufig als nützlich für die Recherche und Visualisierung von Daten (auch wenn später komplexere Methoden verwendet werden).

Dimensionsreduzierung.Dimensionsreduktionsmethoden sind linear, dh sie basieren auf linearen Transformationen, um die Datendimension zu reduzieren, oder nichtlinear, dh sie reduzieren die Dimension unter ungefährer Beibehaltung der nichtlinearen Datenstruktur. Beliebte lineare Methoden zur Reduzierung der Dimensionalität sind die Hauptkomponentenmethode und die nicht negative Matrixzerlegung, während nichtlineare Methoden die stochastische Einbettung von Nachbarn mit t-Verteilung und UMAP sind. Viele Dimensionsreduktionsmethoden haben bereits Qualitätsimplementierungen in Paketen wie scikit-learn oder auf github (z. B. github.com/oreillymedia/t-SNE-tutorial oder github.com/lmcinnes/umap ).

Clustering. Clustering-Techniken, die häufig in Verbindung mit der Dimensionsreduktion verwendet werden, bieten eine leistungsstarke Möglichkeit, Ähnlichkeiten und Unterschiede in einem Datensatz zu identifizieren. Üblicherweise werden Methoden verwendet, wie die k-Mittelwert-Methode (häufig eine modifizierte k-Mittelwert-Methode), ein Mischungsmodell aus Gaußschen Verteilungen, hierarchischer Clusterbildung und spektraler Clusterbildung. Wie Dimensionsreduktionsmethoden haben Clustering-Methoden gute Implementierungen in Paketen wie Scikit-Learn .

Lineare Regression, logistische Regression (und Variationen). Die vielleicht grundlegendsten Methoden zur Lösung des Problems des Unterrichts mit einem Lehrer, wie Klassifizierung und Regression, lineare und logistische Regression und deren Variationen (z. B. Lasso- und Ridge-Regression), können besonders nützlich sein, wenn nur begrenzte Daten und eine klare Reihe von (möglicherweise vorverarbeiteten) Merkmalen vorliegen (zum Beispiel in Form von Tabellendaten). Diese Methoden ermöglichen es auch, die Angemessenheit der Formulierung des Problems zu bewerten, und können ein guter Ausgangspunkt für die Überprüfung einer vereinfachten Version des zu lösenden Problems sein. Aufgrund seiner Einfachheit sind lineare und logistische Regressionen sehr gut interpretierbar und bieten einfache Möglichkeiten zur Attributzuweisung.

Entscheidungsbäume, Random Forest und Gradient Boosting. Andere beliebte Methodenklassen sind Entscheidungsbäume, Random Forest und Gradient Boosting. Diese Methoden können auch in Verbindung mit Regressions- / Klassifizierungsproblemen eingesetzt werden und eignen sich gut zur Modellierung nichtlinearer Beziehungen zwischen Eingabe und Ausgabe. Die zufällige Gesamtstruktur, die Teil des Ensembles von Entscheidungsbäumen ist, kann unter Bedingungen, bei denen die Daten ein niedriges Signal-Rausch-Verhältnis aufweisen, häufig Deep-Learning-Methoden vorgezogen werden. Diese Methoden sind möglicherweise weniger interpretierbar als die lineare / logistische Regression. In einer kürzlich erschienenen Arbeit haben wir uns jedoch mit in der Entwicklung befindlichen Softwarebibliotheken befasst , die dieses Problem lösen.

Andere Methoden und Ressourcen. Alle oben genannten Methoden sowie viele andere gängige Methoden wie grafische Modelle, Gaußsche Prozesse und Bayes'sche Optimierung werden im Kurs für maschinelles Lernen der Universität von Toronto oder in Stanford CS229 ausführlich in ausführlichen Artikeln auf thematascience.com und in interaktiven Tutorials wie d2l.ai erläutert /index.html (genannt Dive into Deep Learning) und unter github.com/rasbt/python-machine-learning-book2nd-edition .



Welche Aufgaben löst ein Datenwissenschaftler? Welche Abschnitte der Mathematik und für welche Aufgaben müssen Sie wissen? Was sind die Anforderungen an Datenwissenschaftler? Welche mathematischen Kenntnisse sind erforderlich, um sich von der Masse abzuheben und den beruflichen Fortschritt zu sichern ? Antworten auf all diese Fragen erhalten Sie nicht nur in unserem kostenlosen Webinar , das am 6. Mai stattfinden wird. Beeilen Sie sich, um sich anzumelden !



All Articles