toco O que é Deep Reinforced Learning? - Unite.AI
Entre em contato
Masterclass de IA:

AI 101

O que é Aprendizado por Reforço Profundo?

mm
Atualização do on

O que é Aprendizado por Reforço Profundo?

Junto com o aprendizado de máquina não supervisionado e o aprendizado supervisionado, outra forma comum de criação de IA é o aprendizado por reforço. Além do aprendizado por reforço regular, aprendizagem por reforço profundo pode levar a resultados surpreendentemente impressionantes, graças ao fato de combinar os melhores aspectos do aprendizado profundo e do aprendizado por reforço. Vamos dar uma olhada precisamente em como funciona o aprendizado por reforço profundo.

Antes de mergulharmos no aprendizado por reforço profundo, pode ser uma boa ideia nos atualizarmos sobre a regularidade aprendizagem de reforço funciona. No aprendizado por reforço, os algoritmos orientados a objetivos são projetados por meio de um processo de tentativa e erro, otimizando a ação que leva ao melhor resultado/a ação que obtém a maior “recompensa”. Quando os algoritmos de aprendizado por reforço são treinados, eles recebem “recompensas” ou “punições” que influenciam quais ações eles tomarão no futuro. Os algoritmos tentam encontrar um conjunto de ações que fornecerão ao sistema a maior recompensa, equilibrando as recompensas imediatas e futuras.

Algoritmos de aprendizado por reforço são muito poderosos porque podem ser aplicados a quase qualquer tarefa, sendo capazes de aprender de forma flexível e dinâmica de um ambiente e descobrir possíveis ações.

Visão geral do aprendizado por 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 por reforço profundo, o ambiente é normalmente representado com imagens. Uma imagem é uma captura do ambiente em um determinado ponto no tempo. O agente deve analisar as imagens e extrair delas informações relevantes, utilizando as informações para informar qual ação deve tomar. O aprendizado por reforço profundo é normalmente realizado com uma das duas técnicas diferentes: aprendizado baseado em valor e aprendizado baseado em políticas.

As técnicas de aprendizado baseado em valor fazem uso de algoritmos e arquiteturas como redes neurais convolucionais e Redes Deep-Q. Esses algoritmos operam convertendo a imagem em escala de cinza e cortando partes desnecessárias da imagem. Em seguida, a imagem passa por várias convoluções e operações de agrupamento, extraindo as partes mais relevantes da imagem. As partes importantes da imagem são usadas para calcular o valor Q para as diferentes ações que o agente pode realizar. Os valores Q são usados ​​para determinar o melhor curso de ação para o agente. Depois que os valores Q iniciais são calculados, a retropropagação é realizada para que os valores Q mais precisos possam ser determinados.

Os métodos baseados em políticas são usados ​​quando o número de ações possíveis que o agente pode executar é extremamente alto, o que normalmente ocorre 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 é pragmático. Abordagens baseadas em políticas operam sem calcular valores de função para ações individuais. Em vez disso, eles adotam políticas aprendendo a política diretamente, geralmente por meio de técnicas chamadas Gradientes de política.

Os gradientes de política operam recebendo um estado e calculando probabilidades de ações com base nas experiências anteriores do agente. A ação mais provável é então selecionada. Este processo é repetido até o final do período de avaliação e as recompensas são entregues ao agente. Após as recompensas terem sido negociadas com o agente, os parâmetros da rede são atualizados com backpropagation.

O que é Q-Learning?

Porque Q-Aprendizagem é uma parte tão grande do processo de aprendizado por reforço profundo, vamos dedicar algum tempo para realmente entender como o sistema Q-learning funciona.

O Processo de Decisão 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 realize uma série de tarefas e alcance um objetivo, ele deve ser capaz de lidar com uma sequência de estados e eventos. O agente começará em um estado e deve executar uma série de ações para chegar a um estado final, e pode haver um grande número de estados existentes entre os estados inicial e final. Armazenar informações sobre cada estado é impraticável ou impossível, então o sistema deve encontrar uma maneira de preservar apenas as informações de estado mais relevantes. Isso é feito através do uso de um Processo de decisão de Markov, que preserva apenas as informações referentes ao estado atual e ao 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 a informações sobre os estados do ambiente de aprendizagem, os valores-Q podem ser calculados. Os valores-Q são a recompensa total dada ao agente ao final de uma sequência de ações.

Os valores Q são calculados com uma série de recompensas. Existe 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 seguinte, e assim por diante até que todos os valores Q para os diferentes estados tenham sido calculados. Há também um parâmetro Gama que é usado para controlar quanto peso as recompensas futuras têm nas ações do agente. As políticas são normalmente calculadas inicializando aleatoriamente os valores Q e deixando o modelo convergir para os valores Q ideais ao longo do treinamento.

Redes Q profundas

Um dos problemas fundamentais envolvendo o uso de Q-learning para o aprendizado por reforço é que a quantidade de memória necessária para armazenar dados se expande rapidamente à medida que o número de estados aumenta. Deep Q Networks resolve esse problema combinando modelos de rede neural 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 serem tomadas. Com 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 emite o valor Q para todas as diferentes ações possíveis que o agente pode executar.

O Q-learning profundo é realizado armazenando todas as experiências anteriores 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 por Reforço Profundo vs Aprendizado Profundo

Uma diferença importante entre o aprendizado profundo por reforço e o aprendizado profundo regular é que, no caso do primeiro, as entradas mudam constantemente, o que não é o caso do aprendizado profundo tradicional. Como o modelo de aprendizagem pode levar em conta as entradas e saídas que estão mudando constantemente?

Essencialmente, para explicar 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 de destino, enquanto a outra rede é responsável pelas previsões. Os parâmetros da rede de destino 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 respectivas redes são então unidas para determinar a diferença.

Aprendizagem Baseada em Políticas

Aprendizagem baseada em políticas As abordagens operam de maneira diferente das abordagens baseadas no valor Q. Enquanto as abordagens de valor Q criam uma função de valor que prevê recompensas para estados e ações, os métodos baseados em políticas determinam uma política que mapeará estados para ações. Em outras palavras, a função de política que seleciona as ações é otimizada diretamente sem considerar a função de valor.

Gradientes de política

Uma política de aprendizado por 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, o que significa que quando a política recebe informações sobre um estado, uma ação é retornada. Enquanto isso, as políticas estocásticas retornam uma distribuição de probabilidade para ações em vez de uma única ação discreta.

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 próprio ambiente é 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 por reforço envolvem algum grau de incerteza, portanto, políticas estocásticas são usadas.

As abordagens de gradiente de políticas têm algumas vantagens sobre as abordagens de Q-learning, bem como algumas desvantagens. Em termos de vantagens, os métodos baseados em políticas convergem para parâmetros ideais de forma mais rápida e confiável. O gradiente de política pode apenas ser seguido até que os melhores parâmetros sejam determinados, enquanto que com métodos baseados em valor, pequenas mudanças nos valores estimados da ação podem levar a grandes mudanças nas ações e seus parâmetros associados.

Gradientes de política também funcionam melhor para espaços de ação de alta dimensão. Quando há um número extremamente alto de ações possíveis a serem executadas, o Q-learning profundo torna-se impraticável porque deve atribuir uma pontuação a cada ação possível para todas as etapas de tempo, o que pode ser impossível computacionalmente. No entanto, com métodos baseados em políticas, os parâmetros são ajustados ao longo do tempo e o número de melhores parâmetros 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 de exploração/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 local estreito de valores ótimos em vez dos valores ótimos globais.

Função de pontuação da política

As políticas usadas para otimizar o objetivo de desempenho de um modelo para 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á 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 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 intervalo de tempo.

Subida do Gradiente de Política

A subida do gradiente visa mover os parâmetros até que estejam no local onde a pontuação é 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 maximiza a função de pontuação. Para maximizar a função de pontuação J(θ), uma técnica chamada “subida gradiente" é usado. A subida gradiente é semelhante em conceito à descida gradiente no aprendizado profundo, mas estamos otimizando para o aumento mais acentuado em vez de diminuir. Isso ocorre porque nossa pontuação não é “erro”, como em muitos problemas de aprendizagem profunda. 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 por Reforço Profundo

Em resumo, o aprendizado por reforço profundo combina aspectos do aprendizado por reforço e das redes neurais profundas. O aprendizado por reforço profundo é feito com duas técnicas diferentes: Q-learning profundo e gradientes de política.

Os métodos de Q-learning profundo visam prever quais recompensas seguirão certas ações tomadas em um determinado estado, enquanto as abordagens de gradiente de políticas visam otimizar o espaço de ação, prevendo as próprias ações. Abordagens baseadas em políticas para o aprendizado por reforço profundo são de natureza determinística ou estocástica. Políticas determinísticas mapeiam estados diretamente para ações, enquanto políticas estocásticas produzem distribuições de probabilidade para ações.

Blogueiro e programador com especialidades em Machine Learning e Aprendizagem profunda tópicos. Daniel espera ajudar outras pessoas a usar o poder da IA ​​para o bem social.