Cómo usar el codificador automático de Geoffrey Hinton para datos MNIST para clasificar dígitos

Su página (Página de inicio de Geoffrey Hinton) tiene toda la información.
Lea el archivo README.txt (página en toronto.edu) para ejecutar el código.

Si aún tiene alguna duda, ¡hágamelo saber!

También eche un vistazo a rasmusbergpalm / DeepLearnToolbox
y vea este ejemplo https://github.com/rasmusbergpal…

Solo recuerde que el codificador automático no es más que una red neuronal, donde la salida es la misma que la entrada.
Por lo tanto, puede usar cualquier código de red neuronal y asegurarse de que la parte superior de la red sea una imagen reflejada de la parte inferior de la red.

Entonces, cuando usa este código (https://github.com/rasmusbergpal…)
Cambia las siguientes dos líneas del código

nn = nnsetup ([784 100 10]);
[nn, L] = nntrain (nn, train_x, train_y, opts);

a

nn = nnsetup ([784 100 10 100 784]);
[nn, L] = nntrain (nn, train_x, train_x, opts);

Y tienes un autoencoder.

Ya hay respuestas que apuntan a la página de inicio de Hinton. Su código generalmente está en Matlab y se puede usar. Señalaré cómo se puede usar Python para ejecutar tales redes.
Deep Belief Networks Los tutoriales de Deep Learning con theano tienen una sección específica sobre cómo ejecutar DBN en MNIST. De hecho, incluso descargaría el conjunto de datos automáticamente si todavía se está aprendiendo.
La otra forma es dl4j deeplearning4j / dl4j-0.0.3.3-examples. dl4j es un marco de Java para Deep Learning.
También hay formas de ejecutarlo en julia jfsantos / DBN.jl

More Interesting

¿Los diferentes algoritmos de árbol de decisión ofrecen diferencias significativas en el rendimiento?

¿Qué tipo de sistema de recomendación usar con datos extremadamente escasos?

Cómo utilizar una GPU en mis algoritmos de aprendizaje automático de R

Cómo crear mi propia biblioteca de tokenizadores en PNL

¿Cuáles son algunos textos recientes sobre métodos de kernel?

¿Cómo se puede aplicar el aprendizaje profundo al procesamiento de imágenes subacuáticas?

Cómo probar y depurar código, código de optimización numérica y / o modelos de aprendizaje automático

Andrew Ng: ¿Qué opinas sobre la memoria?

¿Cómo se usa el aprendizaje automático en DevOps?

Para un puesto de ciencia de datos, ¿por qué las empresas hacen preguntas sobre la estructura de datos?

Como persona con una maestría en química y un doctorado en ingeniería eléctrica y nanotecnología, a los 26 años sin experiencia en ciencias de la computación, ¿es demasiado tarde o demasiado difícil enseñarme a mí mismo el aprendizaje automático?

¿Cómo se asegura que el aprendizaje automático no aprenda la correlación cuando no hay causalidad, especialmente para la predicción?

¿Es útil para un científico de datos conocer métodos ágiles como Scrum?

¿Cómo calificaría un buen algoritmo, buenos datos, buena ingeniería de características en términos de efectividad para el aprendizaje automático?

¿Cuáles son las diferencias entre big data, hadoop y colmena? ¿Son solo jergas con el mismo significado? ¿Puedes resumir en detalle?