5 · Exploración vs explotación
El dilema central del RL: ¿explotar lo que ahora parece mejor o explorar para descubrir algo mejor? Conoce ε-greedy y UCB — y mira por qué la codicia pura se queda atascada para siempre.
La explotación elige la acción que parece mejor según las estimaciones actuales; la exploración prueba otras acciones para mejorar esas estimaciones. ε-greedy explora al azar una pequeña fracción ε del tiempo; UCB explora con un bono de optimismo que favorece brazos poco muestreados. Debes hacer ambas para encontrar — y luego seguir jugando — la acción óptima.
Sin esto:
Sin gestionar el dilema explorar/explotar, un agente o nunca descubre la mejor acción (codicia pura) o nunca la aprovecha (exploración pura) — el modo de fallo detrás de la mayoría de los agentes de RL atascados.
La lección anterior expuso el problema; esta lo resuelve. El dilema exploración/explotación es la tensión más fundamental del RL:
- Explotación — elegir la acción con la estimación actual
Q(a)más alta. Esto cobra recompensa ahora usando lo que ya crees. - Exploración — elegir una acción distinta para aprender más, aceptando posiblemente menos recompensa ahora con la esperanza de hallar algo mejor.
Un agente puramente codicioso (ε = 0) solo explota. El peligro es concreto: supón que el brazo verdaderamente mejor paga por debajo del promedio en su primerísimo tirón. El agente codicioso registra un Q bajo para él, nunca lo vuelve a tirar y se aferra a un brazo inferior para siempre — no puede recuperarse porque nunca vuelve a mirar. La exploración pura tiene el defecto opuesto: mantiene las estimaciones afiladas pero tira recompensa jugando brazos malos al azar.
Dos estrategias clásicas equilibran ambas:
ε-greedy. Con probabilidad 1 - ε explota (tira argmax Q); con probabilidad ε explora (tira un brazo uniformemente aleatorio). Un ε pequeño (digamos 0.01–0.1) suele bastar para escapar de la trampa codiciosa, porque con el tiempo cada brazo se muestrea lo suficiente para que su estimación converja.
UCB (Cota Superior de Confianza). En vez de explorar a ciegas, UCB es inteligente sobre qué brazo explorar. Elige el brazo que maximiza Q(a) + c·sqrt(ln t / N(a)): el segundo término es un bono de optimismo grande para brazos tirados pocas veces N(a). UCB prefiere entonces brazos que son o buenos (Q alto) o inciertos (N bajo) — "optimismo ante la incertidumbre" — y el bono se encoge a medida que un brazo se muestrea.
Abajo corremos los cuatro en el mismo bandido de 10 brazos y reportamos dos métricas: recompensa media por paso y % de acción óptima (con qué frecuencia el agente tiró el brazo realmente mejor). Observa cómo ε = 0 se queda atascado.
Python (in browser)
ε-greedy y UCB en un bandido de 10 brazos. La codicia pura (ε=0) se atasca en un favorito temprano; un poco de exploración — o el optimismo dirigido de UCB — gana en recompensa y en % de acción óptima.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
¿Por qué un agente bandido puramente codicioso (ε = 0) suele quedarse atascado para siempre en un brazo subóptimo?
- El dilema explorar/explotar: explota para cobrar recompensa de las estimaciones actuales, explora para mejorarlas — necesitas ambas.
- ε-greedy explota argmax Q con probabilidad 1−ε y explora un brazo aleatorio con probabilidad ε; incluso ε≈0.1 vence a la codicia pura.
- UCB añade un bono de optimismo c·sqrt(ln t / N(a)) para explorar brazos inciertos (N bajo) en vez de al azar.
- La codicia pura (ε=0) puede aferrarse para siempre a una estimación temprana desafortunada; algo de exploración es esencial en la práctica.
Todo agente de RL basado en valores (Q-learning, DQN) usa ε-greedy o un esquema relacionado; UCB y el muestreo de Thompson impulsan sistemas de recomendación, subastas de anuncios y búsqueda de AutoML.
Si lo quitas: Sin una estrategia de exploración deliberada, los agentes o nunca descubren la mejor acción o nunca la aprovechan — la razón más común de que el entrenamiento de RL se estanque.