Aproximação de Funções

bebê aprendendo a andar

quando tabelas não são suficientes

Aproximação de funções generaliza valores para estados não visitados em problemas grandes. Diferente de tabelas, usa parâmetros para representar funções valor continuamente. Primeiramente, permite lidar com espaços de estados contínuos ou muito grandes. Além disso, generaliza conhecimento para situações semelhantes não vistas. Por exemplo, redes neurais aproximam Q(s,a) em jogos Atari com milhões de estados. É essencial para problemas reais com dimensionalidade alta.

métodos lineares e não lineares

Aproximadores lineares usam combinação linear de características para representar valores. Primeiramente, são simples e garantem convergência sob certas condições. Além disso, métodos não lineares como redes neurais capturam relações complexas. Por exemplo, redes profundas aprendem representações hierárquicas automaticamente. Escolha do aproximador impacta convergência e estabilidade.

desafios de convergência

Aproximação de funções introduz risco de não convergência em aprendizado por reforço. Primeiramente, o “deadly triad” (aproximação, bootstrapping, off-policy) pode causar divergência. Além disso, técnicas como target networks e replay buffer estabilizam treinamento. Por exemplo, DQN usa ambas para alcançar estabilidade. Requer cuidado na escolha de hiperparâmetros.

aplicações práticas

Aproximação de funções viabiliza aplicações em problemas reais de alta dimensão. Primeiramente, robótica usa aproximadores para aprendizado de controle contínuo. Além disso, sistemas de recomendação generalizam para novos usuários. Por exemplo, veículos autônomos aproximam funções valor em espaços contínuos. Para iniciantes, mostra como escalar aprendizado para problemas complexos. É a ponte entre teoria e aplicações práticas.

Double Q-Learning: corrigindo a superestimação

bebê aprendendo a andar

O Double Q-Learning resolve um problema clássico do Q-Learning. Primeiramente, o Q-Learning padrão tende a superestimar valores. Isso ocorre porque ele usa o máximo sobre ações estimadas. Em segundo lugar, a superestimação pode levar a políticas subótimas. Por conseguinte, o Double Q-Learning usa duas tabelas Q independentes. Uma tabela escolhe a melhor ação. A outra tabela avalia o valor dessa ação.

Características da arquitetura Double Q-Learning

A arquitetura mantém duas funções Q separadas: Q_A e Q_B. Cada atualização usa uma tabela para seleção e outra para avaliação. A fórmula é \( Q_A(s,a) \leftarrow Q_A(s,a) + \alpha [r + \gamma Q_B(s’, \arg\max_{a’} Q_A(s’,a’)) – Q_A(s,a)] \). Similarmente, Q_B é atualizada de forma simétrica. Esse desacoplamento reduz o viés de maximização. Portanto, as estimativas são mais precisas.

A política de comportamento pode ser baseada na soma das duas tabelas. Ou usamos a média para escolher ações. A exploração ainda é feita com ε-greedy. Contudo, a atualização é mais conservadora. O Double Q-Learning é especialmente útil em ambientes estocásticos. Ele também melhora a estabilidade do aprendizado. Consequentemente, é amplamente usado em implementações modernas do DQN.

Hiperparâmetros e fórmulas matemáticas

Os hiperparâmetros são similares ao Q-Learning padrão. A taxa de aprendizado α tipicamente é 0.1. O fator de desconto γ é 0.95 ou 0.99. A taxa de exploração ε decai ao longo do tempo. A única diferença é a manutenção de duas tabelas. O custo computacional dobra, mas a convergência melhora. A atualização completa é \( Q_A(s,a) \leftarrow Q_A(s,a) + \alpha (r + \gamma Q_B(s’, a^*) – Q_A(s,a)) \), onde \( a^* = \arg\max_{a’} Q_A(s’, a’) \).

O erro TD no Double Q-Learning é \( \delta = r + \gamma Q_B(s’, a^*) – Q_A(s,a) \). Esse erro é usado para atualizar apenas uma tabela por vez. As duas tabelas são atualizadas alternadamente. Ou podemos escolher aleatoriamente qual atualizar. No final, a política é extraída da soma \( Q_A + Q_B \). Estudos mostram que Double Q-Learning converge mais rápido. Ele também é mais robusto a ruídos nas recompensas.

Exemplo clássico: ambiente com ruído

Considere um ambiente com dois estados e duas ações. As recompensas têm alto ruído estocástico. O Q-Learning padrão superestima os valores das ações. Isso leva a escolhas erradas. O Double Q-Learning corrige esse problema. O código abaixo compara ambos os algoritmos. Ele mostra como o Double Q-Learning é mais estável e preciso.