¿Por qué el aprendizaje profundo requiere la construcción de modelos de datos generativos?

La siguiente explicación es una simplificación excesiva para darle una idea de lo que está sucediendo: la dificultad para entrenar una arquitectura profunda es que, si utiliza un backprop estándar, la señal de gradiente no fluye de regreso a las capas más bajas. En cambio, las pocas unidades de salida supervisadas transmiten una pequeña señal de gradiente, y en cada capa la señal de gradiente tiene un ruido creciente a medida que pasa hacia atrás. Por lo tanto, las capas superiores se sobreajustan y las capas inferiores no se ajustan de manera efectiva. Las capas inferiores esencialmente disparan ruido aleatorio, y las capas superiores se sobreajustan.

Por esta razón, antes de 2006, nadie sabía cómo entrenar una arquitectura profunda (además de Yann LeCun, con sus arquitecturas convolucionales, pero no tenían un propósito general).

El avance en 2006 se produjo cuando Hinton creó el algoritmo DBN original. Bengio et al. (Http://www.iro.umontreal.ca/~lis…) siguieron desglosando los pasos importantes para entrenar una arquitectura profunda. Ellos eran:

  • entrenamiento codicioso en capas, es decir, construir una capa, luego la siguiente capa, luego la siguiente capa, etc.
  • preentrenamiento no supervisado

Cuando entrena una sola capa utilizando un criterio no supervisado, la señal de gradiente se transmite hacia atrás a través de una sola capa oculta (la capa que está construyendo). Y la capa de salida para un criterio no supervisado tiene tantas unidades como la entrada. Entonces, la capa de salida devuelve una fuerte señal de gradiente, y no tiene que viajar muy lejos.

Al hacer este entrenamiento previo sin supervisión de una capa por capa, la red profunda recibe una buena inicialización de sus parámetros. Luego, cuando se ajusta el criterio supervisado utilizando backprop, puede encontrar un mínimo local mejor.

El trabajo de Erhan et al muestra que el efecto del pre-entrenamiento no supervisado no es solo la regularización, sino también la optimización mejorada. Eche un vistazo a su trabajo para un gran estudio empírico con experimentos a gran escala y gráficos bonitos: http://jmlr.csail.mit.edu/procee…

Estoy de acuerdo con la respuesta de Joseph. Solo quiero agregar un comentario:

sin supervisión (entrenado sin datos etiquetados)! = generativo (puede tomar muestras del modelo entrenado)

Por ejemplo, los autoencoders (desapilamiento apilado) son una forma de entrenar un extractor de características no supervisado, pero no proporcionan ninguna forma natural de muestrear una distribución de probabilidad estimada del espacio de entrada: de hecho, ni siquiera estiman explícitamente una función de densidad de probabilidad para la entrada datos.

Para autoencoder, podría piratear algo muestreando arbitrariamente una pseudo entrada X de alguna distribución (pdf (X) = uniforme, normal, …) y luego considerar X ‘= decodificar (codificar (X)) una variable aleatoria que sigue la distribución estimada por su autoencoder. Sin embargo, el algoritmo de entrenamiento del autoencoder ni siquiera intenta minimizar la divergencia KL de esta distribución con la distribución empírica. La función objetivo del autoencoder es minimizar la distancia euclidiana cuadrática de la entrada X y su versión reconstruida X ‘.

Este es aún más el caso con el extractor de características convolucional triangular-kmeans descrito en: Un análisis de redes de una sola capa en aprendizaje de características no supervisado por Adam Coates, Honglak Lee y Andrew Ng. En el Taller NIPS * 2010 sobre aprendizaje profundo y aprendizaje de funciones no supervisado.

http://ai.stanford.edu/%7Eang/pa

En este caso no hay una forma canónica de “decodificar” las características extraídas para poder aplicar el truco de decodificación (codificación (Normal_X)).

Quiero ampliar las respuestas conectando algunos aspectos del aprendizaje profundo con temas y objetivos comunes en el aprendizaje automático.

(1) La pregunta considera el aprendizaje no supervisado como una carga, pero se ha deseado una combinación efectiva de datos etiquetados y no etiquetados (aprendizaje semi-supervisado) en muchos dominios del aprendizaje automático.

(2) El poder de generalización de las soluciones de ML aumenta a medida que aumenta el número de muestras de entrenamiento en relación con la dimensionalidad del espacio de solución disponible (dimensión VC). El uso de muestras sin etiquetar aumenta en gran medida el número de muestras para la mayoría de las capas del modelo.

(3) Otra forma de verlo: limitar las capas inferiores, de modo que actúen como buenos generadores (o codificadores automáticos), limita el espacio de solución a un subespacio que aprende buenas características y, lo que es más importante, tiene una dimensionalidad mucho más baja.

(4) Alguna similitud con el procesamiento de información visual en humanos / animales.

More Interesting

¿Cómo comparamos la complejidad del espacio y el tiempo como O (n ^ 2) tiempo versus O (n) espacio y O (n) tiempo?

Cómo ponerse al día con las matemáticas necesarias para poder comprender y analizar algoritmos si no sé sobre cosas como el registro

Quiero comenzar un proyecto de programación. ¿Cuáles son algunas sugerencias al respecto?

Como senior que busca postularse a empresas como Google, Palantir, etc., ¿cómo puedo mejorar mis estructuras de datos avanzadas, algoritmos y cursos de bioinformática y tener más confianza en mí mismo al ingresar a un aula y no pensar automáticamente que soy estúpido? ?

¿Cómo explicarías un 'arreglo' a un principiante en programación?

¿Qué tan importante es para el hombre en el medio saber la técnica de cifrado?

¿Cómo se utilizan las estructuras de datos en las industrias?

¿Cuáles son algunas diferencias entre los campos de la investigación algorítmica y la investigación de operaciones?

¿Cómo mantiene Google en secreto su algoritmo de sus empleados cuando son sus empleados quienes lo prueban?

Supongamos que tenemos una matriz 8 * 8. Cada celda tiene 0 o 1. Se le dará una ubicación y deberá encontrar todas las que se encuentran en la misma isla. ¿Los puntos se encuentran en la misma isla si un punto está en alguna de las celdas adyacentes?

¿Cuáles son los problemas de programación que resolvió que le hicieron decir "¡Guau! ¡Lógica asombrosa"?

¿Por qué necesito el complemento de un gráfico?

¿Cuál de los enfoques (conexionismo, evolutivo, bayesiano, etc.) tendrá la mejor oportunidad de desarrollar un algoritmo maestro de IA?

Cómo aprender estructuras de datos de manera efectiva

Siempre sueño con trabajar en grandes empresas tecnológicas como Google o Facebook, pero mi habilidad con los algoritmos es muy débil. Intento resolver problemas en Google Code Jam y CodeChef, pero solo puedo resolver los fáciles. ¿Qué tengo que hacer?