Comprensión de la visión de RL

Con diversos entornos, podemos analizar, diagnosticar y editar modelos de aprendizaje por refuerzo profundo mediante la atribución.

Interfaz de usuario gráfica

Descripción generada automáticamente con confianza baja

Atribución de una capa oculta a la función de valor, que muestra qué características de la observación (izquierda) se utilizan para predecir el éxito (medio) y el fracaso (derecha). La aplicación de reducción de dimensionalidad (NMF) produce funciones que detectan varios objetos en el juego.

Aprendizaje profundo por refuerzo

El Aprendizaje profundo por refuerzo o Deep Reinforcement Learning, es uno de los campos de investigación más prometedores en el mundo de la Inteligencia Artificial.

¿Qué es el aprendizaje profundo por refuerzo?

Es una nueva generación de las técnicas de aprendizaje automático (Machine Learning), que se caracteriza por un paso más a la evolución de la forma en que la maquina aprende a realizar una tarea.

Los sistemas de aprendizaje por refuerzo exploran y adquieren datos sobre el problema por propia iniciativa, diseñando automáticamente estrategias que le den solución.

¿Cómo funciona el aprendizaje profundo por refuerzo?

Un sistema de aprendizaje profundo por refuerzo está conformado por una máquina o agente inteligente que aprende a optimizar un proceso de decisión.

Es similar a cuando entrenas a un perro en donde le enseñas hacer las acciones por medio de recompensas o castigos.

·         Agente: El alumno y el que toma las decisiones

·         Entorno (Medio Ambiente): Donde el agente aprende y decide que acciones realizar

·         Acción: Un conjunto de acciones que el agente puede realizar

·         Estado: El estado de agente en el entorno

·         Recompensa: Por cada acción seleccionada por el agente, el entorno proporciona una recompensa. Por lo general, un valor escalar.

Conceptos de inteligencia artificial: qué es el aprendizaje por refuerzo

¿Cómo aprende una maquina?

Para que la maquina aprenda, el agente interactúa con un “entorno”, que puede ser el proceso de decisión real o una simulación del mismo. El agente trabaja observando el entorno, y tomando una decisión para comprobar que efectos produce.

Si el resultado de esa decisión es beneficioso, el agente aprende automáticamente a repetir esa decisión en el futuro, mientras que si el resultado fuera perjudicial evitará volver a tomar la misma decisión.

Escala de tiempo

Descripción generada automáticamente

De este modo, siguiendo un proceso de aprendizaje por condicionamiento similar al de los seres vivos, el agente aprende qué decisiones son más adecuadas según la situación, y desarrolla estrategias a largo plazo que maximicen los beneficios.

El “cerebro” o la capacidad de aprendizaje del agente viene dada por un modelo de Deep Learning o red neuronal profunda. Esto permite explotar todos los avances recientes en redes neuronales artificiales, pudiendo así tratar con problemas que requieran analizar datos no estructurados como imágenes, sonidos o lenguaje natural.

En este artículo, aplicamos técnicas de interpretabilidad a un modelo de aprendizaje por refuerzo (RL) entrenado para jugar al videojuego CoinRun. Utilizando la atribución combinada con la reducción de dimensionalidad como en, creamos una interfaz para explorar los objetos detectados por el modelo y cómo influyen en su función y política de valor. Aprovechamos esta interfaz de varias formas.

·         Disección del fracaso. Realizamos un análisis paso a paso del comportamiento del agente en los casos en los que no logró la recompensa máxima, lo que nos permite comprender qué salió mal y por qué. Por ejemplo, un caso de falla fue causado por un obstáculo que se ocultó temporalmente de la vista.

·         Alucinaciones. Encontramos situaciones en las que el modelo "alucinó" una característica que no estaba presente en la observación, lo que explica inexactitudes en la función de valor del modelo. Fueron lo suficientemente breves como para no afectar el comportamiento del agente.

·         Edición de modelos. Editamos manualmente los pesos del modelo para cegar al agente a ciertos peligros, sin cambiar el comportamiento del agente. Verificamos los efectos de estas ediciones comprobando qué peligros hacen que fallen los nuevos agentes. Dicha edición solo es posible gracias a nuestro análisis anterior y, por lo tanto, proporciona una validación cuantitativa de este análisis.

Nuestros resultados dependen de que los niveles en CoinRun se generen procedimentalmente, lo que nos lleva a formular una hipótesis de diversidad para la interpretabilidad. Si es correcto, entonces podemos esperar que los modelos RL se vuelvan más interpretables a medida que los entornos en los que se entrenan se vuelven más diversos. Proporcionamos evidencia para nuestra hipótesis midiendo la relación entre interpretabilidad y generalización.

Finalmente, proporcionamos una investigación exhaustiva de varias técnicas de interpretabilidad en el contexto de la visión de RL y planteamos una serie de preguntas para futuras investigaciones.

 

 

 

 

 

Nuestro modelo CoinRun

CoinRun es un juego de plataformas de desplazamiento lateral en el que el agente debe esquivar enemigos y otras trampas y recoger la moneda al final del nivel.

Imagen que contiene Interfaz de usuario gráfica

Descripción generada automáticamente

Nuestro modelo entrenado jugando CoinRun. Izquierda: resolución completa. Derecha: observaciones de 64x64 RGB proporcionadas al modelo.

CoinRun se genera por procedimientos, lo que significa que cada nuevo nivel encontrado por el agente se genera aleatoriamente desde cero. Esto incentiva al modelo a aprender cómo detectar los diferentes tipos de objetos en el juego, ya que no puede salirse con la suya simplemente memorizando una pequeña cantidad de trayectorias específicas. Usamos la versión original de CoinRun, no la versión de Procgen Benchmark, que es ligeramente diferente. Para jugar CoinRun usted mismo, siga las instrucciones.

 

A continuación, se muestran algunos ejemplos de los objetos que se utilizan, junto con las paredes y los suelos, para generar niveles CoinRun.

Calendario

Descripción generada automáticamente

     I.        El agente, en el aire (izquierda) y a punto de saltar (derecha). El agente también aparece en beige, azul y verde.

    II.        Monedas, que hay que recoger.

  III.        Obstáculos estacionarios de sierra circular, que deben ser esquivados.

  IV.        Enemigos, que deben ser esquivados, moviéndose de izquierda a derecha. Hay varios sprites alternativos, todos con senderos blancos.

   V.        Cajas, sobre las que el agente puede pasar y aterrizar encima.

  VI.        Lava en el fondo de un abismo.

VII.        La información de velocidad pintada en la parte superior izquierda de cada observación, que indica las velocidades horizontal y vertical del agente.

Hay 9 acciones disponibles para el agente en CoinRun:

La izquierda y la derecha cambian la velocidad horizontal del agente. Todavía funcionan mientras el agente está en el aire, pero su efecto es menor.

Abajo cancela un salto si se usa inmediatamente después de subir y baja al agente de las casillas.

Arriba hace que el agente salte después de la siguiente acción no activa. Las direcciones diagonales tienen el mismo efecto que las direcciones de ambas componentes combinadas.

A, B y C no hacen nada

 

 

 

 

Red neuronal convolucional

Las Redes neuronales convolucionales son  un tipo de redes neuronales artificiales  donde las “neuronas”  corresponden a campos receptivos de una manera muy similar a las neuronas en la corteza visual primaria (V1) de un cerebro biológico.  Este tipo de red es una variación de un perceptrón multicapa, sin embargo, debido a que su aplicación es realizada en matrices bidimensionales, son muy efectivas para tareas de visión artificial, como en la clasificación y segmentación de imágenes, entre otras aplicaciones.

 

Cómo están construidas y cómo funcionan

Las redes neuronales convolucionales consisten en múltiples capas de filtros convolucionales de una o más dimensiones. Después de cada capa, por lo general se añade una función para realizar un mapeo causal no-lineal.

Como cualquier red empleada para clasificación, al principio estas redes tienen una fase de extracción de características, compuesta de neuronas convolucionales , luego hay una reducción por muestreo y al final tendremos neuronas de perceptrón más sencillas para realizar la clasificación final sobre las características extraídas.

La fase de extracción de características se asemeja al proceso estimulante en las células de la corteza visual. Esta fase se compone de capas alternas de neuronas convolucionales y neuronas de reducción de muestreo. Según progresan los datos a lo largo de esta fase, se disminuye su dimensionalidad, siendo las neuronas en capas lejanas mucho menos sensibles a perturbaciones en los datos de entrada, pero al mismo tiempo siendo estas activadas por características cada vez más complejas.

Como se logra que una red convolucional aprenda

Las Redes neuronales Convolucionales, CNN aprenden a reconocer una diversidad de objetos dentro de imágenes, pero para ello necesitan “entrenarse” de previo con una cantidad importante de “muestras” más de 10.000, de ésta forma las neuronas de la red van a poder captar las características únicas -de cada objeto- y a su vez, poder generalizarlo – a esto es lo que se le conoce como el proceso de “aprendizaje de un algoritmo ” .   Nuestra red va a poder reconocer por ejemplo un cierto tipo de célula porque ya la ha “visto” anteriormente muchas veces, pero no solo buscará celulas semejantes, sino que podra inferir imagenes que no conozca pero que relaciona y en donde podrían existir similitudes, y esta es la parte inteligente del reconociminto

Texto, Carta

Descripción generada automáticamente

Pixeles y neuronas

Para comenzar, la red toma como entrada los pixeles de una imagen. Si tenemos una imagen con apenas 28×28 pixeles de alto y ancho, esTo equivale a utilizar 784 neuronas. Y eso es si sólo tenemos 1 color (escala de grises). Si tuviéramos una imagen a color, necesitaríamos 3 canales RGB (red, green, blue) y entonces usaríamos 28x28x3 = 2352 neuronas. Estas neuronas constituyen nuestra capa de entrada.

Convoluciones

Ahora comienza el «procesado distintivo» de las Redes neuronales convolucionales, es decir, haremos las llamadas “convoluciones”: Estas consisten en tomar «grupos de pixeles cercanos» de la imagen de entrada e ir operando matemáticamente (producto escalar) contra una pequeña matriz que se llama kernel.  Ese kernel supongamos que tiene un tamaño de de 3×3 pixels y con ese tamaño logra «visualizar» todas las neuronas de entrada (de izquierda-derecha, de arriba-abajo) y asi logra generar una nueva matriz de salida, que en definitiva será nuestra nueva capa de neuronas ocultas.

NOTA: si la imagen fuera a color, el kernel realmente sería de 3x3x3 es decir: un filtro con 3 kernels de 3×3; luego esos 3 filtros se suman (y se le suma una unidad bias) y conformarán 1 salida (cómo si fuera 1 solo canal).

Tabla

Descripción generada automáticamente

Filtro: conjunto de kernels

No aplicaremos 1 sólo kernel, si no que tendremos muchos kernel (al conjunto de Kernels se les llama filtros). Por ejemplo en esta primer convolución podríamos tener 32 filtros, con lo cual realmente obtendremos 32 matrices de salida (este conjunto se conoce como “feature mapping”), cada una de 28x28x1 dan un total del 25.088 neuronas para nuestra PRIMER CAPA OCULTA de neuronas, y que solo analiza  una imagen cuadrada de apenas 28 pixeles? Imaginen cuántas más serían si tomáramos una imagen de entrada de 224x224x3 (que aún es considerado un tamaño pequeño)

Imagen que contiene biombo, juego, texto

Descripción generada automáticamente

A medida que vamos desplazando el kernel y vamos obteniendo una «nueva imagen» filtrada por el kernel.  En esta primera convolución y siguiendo con el ejemplo anterior, es como si obtuviéramos 32 «imágenes filtradas nuevas». Estas imágenes nuevas lo que están «dibujando» son ciertas características de la imagen original. Esto ayudará en el futuro a poder distinguir un objeto de otro (por ej. gato ó un perro).

 

Diagrama

Descripción generada automáticamente

La función de Activación

La función de activación más utilizada para este tipo de redes neuronales es la llamada ReLu por Rectifier Linear Unit y consiste en una función f(x)=max(0,x).

 

Diagrama

Descripción generada automáticamente

La primera convolución es capaz de detectar características primitivas como lineas ó curvas. A medida que hagamos más capas con las convoluciones, los mapas de características serán capaces de reconocer formas más complejas, y el conjunto total de capas de convoluciones podrá “reconocer”.

 

Conectar con una red neuronal “tradicional”.

Para terminar, tomaremos la última capa oculta a la que hicimos subsampling, que se dice que es «tridimensional» por tomar la forma -en nuestro ejemplo- 3x3x128 (alto,ancho,mapas) y la «aplanamos», esto es que deja de ser tridimensional, y pasa a ser una capa de neuronas «tradicionales», y con ello aplanamos  (y conectamos) una nueva capa oculta de neuronas tipo feedforward.

Gráfico

Descripción generada automáticamente

Entonces, a esta nueva capa oculta “tradicional”, le aplicamos una función llamada Softmax que conecta contra la capa de salida final que tendrá la cantidad de neuronas correspondientes con las clases que estamos clasificando. Si clasificamos perros y gatos, serán 2 neuronas. Si clasificamos coches, aviones ó barcos serán 3, etc.

Las salidas al momento del entrenamiento tendrán el formato conocido como “one-hot-encoding” en el que para perros y gatos sera: [1,0] y [0,1], para coches, aviones ó barcos será [1,0,0]; [0,1,0];[0,0,1].

Y la función de Softmax se encarga de pasar a probabilidad (entre 0 y 1) a las neuronas de salida. Por ejemplo una salida [0,2 0,8] nos indica 20% probabilidades de que sea perro y 80% de que sea gato, segun este ejemplo

 

 

 

 

Red neuronal convolucional en CoinRun

Entrenamos una red neuronal convolucional en CoinRun para alrededor de 2 mil millones de pasos de tiempo, usando PPO, un algoritmo actor-crítico Usamos los hiperparámetros PPO estándar para CoinRun, excepto que usamos el doble de copias del entorno por trabajador y el doble y muchos trabajadores. El efecto de estos cambios fue aumentar el tamaño de lote efectivo, que parecía ser necesario para alcanzar el mismo rendimiento con nuestra arquitectura más pequeña. La arquitectura de nuestra red se describe en el Apéndice C. Usamos una red no recurrente, para evitar la necesidad de visualizar múltiples cuadros a la vez. Por lo tanto, nuestro modelo observa una sola imagen de 64x64 con muestreo reducido y genera una función de valor (una estimación de la recompensa total descontada en el tiempo futuro) y una política (una distribución de probabilidad sobre las acciones, de la cual se muestra la siguiente acción).

Diagrama

Descripción generada automáticamente

Esquema de un modelo actor-crítico convolucional no recurrente típico, como el nuestro.

Análisis del modelo

Habiendo entrenado a un fuerte agente de RL, teníamos curiosidad por ver qué había aprendido. A continuación, desarrollamos una interfaz para examinar las trayectorias del agente que juega. Esto incorpora la atribución de una capa oculta que reconoce objetos, que sirve para resaltar objetos que influyen positiva o negativamente en una salida de red en particular. Al aplicar la reducción de dimensionalidad, obtenemos vectores de atribución cuyos componentes corresponden a diferentes tipos de objeto, los cuales indicamos usando diferentes colores.

 

Aquí está nuestra interfaz para una trayectoria típica, con la función de valor como la salida de la red. Revela el modelo usando obstáculos, monedas, enemigos y más para calcular la función de valor.

Interfaz de usuario gráfica, Aplicación

Descripción generada automáticamente

Observación

Píxeles de videojuegos vistos por el modelo

Atribución positiva (buenas noticias)

La superposición de colores muestra objetos que predicen el éxito

Atribución negativa (malas noticias)

La superposición de colores muestra objetos que predicen fallas

 

Leyenda de atribución (coloque el cursor para aislar)

Los colores corresponden a los componentes vectoriales después de la reducción de dimensionalidad, los iconos muestran ejemplos de conjuntos de datos y las etiquetas están compuestas a mano,

Interfaz de usuario gráfica, Aplicación

Descripción generada automáticamente

 

 

Diseccionando el fracaso

Nuestro modelo totalmente entrenado no completa alrededor de 1 de cada 200 niveles. Exploramos algunas de estas fallas utilizando nuestra interfaz y descubrimos que, por lo general, podíamos comprender por qué ocurrieron.

El fracaso a menudo se reduce al hecho de que el modelo no tiene memoria y, por lo tanto, debe elegir su acción basándose únicamente en la observación actual. También es común que alguna muestra desafortunada de acciones de la política del agente sea en parte responsable.

Aquí hay algunos ejemplos de fallas seleccionados cuidadosamente, analizados cuidadosamente paso a paso.

 

Texto

Descripción generada automáticamenteInterfaz de usuario gráfica, Texto, Aplicación

Descripción generada automáticamenteInterfaz de usuario gráfica, Texto, Aplicación

Descripción generada automáticamente

Alucinaciones

Buscamos errores en el modelo usando estimación de ventaja generalizada (GAE). Usamos los mismos hiperparámetros GAE que en el entrenamiento, a saber y. que mide el éxito de cada acción en relación con las expectativas del agente. Un GAE inusualmente alto o bajo indica que ocurrió algo inesperado o que las expectativas del agente estaban mal calibradas. El filtrado de dichos intervalos de tiempo puede, por lo tanto, encontrar problemas con la función o política de valor.

Usando nuestra interfaz, encontramos un par de casos en los que el modelo "alucinó" una característica que no estaba presente en la observación, lo que provocó que la función de valor se disparara.

Imagen de la pantalla de un celular

Descripción generada automáticamente con confianza bajaInterfaz de usuario gráfica

Descripción generada automáticamente con confianza media

 

Texto

Descripción generada automáticamenteInterfaz de usuario gráfica, Aplicación

Descripción generada automáticamente

Edición de modelos

Nuestro análisis hasta ahora ha sido principalmente cualitativo. Para validar cuantitativamente nuestro análisis, editamos manualmente el modelo para hacer que el agente no vea ciertas características identificadas por nuestra interfaz: obstáculos de sierra circular en un caso y enemigos que se mueven hacia la izquierda en otro. Nuestro método para esto puede considerarse como una forma primitiva de edición de circuitos, y lo explicamos en detalle en el Apéndice A.

Evaluamos cada edición midiendo el porcentaje de niveles que el nuevo agente no pudo completar, desglosados ​​por el objeto con el que el agente colisionó para causar la falla. Nuestros resultados muestran que nuestras ediciones fueron exitosas y específicas, sin efectos estadísticamente medibles en las otras habilidades del agente.

Gráfico, Gráfico de barras

Descripción generada automáticamente

Resultados de probar cada modelo en 10,000 niveles. Tenga en cuenta que los enemigos en movimiento pueden cambiar de dirección.

Sin embargo, no logramos lograr la ceguera total: el modelo editado con sierra circular aún se desempeñó significativamente mejor que el modelo original cuando hicimos las sierras completamente invisibles. Nuestros resultados en la versión del juego con sierras invisibles son los siguientes. niveles fallaron debido a: obstáculo de la sierra circular / enemigo moviéndose a la izquierda / enemigo moviéndose a la derecha / múltiple u otro: modelo original, sierras circulares invisibles: 32.20% / 0.05% / 0.05% / 0.05% Probamos el modelo en 10,000 niveles. Experimentamos brevemente con iteraciones el procedimiento de edición, pero no pudieron lograr más de alrededor del 50% de ceguera de sierra circular con esta métrica sin afectar las otras habilidades del modelo. Esto implica que el modelo tiene otras formas de detectar sierras de zumbido que la característica identificada por nuestra interfaz.

Aquí están los modelos originales y editados que juegan algunos niveles seleccionados.

Imagen que contiene Texto

Descripción generada automáticamente

Interfaz de usuario gráfica, Aplicación

Descripción generada automáticamente

Imagen que contiene Gráfico

Descripción generada automáticamente

La hipótesis de la diversidad

Todo el análisis anterior utiliza la misma capa oculta de nuestra red, la tercera de las cinco capas convolucionales, ya que era mucho más difícil encontrar características interpretables en otras capas. Curiosamente, el nivel de abstracción en el que opera esta capa (encontrar las ubicaciones de varios objetos en el juego) es exactamente el nivel en el que los niveles de CoinRun se asignan al azar mediante la generación de procedimientos. Además, descubrimos que el entrenamiento en muchos niveles aleatorios era esencial para que pudiéramos encontrar cualquier característica interpretable.

Esto nos llevó a sospechar que la diversidad introducida por la aleatorización de CoinRun está relacionada con la formación de características interpretables. A esto lo llamamos la hipótesis de la diversidad:

 Las características interpretables tienden a surgir (en un nivel dado de abstracción) si y solo si la distribución del entrenamiento es lo suficientemente diversa (en ese nivel de abstracción).

Nuestra explicación de esta hipótesis es la siguiente. Para la implicación directa ("solo si"), solo esperamos que las características sean interpretables si son lo suficientemente generales, y cuando la distribución de entrenamiento no es lo suficientemente diversa, los modelos no tienen ningún incentivo para desarrollar características que generalicen en lugar de sobre ajustar. Para la implicación inversa (“si”), no esperamos que se cumpla en un sentido estricto: la diversidad por sí sola no es suficiente para garantizar el desarrollo de características interpretables, ya que también deben ser relevantes para la tarea. Más bien, nuestra intención con la implicación inversa es plantear la hipótesis de que se cumple muy a menudo en la práctica, como resultado de que la generalización se ve obstaculizada por la diversidad.

En CoinRun, la generación de procedimientos se usa para incentivar al modelo a aprender habilidades que se generalizan a niveles invisibles. Sin embargo, solo el diseño de cada nivel es aleatorio y, en consecuencia, solo pudimos encontrar características interpretables en el nivel de abstracción de objetos. En un nivel inferior, solo hay un puñado de patrones visuales en el juego, y las características de bajo nivel de nuestro modelo parecen consistir principalmente en configuraciones de color memorizadas que se utilizan para seleccionarlos. De manera similar, la dinámica de alto nivel del juego sigue algunas reglas simples y, en consecuencia, las características de alto nivel de nuestro modelo parecen involucrar mezclas de combinaciones de objetos que son difíciles de descifrar. Para explorar las otras capas convolucionales, consulte la interfaz aquí.

 

Interpretabilidad y generalización

Para probar nuestra hipótesis, hicimos que la distribución del entrenamiento fuera menos diversa, al entrenar al agente en un conjunto fijo de 100 niveles. Esto redujo drásticamente nuestra capacidad para interpretar las características del modelo. Aquí mostramos una interfaz para el nuevo modelo, generada de la misma manera que la anterior. La función de valor que aumenta suavemente sugiere que el modelo ha memorizado el número de pasos de tiempo hasta el final del nivel y las características que utiliza para este enfoque en objetos de fondo irrelevantes. Se produce un sobreajuste similar para otros videojuegos con un número limitado de niveles.

Interfaz de usuario gráfica, Texto, Aplicación, Chat o mensaje de texto

Descripción generada automáticamente

¿ Por que el análisis se realizó sobre la tercer capa?

Resumen y explicación de esta sección

Intentamos cuantificar este efecto variando el número de niveles utilizados para entrenar al agente y evaluando las 8 características identificadas por nuestra interfaz sobre cuán interpretables eran. Se pueden encontrar las interfaces utilizadas para esta evaluación. Las características se puntuaron en función de la coherencia con la que se centraran en los mismos objetos y si la atribución de la función de valor tenía sentido; por ejemplo, los objetos de fondo no deberían ser relevantes. Este proceso fue subjetivo y ruidoso, pero puede ser inevitable. También medimos la capacidad de generalización de cada modelo, probando el agente en niveles invisibles.

Gráfico

Descripción generada automáticamente

Comparación de modelos entrenados en diferentes números de niveles. Se entrenaron dos modelos para cada número de niveles, y dos investigadores evaluaron de forma independiente cuán interpretables eran las características de cada modelo, sin mostrar el número de niveles. Nuestra metodología tenía algunas fallas. En primer lugar, los investigadores no estaban completamente ciegos al número de niveles: por ejemplo, es posible inferir algo sobre el número de niveles a partir de la suavidad de los gráficos de la función de valor, ya que con menos niveles el modelo es más capaz de memorizar el número de pasos de tiempo hasta el final del nivel. En segundo lugar, dado que las evaluaciones son algo tediosas, las detuvimos una vez que pensamos que la tendencia se había aclarado, introduciendo cierto sesgo de selección. Por lo tanto, estos resultados deben considerarse principalmente ilustrativos. Cada modelo fue probado en 10,000 trenes y 10,000 niveles de prueba muestreados con reemplazo. Las áreas sombreadas en el gráfico de la izquierda muestran el rango de valores en ambos modelos, aunque en su mayoría son demasiado estrechos para ser visibles. Las barras de error en el gráfico de la derecha muestran ± 1 desviación estándar de la población en los cuatro pares de modelo e investigador.

Nuestros resultados ilustran cómo la diversidad puede conducir a características interpretables a través de la generalización, apoyando la hipótesis de la diversidad. Sin embargo, todavía consideramos que la hipótesis está muy poco probada.

 

Visualización de características

La visualización de características responde preguntas sobre lo que buscan determinadas partes de una red mediante la generación de ejemplos. Esto se puede hacer aplicando un descenso de gradiente a la imagen de entrada, partiendo de ruido aleatorio, con el objetivo de activar una neurona o grupo de neuronas en particular. Si bien este método funciona bien para un clasificador de imágenes entrenado en ImageNet, para nuestro modelo CoinRun solo produce nubes de color sin rasgos distintivos. Solo para la primera capa, que calcula convoluciones simples de la entrada, el método produce visualizaciones comparables para los dos modelos.

Imagen que contiene Interfaz de usuario gráfica

Descripción generada automáticamente

Comparación de visualización de características basada en gradientes para CNN capacitados en ImageNet (GoogLeNet) y en CoinRun (la arquitectura se describe a continuación). Cada imagen fue elegida para activar una neurona en el centro, con las 3 imágenes correspondientes a los 3 primeros canales. Se aplicó fluctuación entre los pasos de optimización de hasta 2 píxeles para la primera capa y hasta 8 píxeles para la capa intermedia (mixed4a para ImageNet, 2b para CoinRun).

Se ha demostrado anteriormente que la visualización de características basada en gradientes tiene problemas con los modelos RL entrenados en juegos de Atari. Para intentar que funcione para CoinRun, variamos el método de varias maneras. Nada de lo que probamos tuvo un efecto notable en la calidad de las visualizaciones.

·         Robustez de la transformación. Este es el método de alterar, rotar y escalar estocásticamente la imagen entre los pasos de optimización, para buscar ejemplos que sean robustos a estas transformaciones. Intentamos aumentar y disminuir el tamaño del jittering. La rotación y el escalado son menos apropiados para CoinRun, ya que las observaciones en sí mismas no son invariantes a estas transformaciones.

·         Penalización de colores extremos. Por color “extremo” nos referimos a uno de los 8 colores con valores RGB máximos o mínimos (negro, blanco, rojo, verde, azul, amarillo, cian y magenta). Al notar que nuestras visualizaciones tienden a usar colores extremos hacia el medio, intentamos incluir en el objetivo de visualización una penalización L2 de varias fortalezas en las activaciones de la primera capa, lo que redujo con éxito el tamaño de la región de color extremo pero no ayudó de otra manera. .

·         Objetivos alternativos. Intentamos utilizar un objetivo de optimización alternativo, como el objetivo de la caricatura. El objetivo de la caricatura es maximizar el producto punto entre las activaciones de la imagen de entrada y las activaciones de una imagen de referencia. Las caricaturas son a menudo un tipo de visualización de características especialmente fácil de hacer que funcione, y útiles para obtener un primer vistazo de las características que tiene un modelo. Están demostrados en. Próximamente se publicará un manuscrito más detallado de sus autores. También intentamos usar la reducción de dimensionalidad, como se describe a continuación, para elegir direcciones no alineadas con el eje en el espacio de activación para maximizar.

·         Diversidad visual de bajo nivel. En un intento por ampliar la distribución de imágenes vistas por el modelo, lo reentrenamos en una versión del juego con sprites generados por procedimientos. Además, intentamos agregar ruido a las imágenes, tanto ruido por píxel independiente como ruido correlacionado espacialmente. Finalmente, experimentamos brevemente con el entrenamiento contradictorio, aunque no seguimos muy lejos esta línea de investigación.

Como se muestra a continuación, pudimos usar ejemplos de conjuntos de datos para identificar una serie de canales que seleccionan características interpretables por humanos. Por lo tanto, es sorprendente lo resistentes que fueron a nuestros esfuerzos los métodos basados ​​en gradientes. Creemos que esto se debe a que, en última instancia, resolver CoinRun no requiere mucha habilidad visual. Incluso con nuestras modificaciones, es posible resolver el juego usando atajos visuales simples, como seleccionar ciertas configuraciones pequeñas de píxeles. Estos atajos funcionan bien en la distribución estrecha de imágenes en las que se entrena el modelo, pero se comportan de manera impredecible en el espacio completo de imágenes en el que tiene lugar la optimización basada en gradientes.

Nuestro análisis aquí proporciona una mayor comprensión de la hipótesis de la diversidad. En apoyo de la hipótesis, tenemos ejemplos de características que son difíciles de interpretar en ausencia de diversidad. Pero también hay pruebas de que es posible que sea necesario perfeccionar la hipótesis. En primer lugar, parece ser una falta de diversidad en un nivel bajo de abstracción lo que daña nuestra capacidad para interpretar características en todos los niveles de abstracción, lo que podría deberse al hecho de que la visualización de características basada en gradientes debe propagarse hacia atrás a través de capas anteriores. . En segundo lugar, el fracaso de nuestros esfuerzos por aumentar la diversidad visual de bajo nivel sugiere que es posible que la diversidad deba evaluarse en el contexto de los requisitos de la tarea.

 

Visualización de características basada en ejemplos de conjuntos de datos

Como alternativa a la visualización de características basada en gradientes, usamos ejemplos de conjuntos de datos. Esta idea tiene una larga historia y se puede considerar como una forma muy regularizada de visualización de características. Más detalladamente, tomamos muestras de algunos miles de observaciones del agente que juega el juego con poca frecuencia y las pasamos a través del modelo. Luego aplicamos un método de reducción de dimensionalidad conocido como factorización de matriz no negativa (NMF) a los canales de activación. Más precisamente, encontramos una factorización de rango bajo aproximada no negativa de la matriz obtenida al aplanar las dimensiones espaciales de las activaciones en la dimensión del lote. Esta matriz tiene una fila por observación y una columna por canal: por lo tanto, la reducción de dimensionalidad no utiliza información espacial. Para cada uno de los canales resultantes (que corresponden a combinaciones ponderadas de los canales originales), elegimos las observaciones y posiciones espaciales con la activación más fuerte (con un número limitado de ejemplos por posición, para diversidad), y mostramos un parche de la observación. en esa posición.

Calendario

Descripción generada automáticamente

Gráfico de rectángulos

Descripción generada automáticamente

Visualizaciones de características basadas en ejemplos de conjuntos de datos para 16 direcciones NMF de la capa 2b de nuestro modelo CoinRun. El tablero de ajedrez gris-blanco representa el borde de la pantalla. Las etiquetas están compuestas a mano.

A diferencia de la visualización de características basada en gradientes, este método encuentra algún significado para las diferentes direcciones en el espacio de activación. Sin embargo, es posible que aún no proporcione una imagen completa para cada dirección, ya que solo muestra un número limitado de ejemplos de conjuntos de datos y con un contexto limitado.

 

Visualización de características con reconocimiento espacial

Las observaciones de CoinRun se diferencian de las imágenes naturales en que son mucho menos invariantes espacialmente. Por ejemplo, el agente siempre aparece en el centro y la velocidad del agente siempre se codifica en la parte superior izquierda. Como resultado, algunas características detectan cosas no relacionadas en diferentes posiciones espaciales, como leer la velocidad del agente en la parte superior izquierda mientras detectan un objeto no relacionado en otra parte. Para dar cuenta de esto, desarrollamos una versión espacialmente consciente de la visualización de características basada en ejemplos de conjuntos de datos, en la que arreglamos cada posición espacial a su vez, y elegimos la observación con la activación más fuerte en esa posición (con un número limitado de reutilizaciones de la misma observación, para la diversidad). Esto crea una correspondencia espacial entre visualizaciones y observaciones.

 

Aquí hay una visualización de este tipo para una función que responde fuertemente a las monedas. Los cuadrados blancos en la parte superior izquierda muestran que la característica también responde fuertemente a la información de velocidad horizontal cuando es blanca, lo que corresponde al agente que se mueve hacia la derecha a toda velocidad.

Imagen de la pantalla de una computadora

Descripción generada automáticamente con confianza baja

Visualización de características basadas en ejemplos de conjuntos de datos con reconocimiento espacial para la dirección NMF de detección de monedas de la capa 2b. La transparencia (que revela el fondo con rayas diagonales) indica una respuesta débil, por lo que la mitad izquierda de la visualización es mayormente transparente porque las monedas nunca aparecen en la mitad izquierda de las observaciones.

 

 

 

Atribución

La atribución responde preguntas sobre las relaciones entre neuronas. Se usa más comúnmente para ver cómo la entrada a una red afecta una salida en particular, por ejemplo, en RL, pero también se puede aplicar a las activaciones de capas ocultas. Aunque hay muchos enfoques de atribución que podríamos haber utilizado, elegimos el método de gradientes integrados. En el Apéndice B explicamos cómo aplicamos este método a una capa oculta y cómo la atribución de función de valor positivo puede considerarse como "buenas noticias" y la atribución de función de valor negativo como "mala noticia".

 

Reducción de dimensionalidad para atribución

Demostramos anteriormente que un método de reducción de dimensionalidad conocido como factorización de matriz no negativa (NMF) podría aplicarse a los canales de activaciones para producir direcciones significativas en el espacio de activación. Descubrimos que es aún más efectivo aplicar NMF no a activaciones, sino a atribuciones de funciones de valor Como antes, obtenemos las direcciones de NMF muestreando algunos miles de observaciones con poca frecuencia del agente que juega el juego, calculando las atribuciones, aplanando las dimensiones espaciales en la dimensión del lote y aplicando NMF. (Trabajando alrededor del hecho de que NMF solo se puede aplicar a matrices no negativas Nuestra solución es separar las partes positivas y negativas de las atribuciones y concatenarlas a lo largo de la dimensión del lote. También podríamos haberlas concatenado a lo largo de la dimensión del canal). Ambos métodos tienden a producir direcciones NMF cercanas a one-hot, por lo que se puede pensar que seleccionan los canales más relevantes. Sin embargo, cuando se reduce a un pequeño número de dimensiones, el uso de atribuciones suele seleccionar características más destacadas, porque la atribución tiene en cuenta no solo a qué responden las neuronas, sino también si su respuesta es importante.

A continuación, después de aplicar NMF a las atribuciones, las visualizamos asignando un color diferente a cada uno de los canales resultantes. Superponemos estas visualizaciones sobre la observación y contextualizamos cada canal mediante la visualización de características, haciendo uso de la visualización de características basada en ejemplos de conjuntos de datos. Esto da una versión básica de nuestra interfaz, que nos permite ver el efecto de las características principales en diferentes posiciones espaciales.

Interfaz de usuario gráfica, Texto

Descripción generada automáticamente

Gráfico, Gráfico de rectángulos

Descripción generada automáticamente

Atribución de función de valor para una observación seleccionada con precisión utilizando la capa 2b de nuestro modelo CoinRun, reducida a 4 canales utilizando NMF basado en atribución. Las visualizaciones de características basadas en ejemplos de conjuntos de datos de estas direcciones revelan características más destacadas que las visualizaciones de las primeras 4 direcciones NMF basadas en activación de la sección anterior.

Para la versión completa de nuestra interfaz, simplemente repetimos esto para una trayectoria completa del agente que juega el juego. También incorporamos controles de video, una vista de línea de tiempo de observaciones comprimidas e información adicional, como resultados de modelos y acciones de muestra. Juntos, permiten que la trayectoria se explore y se comprenda fácilmente.

 

 

 

 

 

Discusión de atribución

Las atribuciones para nuestro modelo CoinRun tienen algunas propiedades interesantes que serían inusuales para un modelo ImageNet.

·         Escasez. La atribución tiende a concentrarse en un número muy pequeño de posiciones espaciales y canales (post-NMF). Por ejemplo, en la figura anterior, los 10 pares de canal y posición principales representan más del 80% de la atribución absoluta total. Esto podría explicarse por nuestra hipótesis anterior de que el modelo identifica objetos seleccionando ciertas configuraciones pequeñas de píxeles. Debido a esta escasez, suavizamos la atribución sobre posiciones espaciales cercanas para la versión completa de nuestra interfaz, de modo que la cantidad de espacio visual ocupado se pueda usar para juzgar la fuerza de la atribución. Esto intercambia algo de precisión espacial por más precisión con magnitudes.

·         Signo inesperado. La atribución de función de valor generalmente tiene el signo que uno esperaría: positivo para monedas, negativo para enemigos, etc. Sin embargo, a veces este no es el caso. Por ejemplo, en la figura anterior, el canal rojo que detecta los obstáculos de la sierra circular tiene una atribución tanto positiva como negativa en dos posiciones espaciales vecinas hacia la izquierda. Nuestra mejor suposición es que este fenómeno es el resultado de la colinealidad estadística, causada por ciertas correlaciones en la generación del nivel procedimental junto con el comportamiento del agente. Estos pueden ser visuales, como correlaciones entre píxeles cercanos, o más abstractos, como monedas y paredes largas que aparecen al final de cada nivel. Como ejemplo de juguete, suponiendo que la función de valor debería aumentar en un 2% cuando el final del nivel sea visible, el modelo podría aumentar la función de valor en un 1% para monedas y un 1% para paredes largas, o en un 3% para monedas. y -1% para paredes largas, y el efecto sería similar.

·         Marcos de valores atípicos. Cuando un evento inusual hace que la red genere valores extremos, la atribución puede comportarse de manera especialmente extraña. Por ejemplo, en el marco de la alucinación de la sierra circular, la mayoría de las características tienen una cantidad significativa de atribución tanto positiva como negativa. No tenemos una buena explicación para esto, pero quizás las características interactúan de formas más complicadas de lo habitual. Además, en estos casos, a menudo hay un componente significativo de la atribución que se encuentra fuera del espacio abarcado por las direcciones NMF, que mostramos como una característica "residual" adicional. Esto podría deberse a que cada cuadro se pondera por igual cuando se calcula NMF, por lo que los cuadros atípicos tienen poca influencia sobre las direcciones de NMF.

 

Estas consideraciones sugieren que se puede requerir cierto cuidado al interpretar las atribuciones.

Para saber más

Favor de consultar las siguientes fuentes para profundizar en conceptos clave: NMF Non-negative Matrix Factorization

CNN Convolutional Neural Networks
MDP Markov Decision Process
RL Reinforcement Learning
Un buen Curso de RL (DeepMind)

Referencias

“Feature Visualization.” Accessed December 15, 2021. https://distill.pub/2017/feature-visualization/.
“Lee and Seung - Algorithms for Non-Negative Matrix Factorization.Pdf.” Accessed December 15, 2021. https://proceedings.neurips.cc/paper/2000/file/f9d1152547c0bde01830b7e8bd60024c-Paper.pdf.
Lee, Daniel D, and H Sebastian Seung. “Algorithms for Non-Negative Matrix Factorization,” n.d., 7.
“Proximal Policy Optimization.” Accessed December 15, 2021. https://openai.com/blog/openai-baselines-ppo/.
“Redes Neuronales Convolucionales Son Un Tipo de Redes Neuronales.” Accessed December 15, 2021. https://www.juanbarrios.com/redes-neurales-convolucionales/.
“Redes Neuronales Convolucionales Son Un Tipo de Redes Neuronales.” Accessed December 15, 2021. https://www.juanbarrios.com/redes-neurales-convolucionales/.
“Simonyan et al. - 2014 - Deep Inside Convolutional Networks Visualising Im.Pdf.” Accessed December 15, 2021. https://arxiv.org/pdf/1312.6034.pdf.
Simonyan, Karen, Andrea Vedaldi, and Andrew Zisserman. “Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps.” ArXiv:1312.6034 [Cs], April 19, 2014. http://arxiv.org/abs/1312.6034.
“Solving Rubik’s Cube with a Robot Hand.” Accessed December 15, 2021. https://openai.com/blog/solving-rubiks-cube/.
“Solving Rubik’s Cube with a Robot Hand.” Accessed December 15, 2021. https://openai.com/blog/solving-rubiks-cube/.
“Understanding RL Vision.” Accessed December 15, 2021. https://distill.pub/2020/understanding-rl-vision/#dataset-examples.
“Understanding RL Vision.” Accessed December 15, 2021. https://distill.pub/2020/understanding-rl-vision/#dataset-examples.