"Perché non impariamo semplicemente i parametri iper?"
È un'ottima domanda! Proverò a fornire una risposta più generale. La risposta TL; DR è che puoi sicuramente imparare iperparametri, non solo dagli stessi dati. Continua a leggere per una risposta leggermente più dettagliata.
Un iperparametro corrisponde in genere a un'impostazione dell'algoritmo di apprendimento, piuttosto che a uno dei suoi parametri. Nel contesto dell'apprendimento profondo, ad esempio, questo è esemplificato dalla differenza tra qualcosa come il numero di neuroni in un particolare strato (un iperparametro) e il peso di un particolare bordo (un parametro regolare e apprendibile).
Perché c'è una differenza in primo luogo? Il caso tipico per rendere un parametro un iperparametro è che non è proprio appropriato apprendere quel parametro dal set di addestramento. Ad esempio, poiché è sempre più facile ridurre l'errore di allenamento aggiungendo più neuroni, rendere il numero di neuroni in uno strato un parametro regolare incoraggerebbe sempre reti molto grandi, il che è qualcosa che sappiamo per certo non è sempre desiderabile (a causa di overfitting).
Alla tua domanda, non è che non impariamo affatto gli iperparametri. Mettendo da parte le sfide computazionali per un minuto, è molto possibile imparare buoni valori per gli iperparametri e ci sono anche casi in cui questo è indispensabile per una buona prestazione; tutta la discussione nel primo paragrafo suggerisce che, per definizione, non è possibile utilizzare gli stessi dati per questa attività .
Utilizzando un'altra suddivisione dei dati (creando così tre parti disgiunte: il set di addestramento, il set di convalida e il set di test, ciò che si potrebbe fare in teoria è la seguente procedura di ottimizzazione nidificata : nel ciclo esterno, si tenta di trovare i valori degli iperparametri che riducono al minimo la perdita di validazione e, nel ciclo interno, si tenta di trovare i valori per i parametri regolari che riducono al minimo la perdita di addestramento .
Ciò è possibile in teoria, ma molto costoso dal punto di vista computazionale: ogni fase del ciclo esterno richiede la risoluzione (fino al completamento, o in qualche luogo vicino a quello) del circuito interno, che è tipicamente computazionalmente pesante. Ciò che complica ulteriormente le cose è che il problema esteriore non è facile: per uno, lo spazio di ricerca è molto grande.
Esistono molti approcci per ovviare a questo problema semplificando la configurazione di cui sopra (ricerca della griglia, ricerca casuale o ottimizzazione di iperparametri basata su modello), ma la spiegazione di questi va ben oltre l'ambito della domanda. Come dimostra anche l'articolo a cui hai fatto riferimento, il fatto che questa sia una procedura costosa spesso significa che i ricercatori semplicemente lo saltano del tutto, o provano pochissime impostazioni manualmente, alla fine stabilendosi sulla migliore (di nuovo, secondo il set di validazione). Alla tua domanda originale, tuttavia, sostengo che, sebbene molto semplicistico e inventato, questa è ancora una forma di "apprendimento".