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.