"Pourquoi n'apprenons-nous pas simplement les paramètres hyper?"
C'est une bonne question! Je vais essayer de fournir une réponse plus générale. La réponse TL; DR est que vous pouvez certainement apprendre les hyperparamètres, mais pas à partir des mêmes données. Lisez la suite pour une réponse légèrement plus détaillée.
Un hyperparamètre correspond généralement à un réglage de l'algorithme d'apprentissage, plutôt qu'à l'un de ses paramètres. Dans le contexte de l'apprentissage en profondeur, par exemple, cela est illustré par la différence entre quelque chose comme le nombre de neurones dans une couche particulière (un hyperparamètre) et le poids d'un bord particulier (un paramètre régulier et apprenant).
Pourquoi y a-t-il une différence en premier lieu? Le cas typique pour faire d'un paramètre un hyperparamètre est qu'il n'est tout simplement pas approprié d'apprendre ce paramètre à partir de l'ensemble d'apprentissage. Par exemple, comme il est toujours plus facile de réduire l'erreur d'apprentissage en ajoutant plus de neurones, faire du nombre de neurones dans une couche un paramètre régulier encouragerait toujours les très grands réseaux, ce que nous savons de fait n'est pas toujours souhaitable (en raison de sur-ajustement).
À votre question, ce n'est pas que nous n'apprendions pas du tout les hyper-paramètres. Mis à part les défis de calcul pendant une minute, il est tout à fait possible d'apprendre de bonnes valeurs pour les hyperparamètres, et il y a même des cas où cela est impératif pour de bonnes performances; toute la discussion dans le premier paragraphe suggère que, par définition, vous ne pouvez pas utiliser les mêmes données pour cette tâche .
En utilisant un autre fractionnement des données (créant ainsi trois parties disjointes: l'ensemble d'apprentissage, l'ensemble de validation et l'ensemble de test, ce que vous pourriez faire en théorie est la procédure d' optimisation imbriquée suivante : dans la boucle externe, vous essayez de trouver les valeurs des hyperparamètres qui minimisent la perte de validation et dans la boucle interne, vous essayez de trouver les valeurs des paramètres réguliers qui minimisent la perte d'apprentissage .
Ceci est possible en théorie, mais très coûteux en termes de calcul: chaque étape de la boucle externe nécessite de résoudre (jusqu'à la fin, ou quelque part près de cela) la boucle interne, qui est généralement lourde en termes de calcul. Ce qui complique encore les choses, c'est que le problème extérieur n'est pas facile: d'une part, l'espace de recherche est très grand.
Il existe de nombreuses approches pour surmonter ce problème en simplifiant la configuration ci-dessus (recherche dans la grille, recherche aléatoire ou optimisation hyperparamétrique basée sur un modèle), mais leur explication dépasse largement le cadre de votre question. Comme le démontre également l'article auquel vous avez fait référence, le fait qu'il s'agisse d'une procédure coûteuse signifie souvent que les chercheurs l'ignorent complètement ou essaient très peu de paramètres manuellement, pour finalement choisir le meilleur (encore une fois, selon l'ensemble de validation). Pour répondre à votre question initiale, je soutiens que - bien que très simpliste et artificiel - il s'agit toujours d'une forme "d'apprentissage".