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