¿Los científicos saben lo que sucede dentro de las redes neuronales artificiales?


69

¿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?


" por qué se desempeñan tan bien ", realmente no se desempeñan TAN bien. Como con la mayoría de las nuevas tecnologías, las fallas no se reportan.
Tomáš Zato

Respuestas:


51

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 :

En resumen, hemos reunido algunos métodos diferentes que le permiten "triangular" qué característica ha aprendido una neurona, lo que puede ayudarlo a comprender mejor cómo funcionan los DNN.

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.

filtros de primera capa

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):

experimentos de oclusión

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:

La neurona resaltada en esta imagen parece entusiasmarse mucho con las URL y se apaga fuera de las URL. Es probable que el LSTM esté usando esta neurona para recordar si está dentro de una URL o no.

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.


¿Visualizar es saber? ¿O es solo una solución moderna a la ignorancia? Quizás el desarrollo matemático es el área que carece de rigor y suficiencia.
FauChristian

1
@FauChristian Te estás perdiendo el punto aquí. Los pesos y todas las operaciones matemáticas dentro de una red neuronal se conocen exactamente, al igual que el código de ensamblaje. Esto está fuera de discusión. La visualización permite comprender por qué ciertas operaciones están sucediendo y llevar a un buen rendimiento. Una vez más, al igual que los algoritmos informáticos clásicos. Además, te animo a que leas el periódico de Zieler al, mencionado en la respuesta.
Maxim

1
No perdí esos puntos, habiéndolos estudiado como estudiante. Sin embargo, fui flojo en mi comentario. La cuadrícula en blanco y negro que representa los núcleos es interesante solo porque muestra una matriz algo caótica de estados de núcleo de detección de bordes ondulados, lo que indica la necesidad de caracterizar el caos para comprenderlo. ¿Cuáles son su distribución de tamaño, distribución angular y distribución sesgada? ¿Estas distribuciones indican (a) Un sobreajuste específico para ciertos conjuntos de datos o (b) Un patrón general que podría ser reemplazado por un bloque funcional con mayor eficiencia computacional. ~~ Una vez no se puede decir de lo visual.
FauChristian

1
Bien, todas estas distribuciones (y muchas, muchas otras) no se calculan aquí. No significa que no puedan o no deban calcularse. Tampoco significa que la interpretación del modelo no tenga nada que ver con la visualización. Una vez más, le animo a leer "Visualizar y comprender las redes convolucionales" de Zieler et al., Donde los autores discuten esto en detalle.
Maxim

Tenemos eso en el laboratorio. Mi asociado revisó algunos de los ejemplos de código. Lo echaré un vistazo desde el lado de las estadísticas. Gracias.
FauChristian

27

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 .


13

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:

Y en un nivel más práctico (código, etc.):

Ú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 :


Hola. Esta parece ser una buena respuesta, pero debe limpiarla y organizarla un poco. Los primeros recursos deben ser los más útiles y generales. Luego puede enumerar recursos más específicos y trabajos de investigación, en mi humilde opinión. Y luego puede enumerar, por ejemplo, hilos de Twitter o lo que sea.
nbro


8

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.


2
Me interesaría leer las citas reales. En el nivel conceptual más amplio, el por qué es "Son aproximadores de funciones universales capacitados para reducir el error en un problema de regresión".
NietzscheanAI

Veré si puedo localizarlos. Estoy bastante seguro de que la cita de Geoffrey Hinton en la que estoy pensando está en un video ... ya sea de su clase de Coursera o de algún video que tiene en Youtube. Si puedo encontrarlo, editaré mi respuesta y la vincularé.
mindcrime

No lo he olvidado Intentaré encontrarlos cuando tenga un poco de tiempo libre. Creo que al menos uno de los que pienso es de un video que es parte de un curso de Coursera.
mindcrime

Este estudio puede ayudar a poner las mismas referencias: "Sin embargo, no hay una comprensión clara de por qué funcionan tan bien o cómo podrían mejorarse".
kenorb

4

Aquí hay una respuesta de Carlos E. Pérez a la pregunta ¿Qué es la teoría detrás del aprendizaje profundo?

[...]

La matemática subyacente del aprendizaje profundo ha existido durante varias décadas, sin embargo, los impresionantes resultados que vemos hoy son parte de un hardware mucho más rápido, más datos y mejoras incrementales en los métodos.

El aprendizaje profundo en general se puede enmarcar como un problema de optimización donde el objetivo es una función del error del modelo. Este problema de optimización es muy difícil de resolver, teniendo en cuenta que el espacio de parámetros del modelo (es decir, los pesos de la red neuronal) conduce a un problema en una dimensión extremadamente alta. Un algoritmo de optimización podría tomar mucho tiempo para explorar este espacio. Además, existía una creencia no verificada de que el problema no era convexo y que la computación quedaría atrapada para siempre en los mínimos locales.

[...]

Todavía se desconoce la teoría de por qué las máquinas convergen realmente en un atractor o, en otras palabras, aprenden a reconocer patrones complejos.

En resumen: tenemos algunas ideas, pero no estamos muy seguros.


3

¿Los científicos saben lo que sucede dentro de las redes neuronales artificiales?

SI

¿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?

Supongo que "saber de la cocina" significa "saber en detalle".

Déjame darte una serie de analogías:

  1. ¿Un ingeniero de aviones sabe de la cocina lo que sucede dentro del avión?
  2. ¿Un diseñador de chips sabe en detalle qué sucede en los chips que diseñó?
  3. ¿Un ingeniero civil sabe todo sobre la casa que construyó?

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:

  • Una red neuronal diseñada para jugar Go, no importa cuán sofisticada sea, nunca podrá jugar al ajedrez. Por supuesto, puede agregar otra capa de abstracción a su alrededor y combinar cosas. Pero este enfoque necesita humanos.
  • Una red neuronal diseñada para distinguir a los perros de los gatos que solo ha visto pudels y gatos persas probablemente funcionará realmente mal cuando tenga que decidirse por Yorkshire Terriers.

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:

ingrese la descripción de la imagen aquí


1
La mayoría de ellos están influenciados por modelos biológicos ... Por lo tanto, decir que los científicos construyeron NN en función de un problema es algo difícil de creer ... Especialmente cuando nadie tiene idea de por qué una arquitectura particular o un conjunto particular de hiperparámetros funcionan bien para un problema dado ... No estoy hablando de los hiperparámetros exactos, pero ninguno parece tener una idea general de qué hiperparámetros aproximados podrían funcionar para un problema determinado (el problema está bien definido). Por lo tanto, ningún científico no sabe lo que está sucediendo dentro Ana.
DuttaA

Piense en los primeros ingenieros de automóviles / aviones. ¿Diría que no saben lo que sucede dentro de su avión / automóvil, porque no los construyeron, porque su forma no era aerodinámica?
Martin Thoma

1
Ofc ... No saber algo debido a la falta de tecnología ... Es algo diferente a no saber teóricamente ... Creo que fue tecnología en el caso de los aviones ... Mientras que aquí no podemos procesar matemáticamente ... Así que olvídate de la tecnología
DuttaA

1

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á!


1
Aunque probablemente tenga razón conceptual, puede obtener algunos votos y posiblemente ser de alguna ayuda constructiva si reescribe su respuesta como una observación sociológica en lugar de una diatriba pedante.
FauChristian
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.