40 votos

¿Qué es la "capacidad" de un modelo de aprendizaje automático?

Estoy estudiando esto Tutorial sobre autocodificadores variacionales por Carl Doersch . En la segunda página dice:

Uno de los marcos más populares de este tipo es el Autoencoder Variacional [1, 3], el tema de este tutorial. Las suposiciones de este modelo son débiles, y el entrenamiento es rápido a través de la retropropagación. Los VAE hacen una aproximación, pero el error introducido por esta aproximación es posiblemente pequeño dado modelos de gran capacidad . Estas características han contribuido a un rápido aumento de su popularidad.

He leído en el pasado este tipo de afirmaciones sobre modelos de gran capacidad pero no encuentro ninguna definición clara al respecto. También he encontrado esta pregunta relacionada con stackoverflow pero para mí la respuesta es muy poco satisfactoria.

¿Existe una definición para la capacidad de un modelo? ¿Se puede medir?

48voto

mclaughlinj Puntos 1099

La capacidad es un término informal. Está muy cerca (si no es un sinónimo) de la complejidad del modelo. Es una forma de hablar de lo complicado que es un patrón o una relación que puede expresar un modelo. Se puede esperar que un modelo con mayor capacidad sea capaz de modelar más relaciones entre más variables que un modelo con menor capacidad.

Haciendo una analogía con la definición coloquial de capacidad, se puede pensar en ella como la capacidad de un modelo para aprender de más y más datos, hasta que se haya "llenado" completamente de información.

Hay varias maneras de formalizar la capacidad y de calcular un valor numérico para ella, pero lo importante es que éstas son sólo algunas posibles "operacionalizaciones" de la capacidad (de la misma manera que, si alguien llegara a una fórmula para calcular la belleza, te darías cuenta de que la fórmula es sólo una interpretación falible de la belleza).


Dimensión de la CV es una formulación matemáticamente rigurosa de la capacidad. Sin embargo, puede haber una gran diferencia entre la dimensión VC de un modelo y la capacidad real del modelo para ajustarse a los datos. Aunque conocer la dimensión VC da un límite al error de generalización del modelo, éste suele ser demasiado flojo para ser útil con las redes neuronales.

Otra línea de investigación ver aquí es utilizar la norma espectral de las matrices de pesos de una red neuronal como medida de capacidad. Una forma de entenderlo es que la norma espectral limita la constante de Lipschitz de la red.

La forma más habitual de estimar la capacidad de un modelo es contar el número de parámetros. Cuantos más parámetros, mayor es la capacidad en general. Por supuesto, a menudo una red más pequeña aprende a modelar datos más complejos mejor que una red más grande, por lo que esta medida también está lejos de ser perfecta.

Otra forma de medir la capacidad podría ser entrenar el modelo con etiquetas aleatorias ( Neyshabur et. al ) -- si su red puede recordar correctamente un montón de entradas junto con etiquetas aleatorias, esto demuestra esencialmente que el modelo tiene la capacidad de recordar todos esos puntos de datos individualmente. Cuantos más pares de entrada/salida se puedan "aprender", mayor será la capacidad.

Adaptando esto a un autocodificador, podría generar entradas aleatorias, entrenar a la red para que las reconstruya, y luego contar cuántas entradas aleatorias puede reconstruir con éxito con menos de $\epsilon$ error.

1voto

SDHC Puntos 11

En el reto fundamental del Aprendizaje Automático: Does the model I built truly generalize? una forma de abordarlo es utilizando model capacity .

Cuanto mayor es la capacidad del modelo, más expresivo es el modelo (es decir, puede acomodar más variaciones).

La capacidad debe ajustarse en función de la cantidad de datos de que se disponga. Si un conjunto de datos es pequeño, es mejor entrenar los modelos con una capacidad menor.

Sí se puede medir la capacidad de un modelo si primero se acuerda cuál es una buena métrica a utilizar. Por lo general, variation se utiliza para ello.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X