8 votos

¿Por qué necesitamos sparsity para los autocodificadores?

Los autocodificadores se utilizan para reducir la dimensionalidad y como herramienta para el aprendizaje de características sin supervisión. Además, los autocodificadores se han utilizado para construir y entrenar redes neuronales multicapa.

Cuando hablamos de autocodificadores, introducimos una dispersión y quiero saber, ¿cuál es el propósito de introducir un término de dispersión para los autocodificadores?

2 votos

Supongo que es porque, de lo contrario, el autocodificador aprendería el mapeo de identidad. Aunque, me olvido de los detalles, aunque la intuición es muy simple, si usted no pone ningún tipo de restricciones en el auto-codificador, a continuación, si el auto-codificador está tratando de minimizar algún tipo de función de coste $\frac{1}{n}\sum_{t} \| x^{(t)} - \hat{x}^{(t)}\|_{\mathcal{H}}$ puede ser que $x^{(t)} - \hat{x}^{(t)} = 0 \iff x^{(t)} = \hat{x}^{(t)}$ es el minimizador obvio/trivial/vacuoso.

4voto

Shreyans Puntos 24

Recuerde que los autocodificadores intentan conseguir la mejor representación resumida/comprimida (oculta/laten) de los datos de forma que el error de reconstrucción sea mínimo. Esto puede ser expresado en ecuaciones como sigue:

$$ \min_{\hat{x} \in \mathcal{F}} \frac{1}{n} \sum^{n}_{t=1} cost(x^{(t)}, \hat{x}^{(t)} )$$

donde $\hat{x}^{(t)} = \hat{x}(x^{(t)})$ es la reconstrucción del punto de datos $t$ , $\mathcal{F}$ es el espacio de funciones que estamos considerando y $cost$ es alguna función de coste/distancia de su elección.

Si eliges un modelo tan potente como las redes neuronales multicapa que es un aproximador de universalidad, significa que básicamente puedes copiar cualquier dato de entrada que obtengas. Por lo tanto, la solución al problema anterior podría resultar vacía y trivial, ya que su red neuronal podría aprender el mapeo de identidad:

$\hat{x}^{(i)} = \hat{x}(x^{(i)}) = x^{(i)}$

Esto podría ocurrir si su función de coste es tal que es cero cuando el $cost(x^{(t)}, \hat{x}^{(t)} ) = cost(x^{(t)}, x^{(t)} )$ . Esto es probablemente cierto para muchas funciones de coste comúnmente utilizadas, como la distancia euclidiana. Por ejemplo:

$$ \min_{\hat{x} \in \mathcal{F}} \frac{1}{n} \sum^{n}_{t=1} \frac{1}{2} \| x^{(t)} - \hat{x}^{(t)} \|^2_{2}$$

es cero cuando $x^{(t)} - \hat{x}^{(t)} = 0 \iff x^{(t)} = \hat{x}^{(t)}$ .

Por lo tanto, sin más restricciones en el espacio de funciones que está considerando, no aprendería una representación comprimida/oculta significativa de los datos (ya que su sistema/algoritmo es demasiado potente y básicamente es una especie de "sobreajuste").

Exigir una solución dispersa es sólo una forma de evitar este problema. Es simplemente imponer una antes en su problema dado para que pueda obtener una significativo solución. Intuitivamente, es similar a sortear el problema del "no almuerzo gratis". Sin algún tipo de antecedente, es difícil conseguir algo útil.

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