Dificultad de entrenamiento de un MLP#
Ultima modificación: 2023-03-11 | YouTube
En sklearn, los parámetros del modelo son obtenidos minimizando el suma de errores cuadrados (SSE):
\min_w ||e||_2^2
utilizando el algoritmo de gradiente descendente (o alguna variación de este).
Dificultad 1. La forma de la superficie del SSE es irregular y no convexa con muchos puntos de mínima local. El algoritmo de gradiente descendente puede quedar atrapado en los mínimos locales.
Dificultad 2. Es sensible al preprocesamiento de los datos.
Dificultad 3. Una misma configuración de red neuronal puede tener multiples puntos de mínima local con el mismo valor del SSE.
Considere un modelo con una entrada y dos neuronas ocultas con la siguiente notación:
b: peso de la neurona bias de la capa de salida.
bh {h=1, 2} peso de las neuronas bias de la capa oculta.
wih {i=1; h=1,2} pesos de la capa de entrada a la capa oculta.
mh {h=1,2} pesos de las neuronas ocultas a la capa de salida.
El algoritmo de optimización opera sobre un vector que agrupa los parámetros del modelo:
[b, b1, b2, w11, w12, m1, m2]
Si se intercambian las posiciones de las dos neuronas ocultas, incluyendo los pesos que entran y salen de cada una de ellas, se obtiene un nuevo vector que tiene el mismo SSE del modelo original:
[b, b2, b1, w12, w11, m2, m1]
Dificultad 4. A medida que se agregan neuronas a la capa oculta, el SSE deberia disminuir para el conjunto de datos de entrenamiento, hasta ser arbitrariamente cercano a cero, pero esto no pasa en la realidad.