Welches Modell und wie viele Daten?

Rezepte für die Beantwortung der beiden Fragen, die einen Data Scientist verrückt machen können Das Erstellen von Deep-Learning-Anwendungen in der realen Welt ist ein nie endender Prozess – mit der Auswahl und Verfeinerung der richtigen Elemente einer bestimmten Lösung. Unter diesen Elementen sind die Wahl des richtigen Modells und die richtige Struktur des Trainingsdatensatzes wohl die beiden wichtigsten Entscheidungen, die Datenwissenschaftler treffen müssen, wenn sie Deep-Learning-Lösungen entwerfen. Wie können Sie entscheiden, welches Tiefenlernmodell man für ein bestimmtes Problem verwendet werden soll? Woher wissen wir, ob wir den richtigen Trainingsdatensatz verwenden oder noch mehr Daten erfassen sollten? Diese Fragen sind der gemeinsame Nenner in allen Phasen des Lebenszyklus einer Deep-Learning-Anwendung. Auch wenn es keine magische Antwort auf diese Fragen gibt, gibt es dafür umso mehr Ideen, die Ihren Entscheidungsprozess lenken können. Beginnen wir also mit der Auswahl des richtigen Tiefenlernmodells.

Auswählen des passenden
 Baseline-Modells

Bei der Untersuchung eines Problems der künstlichen Intelligenz (KI) müssen Sie zunächst herausfinden, ob es sich um ein tiefes Lernproblem handelt oder nicht. Viele KI-Szenarien sind mit grundlegenden Algorithmen für maschinelles Lernen perfekt adressierbar. Wenn das Problem jedoch in die Kategorie der „AI-Complete“ -Szenarien fällt, wie z. B. die Sichtanalyse, Sprachübersetzung, natürlicher Sprachprozess oder ähnliche, müssen wir uns überlegen, wie man das richtige Tiefenlernmodell hierbei auswählen kann.

Das richtige Basismodell für ein tiefes Lernproblem zu identifizieren, ist eine komplexe Aufgabe, die in zwei Hauptteile unterteilt werden kann:

I) Wählen Sie den Kernlernalgorithmus.

II) Wählen Sie den passenden Optimierungsalgorithmus aus, der den in Schritt 1 ausgewählten Algorithmus ergänzt.

Die meisten tiefen Lernalgorithmen sind mit der Struktur des Trainingsdatensatzes korreliert. Auch hier gibt es kein Vorzeichen, um den richtigen Algorithmus für ein tiefes Lernproblem auszuwählen. Einige der folgenden Entwurfsrichtlinien sollten jedoch bei der Entscheidung helfen:

a) Wenn der Eingabedatensatz auf Bildern oder ähnlichen topologischen Strukturen basiert, kann das Problem mithilfe von Faltungsneuralnetzwerken (CNNs) gelöst werden (siehe meine vorherigen Artikel über CNNs).

b) Wenn es sich bei der Eingabe um einen Vektor fester Größe handelt, sollten wir überlegen, ein Vorwärtskopplungsnetzwerk mit Inter-Layer-Konnektivität zu verwenden.

c) Wenn die Eingabe sequenziell ist, haben wir ein Problem, das für wiederkehrende oder rekursive neuronale Netzwerke besser geeignet ist.

https://cdn-images-1.medium.com/max/800/1*DCAj3KZOBU03gpc5Yr_0_A.png

Diese Prinzipien gelten meistens für überwachte Algorithmen im Bereich des tiefen Lernens. Es gibt jedoch viele Szenarien im Bereich des tiefen Lernens, die von unbeaufsichtigten Modellen des tiefen Lernens profitieren können. In Szenarien wie der Verarbeitung in natürlicher Sprache oder der Bildanalyse kann die Verwendung von unbeaufsichtigten Lernmodellen eine nützliche Methode sein, um relevante Eigenschaften des Eingabedatensatzes zu ermitteln und entsprechend zu strukturieren.

In Bezug auf den Optimierungsalgorithmus können Sie mit stochastischem Gradientenabstieg (SGD) selten etwas falsch machen. SGD-Variationen, z. B. solche, die Momentum- oder Learning Decay-Modelle verwenden, sind im tiefen Lernraum sehr beliebt. Adam ist wohl die beliebteste Alternative zu SGD-Algorithmen, insbesondere in Kombination mit CNNs.

Nun haben wir eine Idee, wie man den richtigen tiefen Lernalgorithmus für ein bestimmtes Szenario auswählt. Der nächste Schritt ist die Überprüfung der korrekten Struktur des Trainingsdatensatzes. Wir werden das im nächsten Teil dieses Artikels besprechen.

Erfassen des richtigen Trainingsdatensatzes

Die Strukturierung eines geeigneten Schulungsdatensatzes ist ein wesentlicher Aspekt wirksamer Modelle für das tiefe Lernen, der jedoch besonders schwer zu lösen ist. Ein Teil der Herausforderung ergibt sich aus der intrinsischen Beziehung zwischen einem Modell und dem entsprechenden Trainingsdatensatz. Wenn die Leistung eines Modells unter den Erwartungen liegt, ist es oft schwierig zu bestimmen, ob die Ursachen mit dem Modell selbst oder mit der Zusammensetzung des Trainingsdatensatzes zusammenhängen. Es gibt zwar keine Zauberformel für die Erstellung des perfekten Trainingsdatensatzes, es gibt jedoch einige Muster, die helfen können.

Wenn Datenforscher mit einem tiefen Lernmodell mit schlechter Leistung konfrontiert werden, sollten sie entscheiden, ob sich die Optimierungsbemühungen auf das Modell selbst oder auf die Trainingsdaten konzentrieren sollten. In den meisten realen Szenarien ist die Optimierung eines Modells um ein Vielfaches billiger als das Sammeln zusätzlicher sauberer Daten und das Umtrainieren der Algorithmen. Aus dieser Perspektive sollten Datenwissenschaftler sicherstellen, dass das Modell ordnungsgemäß optimiert und reguliert wurde, bevor es in Betracht kommt, zusätzliche Daten zu sammeln.

Normalerweise ist die erste Regel, die zu berücksichtigen ist, wenn ein tiefer lernender Algorithmus unterdurchschnittlich ist, die Bewertung, ob der gesamte Trainingsdatensatz verwendet werden soll oder nicht. Datenwissenschaftler werden oft schockiert sein, wenn sie herausfinden, dass Modelle, die nicht korrekt funktionieren, nur einen Bruchteil der Trainingsdaten verwenden. An diesem Punkt ist es logisch, die Kapazität des Modells (die Anzahl der möglichen Hypothesen, die es formulieren kann) durch Hinzufügen zusätzlicher Schichten und zusätzlicher verborgener Einheiten pro Schicht zu erhöhen. Eine weitere Idee, die in diesem Szenario zu erkunden ist, ist die Optimierung der Hyperparameter des Modells. Wenn keine dieser Ideen funktioniert, ist es vielleicht an der Zeit, weitere Trainingsdaten zu sammeln.

https://cdn-images-1.medium.com/max/800/1*PrSrFtNcvgjbP3H6uKhKlw.png

Das Anreichern eines Schulungsdatensatzes kann in vielen Szenarien aus Kostengründen möglicherweise verboten werden. Um dies zu mildern, sollten Datenwissenschaftler eine Datenverwicklungs-Pipeline implementieren, die ständig neue Datensätze kennzeichnet. semi-beaufsichtigte Lernstrategien können auch dazu beitragen, unbeschriftete Datensätze als Teil des Trainingsdatensatzes zu integrieren.

Die zwingende Frage in Szenarien, in denen immer zusätzliche Trainingsdaten erforderlich sind, lautet: Wie viele Daten? Unter der Annahme, dass die Zusammensetzung des Trainingsdatensatzes bei neuen Datensätzen nicht drastisch variiert, können wir die geeignete Größe des neuen Trainingsdatensatzes schätzen, indem er die Korrelation mit dem Generalisierungsfehler überwacht. Ein Grundprinzip, das in dieser Situation zu befolgen ist, ist die Erhöhung des Trainingsdatensatzes auf logarithmischer Ebene, indem beispielsweise die Anzahl der Instanzen jedes Mal verdoppelt wird. In einigen Fällen können wir den Trainingsdatensatz verbessern, indem Sie einfach Variationen mithilfe von Geräuscherzeugungsmodellen oder Regularisierungstechniken wie das sogenannte Bagging erstellen.

Leave a Comment

Your email address will not be published. Required fields are marked *