¿Por qué es importante el documento de DeepMind “Aprender de las preferencias humanas”?

Uno de los aspectos más desafiantes de la IA es hacerlo seguro. Seguro como en, espero que Skynet no se apodere del mundo como seguro. A pesar de que estamos lejos de que Skynet se haga cargo, pero para evitar el escenario, tenemos que comenzar a dar pequeños pasos para evitarlo mientras estamos construyendo nuestras IA.

Dicho esto, para enfatizar la importancia del artículo, primero analicemos cómo suelen aprender las IA. Estamos construyendo agentes inteligentes que pueden funcionar en un entorno determinado para proporcionarnos una solución óptima a un problema determinado. Una de las formas de hacerlo es mediante el diseño de agentes basados ​​en objetivos donde un ser humano básicamente establece los objetivos para un problema específico en un entorno determinado. Esto parece funcionar bien para una tarea determinada, pero el problema es que si el ser humano que está estableciendo los objetivos comete algunos errores, el sistema agente / IA puede producir un comportamiento no deseado o potencialmente peligroso. Deepmind observó un ejemplo de este tipo cuando los agentes se volvieron hostiles entre sí mientras competían entre sí.

Entonces, para reducir esa posibilidad, este artículo explora la técnica de RL (aprendizaje por refuerzo) para lograr que el agente deduzca los objetivos de la retroalimentación proporcionada por un evaluador humano. Los investigadores demostraron cómo un sistema aprende a retroceder al obtener hasta 900 bits de retroalimentación de un evaluador. Esto puede sonar tedioso y cuestionable, poner tanto para una tarea simple. Pero hay dos puntos a tener en cuenta. Primero, no es tan fácil especificar tareas que aparentemente son fáciles / triviales. Segundo, no olvidemos que estamos hablando de sistemas inteligentes que en realidad son capaces de aprender por sí mismos. Solo para hacer una analogía, si no le enseñamos a un niño que golpear a alguien es malo, existe una alta probabilidad de que el niño se convierta en una persona muy indeseable (Por favor, perdona mi mala analogía pero espero que ayude a aclararlo) )

Al usar esta técnica, el equipo ha logrado dos cosas importantes. En primer lugar, han superado el problema del error humano (a pesar de que la retroalimentación sigue siendo propensa a ello, pero aún es mucho mejor que un ser humano escribiendo objetivos complejos). En segundo lugar, y según yo, el punto más significativo es que no necesitan alinear la retroalimentación con la función normal de recompensa del entorno. Por ejemplo, como se menciona en un blog de OpenAI,

Podemos, por ejemplo, entrenar a nuestros agentes para que se mantengan con precisión incluso con otros autos en Enduro en lugar de maximizar la puntuación del juego al pasarlos.

Sin embargo, personalmente creo que este enfoque debe ser probado en un entorno competitivo de múltiples agentes para ver si los agentes cooperan o muestran la misma agresión. Dadas las premisas, puedo especular que podemos esperar un resultado positivo pero nunca lo sabemos. Además, los objetivos inferidos pueden parecer seguros para el entorno específico hasta que nos topamos con un escenario específico en el que exponemos un comportamiento no deseado en la etapa posterior. Siempre habrá posibilidades asociadas con la IA, y solo podemos esforzarnos por mejorarla. Este documento es un gran impulso en la dirección correcta para lograr el objetivo de crear sistemas de IA seguros que ahora quieran apoderarse del mundo cada vez que se ven en una película de Hollywood.

EDITAR: Como señaló acertadamente Tom Musgrove, el documento trataba más sobre destacar la mayor eficiencia mediante el uso del método RL incluso sin mucho esfuerzo / retroalimentación humana. Sin embargo, creo que la seguridad también es un aspecto importante que se puede inferir del documento.

Antes de comenzar, me gustaría señalar que este trabajo se realizó en conjunto entre Deepmind y OpenAI, ambas potencias en la investigación de RL.

Sobre el papel. Uno de los muchos problemas difíciles en RL (hay muchos) es la dificultad en el diseño de la función de recompensa para el agente RL. Idealmente, desea que la estructura de recompensas sea lo más general posible, en algunos casos (por ejemplo, alphGo o ajedrez) es tan fácil como asignar +/- 1 para ganar / perder un juego. En otras aplicaciones, por ejemplo, enseñarle a un robot simulado a hacer un backflip (como se menciona en el documento), es muy difícil diseñar la función de recompensa que le permitirá al agente aprender exactamente este comportamiento.

A continuación [2] hay un fragmento de código que publicaron en su blog para la estructura de recompensas por hacer backflip, después de horas de pruebas y ajustes hechos a mano:

Parece desordenado, ¿no?

La alternativa, según lo propuesto por el documento, es tener una anotación humana de vez en cuando sobre qué ensayos fueron buenos y cuáles fueron malos. La idea es que podemos decir intuitivamente si el robot está haciendo un backflip en una prueba determinada, sin embargo, es muy lento (y a veces imposible) convertir esa intuición en una función de recompensa funcional como la desordenada anterior.

Una vez que tengamos esta colección de anotaciones, podemos entrenar a un clasificador de recompensas que aprenda qué secuencia de trayectorias (secuencia de acciones y recompensas del agente) son las preferidas. Entonces el agente puede optimizar su política para generar trayectorias que gusten más a los anotadores humanos.

A continuación se muestra un diagrama de lo que se describe anteriormente [1].

Los dos recuadros en la parte inferior, con la recompensa y la observación (estado) de un lado a otro, son un diagrama de problema RL estándar. Lo que se ha agregado es este predictor de recompensa en la parte superior, que está entrenado por las anotaciones humanas (clasificación, trayectorias de estado dadas, acción, etc., qué trayectoria marcará la etiqueta humana como buena (1) y cuál la etiqueta humana como mala (0 )).

A medida que el predictor de recompensa mejora, su recompensa pronosticada se vuelve más precisa y su recompensa pronosticada actúa como la señal de recompensa para que el agente RL aprenda. (en este trabajo utilizaron A2C, crítico de actores asíncronos, y TRPO, optimización de políticas de región de confianza como algoritmos RL). El predictor de recompensa y los agentes de RL se optimizan juntos, de forma asíncrona (uno tras otro).

La importancia de este documento es que esta formulación permite potencialmente un método de estructura de recompensa general (con anotación humana) que puede permitir al agente aprender algunas políticas específicas bastante complejas. Además, la cantidad de etiquetado humano que necesitan no es tanto como uno podría imaginar (es decir, millones de transiciones como la DQN tradicional). Esto se debe en parte a que las anotaciones humanas proporcionan una recompensa mucho mejor que algunos puntajes de juego dispersos (digamos en Atari).

Me imagino que esto aliviará al menos algunos de los dolores de cabeza de las personas que aplican RL a la robótica.

Recomiendo leer el blog de OpenAI aquí si aún no está claro. Aprendiendo de las preferencias humanas

ref 1: https://arxiv.org/pdf/1706.03741

ref 2: Aprendiendo de las preferencias humanas

Básicamente es como ‘entrenamiento clicker’. Cuando el entrenador da retroalimentación en los puntos clave al entrenar a un animal (o persona) sobre cómo hacer un comportamiento complejo. Reduce drásticamente la cantidad de puntos de retroalimentación necesarios para entrenar un comportamiento objetivo complejo. O quizás más exacto sería una comparación con algoritmos genéticos, pero el juicio humano sobre cuál es la mejor función de supervivencia, una forma de evolución guiada.

Además, la IA está generando las decisiones binarias para la capacitación, por lo que el usuario debe diseñar las opciones de dónde hacer clic.

Esto debería acelerar drásticamente la capacidad de la IA para modelar comportamientos complejos cuando no hay enormes cantidades de datos de muestra.

En el ejemplo del artículo, el ‘instructor’ humano proporcionó 700 puntos de retroalimentación durante una hora para enseñar a la simulación de IA cómo hacer un backflip.

Dos extensiones obvias generarían más de dos opciones para dar retroalimentación: elija la mejor de 10 opciones en lugar de 2.

También empalme, así que toma la primera mitad de A, la segunda mitad de B.

Es un desafío grande e importante hacer que los sistemas de inteligencia artificial aprendan los valores humanos desde el punto de vista ético.

More Interesting

¿Qué técnicas de programación debo saber para hacer un juego jugando IA y desafiar en concursos como este: The Great Escape?

Los Upanishads: Si se supone que la conciencia está presente en todas partes, ¿por qué no los robots son conscientes?

Se predice que para 2025 los robots (sistemas autónomos) podrían reemplazar hasta el 50% de la fuerza laboral. ¿Qué harán los trabajadores reemplazados para ganarse la vida?

Cómo comenzar con redes neuronales en Java

Cómo integrar un chatbot AI en la aplicación con una plataforma de atención al cliente (como Zendesk) y un centro de contacto en vivo para que los agentes puedan hacerse cargo de las conversaciones de chatbot cuando sea necesario

¿Podría la IA llegar a ser lo suficientemente avanzada como para ser indistinguible de los humanos?

¿Qué IA ficticia es la más peligrosa?

¿Cuáles son algunos de los problemas abiertos bien definidos en IA, robótica y ML?

Tengo un conjunto de artículos de noticias, ¿cómo puedo determinar cuáles de ellos están hablando del mismo incidente utilizando técnicas de aprendizaje automático / aprendizaje profundo?

¿Cuáles son las aplicaciones de ML / AI en el campo de VLSI?

¿Cuáles son los principios para elegir estructuras para redes neuronales recurrentes?

En el aprendizaje automático, ¿por qué las submuestras de un conjunto de muestra general se llaman pliegues?

¿Cómo juega el póker DeepStack, el algoritmo de IA actualmente publicado, el póker?

¿Cómo aprende la IA actual (aprendizaje profundo)?

¿Puede proporcionar una situación o ejemplo muy simple para el que se utiliza Machine Learning?