IA 101
O que é Aprendizado de Reforço Profundo?

O que é Aprendizado de Reforço Profundo?
Além do aprendizado de máquina não supervisionado e do aprendizado supervisionado, outra forma comum de criação de IA é o aprendizado de reforço. Além do aprendizado de reforço regular, o aprendizado de reforço profundo pode levar a resultados impressionantemente impressionantes, graças ao fato de combinar os melhores aspectos do aprendizado profundo e do aprendizado de reforço. Vamos dar uma olhada em como o aprendizado de reforço profundo opera.
Antes de mergulharmos no aprendizado de reforço profundo, pode ser uma boa ideia refrescar nossas mentes sobre como o aprendizado de reforço regular funciona. No aprendizado de reforço, algoritmos orientados a objetivos são projetados por meio de um processo de tentativa e erro, otimizando para a ação que leva ao melhor resultado/a ação que ganha a maior “recompensa”. Quando os algoritmos de aprendizado de reforço são treinados, eles recebem “recompensas” ou “punimentos” que influenciam quais ações eles tomarão no futuro. Os algoritmos tentam encontrar um conjunto de ações que proporcionará ao sistema a maior recompensa, equilibrando recompensas imediatas e futuras.
Os algoritmos de aprendizado de reforço são muito poderosos porque podem ser aplicados a quase qualquer tarefa, podendo aprender de forma flexível e dinâmica de um ambiente e descobrir ações possíveis.
Visão Geral do Aprendizado de Reforço Profundo

Foto: Megajuice via Wikimedia Commons, CC 1.0 (https://commons.wikimedia.org/wiki/File:Reinforcement_learning_diagram.svg)
Quando se trata de aprendizado de reforço profundo, o ambiente é tipicamente representado com imagens. Uma imagem é uma captura do ambiente em um momento específico. O agente deve analisar as imagens e extrair informações relevantes delas, usando as informações para informar quais ações devem ser tomadas. O aprendizado de reforço profundo é tipicamente realizado com uma das duas técnicas diferentes: aprendizado baseado em valor e aprendizado baseado em política.
As técnicas de aprendizado baseado em valor utilizam algoritmos e arquiteturas como redes neurais convolucionais e Redes-Q-Profundas. Esses algoritmos operam convertendo a imagem para escala de cinza e cortando partes desnecessárias da imagem. Em seguida, a imagem passa por várias convoluções e operações de pooling, extraíndo as partes mais relevantes da imagem. As partes importantes da imagem são então usadas para calcular o valor Q para as diferentes ações que o agente pode tomar. Os valores Q são usados para determinar a melhor ação para o agente. Após os valores Q iniciais serem calculados, a propagação reversa é realizada para que os valores Q mais precisos possam ser determinados.
Os métodos baseados em política são usados quando o número de ações possíveis que o agente pode tomar é extremamente alto, o que é normalmente o caso em cenários do mundo real. Situações como essas exigem uma abordagem diferente porque calcular os valores Q para todas as ações individuais não é prático. As abordagens baseadas em política operam sem calcular valores de função para ações individuais. Em vez disso, elas adotam políticas aprendendo a política diretamente, muitas vezes por meio de técnicas chamadas Gradientes de Política.
Os gradientes de política operam recebendo um estado e calculando probabilidades para ações com base nas experiências anteriores do agente. A ação mais provável é então selecionada. Esse processo é repetido até o final do período de avaliação e as recompensas são dadas ao agente. Após as recompensas terem sido distribuídas ao agente, os parâmetros da rede são atualizados com a propagação reversa.
O que é Q-Aprendizado?
Porque o Q-Aprendizado é uma grande parte do processo de aprendizado de reforço profundo, vamos dedicar algum tempo para entender como o sistema Q-aprendizado funciona.
O Processo de Decisão de Markov

Um processo de decisão de Markov. Foto: waldoalvarez via Pixabay, Licença Pixbay (https://commons.wikimedia.org/wiki/File:Markov_Decision_Process.svg)
Para que um agente de IA execute uma série de tarefas e alcance um objetivo, o agente deve ser capaz de lidar com uma sequência de estados e eventos. O agente começará em um estado e deve tomar uma série de ações para alcançar um estado final, e pode haver um número massivo de estados existindo entre os estados inicial e final. Armazenar informações sobre todos os estados é impraticável ou impossível, então o sistema deve encontrar uma maneira de preservar apenas as informações de estado mais relevantes. Isso é realizado por meio do uso de um Processo de Decisão de Markov, que preserva apenas as informações sobre o estado atual e o estado anterior. Cada estado segue uma propriedade de Markov, que acompanha como o agente muda do estado anterior para o estado atual.
Q-Aprendizado Profundo
Uma vez que o modelo tenha acesso a informações sobre os estados do ambiente de aprendizado, os valores Q podem ser calculados. Os valores Q são a recompensa total dada ao agente no final de uma sequência de ações.
Os valores Q são calculados com uma série de recompensas. Há uma recompensa imediata, calculada no estado atual e dependendo da ação atual. O valor Q para o estado subsequente também é calculado, junto com o valor Q para o estado após esse, e assim por diante, até que todos os valores Q para os diferentes estados sejam calculados. Há também um parâmetro Gama que é usado para controlar o quanto as recompensas futuras têm peso nas ações do agente. As políticas são normalmente calculadas por meio da inicialização aleatória de valores Q e deixando o modelo convergir para os valores Q ótimos ao longo do treinamento.
Redes-Q-Profundas
Um dos principais problemas envolvendo o uso de Q-aprendizado para aprendizado de reforço é que a quantidade de memória necessária para armazenar dados aumenta rapidamente à medida que o número de estados aumenta. As Redes-Q-Profundas resolvem esse problema combinando modelos de redes neurais com valores Q, permitindo que um agente aprenda com a experiência e faça suposições razoáveis sobre as melhores ações a tomar. Com o Q-aprendizado profundo, as funções de valor Q são estimadas com redes neurais. A rede neural recebe o estado como dados de entrada e a rede produz o valor Q para todas as ações possíveis que o agente pode tomar.
O Q-aprendizado profundo é realizado armazenando todas as experiências passadas na memória, calculando saídas máximas para a rede Q e, em seguida, usando uma função de perda para calcular a diferença entre os valores atuais e os valores teóricos mais altos possíveis.
Aprendizado de Reforço Profundo vs Aprendizado Profundo
Uma diferença importante entre o aprendizado de reforço profundo e o aprendizado profundo regular é que, no caso do primeiro, as entradas estão constantemente mudando, o que não é o caso no aprendizado profundo tradicional. Como o modelo de aprendizado pode levar em conta entradas e saídas que estão constantemente mudando?
Essencialmente, para levar em conta a divergência entre os valores previstos e os valores-alvo, duas redes neurais podem ser usadas em vez de uma. Uma rede estima os valores-alvo, enquanto a outra rede é responsável pelas previsões. Os parâmetros da rede-alvo são atualizados à medida que o modelo aprende, após um número escolhido de iterações de treinamento ter passado. As saídas das redes respetivas são então combinadas para determinar a diferença.
Aprendizado Baseado em Política
As abordagens de aprendizado baseado em política operam de forma diferente das abordagens baseadas em valor Q. Enquanto as abordagens baseadas em valor Q criam uma função de valor que prevê recompensas para estados e ações, os métodos baseados em política determinam uma política que mapeará estados para ações. Em outras palavras, a função de política que seleciona ações é otimizada diretamente, sem considerar a função de valor.
Gradientes de Política
Uma política para aprendizado de reforço profundo se encaixa em uma das duas categorias: estocástica ou determinística. Uma política determinística é aquela em que os estados são mapeados para ações, significando que, quando a política é dada informações sobre um estado, uma ação é retornada. Enquanto as políticas estocásticas retornam uma distribuição de probabilidade para ações em vez de uma ação única e discreta.
As políticas determinísticas são usadas quando não há incerteza sobre os resultados das ações que podem ser tomadas. Em outras palavras, quando o ambiente em si é determinístico. Em contraste, as saídas de políticas estocásticas são apropriadas para ambientes onde o resultado das ações é incerto. Normalmente, os cenários de aprendizado de reforço envolvem algum grau de incerteza, então as políticas estocásticas são usadas.
As abordagens de gradiente de política têm algumas vantagens sobre as abordagens de Q-aprendizado, bem como algumas desvantagens. Em termos de vantagens, os métodos baseados em política convergem para parâmetros ótimos mais rapidamente e de forma mais confiável. O gradiente de política pode simplesmente ser seguido até que os melhores parâmetros sejam determinados, enquanto as abordagens baseadas em valor podem levar a mudanças grandes nas ações e nos parâmetros associados devido a pequenas mudanças nos valores de ação estimados.
Os gradientes de política funcionam melhor para espaços de ação de alta dimensionalidade. Quando há um número extremamente alto de ações possíveis a serem tomadas, o Q-aprendizado profundo se torna impraticável porque deve atribuir uma pontuação a cada ação possível para todos os passos de tempo, o que pode ser impossível computacionalmente. No entanto, com as abordagens baseadas em política, os parâmetros são ajustados ao longo do tempo e o número de parâmetros ótimos possíveis diminui rapidamente à medida que o modelo converge.
Os gradientes de política também são capazes de implementar políticas estocásticas, ao contrário das políticas baseadas em valor. Porque as políticas estocásticas produzem uma distribuição de probabilidade, um trade-off entre exploração e exploração não precisa ser implementado.
Em termos de desvantagens, a principal desvantagem dos gradientes de política é que eles podem ficar presos enquanto procuram parâmetros ótimos, focando apenas em um conjunto estreito e local de valores ótimos em vez dos valores ótimos globais.
Função de Pontuação de Política
As políticas usadas para otimizar o desempenho de um modelo visam maximizar uma função de pontuação – J(θ). Se J(θ) é uma medida de quão boa nossa política é para alcançar o objetivo desejado, podemos encontrar os valores de “θ” que nos darão a melhor política. Primeiro, precisamos calcular uma recompensa de política esperada. Estimamos a recompensa da política para que tenhamos um objetivo, algo para otimizar. A Função de Pontuação de Política é como calculamos a recompensa de política esperada, e existem Funções de Pontuação de Política comuns, como: valores iniciais para ambientes episódicos, o valor médio para ambientes contínuos e a recompensa média por passo de tempo.
Ascensão de Gradiente de Política

A ascensão de gradiente visa mover os parâmetros até que eles estejam no local onde a pontuação é a mais alta. Foto: Domínio Público (https://commons.wikimedia.org/wiki/File:Gradient_ascent_(surface).png)
Depois que a Função de Pontuação de Política desejada é usada e uma recompensa de política esperada é calculada, podemos encontrar um valor para o parâmetro “θ” que maximize a função de pontuação. Para maximizar a função de pontuação J(θ), uma técnica chamada “ascensão de gradiente” é usada. A ascensão de gradiente é semelhante em conceito à descida de gradiente no aprendizado profundo, mas estamos otimizando para o aumento mais acentuado em vez de diminuição. Isso ocorre porque nossa pontuação não é “erro”, como em muitos problemas de aprendizado profundo. Nossa pontuação é algo que queremos maximizar. Uma expressão chamada Teorema do Gradiente de Política é usada para estimar o gradiente em relação à política “θ“.
Resumo do Aprendizado de Reforço Profundo
Em resumo, o aprendizado de reforço profundo combina aspectos do aprendizado de reforço e redes neurais profundas. O aprendizado de reforço profundo é realizado com duas técnicas diferentes: Q-aprendizado profundo e gradientes de política.
Os métodos de Q-aprendizado profundo visam prever quais recompensas seguirão ações tomadas em um estado determinado, enquanto as abordagens de gradiente de política visam otimizar o espaço de ação, prevendo as ações em si. As abordagens baseadas em política para o aprendizado de reforço profundo são ou determinísticas ou estocásticas. As políticas determinísticas mapeiam estados diretamente para ações, enquanto as políticas estocásticas produzem distribuições de probabilidade para ações.










