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.
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.