"¿Por qué no aprendemos los hiperparámetros?"
¡Es una gran pregunta! Trataré de proporcionar una respuesta más general. La respuesta TL; DR es que definitivamente puedes aprender hiperparámetros, solo que no a partir de los mismos datos. Siga leyendo para obtener una respuesta un poco más detallada.
Un hiperparámetro generalmente corresponde a una configuración del algoritmo de aprendizaje, en lugar de uno de sus parámetros. En el contexto del aprendizaje profundo, por ejemplo, esto se ejemplifica por la diferencia entre algo como el número de neuronas en una capa en particular (un hiperparámetro) y el peso de un borde en particular (un parámetro normal y aprendible).
¿Por qué hay una diferencia en primer lugar? El caso típico para convertir un parámetro en un hiperparámetro es que simplemente no es apropiado aprender ese parámetro del conjunto de entrenamiento. Por ejemplo, dado que siempre es más fácil reducir el error de entrenamiento agregando más neuronas, hacer que el número de neuronas en una capa sea un parámetro regular siempre alentaría redes muy grandes, lo cual es algo que sabemos que no siempre es deseable (debido a sobreajuste).
Para su pregunta, no es que no aprendamos los hiperparámetros en absoluto. Dejando a un lado los desafíos computacionales por un minuto, es muy posible aprender buenos valores para los hiperparámetros, e incluso hay casos en los que esto es imprescindible para un buen rendimiento; todo lo que se sugiere en el primer párrafo sugiere que, por definición, no puede usar los mismos datos para esta tarea .
Usando otra división de datos (creando así tres partes disjuntas: el conjunto de entrenamiento, el conjunto de validación y el conjunto de prueba, lo que podría hacer en teoría es el siguiente procedimiento de optimización anidada : en el bucle externo, intenta encontrar los valores para los hiperparámetros que minimizan la pérdida de validación , y en el bucle interno, intenta encontrar los valores para los parámetros regulares que minimizan la pérdida de entrenamiento .
Esto es posible en teoría, pero es muy costoso desde el punto de vista computacional: cada paso del bucle externo requiere resolver (hasta su finalización, o en algún lugar cercano a eso) el bucle interno, que generalmente es computacionalmente pesado. Lo que complica aún más las cosas es que el problema externo no es fácil: por un lado, el espacio de búsqueda es muy grande.
Hay muchos enfoques para superar esto mediante la simplificación de la configuración anterior (búsqueda de cuadrícula, búsqueda aleatoria u optimización de hiperparámetros basada en modelos), pero explicar esto está mucho más allá del alcance de su pregunta. Como el artículo al que ha hecho referencia también lo demuestra, el hecho de que este es un procedimiento costoso a menudo significa que los investigadores simplemente lo omiten por completo, o prueban muy pocas configuraciones manualmente, y finalmente se conforman con la mejor (nuevamente, de acuerdo con el conjunto de validación). Sin embargo, a su pregunta original, sostengo que, si bien es muy simplista y artificial, esta sigue siendo una forma de "aprendizaje".