¿Cuáles son los algoritmos de aprendizaje profundo más importantes? ¿En qué orden debo aprenderlos?

Vea la respuesta de Vivek Kumar a ¿Cómo aprendo el aprendizaje profundo en 2 meses?

Rápidamente : si solo desea pasar unos minutos, puede jugar con una red neuronal (un bloque de construcción de profundización) usando Tensorflow – Neural Network Playground (descrito en: Desvelando las capas ocultas del aprendizaje profundo)

Documentos: si solo desea leer documentos, considere Los 9 documentos de aprendizaje profundo que debe conocer (Comprender los CNN, Parte 3). El último libro sobre el tema es Deep Learning.

Por qué funciona: 20160909 Los físicos han descubierto que lo que hace a las redes neuronales tan extraordinariamente poderosas es entender por qué este modelo de computación funciona tan bien.

Plan de estudios : de lo contrario, suponiendo que empiezas de la nada, tener una base en el aprendizaje automático sería útil. Los enlaces de Ashkan Abbasi son buenos. El curso Coursera de Andrew Ng es simple y claro (el Tutorial de Aprendizaje de Características y Aprendizaje Profundo sin supervisión es la versión “Cliff Notes” de su curso). El curso Coursera de Geoffrey Hinton se centra más en el aprendizaje profundo y es más difícil. Aprender el material en ese orden es probablemente su mejor opción.

  • Procesamiento distribuido: Andrew Ng se mudó a Baidu, donde están creando sistemas de aprendizaje profundo (Capítulo del Área de la Bahía SIGAI de ACM). La creencia aquí (página en washington.edu) es que (para lo que ahora se llama “aprendizaje profundo”) más datos producen mejores resultados que menos y procesar datos en paralelo produce resultados más rápido que hacerlo en serie. Dadas estas creencias, es necesario crear (y comprender) la arquitectura de sistemas.
  • La arquitectura son las nuevas características : es el mantra actual. Solía ​​ser que el elemento clave de los enfoques estadísticos era descubrir las características de los datos de entrada que hacían que la tarea de clasificación o regresión funcionara bien. Ahora, la precisión (parece) se produce al agregar más y más capas de procesamiento. Esto agrega tiempo de cálculo, lo que significa que necesita una máquina multiplicadora de matrices barata que nos lleve a:
  • GPU: eso significa que Baidu cree que necesita (al menos) comprender el procesamiento de GPU (paralelo) para programar aplicaciones de aprendizaje profundo a gran escala a partir de 2014 (NVIDIA® cuDNN – GPU Accelerated Machine Learning trata temas específicos de GPU).
  • Caffe: Un marco abierto para el trabajo de este tipo (Caffe | Deep Learning Framework) (BVLC / caffe) fue descrito en el 5º BAMMF, noviembre de 2014 – BAMMF por Yangqing Jia (Google). Tenga en cuenta que esta tecnología está evolucionando rápidamente (Baidu anuncia un gran avance en el reconocimiento de voz, afirmando que Google y Apple son los mejores) y ciertamente se verá diferente en un año o dos. (Actualización de 2016: consulte CS231n: Redes neuronales convolucionales para el reconocimiento visual)
  • TensorFlow (octubre de 2016) – Google ha estado dando tutoriales sobre TensorFlow, su paquete de software de código abierto para el aprendizaje profundo. (Consulte una Biblioteca de software de código abierto para Machine Intelligence). Aunque no funciona tan bien en los puntos de referencia como otros paquetes (soumith / convnet-benchmarks), sí distribuye, y la gente ha estado creando implementaciones en la nube “As-A-Service”.
  • karpathy (Andrej) tiene varios ejemplos trabajados en github

Aplicaciones

El punto óptimo de Deep Learning han sido los datos no estructurados (tradicionalmente procesamiento de imágenes y reconocimiento de voz). Las aplicaciones de procesamiento de imágenes se han extendido al arte visual (siguiente sección). Otra aplicación es NLP (Deep Learning for Text Mining from Scratch y CS224d de Richard Socher: Deep Learning for Natural Language Processing). Recuerde que Deep Learning funciona mejor cuando hay muchos datos (en particular, muchos datos que parecen impenetrables). Como tal, Drug Discovery (Aprendizaje profundo en Drug Discovery y Aprendizaje automático a gran escala para Drug Discovery) es otra aplicación.

Limitación clave: depuración

Michael Polanyi escribió que “sabemos más de lo que podemos decir”. Esto es particularmente cierto en las redes de aprendizaje profundo. Vea “Hay un secreto oscuro en el corazón de la inteligencia artificial: nadie realmente comprende cómo funciona”. Avanti Shrikumar está trabajando en el ámbito biológico para agregar más explicabilidad a las redes de aprendizaje profundo (Aprendizaje de características importantes a través de la propagación de las diferencias de activación), al igual que Tsvi Achler (psicólogo para su IA)

Analizando al cerebro humano : aunque las redes neuronales no “ven” el mundo como nosotros

  • “Página en cv-foundation.org”,
  • “Los ojos de robot y los humanos se fijan en diferentes cosas para decodificar una escena”, y
  • “Una nueva clase de” imágenes adversas “puede engañar a un algoritmo de visión artificial para que confunda a un perro con un avión”
  • [1703.06857] Las redes neuronales profundas no reconocen imágenes negativas

Existe apoyo para las afirmaciones de los investigadores de que estos sistemas imitan el procesamiento visual humano en algún nivel. En particular, las referencias a continuación pueden dar una idea de lo que los humanos ven cuando experimentan Pareidolia o ciertos trastornos psicológicos o están tomando alucinógenos.

  • Inceptionism: profundizando en redes neuronales
  • DeepDream – Pareidolia algorítmica – Y el código de percepción alucinante
  • DeepDream
  • El hombre combina fotos de personas al azar utilizando redes neuronales y los resultados son sorprendentes)
  • anishathalye / neural-style es una implementación (de ejecución lenta) en TensorFlow.
  • La visión por computadora y las alucinaciones por computadora es la opinión de Brian Hayes sobre esto.
  • El algoritmo clona el estilo artístico de Van Gogh y lo pega en otras imágenes, Películas muestra otro ejemplo de reutilización de capas de redes neuronales.

Otro enfoque es comparar las tasas de error de visión humana y artificial: las computadoras podrían simplemente “ver” como los humanos después de todo

Recursos adicionales:

20160927 Tuercas y tornillos de la aplicación del aprendizaje profundo (Andrew Ng)

La respuesta de Xavier Amatriain a ¿Cuáles fueron los principales avances en aprendizaje automático / inteligencia artificial en 2016?

Además, estas publicaciones de Quora (¿Cuáles son los documentos de investigación más importantes para el aprendizaje profundo que todos los estudiantes de aprendizaje automático deberían leer definitivamente? Y ¿Cuáles son algunos buenos libros / documentos para aprender el aprendizaje profundo?) Enumeran más material, incluyendo:

  • Lista de lectura de aprendizaje profundo
  • Aprendizaje profundo – Curso intensivo (Lista de lectura)
  • Aprendizaje profundo (extensa lista de lectura)
  • APRENDIZAJE PROFUNDO (Libro de la Universidad de Montreal)
  • APRENDIZAJE PROFUNDO: Métodos y aplicaciones (Libro de Microsoft)
  • cursos: aprendizaje profundo: inicio | CILVR Lab @ NYU
  • Tutorial de UFLDL – Ufldl (Wiki de Stanford de Andrew Ng)
  • Redes neuronales y aprendizaje profundo (Libro)
  • Universidad de Bonn, Computer Science VI, Autonomous Intelligent Systems
  • [1305.0445] Aprendizaje profundo de representaciones: mirando hacia adelante (Cornell)
  • Aprendizaje profundo distribuido y de código abierto para la JVM (Biblioteca Java)
  • Aprendizaje profundo a través de ejemplos (video H2O)
  • Universidad de Bonn, Computer Science VI, Autonomous Intelligent Systems
  • Material de Yoshua Bengio
    • Libro de aprendizaje profundo
    • Lista de lectura “Aprendizaje profundo
    • http://www.iro.umontreal.ca/~ben…
    • Curso de Islandia

Aplicaciones

  • Deep Learning Machine se enseña ajedrez en 72 horas, juega a nivel internacional de maestría | MIT Technology Review

Otros recursos

  • Los Sistemas de Procesamiento de Información Neural (NIPS) (Conferencia de 2015) tienen un extenso índice en papel (Página en papers.nips.cc)
  • Los recursos enumerados por esta empresa comercial parecen bastante buenos
  • Un tutorial de aprendizaje profundo: de perceptrones a redes profundas
  • Comparación de zer0n / deepframeworks de Theano, Torch y TensorFlow: aprendizaje automático más inteligente, para todos.
  • Tutorial de Tensorflow – Parte 1
  • Tres clases de arquitecturas de aprendizaje profundo y sus aplicaciones: una encuesta tutorial: http://research.microsoft.com/pu…
  • ChristosChristofidis / impresionante lista de aprendizaje profundo
  • Bibliotecas y marcos de Deep Machine Learning
  • Hugo Larochelle

Es difícil expresar el aprendizaje profundo como algoritmo.

El aprendizaje profundo se trata más de un conjunto de prácticas de capacitación del modelo utilizando datos.

Algrithm trata más sobre un flujo de instrucciones para resolver el problema.

Para ML, las prácticas más importantes son los bloques de construcción de CNN RNN GAN, como codificador automático, abandono, agrupación, etc.

Repetición espaciada, el método utilizado en el “Enfoque de Pemsleur” también funciona muy bien para las matemáticas. Dado que muchos temas se presentan de manera disjunta, es fácil olvidar, por ejemplo, las reglas para los exponentes si no se repiten periódicamente de forma separada (a menudo, la repetición al principio, luego una repetición más gradual durante el resto del curso. ) Esto se puede lograr mediante pruebas diarias.

Ni soy un experto en aprendizaje profundo ni estoy trabajando en ello, pero durante mi búsqueda en Internet me enfrenté a lo siguiente que creo que puede ser útil para usted:
Tutorial de aprendizaje de características y aprendizaje profundo sin supervisión
y también
Tutoriales “Aprendizaje profundo