¿Qué es el aprendizaje por refuerzo?
El aprendizaje por refuerzo es una rama del aprendizaje automático que trata el problema de la toma de decisiones secuenciales.
El aprendizaje por refuerzo es una rama del aprendizaje automático que trata el problema de la toma de decisiones secuenciales.
En su forma más general, estudia el problema de un agente que interactúa con el mundo exterior (es decir, el entorno) realizando una acción a cada paso. La elección de la acción tendrá consecuencias: en primer lugar, conduce a un nuevo estado para el agente; y en segundo lugar, el agente recibe una señal de recompensa del entorno, que le indica lo buena o mala que ha sido la acción. El objetivo del agente es averiguar cómo comportarse, es decir, cuál es la mejor acción en cada estado, de forma que a largo plazo consiga recoger la mayor cantidad posible de recompensas.
La palabra clave aquí es "a largo plazo": la acción que produce una satisfacción inmediata no es necesariamente buena para el éxito a largo plazo. Esa es parte de la complejidad que intentan abordar los algoritmos de aprendizaje de la RL: inicialmente el agente no tiene ni idea de lo buena o mala que es una acción (por ejemplo, cuánta recompensa inmediata generará), ni de los próximos estados que producirá. El agente tiene que, de forma equilibrada, explorar el espacio de acciones para experimentar los efectos de cada una de ellas y, al mismo tiempo, averiguar la mejor estrategia de acción que conduzca a la mayor recompensa posible a largo plazo. El proceso de averiguar la mejor política de acción utilizando un conjunto de entrenamiento de tales experiencias del agente es el objetivo final del aprendizaje por refuerzo.
Piense, por ejemplo, en un coche autodirigido: mientras conduce, en cada momento necesita saber qué acciones realizar (¿debo frenar? ¿Debo girar a la derecha? ¿Debo seguir recto? ¿Por qué no acelerar?). Para empezar, tenemos que definir un valor de recompensa que nos diga lo buena o mala que ha sido cada acción (¿estoy más cerca de mi destino? ¿Estoy lo suficientemente seguro? ¿He conseguido evitar el bordillo mientras aparcaba?). Los algoritmos de RL tienen el poder de enseñar al coche cómo maximizar sus recompensas a largo plazo realizando acciones óptimas (es decir, cómo conducir).
El aprendizaje por refuerzo tiene una larga historia como rama de la informática y el aprendizaje automático. Sus ideas centrales se desarrollaron durante los últimos 30 años, pero dada su complejidad, solo podía aplicarse a problemas con espacios de estado y acción bastante pequeños.
La incorporación del aprendizaje profundo al RL abrió la puerta a la resolución de problemas del mundo real con RL, donde los espacios de estado y acción pueden ser muy grandes.
DeepMind fue el primer grupo que demostró el poder de la RL profunda, cuando en 2016 el agente de juego que entrenaron venció al campeón del mundo en el juego del Go. También hay un amplio conjunto de casos de uso para la RL en diversas industrias, como las finanzas, la atención sanitaria y la publicidad digital.
La puja en tiempo real (RTB) es un mecanismo para conectar a los anunciantes con los editores en línea. El objetivo de los editores es monetizar los contenidos que generan. El objetivo de los anunciantes es gastar sus presupuestos de forma óptima, de manera que se alcancen unos objetivos previamente especificados. El proceso de asignación de los presupuestos publicitarios se determina a un nivel muy granular, impresión por impresión, en procesos de subasta en tiempo real que se producen miles de millones de veces al día.
La estrategia de puja de una campaña publicitaria determina, en tiempo real, cuánto hay que pujar para tener la oportunidad de mostrar el mensaje de un anunciante a un usuario concreto. Esta puja debe determinarse en función de todo tipo de características de la oportunidad publicitaria, por ejemplo: ¿cuál es la página web o la aplicación? ¿Cuál es la ubicación geográfica? ¿Cuál es la hora del día o el día de la semana?
Y por si no fuera un problema lo suficientemente complejo, la estrategia de puja también debe ofrecer objetivos predefinidos de Indicadores Clave de Rendimiento (KPI) (piense en los presupuestos totales, o en los objetivos de rendimiento expresados por CPA, CPC, etc.), que se establecen en nombre del anunciante.
En el grupo Copilot de Xaxis utilizamos el aprendizaje automático/la inteligencia artificial como núcleo de nuestras estrategias de puja: nos ayuda a aprender de las pistas de los datos históricos sobre cómo establecer los valores de las pujas. Nuestra visión es que el objetivo de la estrategia de puja óptima debe ser acercarse lo más posible a los objetivos predefinidos del anunciante. Para ello, necesitamos ajustar dinámicamente los parámetros de la estrategia de puja, de forma que ésta mueva continuamente los KPI hacia la dirección correcta.
Resulta que la RL es una herramienta ideal para abordar el reto de gestionar dinámicamente una campaña publicitaria. Este problema, en esencia, es un problema de toma de decisiones secuencial: ¿cuál es la mejor manera de ajustar los atributos de la campaña -secuencialmente- de forma que se consiga el objetivo de obtener todos los KPI?
Una configuración aproximada del ajuste dinámico de las estrategias de puja como problema de RL sería la siguiente:
Nuestro equipo de Copilot en Xaxis está investigando y probando activamente la aplicación de Deep RL para las campañas de formación. Presentaremos más resultados en un próximo post.