"Warum lernen wir nicht einfach die Hyperparameter?"
Das ist eine gute Frage! Ich werde versuchen, eine allgemeinere Antwort zu geben. Die TL; DR- Antwort lautet, dass Sie definitiv Hyperparameter lernen können, nur nicht aus denselben Daten. Lesen Sie weiter für eine etwas detailliertere Antwort.
Ein Hyperparameter entspricht normalerweise einer Einstellung des Lernalgorithmus und nicht einem seiner Parameter. Im Zusammenhang mit Deep Learning wird dies beispielsweise durch den Unterschied zwischen der Anzahl der Neuronen in einer bestimmten Schicht (einem Hyperparameter) und dem Gewicht einer bestimmten Kante (einem regulären, lernbaren Parameter) veranschaulicht .
Warum gibt es überhaupt einen Unterschied? Der typische Fall, um einen Parameter zu einem Hyperparameter zu machen, besteht darin, dass es einfach nicht angebracht ist, diesen Parameter aus dem Trainingssatz zu lernen. Da es beispielsweise immer einfacher ist, den Trainingsfehler durch Hinzufügen von mehr Neuronen zu verringern, würde die Festlegung der Anzahl der Neuronen in einer Schicht zu einem regulären Parameter immer zu sehr großen Netzwerken führen, was wir wissen, dass dies nicht immer wünschenswert ist (aufgrund von Überanpassung).
Auf Ihre Frage ist es nicht so, dass wir die Hyperparameter überhaupt nicht lernen. Abgesehen von den Rechenherausforderungen für eine Minute ist es sehr gut möglich, gute Werte für die Hyperparameter zu lernen, und es gibt sogar Fälle, in denen dies für eine gute Leistung unerlässlich ist. Die Diskussion im ersten Absatz legt lediglich nahe, dass Sie per Definition nicht dieselben Daten für diese Aufgabe verwenden können .
Wenn Sie eine andere Aufteilung der Daten verwenden (wodurch drei nicht zusammenhängende Teile erstellt werden: der Trainingssatz, der Validierungssatz und der Testsatz), können Sie theoretisch das folgende Verfahren zur verschachtelten Optimierung ausführen: In der äußeren Schleife versuchen Sie zu finden die Werte für die Hyperparameter , die den Validierungsverlust minimieren , und in der inneren Schleife versuchen Sie, die Werte für die regulären Parameter zu finden, die den Trainingsverlust minimieren .
Dies ist theoretisch möglich, aber rechenintensiv: Jeder Schritt der äußeren Schleife erfordert das Lösen (bis zur Fertigstellung oder irgendwo in der Nähe davon) der inneren Schleife, die typischerweise rechenintensiv ist. Was die Sache noch komplizierter macht, ist, dass das äußere Problem nicht einfach ist: Zum einen ist der Suchraum sehr groß.
Es gibt viele Ansätze, um dies zu überwinden, indem das obige Setup vereinfacht wird (Rastersuche, Zufallssuche oder modellbasierte Hyperparameteroptimierung). Die Erklärung dieser Ansätze geht jedoch weit über den Rahmen Ihrer Frage hinaus. Wie der Artikel, auf den Sie verwiesen haben, auch zeigt, bedeutet die Tatsache, dass dies ein kostspieliges Verfahren ist, häufig, dass Forscher es einfach ganz überspringen oder nur sehr wenige Einstellungen manuell versuchen und sich schließlich für die beste entscheiden (wiederum gemäß dem Validierungssatz). Zu Ihrer ursprünglichen Frage argumentiere ich jedoch, dass dies - obwohl sehr simpel und erfunden - immer noch eine Form des "Lernens" ist.