¿Qué distingue a las llamadas ‘redes neuronales profundas’ de las redes neuronales de antaño? ¿Por qué están mucho mejor ahora?

Fundamentalmente, no hay nada nuevo en el descenso de gradiente de hace ~ 400 años (sí, Gauss y Newton, ¿verdad? ¡Lo siento!).

En realidad, tenga en cuenta que nuestra intuición y heurística sobre esos modelos se acumulan lentamente todos los días. Aunque el aprendizaje profundo sigue siendo tan fácil de entender, observando las redes neuronales después de años de desarrollo continuo, tenemos algunas diferencias que son notables:

0) Más capas hace que sea más práctico aprender modelos útiles. Encontramos mejores soluciones de búsqueda más rápida de parámetros para modelos más profundos. Dado que confiamos en la universalidad de los aproximadores de capas ocultas individuales, no buscamos mucho más que eso.

1) Técnicas de inicialización más inteligentes. El entrenamiento previo con codificadores automáticos, máquinas de boltzman restringidas, radio espectral restringido para redes recurrentes y demás, ayudó mucho a iniciar la red en posiciones más favorables. Si recuerda que con entradas correlacionadas tenemos deformaciones y valles estrechos en la superficie de costos que ralentizan la optimización, podrá imaginar la importancia de una buena técnica de inicialización.

2) Diferentes funciones de activación. La unidad lineal rectificada max (0, x) (y maxout) en lugar de Tanh y Sigmoid ayuda.

3) Tarea arquitecturas “conscientes”. Las redes neuronales convolucionales y recurrentes son las ideas para explotar las dependencias espaciales y temporales, respectivamente. Eso también ayudó mucho. Pero tenga en cuenta que ambos existen desde “siempre”, acabamos de aprender a usar que mejor, ej. usando la agrupación máxima después de las capas conv y 1) y 2). Tenga en cuenta que usar esas arquitecturas, IHMO, es solo una “ingeniería manual” leve en comparación con la definición de sus propios vectores de características.

4) Técnicas de regularización fortuitas como la deserción. Pero no olvide el recorte de gradiente para RNN también …

5) tasas de aprendizaje adaptativo (rmsprop, adam, adagrad, adadelta …). Esto también hace que la optimización sea consciente de las correlaciones intrínsecas de los datos. Esos métodos nos ayudan a determinar la forma local de la superficie de optimización y a encontrar mejores direcciones para la adaptación.

6) Más datos y GPU. Esto no puede ser olvidado. Pero creo que esto no es todo. A menos que alguien resuelva un problema importante como Imagenet con una sola capa oculta MLP totalmente conectada de una manera práctica, no podemos reconocer Big Data / Computación como el aspecto más importante de Deep Learning.

También tenga en cuenta que cuando se acerca por primera vez al aprendizaje profundo en la práctica, incluso si tuvo un entrenamiento de redes neuronales y se fue a los núcleos como lo hice, las cosas pueden parecer un poco extrañas al principio. Antes, todo lo que pensábamos que podíamos hacer era probar varios números de neuronas ocultas, ahora abundan las opciones y los buenos resultados casi parecen magia negra para el ojo inexperto.

Por lo tanto, creo que decir que todo lo que es diferente es más datos y computadoras más rápidas (o cualquier otro hecho individual anterior) lo llama con poca antelación y no captura el panorama general. Tampoco es ser consciente de la naturaleza de los hechos históricos. Quiero decir, ninguna Roma fue construida en un día. Esto también es un hecho para las construcciones de conocimiento. Si obtuviéramos todas las GPU y conjuntos de datos que tenemos hoy a los expertos de Neural Nets de hace 20 años, todavía les llevaría unos años descubrir todo lo que tenemos hoy y lograr los mismos resultados.

El enlace de Franck da algunas de las respuestas correctas. También vale la pena señalar que las redes neuronales convolucionales funcionaron bastante bien para la clasificación de imágenes antes de esta tendencia más reciente en el aprendizaje profundo. Probablemente sea cierto que su amplitud de aplicaciones ha sido ayudada por GPU y tecnología de CPU más rápida, así como por datos.

Para las máquinas y autoencoders de Boltzmann, parece que el preentrenamiento en capas fue la mejor mejora. El entrenamiento previo equivale a una especie de sesgo (en el contexto de optimización) en el espacio de pesas hacia las pesas que representan bien los datos de entrenamiento. La retropropagación de errores se inventó hace mucho tiempo, pero por sí misma es una búsqueda local sobre los parámetros de la red. Todavía realiza búsquedas locales, pero ahora ha comenzado los pesos en una región sensible de un espacio increíblemente vasto de posibles configuraciones de peso. En ese sentido, no sorprende en absoluto que la propagación hacia atrás por sí sola falle. El punto crucial es que la red puede aprender representaciones sin supervisión, que es lo que hace que las redes profundas sean tan útiles hoy en día.

Hay algunas otras cosas que son nuevas, pero fueron inventadas probablemente porque las personas superaron ese primer obstáculo y pudieron concentrarse en los problemas (relativamente) más pequeños de regularización, velocidad de entrenamiento, etc., que realmente no se consideran si se puede ni siquiera obtienes remotamente buenos resultados en primer lugar.

No estoy de acuerdo con el “supuesto”. Identifico un sarcasmo.

Se llama profundo porque es profundo. La mayoría de las redes neuronales antes de las redes profundas tenían solo 2-3 capas ocultas. Ahora, a veces se usan más de 20 o incluso más capas. Por lo tanto, podemos aprovechar todo el potencial de las redes neuronales.

Porqué ahora ? Porque tenemos sistemas con mayor memoria: clústeres de GPU. Las GPU son excelentes para hacer multiplicaciones matriciales, y necesitas un montón de eso para entrenar una red neuronal. Todo patrón en los datos no es más que una función. Ahora (casi) todos los datos no aleatorios tienen un patrón. Si los patrones son simples, puede aprenderlos usando algoritmos simples (incluso NN como Perceptrons). Pero ahora, a medida que los patrones se vuelven complejos, necesitaríamos más capas para poder comprender el patrón en un dato. Sin embargo, también necesitaría muchos puntos de datos; de lo contrario, un algoritmo complejo puede adaptarse fácilmente.

Entonces, con la disponibilidad de grandes conjuntos de datos y una gran capacidad informática, las redes neuronales profundas pueden hacer más.

Vea ¿Cuán verdadera es esta diapositiva sobre el aprendizaje profundo?

More Interesting

¿Cuáles serán las 5-10 aplicaciones principales para IA / aprendizaje automático, y qué marcos y cadenas de herramientas serán necesarias para impulsar este trabajo?

¿Es un software codificado a mano más caro que un software producido en fábrica? ¿Tiene aditivos o inteligencia artificial?

¿Dominarán las empresas chinas en el diseño de AI ASIC?

¿Cómo funcionan los algoritmos para juegos de Scrabble de computadora?

¿AI podría escribir código?

Cómo programar una computadora para tomar la decisión más racional

¿Cómo juega el póker DeepStack, el algoritmo de IA actualmente publicado, el póker?

¿Es aconsejable dejar que AI juegue videojuegos orientados al combate?

¿Cómo podría ayudar la computación cuántica a simular inteligencia (humana o máquina)?

¿Se pueden utilizar los datos de comentarios de Facebook para crear un software que pase la prueba de Turing?

¿Dónde puedo aprender sobre la inteligencia artificial y cómo aplicarla, y cómo puedo entenderla mejor?

¿Se pueden usar los mismos datos para entrenar diferentes algoritmos de aprendizaje automático para un problema de clasificación binaria?

¿Es posible realizar una conmutación por error durante un solo ciclo de solicitud-respuesta HTTP sin volver a intentarlo? ¿Puede una máquina recibir una solicitud http y otra responder?

¿Qué sucede si un ejemplo positivo no está clasificado como positivo ni negativo? ¿Tratará usted un ejemplo como falso negativo (FN)?

¿La IA causará desempleo generalizado?