¿Cuál es la diferencia entre el aprendizaje por refuerzo y la optimización de caja negra?

Por lo general, sí: en el aprendizaje automático, el término recuadro negro denota una función a la que no podemos acceder, pero solo observamos las salidas dadas. Una implicación de la imposibilidad de acceder a la función es que no podemos tomar sus derivados, por lo que debemos pensar en otros métodos si queremos optimizar la función.

Entonces, la optimización de caja negra (BBO) aborda la cuestión de cómo podemos optimizar estas funciones. Un ejemplo interesante de esto es el ajuste de grandes redes neuronales. Estas redes suelen tener muchos parámetros que no se pueden aprender de los datos (los llamaré hiperparámetros), pero que influyen en gran medida en el rendimiento (por ejemplo, velocidad de aprendizaje, arquitectura de red, funciones de activación, etc.). Una forma de seleccionar estos parámetros es mediante una búsqueda aleatoria / de cuadrícula utilizando un conjunto de validación extendido para medir el rendimiento. Aquí, nuestra caja negra es el rendimiento de la red en el conjunto extendido, y queremos optimizarlo con los hiperparámetros de la red. El problema es que cada evaluación de nuestra caja negra puede ser muy costosa (en tiempo / recursos informáticos), por lo que queremos ser más inteligentes al respecto que la búsqueda aleatoria. Existen métodos muy interesantes para esto, como la optimización bayesiana [1], [2], etc.

El aprendizaje por refuerzo (RL) es una bestia ligeramente diferente. En esta configuración, tenemos un agente que existe en algún entorno y puede interactuar con él a través de un conjunto de acciones. El estado del entorno cambia a través del tiempo en función de su propia dinámica (típicamente desconocida), así como de las acciones tomadas por el agente. Además, según el estado del entorno y la acción tomada por el agente, el agente recibe una recompensa. Nuestro objetivo aquí es que el agente aprenda una política (una función que asigna de estados a acciones) que maximiza sus recompensas del medio ambiente. Para complicar aún más las cosas, el agente generalmente no tiene acceso al estado real del entorno, sino que recibe observaciones ruidosas y debe inferir el estado. Una excelente referencia (canónica) para aprender sobre RL es [3].

Entonces, una gran diferencia está en la configuración del problema y los objetos involucrados en cada tarea. Otra diferencia principal es que en BBO queremos encontrar una solución única que optimice la función, por lo que el objetivo de BBO es generar algo parecido a un vector en algún espacio. Por el contrario, nuestro objetivo en RL es aprender una función óptima que genere una “mejor” acción para cada estado posible. Aquí la salida del algoritmo será una asignación del espacio de estado a las acciones.

Como nota al margen, hay conexiones interesantes entre los dos: por un lado, en ambos tenemos una función a la que no podemos acceder, pero (en algunos casos) nos gustaría modelar. Otra conexión interesante es la importancia de la compensación de exploración / explotación, que juega un papel clave en ambas tareas.

[1] – [1012.2599] Un tutorial sobre optimización bayesiana de funciones de costos costosos, con aplicación al modelado de usuarios activos y aprendizaje de refuerzo jerárquico

[2] – Optimización práctica bayesiana de algoritmos de aprendizaje automático

[3] – http://people.inf.elte.hu/lorinc…