Fundamentos de IA

O que é Aprendizado de Reforço Profundo?

mm
Adicione Unite.AI às suas fontes preferidas no Google

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 que combina 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 nossos conhecimentos sobre como o aprendizado de reforço 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 dará 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 flexivelmente e dinamicamente 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 do aprendizado de reforço profundo, o ambiente é tipicamente representado com imagens. Uma imagem é uma captura do ambiente em um ponto específico no tempo. 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: aprendizado baseado em valor e aprendizado baseado em política.

As técnicas de aprendizado baseado em valor fazem uso de 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. Depois, a imagem passa por várias convoluções e operações de pooling, extrair 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 o melhor curso de ação para o agente. Após os valores Q iniciais serem calculados, a retropropagação é 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 requerem 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 funções de valor 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 retropropagação.

O que é Q-Learning?

Porque o Q-Learning é uma grande parte do processo de aprendizado de reforço profundo, vamos dedicar algum tempo a entender como o sistema Q-Learning funciona.

O Processo de Decisão de Markov

Um processo de decisão de Markov. Foto: waldoalvarez via Pixabay, Pixbay License (https://commons.wikimedia.org/wiki/File:Markov_Decision_Process.svg)

Para que um agente de IA possa realizar uma série de tarefas e alcançar 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 o início e o fim. 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 rastreia como o agente muda do estado anterior para o estado atual.

Q-Learning Profundo

Uma vez que o modelo tenha acesso às 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 aquele, e assim por diante, até que todos os valores Q para os diferentes estados sejam calculados. Há também um parâmetro Gamma que é usado para controlar quanto peso as recompensas futuras têm sobre as ações do agente. As políticas são normalmente calculadas inicialmente randomizando os 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 do Q-Learning para o 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-Learning 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-Learning profundo é realizado armazenando todas as experiências passadas na memória, calculando as 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?

Basicamente, 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. 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 mapeia 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 o aprendizado de reforço profundo cai 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 discreta única.

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 em que 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-Learning, 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 requerem pequenas alterações nos valores estimados de ação, o que pode levar a grandes alterações nas ações e nos parâmetros associados.

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-Learning 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 os métodos baseados 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. Como as políticas estocásticas produzem uma distribuição de probabilidade, uma troca entre exploração e exploração não precisa ser implementada.

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 de valores ótimos locais 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 dão a melhor política. Primeiro, precisamos calcular uma recompensa de política esperada. Estimamos a recompensa de 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 diferentes Funções de Pontuação de Política que são comumente usadas, 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</strong

Blogueiro e programador com especialidades em Machine Learning e Deep Learning tópicos. Daniel espera ajudar os outros a usar o poder da IA para o bem social.