Es cierto que es difícil entender qué está aprendiendo una red neuronal, pero ha habido mucho trabajo en ese frente. Definitivamente podemos tener una idea de lo que está buscando nuestra red.
Consideremos el caso de una red neuronal convolucional para imágenes. Tenemos la interpretación para nuestra primera capa de que estamos deslizando los filtros sobre la imagen, por lo que nuestra primera capa oculta corresponde al acuerdo entre pequeños fragmentos de la imagen y nuestros diversos filtros. Podemos visualizar estos filtros para ver cuál es nuestra primera capa de representación:K
Esta imagen es de la primera capa de filtros de una AlexNet y está tomada de este maravilloso tutorial: http://cs231n.github.io/understanding-cnn/ . Esto nos permite interpretar la primera capa oculta como aprender a representar la imagen, que consiste en píxeles sin formato, como un tensor donde cada coordenada es la concordancia de un filtro con una pequeña región de la imagen. La siguiente capa está trabajando con estas activaciones de filtro.
⎡⎣⎢0 010 01- 410 010 0⎤⎦⎥.
0 0
Este artículo de Erhan et al (2009) está de acuerdo con esto: dicen que las visualizaciones de la primera capa oculta son comunes (y eso fue en 2009), pero visualizar las capas más profundas es la parte difícil. De ese papel:
El principal hallazgo experimental de esta investigación es muy sorprendente: la respuesta de una unidad interna a las imágenes de entrada, como una función en el espacio de la imagen, parece ser unimodal, o al menos que el máximo se encuentra de manera confiable y consistente para todas las inicializaciones aleatorias probadas . Esto es interesante porque encontrar este modo dominante es relativamente fácil, y mostrarlo proporciona una buena caracterización de lo que hace la unidad.
Chris Olah et al ( https://distill.pub/2017/feature-visualization/ ) se basan en esto y discuten cómo en general puede (1) generar imágenes que conducen a grandes activaciones para tener una idea de lo que la red está buscando; o (2) tome imágenes de entrada reales y vea cómo diferentes partes de la imagen activan la red. Esa publicación se centra en (1).
En la imagen a continuación, tomada de ese artículo vinculado por Olah et al., Los autores discuten los diferentes aspectos de la red que puede inspeccionar. La imagen de la izquierda muestra el resultado de optimizar la activación de una neurona particular sobre el espacio de la imagen de entrada, y así sucesivamente.
Recomiendo encarecidamente leer ese artículo en su totalidad si desea una comprensión más profunda de esto, y al leer sus referencias debe tener una gran comprensión de lo que se ha hecho con esto.
Ahora, por supuesto, todo esto fue solo para imágenes donde nosotros, como humanos, podemos dar sentido a las entradas. Si está trabajando con algo más difícil de interpretar, como un gran vector de números, es posible que no pueda hacer visualizaciones tan geniales, pero en principio aún podría considerar estas técnicas para evaluar las diversas neuronas, capas, etc. .
Neural Network es uno de los modelos de caja negra que no daría reglas "fáciles de entender" o lo que se ha aprendido.
Específicamente, lo que se ha aprendido son los parámetros en el modelo, pero los parámetros pueden ser grandes: cientos de miles de parámetros son muy normales.
Además, tampoco está claro sobre las características importantes aprendidas, puede entender que el modelo usa todas las características, con muchas operaciones complicadas para obtener los resultados, donde no es fácil decir en inglés simple cómo el modelo transforma cada característica.
De hecho, la red neuronal de una capa (sin capa oculta) con función logística como función de activación es idéntica a la regresión logística. La regresión logística es muy rica en interpretaciones. Aquí hay un ejemplo. Pero con una red neuronal compleja / capas más ocultas, tal interpretación no se aplicará.
fuente