Qual è la "capacità" di un modello di apprendimento automatico?


15

Sto studiando questo tutorial su Autoencoder variabili di Carl Doersch . Nella seconda pagina si afferma:

Uno dei framework più popolari è l'Autocodificatore Variazionale [1, 3], oggetto di questo tutorial. I presupposti di questo modello sono deboli e l'allenamento è rapido tramite backpropagation. I VAE fanno un'approssimazione, ma l'errore introdotto da questa approssimazione è probabilmente piccolo dato i modelli ad alta capacità . Queste caratteristiche hanno contribuito a un rapido aumento della loro popolarità.

Ho letto in passato questo tipo di affermazioni sui modelli ad alta capacità , ma non riesco a trovare una definizione chiara per questo. Ho anche trovato questa domanda relativa allo stackoverflow ma per me la risposta è molto insoddisfacente.

Esiste una definizione per la capacità di un modello? Puoi misurarlo?

Risposte:


13

La capacità è un termine informale. È molto vicino (se non un sinonimo) per la complessità del modello. È un modo per parlare di quanto un modello o una relazione possano essere complicati. Ci si potrebbe aspettare che un modello con capacità superiore sia in grado di modellare più relazioni tra più variabili rispetto a un modello con capacità inferiore.

Tracciando un'analogia dalla definizione colloquiale di capacità, puoi considerarla come la capacità di un modello di apprendere da un numero sempre maggiore di dati, fino a quando non è stato completamente "riempito" di informazioni.

Esistono vari modi per formalizzare la capacità e calcolare un valore numerico per essa, ma soprattutto queste sono solo alcune possibili "funzionalizzazioni" della capacità (più o meno allo stesso modo che, se qualcuno inventasse una formula per calcolare la bellezza, ti accorgeresti che la formula è solo una fallibile interpretazione della bellezza).


La dimensione VC è una formulazione matematicamente rigorosa della capacità. Tuttavia, può esserci un ampio divario tra la dimensione VC di un modello e l'effettiva capacità del modello di adattarsi ai dati. Anche se la conoscenza della VC dim dà un limite all'errore di generalizzazione del modello, questo di solito è troppo lento per essere utile con le reti neurali.

Un'altra linea di ricerca che vede qui è quella di utilizzare la norma spettrale delle matrici di peso in una rete neurale come misura della capacità. Un modo per comprenderlo è che la norma spettrale limita la costante di Lipschitz della rete.

Il modo più comune per stimare la capacità di un modello è contare il numero di parametri. Più parametri, maggiore è la capacità in generale. Naturalmente, spesso una rete più piccola impara a modellare dati più complessi meglio di una rete più grande, quindi questa misura è tutt'altro che perfetta.

Un altro modo per misurare la capacità potrebbe essere quello di addestrare il tuo modello con etichette casuali ( Neyshabur et. Al ) - se la tua rete è in grado di ricordare correttamente un gruppo di input con etichette casuali, mostra essenzialmente che il modello ha la capacità di ricordare tutti quelli punti dati individualmente. Più coppie input / output possono essere "apprese", maggiore è la capacità.

Adattandolo a un codificatore automatico, è possibile generare input casuali, addestrare la rete per ricostruirli e quindi contare quanti input casuali è possibile ricostruire correttamente con errore inferiore a .ε


1
Questa è una risposta migliore di quella di StackOverflow, grazie. Ho ancora qualche problema a vedere termini vagamente definiti usati come giustificazione per qualcos'altro, ma immagino che il campo stia andando avanti.
Andrés Marafioti,

1
"può esserci un grande divario tra la dimensione VC di un modello e la capacità effettiva del modello". questa è un'affermazione altamente fuorviante perché la "capacità effettiva" non è definita con precisione. In effetti, la dimensione VC è una buona misura della capacità di un modello. Solo perché le reti neurali sembrano risolvere alcuni problemi, non li rende "altamente capaci". In effetti, la maggior parte delle volte, le persone pensano che le reti neurali stiano risolvendo un problema, mentre stanno risolvendo un problema molto più semplice e, di fatto, spesso falliscono catastroficamente (perché sono state "inaspettatamente" addestrate a risolvere un problema più semplice).
nbro
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.