Neural Architecture Search (NAS) ist eine Technik zur Automatisierung des Entwurfs künstlicher neuronaler Netze (ANN), eines weit verbreiteten Modells im Bereich des maschinellen Lernens. NAS wurde verwendet, um Netze zu entwerfen, die mit handentworfenen Architekturen gleichwertig oder besser sind. Methoden für NAS können nach dem Suchraum, der Suchstrategie und der verwendeten Leistungsbewertungsstrategie kategorisiert werden. Der Suchraum definiert die Typen von ANNs, die entworfen und optimiert werden können; die Suchstrategie definiert den Ansatz zur Erkundung des Suchraums; und die Leistungsbewertungsstrategie bewertet die Leistung eines möglichen ANNs anhand seines Entwurfs, ohne es zu konstruieren und zu trainieren. NAS ist eng mit Hyperparameteroptimierung und Meta-Lernen verwandt und ist ein Teilgebiet des automatisierten maschinellen Lernens (AutoML).
Reinforcement Learning
Reinforcement Learning (RL) kann eine NAS-Suchstrategie untermauern. Barret Zoph und Quoc Viet Le wandten NAS mit RL auf den CIFAR-10-Datensatz an und erreichten eine Netzwerkarchitektur, die mit der besten manuell entworfenen Architektur hinsichtlich der Genauigkeit konkurriert, mit einer Fehlerrate von 3,65, 0,09 Prozent besser und 1,05-mal schneller als ein verwandtes handentworfenes Modell. Auf dem Penn-Treebank-Datensatz komponierte dieses Modell eine rekurrente Zelle, die LSTM übertrifft, und erreichte eine Test-Perplexität von 62,4, also 3,6 Perplexität besser als das bisher führende System. Bei der PTB-Zeichensprachmodellierungsaufgabe erreichte es 1,214 Bits pro Zeichen.
Das direkte Lernen einer Modellarchitektur auf einem großen Datensatz kann ein langwieriger Prozess sein. NASNet adressierte dieses Problem, indem es einen Baustein, der für einen kleinen Datensatz entworfen wurde, auf einen größeren Datensatz übertrug. Der Entwurf war darauf beschränkt, zwei Arten von Faltungszellen zu verwenden, um Feature-Maps zurückzugeben, die zwei Hauptfunktionen beim Falten einer Eingabe-Feature-Map erfüllen: normale Zellen, die Maps gleicher Ausdehnung (Höhe und Breite) zurückgeben, und Reduktionszellen, bei denen die Höhe und Breite der zurückgegebenen Feature-Map um den Faktor zwei reduziert wird. Für die Reduktionszelle verwendet die anfängliche Operation, die auf die Eingaben der Zelle angewendet wird, einen Schritt von zwei, um Höhe und Breite zu reduzieren. Der gelernte Aspekt des Entwurfs umfasste Elemente wie welche unteren Schichten jede höhere Schicht als Eingabe nahm, die Transformationen, die auf dieser Schicht angewendet wurden, und wie mehrere Ausgaben auf jeder Schicht zusammengeführt wurden. Im untersuchten Beispiel wurde die beste Faltungsschicht (oder "Zelle") für den CIFAR-10-Datensatz entworfen und dann auf den ImageNet-Datensatz angewendet, indem Kopien dieser Zelle gestapelt wurden, jede mit ihren eigenen Parametern. Der Ansatz erzielte eine Genauigkeit von 82,7% Top-1 und 96,2% Top-5. Dies übertraf die besten von Menschen erfundenen Architekturen bei Kosten von 9 Milliarden weniger FLOPS, einer Reduktion von 28%. Das System übertraf weiterhin die manuell entworfene Alternative bei verschiedenen Berechnungsstufen. Die aus der Bildklassifikation gelernten Bildmerkmale können auf andere Computer-Vision-Probleme übertragen werden. Für die Objekterkennung verbesserten die gelernten Zellen, integriert in das Faster-RCNN-Framework, die Leistung um 4,0% auf dem COCO-Datensatz.
Bei der sogenannten Efficient Neural Architecture Search (ENAS) entdeckt ein Controller Architekturen, indem er lernt, einen optimalen Teilgraphen innerhalb eines großen Graphen zu suchen. Der Controller wird mit Policy Gradient trainiert, um einen Teilgraphen auszuwählen, der die erwartete Belohnung des Validierungssatzes maximiert. Das Modell, das dem Teilgraphen entspricht, wird trainiert, um einen kanonischen Kreuzentropieverlust zu minimieren. Mehrere Kindmodelle teilen Parameter, sodass ENAS weniger GPU-Stunden als andere Ansätze und 1000-mal weniger als "standardmäßige" NAS benötigt. Auf CIFAR-10 erreichte das ENAS-Design einen Testfehler von 2,89%, vergleichbar mit NASNet. Auf Penn Treebank erreichte das ENAS-Design eine Test-Perplexität von 55,8.
Evolution
Ein alternativer Ansatz für NAS basiert auf evolutionären Algorithmen, der von mehreren Gruppen verwendet wurde. Ein evolutionärer Algorithmus für Neural Architecture Search führt im Allgemeinen das folgende Verfahren durch. Zuerst wird ein Pool aus verschiedenen Kandidatenarchitekturen zusammen mit ihren Validierungswerten (Fitness) initialisiert. Bei jedem Schritt werden die Architekturen im Kandidatenpool mutiert (z. B. 3x3-Faltung statt 5x5-Faltung). Als Nächstes werden die neuen Architekturen von Grund auf für einige Epochen trainiert und ihre Validierungswerte erhalten. Danach werden die am schlechtesten bewerteten Architekturen im Kandidatenpool durch die besseren, neueren Architekturen ersetzt. Dieses Verfahren wird mehrfach wiederholt, und so wird der Kandidatenpool im Laufe der Zeit verfeinert. Mutationen im Kontext der Evolution von ANNs sind Operationen wie das Hinzufügen oder Entfernen einer Schicht, einschließlich der Änderung des Typs einer Schicht (z. B. von Faltung zu Pooling), der Änderung der Hyperparameter einer Schicht oder der Änderung der Trainingshyperparameter. Auf CIFAR-10 und ImageNet schnitten Evolution und RL vergleichbar ab, während beide leicht besser als Zufallssuche waren.
Bayesianische Optimierung
Bayesianische Optimierung (BO), die sich als effiziente Methode zur Hyperparameteroptimierung erwiesen hat, kann auch auf NAS angewendet werden. In diesem Kontext bildet die Zielfunktion eine Architektur auf ihren Validierungsfehler ab, nachdem sie für eine Anzahl von Epochen trainiert wurde. Bei jeder Iteration verwendet BO einen Surrogat, um diese Zielfunktion basierend auf zuvor erhaltenen Architekturen und ihren Validierungsfehlern zu modellieren. Man wählt dann die nächste zu bewertende Architektur, indem man eine Akquisitionsfunktion wie die erwartete Verbesserung maximiert, die ein Gleichgewicht zwischen Exploration und Exploitation bietet. Die Maximierung der Akquisitionsfunktion und die Bewertung der Zielfunktion sind für NAS oft rechenintensiv und machen die Anwendung von BO in diesem Kontext herausfordernd. Kürzlich hat BANANAS vielversprechende Ergebnisse in dieser Richtung erzielt, indem es eine leistungsstarke Instanziierung von BO in Verbindung mit einem neuronalen Prädiktor einführte.
Hill-Climbing
Eine andere Gruppe verwendete ein Hill-Climbing-Verfahren, das Netzwerkmorphismen anwendet, gefolgt von kurzen Cosine-Annealing-Optimierungsläufen. Der Ansatz erzielte wettbewerbsfähige Ergebnisse und erforderte Ressourcen in derselben Größenordnung wie das Training eines einzelnen Netzwerks. Zum Beispiel entwarf und trainierte die Methode auf CIFAR-10 ein Netzwerk mit einer Fehlerrate unter 5% in 12 Stunden auf einer einzelnen GPU.
Multi-Objective-Suche
Während sich die meisten Ansätze ausschließlich auf die Suche nach Architekturen mit maximaler Vorhersageleistung konzentrieren, sind für die meisten praktischen Anwendungen andere Ziele relevant, wie Speicherverbrauch, Modellgröße oder Inferenzzeit (d. h. die Zeit, die benötigt wird, um eine Vorhersage zu erhalten). Aus diesem Grund haben Forscher eine Multi-Objective-Suche entwickelt. LEMONADE ist ein evolutionärer Algorithmus, der Lamarckismus übernahm, um mehrere Ziele effizient zu optimieren. In jeder Generation werden Kindnetzwerke erzeugt, um die Pareto-Front in Bezug auf die aktuelle Population von ANNs zu verbessern. Neural Architect wird als ressourcenbewusste multi-objective RL-basierte NAS mit Netzwerk-Embedding und Leistungsvorhersage beansprucht. Netzwerk-Embedding kodiert ein vorhandenes Netzwerk in einen trainierbaren Embedding-Vektor, der verwendet werden kann, um die Leistung vorherzusagen und die Suche auf Architekturen zu lenken, die Genauigkeit und Ressourcenbeschränkungen ausbalancieren.
Herausforderungen und zukünftige Richtungen
NAS bleibt trotz Fortschritten wie ENAS und Gewichtsteilung rechenintensiv. Das Design des Suchraums beeinflusst die Ergebnisse stark, und die Bewertung von Architekturen erfordert oft erhebliche Rechenleistung. Neuere Arbeiten haben differenzierbare NAS untersucht, bei der die Suche in ein kontinuierliches Optimierungsproblem relaxiert wird, sowie prädiktorbasierte Methoden, die lernen, die Leistung ohne vollständiges Training zu schätzen. Ab Mitte der 2020er Jahre entwickelt sich NAS weiter, mit Anwendungen in Deep learning-Modellen, einschließlich Transformer (architecture)-basierter Architekturen, und der Integration in automatisierte Pipelines für maschinelles Lernen. Forscher an Institutionen wie Google DeepMind, OpenAI und Stanford AI Lab haben zur Weiterentwicklung von NAS-Methoden beigetragen, obwohl viele praktische Bereitstellungen aufgrund von Kosten und Komplexität weiterhin auf handentworfene Netzwerke angewiesen sind.
Beziehung zu anderen Feldern
NAS ist eng mit Hyperparameteroptimierung und Meta-Learning verbunden, da es darauf abzielt, einen Teil des Modellentwurfsprozesses zu automatisieren. Es überschneidet sich auch mit Neural network-Theorie und Machine learning-Praxis. Die in NAS verwendeten Techniken, wie Reinforcement Learning und evolutionäre Algorithmen, stammen aus der breiteren Artificial intelligence-Forschung. Leistungsbewertungsstrategien nutzen oft Weight Initialization- und Batch Normalization-Techniken, um die Trainingszeit während der Suche zu reduzieren. Das ultimative Ziel von NAS ist es, den menschlichen Aufwand zu reduzieren, der erforderlich ist, um effektive Neural network-Architekturen zu entwerfen, und möglicherweise Nicht-Experten zu ermöglichen, hochleistungsfähige Modelle für spezifische Aufgaben zu erstellen.
Fazit
Neural Architecture Search stellt einen bedeutenden Schritt zur Automatisierung des Entwurfs neuronaler Netze dar. Durch die Nutzung von Reinforcement Learning, evolutionären Algorithmen, Bayesianischer Optimierung und anderen Strategien kann NAS Architekturen entdecken, die mit menschlich entworfenen konkurrieren oder sie übertreffen. Rechenkosten und Suchraumkomplexität bleiben jedoch zentrale Herausforderungen. Mit verbesserten Methoden wird NAS wahrscheinlich eine zunehmend wichtige Rolle bei der Entwicklung effizienter und leistungsfähiger Deep learning-Modelle in verschiedenen Bereichen spielen.