¿Los científicos o expertos en investigación saben desde la cocina lo que está sucediendo dentro de una red neuronal "profunda" compleja con al menos millones de conexiones que se activan en un instante? ¿Entienden el proceso detrás de esto (por ejemplo, qué está sucediendo dentro y cómo funciona exactamente), o es un tema de debate?
Por ejemplo, este estudio dice:
Sin embargo, no hay una comprensión clara de por qué funcionan tan bien o cómo podrían mejorarse.
Entonces, ¿esto significa que los científicos en realidad no saben cómo funcionan los complejos modelos de redes convolucionales?
Respuestas:
Hay muchos enfoques que tienen como objetivo hacer que una red neuronal entrenada sea más interpretable y menos parecida a una "caja negra", específicamente las redes neuronales convolucionales que ha mencionado.
Visualizar las activaciones y los pesos de las capas.
La visualización de activaciones es la primera obvia y directa. Para las redes ReLU, las activaciones generalmente comienzan con un aspecto relativamente flojo y denso, pero a medida que avanza el entrenamiento, las activaciones suelen volverse más dispersas (la mayoría de los valores son cero) y localizadas. Esto a veces muestra en qué se enfoca exactamente una capa particular cuando ve una imagen.
Otro gran trabajo sobre activaciones que me gustaría mencionar es deepvis que muestra la reacción de cada neurona en cada capa, incluidas las capas de agrupación y normalización. Así es como lo describen :
La segunda estrategia común es visualizar los pesos (filtros). Por lo general, estos son más interpretables en la primera capa CONV que está mirando directamente los datos de píxeles sin procesar, pero también es posible mostrar los pesos de los filtros en la red. Por ejemplo, la primera capa generalmente aprende filtros tipo gabor que básicamente detectan bordes y manchas.
Experimentos de oclusión
Aquí está la idea. Suponga que un ConvNet clasifica una imagen como un perro. ¿Cómo podemos estar seguros de que realmente está captando al perro en la imagen en lugar de algunas señales contextuales del fondo u otro objeto misceláneo?
Una forma de investigar de qué parte de la imagen proviene alguna predicción de clasificación es trazando la probabilidad de la clase de interés (por ejemplo, clase de perro) en función de la posición de un objeto oclusor. Si iteramos sobre regiones de la imagen, la reemplazamos con todos ceros y verificamos el resultado de la clasificación, podemos construir un mapa de calor bidimensional de lo que es más importante para la red en una imagen en particular. Este enfoque se ha utilizado en Visualizar y comprender las redes convolucionales de Matthew Zeiler (a las que se refiere en su pregunta):
Desconvolución
Otro enfoque es sintetizar una imagen que hace que una neurona en particular se active, básicamente lo que la neurona está buscando. La idea es calcular el gradiente con respecto a la imagen, en lugar del gradiente habitual con respecto a los pesos. Por lo tanto, elige una capa, establece el gradiente allí para que sea todo cero, excepto para una neurona y una copia de seguridad de la imagen.
Deconv en realidad hace algo llamado propagación hacia atrás guiada para hacer una imagen más bonita, pero es solo un detalle.
Enfoques similares a otras redes neuronales
Recomiendo esta publicación de Andrej Karpathy , en la que juega mucho con Recurrent Neural Networks (RNN). Al final, aplica una técnica similar para ver lo que las neuronas realmente aprenden:
Conclusión
Solo he mencionado una pequeña fracción de los resultados en esta área de investigación. Son métodos bastante activos y nuevos que arrojan luz sobre el funcionamiento interno de la red neuronal cada año.
Para responder a su pregunta, siempre hay algo que los científicos aún no saben, pero en muchos casos tienen una buena imagen (literaria) de lo que está sucediendo dentro y pueden responder muchas preguntas particulares.
Para mí, la cita de su pregunta simplemente resalta la importancia de la investigación no solo de la mejora de la precisión, sino también de la estructura interna de la red. Como Matt Zieler dice en esta charla , a veces una buena visualización puede conducir, a su vez, a una mejor precisión.
fuente
Depende de lo que quieras decir con "saber lo que está sucediendo".
Conceptualmente, sí: ANN realiza una regresión no lineal. La expresión real representada por la (s) función (es) de matriz de peso / activación de una ANN se puede expandir explícitamente en forma simbólica (p. Ej., Que contiene subexpresiones como )1/1+e1/1+e…
Sin embargo, si por 'saber' te refieres a predecir la salida de un ANN específico (recuadro negro) , por algún otro medio, entonces el obstáculo es la presencia de caos en un ANN que tiene altos grados de libertad .
Aquí también hay un trabajo relativamente reciente de Hod Lipson sobre la comprensión de los ANN a través de la visualización .
fuente
La respuesta corta es no .
La interpretabilidad del modelo es un área hiperactiva e hiperactiva de la investigación actual (piense en el Santo Grial, o algo así), que se ha presentado últimamente, debido principalmente al éxito (a menudo tremendo) de los modelos de aprendizaje profundo en diversas tareas; Actualmente, estos modelos son solo cajas negras, y naturalmente nos sentimos incómodos al respecto ...
Aquí hay algunos recursos generales (y recientes, a partir de diciembre de 2017) sobre el tema:
Un artículo reciente (julio de 2017) en Science ofrece una buena visión general del estado actual y la investigación: cómo los detectives de IA abren la caja negra del aprendizaje profundo (sin enlaces en el texto, pero los nombres y términos en Google valdrán la pena)
DARPA actualmente está ejecutando un programa sobre Inteligencia Artificial Explicable (XAI)
Hubo un taller en NIPS 2016 sobre Aprendizaje automático interpretable para sistemas complejos , así como un tutorial ICML 2017 sobre Aprendizaje automático interpretable por Been Kim de Google Brain.
Y en un nivel más práctico (código, etc.):
La herramienta What-If de Google, una característica completamente nueva (septiembre de 2018) de la aplicación web TensorBoard de código abierto, que permite a los usuarios analizar un modelo de ML sin escribir código ( página del proyecto , publicación de blog )
La caja de herramientas de Propagación de relevancia (LRP) para redes neuronales ( papel , página del proyecto , código , envoltorio TF Slim )
FairML: Auditoría de modelos predictivos de caja negra, por Cloudera Fast Forward Labs ( publicación de blog , papel , código )
LIME: Explicaciones agnósticas del modelo local interpretable ( papel , código , publicación de blog , puerto R )
Un artículo muy reciente (noviembre de 2017) de Geoff Hinton, Destilando una red neuronal en un árbol de decisiones blando , con una implementación independiente de PyTorch
SHAP: Un enfoque unificado para interpretar predicciones de modelos ( papel , código Python de los autores , paquete R )
Redes neuronales convolucionales interpretables ( papel , código de autor )
Lucid, una colección de infraestructura y herramientas para la investigación sobre la capacidad de interpretación de las redes neuronales por parte de Google ( código ; documentos: visualización de características , los bloques de construcción de la interpretabilidad )
Redes de transparencia por diseño (TbD) ( papel , código , demostración )
SVCCA: Análisis de correlación canónica vectorial singular para dinámicas de aprendizaje profundo e interpretabilidad ( papel , código , publicación de blog de Google )
TCAV: Prueba con vectores de activación de concepto (documento ICML 2018 , código de Tensorflow )
Grad-CAM: Las explicaciones visuales de Redes profundas a través de la localización basada en gradiente ( papel , autores de código de la antorcha , código Tensorflow , código PyTorch , Keras ejemplo bloc de notas )
Disección de red: cuantificación de la interpretación de representaciones visuales profundas, por MIT CSAIL ( página del proyecto , código Caffe , puerto PyTorch )
Disección de GAN: visualización y comprensión de redes adversas generativas, por MIT CSAIL ( página del proyecto , con enlaces a papel y código)
Explicar para arreglar: un marco para interpretar y corregir las predicciones del detector de objetos DNN ( papel , código )
Últimamente, ha surgido un gran interés por comenzar a construir una base más teórica para las redes neuronales de aprendizaje profundo. En este contexto, el reconocido estadístico y pionero de la detección de compresión David Donoho recientemente comenzó (otoño de 2017) a ofrecer un curso en Stanford, Teorías del aprendizaje profundo (STATS 385) , con casi todo el material disponible en línea; es muy recomendable ...
ACTUALIZACIONES :
fuente
No estoy seguro de si esto es lo que está buscando, pero Google extrajo imágenes de las redes cuando se alimentaron con ruido blanco.
Ver Incepcionismo: profundizar en las redes neuronales (Google Research Blog) .
Este tipo de representa lo que la red sabe.
fuente
Me temo que no tengo a mano las citas específicas, pero he visto / escuchado citas de expertos como Andrew Ng y Geoffrey Hinton donde dicen claramente que realmente no entendemos las redes neuronales. Es decir, entendemos algo de cómo funcionan (por ejemplo, las matemáticas detrás de la propagación inversa) pero realmente no entendemos por qué funcionan. Es una especie de distinción sutil, pero el punto es que no, no entendemos los detalles más profundos de cómo exactamente pasas de un montón de pesas a, por ejemplo, reconocer a un gato jugando con una pelota.
Al menos en términos de reconocimiento de imágenes, la mejor explicación que he escuchado es que las capas sucesivas de una red neuronal aprenden características más sofisticadas, compuestas de las características más granulares de los niveles anteriores. Es decir, la primera capa puede reconocer "bordes" o "líneas rectas". La siguiente capa podría aprender formas geométricas como "caja" o "triángulo", y luego una capa superior podría aprender "nariz" u "ojo" en función de esas características anteriores, y luego una capa de nivel superior aún aprende "cara" hecha desde "ojo", "nariz", "mandíbula", etc. Pero incluso eso, según tengo entendido, sigue siendo hipotético y / o no se entiende con todo detalle.
fuente
Aquí hay una respuesta de Carlos E. Pérez a la pregunta ¿Qué es la teoría detrás del aprendizaje profundo?
En resumen: tenemos algunas ideas, pero no estamos muy seguros.
fuente
SI
Supongo que "saber de la cocina" significa "saber en detalle".
Déjame darte una serie de analogías:
El diablo está en los detalles, pero un punto crucial aquí es que se trata de estructuras artificiales. No aparecen al azar. Necesitas muchos conocimientos para obtener algo útil. Para Neural Networks, diría que pasaron aproximadamente 40 años desde la publicación de la idea clave (Rosenblatt perceptron, 1957) hasta la primera aplicación (US Postal Service, 1989). Y a partir de ahí nuevamente 13 años de investigación activa a sistemas realmente impresionantes (ImageNet 2012).
Lo que sabemos muy bien es cómo funciona la capacitación . Porque necesita ser implementado. Entonces, en una estructura muy pequeña, lo sabemos en detalle.
Piensa en las computadoras. Los diseñadores de chips saben muy bien cómo funciona su chip. Pero probablemente solo tendrán una idea muy aproximada de cómo funciona el sistema operativo Linux.
Otro ejemplo es la física y la química: la física describe las fuerzas centrales del universo. ¿Eso significa que también saben todo sobre química? Diablos no! Un físico "perfecto" puede explicar todo en química ... pero sería bastante inútil. Necesitaría mucha más información, no podría saltarse las partes irrelevantes. Simplemente porque "se acercó demasiado", considera los detalles que en la práctica no son interesantes ni importantes. Tenga en cuenta que el conocimiento del físico no está mal. Tal vez uno podría deducir el conocimiento del químico a partir de él. Pero falta esta comprensión de "alto nivel" de la interacción de la molécula.
La información clave de esos dos ejemplos son las capas de abstracción: puede construir complejidad a partir de estructuras simples .
¿Qué más?
Sabemos bien lo que en principio se puede lograr con las redes neuronales que diseñamos:
Ah, y por supuesto tenemos enfoques analíticos para redes neuronales. Escribí mi tesis de maestría sobre Análisis y optimización de arquitecturas de redes neuronales convolucionales . En este contexto, LIME (Explicaciones agnósticas locales del modelo interpretable) es bueno:
fuente
Solo quería agregar algo:
depende de lo que quieras decir con científico:
Soy estudiante de doctorado en ingeniería eléctrica y vi que muchos investigadores trabajan con ANN en problemas como la regresión, el control de predicción, el control adaptativo y los problemas de clasificación.
puedes notar claramente que su falta de habilidades de codificación es un gran inconveniente, y realmente no entienden lo que está sucediendo dentro de un ANN, ahora ni siquiera estoy hablando de Deep , ¡les cuesta entender cosas simples como ADALINEs y ANFIS! todo lo que oyes decir es: ¡dale datos y se adaptará!
fuente