¿Qué significa "grado de libertad" en las redes neuronales?

17

En el libro de Bishop "Clasificación de patrones y aprendizaje automático", describe una técnica para la regularización en el contexto de redes neuronales. Sin embargo, no entiendo un párrafo que describa que durante el proceso de capacitación, el número de grados de libertad aumenta junto con la complejidad del modelo. La cita relevante es la siguiente:

Una alternativa a la regularización como una forma de controlar la complejidad efectiva de una red es el procedimiento de parada temprana. El entrenamiento de modelos de red no lineales corresponde a una reducción iterativa de la función de error definida con respecto a un conjunto de datos de entrenamiento. Para muchos de los algoritmos de optimización utilizados para el entrenamiento de la red, como los gradientes conjugados, el error es una función no creciente del índice de iteración. Sin embargo, el error medido con respecto a los datos independientes, generalmente denominado conjunto de validación, a menudo muestra una disminución al principio, seguido de un aumento a medida que la red comienza a ajustarse demasiado. Por lo tanto, la capacitación se puede detener en el punto de error más pequeño con respecto al conjunto de datos de validación, como se indica en la Figura 5.12, para obtener una red que tenga un buen rendimiento de generalización.El comportamiento de la red en este caso a veces se explica cualitativamente en términos del número efectivo de grados de libertad en la red, en el que este número comienza siendo pequeño y luego crece durante el proceso de capacitación, lo que corresponde a un aumento constante en el efectivo complejidad del modelo.

También dice que el número de parámetros crece durante el curso de entrenamiento. Supuse que por "parámetros", se refiere al número de pesos controlados por las unidades ocultas de la red. Tal vez me equivoque porque el proceso de regularización impide que los pesos aumenten en magnitud, pero no cambian en número. ¿Podría referirse al proceso de encontrar un buen número de unidades ocultas?

¿Qué es un grado de libertad en una red neuronal? ¿Qué parámetros aumentan durante el entrenamiento?

Robert Smith
fuente
1
Nomenclatura. Un parámetro es un solo peso. El aumento del número de parámetros significa que el número de "neuronas" o "conexiones entre neuronas" está aumentando. Esto significa que la topología no es constante.
EngrStudent - Restablece a Monica el
¡Gracias! Pero entonces, ¿por qué el entrenamiento aumenta el número de pesas?
Robert Smith
De hecho, existen algoritmos de entrenamiento que manipulan la estructura de una red neuronal durante el entrenamiento (Cascade Correlation, NEAT, ...). Por lo general, aumentan constantemente el número de pesas. Pero no creo que Bishop lo mencione en su libro.
alfa
@alfa Interesante. Todavía no he leído todo el libro, así que no sé si menciona ese tipo de algoritmos. Sin embargo, no creo que se refiera a ellos en esta sección del libro.
Robert Smith

Respuestas:

12

Sospecho que esto es lo que Bishop quiere decir:

Si piensa en una red neuronal como una función que asigna entradas a una salida, cuando inicializa una red neuronal con pequeños pesos aleatorios, la red neuronal se parece mucho a una función lineal. La función de activación sigmoidea es casi lineal alrededor de cero (solo haga una expansión de Taylor), y los pequeños pesos entrantes garantizarán que el dominio efectivo de cada unidad oculta sea solo un pequeño intervalo alrededor de cero, por lo que toda la red neuronal, independientemente de cuántos capas que tenga, se parecerán mucho a una función lineal. Por lo tanto, puede describir heurísticamente que la red neuronal tiene un pequeño número de grados de libertad (igual a la dimensión de la entrada). A medida que entrena la red neuronal, los pesos pueden volverse arbitrariamente grandes y la red neuronal puede aproximarse mejor a funciones no lineales arbitrarias. Entonces, a medida que avanza el entrenamiento,

Marc tiembla
fuente
Gracias por su respuesta. Agregué la parte relevante del libro como una cita, para que pueda ver el contexto. Sin embargo, no estoy seguro de si confirma su sugerencia.
Robert Smith
Sí, eso confirma lo que pensé que Bishop quería decir.
Marc tiembla el
Leyendo un par de veces su respuesta, creo que a medida que avanza el entrenamiento y el modelo comienza a ajustarse en exceso, la cantidad de funciones que el modelo puede aproximar en realidad se reduce porque se aproximará a puntos extremadamente buenos de los datos del entrenamiento, pero sus predicciones ganaron ' No sea bueno, ya que no puede generalizarse para ajustarse a otros puntos o conjuntos de datos similares.
Robert Smith
4

La frase "a veces explicada cualitativamente" sugiere que simplemente está haciendo una analogía con la regresión lineal simple. Cada vez que agregamos un término a un modelo de regresión lineal, agregamos un grado de libertad al modelo y restamos un grado de libertad de los asociados con el término de error. Si ponemos suficientes términos independientes en un modelo, podemos "predecir" perfectamente el historial a partir de un conjunto de números aleatorios, pero seremos totalmente incapaces de predecir el futuro.

Emil Friedman
fuente
3

El tema de los grados de libertad en modelos de aprendizaje estadístico complicado se discutió en Ye 1998 JASA . Básicamente, la idea es ver cuánto responde la salida de un modelo complicado, como la red neuronal, a un cambio unitario en las entradas. Para modelos lineales, la relación es sorprendentemente uno a uno, por lo que los grados de libertad para un modelo de complejidad (número de regresores) es ppp. Para modelos más complicados (si consideraba árboles de regresión), la capacidad de agregar un nodo adicional proporciona una mayor flexibilidad, ya que el modelo CART buscará una buena variable para dividir y un buen punto de división. Eso es mucho más de lo que puede hacer agregar un regresor a un modelo lineal, y Ye encontró que los árboles de regresión consumen aproximadamente 3.5-4 dfs por nodo. Las redes neuronales pueden estar en algún punto intermedio, pero los grados de libertad seguramente son mucho mayores que el número de unidades, y pueden ser mayores que el número de pesos.

Creo que HTF Sec. 7.6 , aunque sorprendentemente no se refieren a Ye (1998). Sin embargo, se refieren a Bishop como un caso especial.

StasK
fuente
1
Gracias. Eso parece correcto, pero ¿qué pasa con la relación con el entrenamiento de una red neuronal? Encontré en "Los elementos del aprendizaje estadístico" en la página 96 ( docs.google.com/… ) una expresión que relaciona los grados de libertad y covarianza, y puedo ver por qué una mayor capacitación reduciría la función de error y, en consecuencia, aumentaría la covarianza y grados de libertad. Sin embargo, no entiendo por qué se cumple esa ecuación (3.60 en el libro).
Robert Smith
Por cierto, también parece un poco diferente de la definición de grados (generalizados) de libertad que se menciona en el artículo de Ye.
Robert Smith
1
Supongo que puede pensar en esa covarianza como una versión aproximada de derivada ... o puede ser al revés: la derivada, definida como el límite a medida que el tamaño del paso va a cero, puede considerarse como el plim de esa covarianza como la varianza de la perturbación va a cero. La ecuación (3.60) no tiene que mantenerse, es una definición , por lo que no hay nada que mantener. Lo que sí se cumple es la equivalencia con la definición estándar de dfs para los modelos lineales que mencionan brevemente en la página siguiente, y eso es simplemente el álgebra lineal de los modelos lineales. Ye (1998) debe hablar de eso también.
StasK
3

Dice la "complejidad efectiva de la red". En realidad se refiere al tamaño de los pesos de la red. Esto se puede entender en términos del principio de longitud mínima de descripción . Pero antes de entrar en eso, la intuición es que cuanto más grandes son los pesos, más diferentes tipos de funciones puede ajustar su red y, por lo tanto, mayores son los grados de libertad (y complejidad efectiva).

En ese capítulo habla de la regularización, que es una técnica para reducir efectivamente el riesgo de sobreajuste, al exigir que los pesos sean lo más pequeños posible. En general,

p(D|w)=np(tn|xn,w)=nexp(β2[tny(xn,w)]2)/ZD(β)
wZD(β)

p(w)=exp(α||w||22)/ZW(α)
argmaxwp(w|D)

p(w|D)=p(D|w)p(w)
Zw

argminwnβ2[tny(xn,w)]2+α2iwi2

En términos más generales, tiene que la estimación MAP es equivalente a lo siguiente,

wMAP=argminwlog2P(D|w)log2(w)

El lado derecho de la expresión se puede interpretar como el número de bits necesarios para describir su clasificador. El primer término representa la cantidad de bits necesarios para codificar los errores que su red hace en los datos de entrenamiento. El segundo representa el número de bits necesarios para codificar los pesos.

La estimación MAP es, por lo tanto, equivalente a elegir la representación más compacta posible. En otras palabras, busca el conjunto de pesos que representan los datos de entrenamiento con la mayor fidelidad posible que se pueden expresar con el menor número de bits.

Tenga en cuenta que esta es otra forma del problema de sesgo / varianza: cuanto mayor es el peso, menor es el primer término, porque la red puede adaptarse mejor a los datos de entrenamiento (sobreajuste). Pero al mismo tiempo, mayor es la complejidad de los pesos. Cuanto más pequeños son los pesos, menor es la complejidad de la red, pero mayor es el término de error (sesgo). Cuanto mayor sea el número de bits necesarios para codificar los errores de la red.

Espero que esto te dé una idea suficientemente buena de a qué se refiere.

PD: agregando un argumento más extenso a la discusión en curso. Permítanme intentar explicarme por última vez.

Los medios anteriores sobre los pesos representan la suposición que hacemos sobre la función que desea ajustar. Cuanto más grande es el anterior (es decir, los pesos), más amplio es el gaussiano, es decir, las configuraciones más posibles se consideran para adaptarse a la red.

Consideremos el caso de regresión (como en el artículo al que me referí). Un error de baja generalización significa que la red puede asignar muestras invisibles muy cerca de los valores reales. Si está ajustando una línea recta, entonces es suficiente un polinomio de primer orden (baja complejidad). Ahora, también podría ajustar los datos con un polinomio de orden superior (deje que los coeficientes de orden superior sean diferentes de cero). La complejidad de la red es mayor porque permite oscilaciones, para una curva más compleja. Sin embargo, si los coeficientes correspondientes a términos de orden superior son lo suficientemente bajos, la red puede aproximarse muy bien a la línea recta, lo que resulta en una buena generalización.

Por lo tanto, el objetivo de MDL es hacer que sus pesos sean lo más pequeños posible, siempre que el error de generalización pueda minimizarse.

Finalmente, citando: "Todavía encuentro problemático el argumento de que a medida que el modelo comienza a sobreajustarse, aumentará su capacidad para modelar otras funciones. Creo que es todo lo contrario porque un modelo que sobreajusta, no puede generalizarse para aplicarse a nuevos información.". Sí, puede modelar OTRAS funciones más complejas, pero no podrá modelar correctamente la función en cuestión. En la figura 5.12 del libro, el error primero disminuye, a medida que aumenta el tamaño del peso (reducción del sesgo). Hasta un punto dado cuando comienza a aumentar nuevamente (disminución en generalización, sobreajuste).

jpmuc
fuente
1
Gracias. Esto es similar a la idea de Marc, sin embargo, todavía encuentro problemático el argumento de que a medida que el modelo comienza a ajustarse en exceso, aumentará su capacidad para modelar otras funciones. Creo que es todo lo contrario porque un modelo que se adapta demasiado, no puede generalizarse para aplicarse a nueva información.
Robert Smith
1
Robert, creo que es un malentendido lo que significa el error de generalización frente a la complejidad de la red, es decir, la capacidad de modelar funciones más complejas. Hay una serie de documentos que describen los diferentes términos, como cbcl.mit.edu/projects/cbcl/publications/ps/… .
jpmuc
No creo que haya confusión cuando se usa el término "complejidad" porque si tienes un montón de pesas con valores locos, eso hace que el modelo sea muy complejo y puedes verlo inmediatamente por la trama resultante. Por otro lado, poder gestionar un amplio conjunto de funciones requiere un modelo capaz de generalizar bien a partir de los datos que se pueden obtener evitando el sobreajuste.
Robert Smith