22 votos

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

En el libro de Bishop "Pattern Classification and Machine Learning", se describe una técnica de regularización en el contexto de las redes neuronales. Sin embargo, no entiendo un párrafo que describe que durante el proceso de entrenamiento, el número de grados de libertad aumenta junto con la complejidad del modelo. La cita pertinente es la siguiente:

Una alternativa a la regularización como forma de controlar el efectivo complejidad efectiva de una red es el procedimiento de parada temprana. El de modelos de redes no lineales corresponde a una reducción 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 redes, 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 datos independientes, generalmente llamado validación, a menudo muestra una disminución al principio, seguida de un aumento a medida que la red empieza a sobreajustarse. Por tanto, el entrenamiento puede en el punto de menor error con respecto a la validación. de validación, como se indica en la figura 5.12, para obtener una red con un buen rendimiento de generalización. T en este caso es número efectivo de grados de libertad de la red, en el que este empieza siendo pequeño y va creciendo durante el proceso de entrenamiento, lo que corresponde a un aumento constante de la complejidad efectiva del del modelo.

También dice que el número de parámetros crece durante el entrenamiento. Yo suponía que con "parámetros" se refería al número de pesos controlados por las unidades ocultas de la red. Quizá 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?

18voto

Seba Puntos 16

Sospecho que esto es lo que Bishop quiere decir:

Si pensamos en una red neuronal como una función que asigna entradas a una salida, cuando inicializamos 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 (basta con hacer una expansión de Taylor), y los pesos entrantes pequeños garantizarán que el dominio efectivo de cada unidad oculta sea sólo un pequeño intervalo alrededor de cero, por lo que toda la red neuronal, independientemente del número de capas que tenga, se parecerá mucho a una función lineal. Así que, heurísticamente, se puede decir 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 se entrena la red neuronal, los pesos pueden hacerse arbitrariamente grandes y la red neuronal puede aproximarse mejor a funciones no lineales arbitrarias. Por tanto, a medida que avanza el entrenamiento, se puede describir heurísticamente ese cambio como un aumento del número de grados de libertad o, más concretamente, como un aumento del tamaño de la clase de funciones que la red neuronal puede aproximar mejor.

5voto

Andrew Puntos 629

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

4voto

StasK Puntos 19497

La cuestión de los grados de libertad en modelos de aprendizaje estadístico complicados se ha tratado en Ye 1998 JASA . Básicamente, la idea es ver en qué medida responde la salida de un modelo complicado, como la red neuronal, a un cambio unitario en las entradas. Para los modelos lineales, la relación es insuperablemente uno a uno, por lo que los grados de libertad de un modelo de complejidad $p$ (número de regresores) es $p$ . Para modelos más complicados (como los árboles de regresión), la posibilidad de añadir un nodo adicional proporciona mucha más flexibilidad, ya que el modelo CART buscará una buena variable para dividir y un buen punto de división. Esto es mucho más que añadir un regresor a un modelo lineal, y Ye descubrió que los árboles de regresión consumían entre 3,5 y 4 d.f.s. por nodo. Las redes neuronales pueden estar en algún punto intermedio, pero los grados de libertad son seguramente mucho mayores que el número de unidades, y pueden ser mayores que el número de pesos.

Creo que algo similar fue proporcionado por HTF Sec. 7.6 aunque sorprendentemente no hacen referencia a Ye (1998). Sin embargo, sí se refieren a Bishop como un caso especial.

3voto

jpmuc Puntos 4817

Dice que la "complejidad efectiva de la red". En realidad se refiere al tamaño de los pesos de la red. Esto puede entenderse en términos del mínimo descripción longitud principio . Pero antes de entrar en eso, la intuición es que cuanto mayores sean los pesos, más tipos diferentes de funciones podrá encajar tu red y, por tanto, mayores serán los grados de libertad (y la complejidad efectiva).

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

$$p(D|\mathbf{w}) = \prod_{n} p(t_{n}|\mathbf{x_{n}},\mathbf{w}) = \prod_{n}\exp \left(\frac{\beta}{2} \left[t_{n}- y(\mathbf{x_{n}},\mathbf{w}) \right]^{2}\right)/Z_{D}(\beta)$$ . donde $\mathbf{w}$ es un vector que contiene todos los parámetros que caracterizan su algoritmo y $Z_{D}(\beta)$ es una constante de normalización. Si se maximiza la log-verosimilitud de esta expresión se obtiene la estimación ML. Ahora, se añade una prioridad sobre los parámetros que actúa como un regularizador y ayuda a evitar el sobreajuste mediante el control de la complejidad de su clasificador. Concretamente, en este caso es natural suponer que los parámetros tienen una distribución gaussiana,

$$p(\mathbf{w}) = \exp \left( -\frac{\alpha ||\mathbf{w}||^{2}}{2}\right)/Z_{W}(\alpha)$$ MAP se define como $\arg\max_{w} p(\mathbf{w}|D)$ . Usando el teorema de Bayes,

$$p(\mathbf{w}|D) = p(D|\mathbf{w})p(\mathbf{w})$$ Si se sustituyen las expresiones anteriores y se toman logaritmos se obtiene (el $Z$ no dependen de $\mathbf{w}$ ),

$$\arg\min_{w} \sum_{n}\frac{\beta}{2} \left[t_{n}- y(\mathbf{x_{n}},\mathbf{w}) \right]^{2} + \frac{\alpha}{2}\sum_{i}w_{i}^{2}$$

De forma más general, se tiene que la estimación MAP equivale a lo siguiente,

$$\mathbf{w}_{MAP} = \operatorname{argmin}_{\mathbf{w}} -log_{2}P(D|\mathbf{w}) - log_{2}(\mathbf{w})$$

La parte derecha de la expresión puede interpretarse como el número de bits necesarios para describir su clasificador. El primer término representa el número de bits necesarios para codificar los errores que tu red comete en los datos de entrenamiento. El segundo representa el número de bits necesarios para codificar los pesos.

Por tanto, la estimación MAP equivale a elegir la representación más compacta posible. En otras palabras, se busca el conjunto de ponderaciones que representen lo más fielmente posible los datos de entrenamiento y que pueda expresarse con el menor número de bits.

Observe que se trata de otra forma del problema de sesgo/varianza: cuanto mayores sean los pesos, menor será el primer término, porque la red puede ajustarse mejor a los datos de entrenamiento (sobreajuste). Pero, al mismo tiempo, mayor es la complejidad de los pesos. Cuanto menores sean los pesos, menor será la complejidad de la red, pero mayor será 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 le dé una idea suficiente de a qué se refiere.

P.D. añadiendo un argumento más largo a la discusión en curso Puede que le haya entendido mal. Permítame intentar explicarme por última vez.

El prior sobre los pesos medios representa la suposición que hacemos sobre la función que se quiere ajustar. Cuanto mayor sea el prior (es decir, los pesos) más amplia será la gaussiana, es decir, más configuraciones posibles se considerarán para ajustar la red.

Consideremos el caso de la regresión (como en el artículo al que me he referido). Un error de generalización bajo significa que la red es capaz de mapear muestras no vistas muy cerca de los valores reales. Si estamos ajustando una línea recta, basta con un polinomio de primer orden (baja complejidad). Ahora bien, también se pueden ajustar los datos con un polinomio de orden superior (que los coeficientes de orden superior sean distintos de cero). La complejidad de la red es mayor porque permites oscilaciones, para una curva más compleja. No obstante, si los coeficientes correspondientes a los términos de orden superior son lo suficientemente bajos, la red puede aproximarse muy bien a la línea recta, lo que da lugar a una buena generalización.

Así que el punto de MDL es hacer que sus pesos lo más pequeño posible, siempre y cuando el error de generalización me puede minimizar a lo largo.

Por último, citándote: "Me sigue pareciendo problemático el argumento de que a medida que el modelo empiece a sobreajustarse, aumentarán sus capacidades para modelizar otras funciones. Creo que es todo lo contrario, porque un modelo que sobreajusta, no puede generalizar para ser aplicado a nueva información". Sí, puede modelizar OTRAS funciones más complejas, pero no modelizará correctamente la función que nos ocupa. En la figura 5.12 del libro, el error disminuye primero, a medida que aumenta el tamaño de la ponderación (reducción del sesgo). Hasta un punto determinado en que empieza a aumentar de nuevo (disminución de la generalización, sobreajuste).

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