¿Hay alguna forma de cuantificar el espacio latente de las arquitecturas profundas?

Esta es de hecho una pregunta detallada. En el artículo, “Geometría de la máquina de Boltzmann restringida” , Angelica Cueto comenta sin probar que la máquina de Boltzmann restringida es la contraparte binaria de un modelo de Análisis Factorial. Sin profundizar en la prueba particular de este hecho (dependiendo del camino que tome, puede ser muy algebraicamente tedioso), el espacio latente puede entenderse intuitivamente como las variables que explican los datos observados (es decir, deberíamos poder reconstruir los datos observados a partir de los datos latentes, que de hecho se pueden hacer con el muestreo de Gibbs). Por ejemplo, el ‘vino Ribera del Duero’ sería un espacio latente factible para ‘Hacienda Monasterio’ y ‘Condado de Haza’.

Por supuesto, esta analogía ‘intuitiva’ entre DBN y FA se aplica solo a espacios latentes con una dimensionalidad menor que el espacio de entrada (aunque el muestreo de Gibbs se mantendrá en general).

Agregando otra capa al ejemplo anterior (no sé si es muy desafortunado) podríamos tener en la capa más profunda ‘vino tinto’, ‘vino blanco’ y ‘rosado’. Entonces, podríamos tener ‘Rivera del Duero’, ‘Rioja’, ‘Cariñena’ y ‘Priorat’. Finalmente, dado un vino en la entrada, activaríamos los nodos adecuados en nuestro DBN. Con esto, ‘Hacienda Monasterio’ debería activar ‘Rivera del Duero’ en la primera capa y ‘Vino tinto’ en la segunda. No es necesario decir que cualquier aplicación seria de DBNs no sería tan sencilla, pero espero haber logrado darle una idea de cómo entiendo esto. En cierto modo, no es muy diferente de la forma en que los ‘humanoides’ procesan los datos.

La segunda pregunta es un poco más profunda porque la cantidad de nodos y capas es bastante difícil de dimensionar. Sin embargo, uno puede medir si el número de nodos está ‘sobredimensionado’. Después de entrenar el DBN en la fase ‘sin supervisión’, siempre puede regresar y ver qué nodos ha activado su conjunto de datos de entrenamiento. Si hay nodos que nunca se han activado, entonces puede eliminarlos felizmente.

Con respecto al número de capas, la única forma que tiene es que Gibbs muestree su red después de la fase no supervisada y elija la más simple que aprendió un buen modelo de sus datos de entrada. En otras palabras, aplique la navaja de Occam a diferentes modelos. Esto, por supuesto, puede ser muy frustrante y llevar mucho tiempo, por lo que la mayoría de las implementaciones solo funcionan con una red sobredimensionada (en términos de capas y nodos).

Por ahora espero que la última pregunta sea clara: sí, los DBN se pueden usar (y de hecho se usan) de manera no supervisada.

Realmente no

En un codificador automático, como ocurre con la codificación dispersa y otros modelos latentes como NMF, el espacio latente se caracteriza frecuentemente por

1. el error de reconstrucción (generalmente la norma L2 o la divergencia KL)

y

2. la dispersión (es decir, la norma L1 de los pesos en un codificador automático disperso)

Un enfoque clásico con NMF y otros métodos de agrupamiento tradicionales es crear una curva acodada

Determinar el número de clústeres en un conjunto de datos

quizás se podría hacer un equivalente para un codificador automático

luego, uno generalmente toma un conjunto de datos etiquetado, usa las características latentes y entrena una red de aprendizaje profundo. las medidas son

a. precisión de entrenamiento en validación cruzada

si. precisión de la prueba fuera de muestra

Esto se puede comparar, por ejemplo, con el uso de características NMF dispersas o convexas (seleccionadas por la curva del codo) y ponerlas en un SVM

Si está hablando sobre el hecho de que, según el Teorema de la recursión, debe renunciar a lo que yo llamo “impuesto de recursión”, que es una pérdida de cómputo tal vez infimitismal en realidad para mantener la “ilusión de virtualización” antes de “arrancar” “La” recursión “. Cuán grande o pequeño es el límite inferior de este impuesto (sospecho que es una función limitada, aunque cuanto más “amortiguador” tenga, mejor será la “resolución” de la “matriz”).

Es una pregunta abierta hasta donde puedo decir si el número de capas / recursiones es infinito o no. Personalmente, sospecho que es más, usted tendría la falacia lógica de “somos únicos” en el sentido de que cada “población” de las recursiones no pensaría que se trata de la recursión de más alto nivel a menos que se demuestre lo contrario en el piso 13.