Neuronal Architecture Search verspricht, den Prozess der Suche nach Architekturen für neuronale Netze zu beschleunigen, die gute Modelle für einen bestimmten Datensatz liefern. [...]
Neuronal Architecture Search bedeutet, automatisch eine oder mehrere Architekturen für ein neuronales Netzwerk zu finden, die relativ schnell Modelle mit guten Ergebnissen (geringe Verluste) für einen bestimmten Datensatz liefern. Neuronal Architecture Search ist derzeit ein aufstrebendes Gebiet. Es wird viel geforscht, es gibt viele verschiedene Ansätze für die Aufgabe, und es gibt keine beste Methode im Allgemeinen – oder gar eine beste Methode für ein spezielles Problem wie die Objektidentifizierung in Bildern.
Neuronal Architecture Search ist neben Feature Engineering, Transfer Learning und Hyperparameter-Optimierung ein Aspekt von AutoML. Es handelt sich hierbei vermutlich um das am schwierigsten zu lösende Problem des maschinellen Lernens, an dem derzeit aktiv geforscht wird; selbst die Bewertung von Methoden zur Suche nach neuronalen Architekturen ist schwierig. Die Erforschung neuronaler Architekturen kann außerdem teuer und zeitaufwändig sein. Die Metrik für die Such- und Trainingszeit wird oft in GPU-Tagen angegeben, manchmal in Tausenden von GPU-Tagen.
Die Motivation für die Verbesserung von Neuronal Architecture Search ist ziemlich offensichtlich. Die meisten Fortschritte bei neuronalen Netzmodellen, z. B. bei der Bildklassifizierung und der Sprachübersetzung, erforderten eine beträchtliche manuelle Anpassung der neuronalen Architektur, was zeitaufwändig und fehleranfällig ist. Selbst im Vergleich zu den Kosten von High-End-GPUs in öffentlichen Clouds sind die Kosten für Datenwissenschaftler sehr hoch, und ihre Verfügbarkeit ist tendenziell gering.
Evaluierung der Neuronal Architecture Search
Wie verschiedene Autoren (z. B. Lindauer und Hutter, Yang et al. und Li und Talwalkar) festgestellt haben, sind viele Studien zur Neuronal Architecture Search (NAS) nicht reproduzierbar, und zwar aus verschiedenen Gründen. Darüber hinaus sind viele Suchalgorithmen für neuronale Architekturen entweder nicht besser als die Zufallssuche (mit frühzeitigen Beendigungskriterien) oder wurden nie mit einer nützlichen Basislinie verglichen.
Yang et al. haben gezeigt, dass viele Suchverfahren für neuronale Architekturen nicht in der Lage sind, eine zufällig ausgewählte durchschnittliche Architektur-Baseline signifikant zu übertreffen. (Sie nannten ihre Arbeit „NAS evaluation is frustratingly hard“.) Sie stellten auch ein Repository zur Verfügung, das den Code enthält, der verwendet wurde, um die Suchmethoden für neuronale Architekturen an verschiedenen Datensätzen zu bewerten, sowie den Code, der verwendet wurde, um die Architekturen mit verschiedenen Protokollen zu erweitern.
Lindauer und Hutter haben auf der Grundlage ihres Artikels (auf den ebenfalls oben verwiesen wird) eine Checkliste für NAS Best Practices vorgeschlagen:
Best Practices für die Freigabe von Code
Prüfen Sie bei allen Experimenten, die Sie melden, ob Sie sie freigegeben haben:
- Code für die Trainings-Pipeline, die zur Bewertung der endgültigen Architekturen verwendet wird
- Code für den Suchraum
- Die Hyperparameter, die für die endgültige Evaluierungspipeline verwendet werden, sowie die zufälligen Seeds
- Code für Ihre NAS-Methode
- Hyperparameter für Ihre NAS-Methode, sowie zufällige Seeds
- Beachten Sie, dass es am einfachsten ist, die ersten drei Punkte zu erfüllen, wenn Sie bestehende NAS-Benchmarks verwenden, anstatt sie zu ändern oder neue einzuführen.
Best Practices für den Vergleich von NAS-Methoden
- Haben Sie für alle NAS-Methoden, die Sie vergleichen, genau denselben NAS-Benchmark verwendet, einschließlich desselben Datensatzes (mit derselben Aufteilung von Training und Test), Suchraum und Code für das Training der Architekturen und Hyperparameter für diesen Code?
- Haben Sie Störfaktoren (unterschiedliche Hardware, Versionen von DL-Bibliotheken, unterschiedliche Laufzeiten für die verschiedenen Methoden) kontrolliert?
- Haben Sie Ablationsstudien durchgeführt?
- Haben Sie für die zu vergleichenden Methoden das gleiche Bewertungsprotokoll verwendet?
- Haben Sie die Leistung im Zeitverlauf verglichen?
- Haben Sie mit der Zufallssuche verglichen?
- Haben Sie mehrere Durchläufe Ihrer Experimente durchgeführt und Seeds berichtet?
- Haben Sie tabellarische oder Surrogat-Benchmarks für eingehende Bewertungen verwendet?
Best Practices für die Berichterstattung über wichtige Details
- Haben Sie berichtet, wie Sie die Hyperparameter abgestimmt haben und wie viel Zeit und Ressourcen Sie dafür benötigt haben?
- Haben Sie die Zeit für die gesamte End-to-End-NAS-Methode angegeben (und nicht z. B. nur für die Suchphase)?
- Haben Sie alle Einzelheiten Ihres Versuchsaufbaus angegeben?
Es lohnt sich, den in der zweiten Gruppe von Kriterien erwähnten Begriff „Ablationsstudien“ zu diskutieren. Ablationsstudien beziehen sich ursprünglich auf die chirurgische Entfernung von Körpergewebe. Auf das Gehirn angewandt, dienen Ablationsstudien (die in der Regel durch eine schwere Erkrankung ausgelöst werden, wobei die Untersuchungen nach der Operation durchgeführt werden) dazu, die Funktion von Teilen des Gehirns zu bestimmen.
In der Forschung zu neuronalen Netzen bedeutet Ablation das Entfernen von Merkmalen aus neuronalen Netzen, um deren Bedeutung zu bestimmen. In der NAS-Forschung geht es darum, Merkmale aus der Suchpipeline und den Trainingstechniken zu entfernen, einschließlich versteckter Komponenten, um deren Bedeutung zu ermitteln.
Suchmethoden für neuronale Architekturen
Elsken et al. (2018) haben eine Übersicht über die Neuronal Architecture Search-Methoden erstellt und sie in Bezug auf Suchraum, Suchstrategie und Leistungsschätzungsstrategie kategorisiert. Suchräume können für ganze Architekturen, Schicht für Schicht (Makrosuche) oder auf den Zusammenbau vordefinierter Zellen (Zellsuche) beschränkt sein. Architekturen, die aus Zellen aufgebaut sind, verwenden einen drastisch reduzierten Suchraum; Zoph et al. (2018) schätzen eine 7-fache Beschleunigung.
Zu den Suchstrategien für neuronale Architekturen gehören Zufallssuche, Bayes’sche Optimierung, evolutionäre Methoden, Verstärkungslernen und gradientenbasierte Methoden. Es gibt Anzeichen für den Erfolg all dieser Ansätze, aber keiner hat sich wirklich hervorgetan.
Die einfachste Möglichkeit, die Leistung neuronaler Netze zu bewerten, besteht darin, die Netze anhand von Daten zu trainieren und zu validieren. Leider kann dies zu einem Rechenaufwand in der Größenordnung von Tausenden von GPU-Tagen für die Suche nach neuronalen Architekturen führen. Zu den Möglichkeiten, den Rechenaufwand zu verringern, gehören Schätzungen mit geringerer Genauigkeit (weniger Trainingsepochen, weniger Daten und herunterskalierte Modelle), Extrapolation der Lernkurve (auf der Grundlage einiger weniger Epochen), Warmstarttraining (Initialisierung der Gewichte durch Kopieren von einem übergeordneten Modell) und One-Shot-Modelle mit gemeinsamer Nutzung der Gewichte (die Untergraphen verwenden die Gewichte des One-Shot-Modells). Mit all diesen Methoden kann die Trainingszeit auf einige GPU-Tage statt auf einige Tausend GPU-Tage reduziert werden. Die Verzerrungen, die durch diese Annäherungen entstehen, sind jedoch noch nicht gut bekannt.
Microsofts Projekt Petridish
Microsoft Research behauptet, einen neuen Ansatz für die Neuronal Architecture Search entwickelt zu haben, bei dem Shortcut-Verbindungen zu bestehenden Netzwerkschichten hinzugefügt werden und eine Gewichtsteilung erfolgt. Die hinzugefügten Shortcut-Verbindungen führen effektiv Gradient Boosting auf den erweiterten Schichten durch. Sie nennen dies Projekt Petridish.
Diese Methode soll die Trainingszeit auf einige wenige GPU-Tage anstelle von mehreren Tausend GPU-Tagen reduzieren und unterstützt das Training im Warmstartmodus. Den Forschern zufolge funktioniert die Methode sowohl bei der Zellsuche als auch bei der Makrosuche gut.
Die zitierten experimentellen Ergebnisse waren ziemlich gut für den CIFAR-10 Bilddatensatz, aber nichts Besonderes für den Penn Treebank Sprachdatensatz. Während das Projekt Petridish für sich genommen interessant klingt, ist ohne einen detaillierten Vergleich mit den anderen besprochenen Methoden nicht klar, ob es eine wesentliche Verbesserung für die Neuronal Architecture Search im Vergleich zu den anderen besprochenen Beschleunigungsmethoden darstellt oder nur ein weiterer Weg ist, um zum selben Ziel zu gelangen.
*Martin Heller ist mitwirkender Redakteur und Rezensent bei InfoWorld. Als ehemaliger Berater für Web- und Windows-Programmierung entwickelte er von 1986 bis 2010 Datenbanken, Software und Websites. In jüngster Zeit war er als Vizepräsident für Technologie und Bildung bei Alpha Software sowie als Vorsitzender und CEO bei Tubifi tätig.
Be the first to comment