Ads Top

O que é aprendizado por reforço?

O aprendizado por reforço (RL) é um subcampo do aprendizado de máquina (AM) que aborda o problema do aprendizado automático de decisões ótimas ao longo do tempo. Este é um problema geral e comum que tem sido estudado em muitos campos científicos e de engenharia. 


Em nosso mundo em constante mudança, mesmo os problemas que parecem problemas de entrada-saída estáticos podem se tornar dinâmicos se o tempo for levado em consideração. Por exemplo, imagine que você deseja resolver o problema simples de aprendizado supervisionado da classificação de imagens de animais de estimação com duas classes-alvo - cachorro e gato. 

Você reúne o conjunto de dados de treinamento e implementa o classificador usando seu kit de ferramentas de aprendizado profundo (DL) favorito. Depois de um tempo, o modelo que convergiu demonstra excelente desempenho. Ótimo! Você o implanta e o deixa funcionando por um tempo. 

No entanto, após umas férias em algum resort à beira-mar, você volta para descobrir que a moda dos cuidados com os cães mudou e que uma parte significativa de suas consultas foi classificada incorretamente, então você precisa atualizar suas imagens de treinamento e repetir o processo novamente. 

Isso não é produtivo!

O exemplo anterior pretende mostrar que mesmo problemas simples de ML têm uma dimensão de tempo oculta. Isso é freqüentemente esquecido, mas pode se tornar um problema em um sistema de produção. 

RL é uma abordagem que incorpora nativamente uma dimensão extra (que geralmente é o tempo, mas não necessariamente) nas equações de aprendizagem. Isso coloca RL muito mais perto de como as pessoas entendem a inteligência artificial (IA).

Aprendizagem supervisionada (Supervised learning)

Você pode estar familiarizado com a noção de aprendizado supervisionado, que é o problema de aprendizado de máquina mais estudado e conhecido. Sua questão básica é: como você constrói automaticamente uma função que mapeia alguma entrada em alguma saída quando dado um conjunto de pares de exemplo? Parece simples nesses termos, mas o problema inclui muitas questões complicadas que os computadores só recentemente começaram a abordar com algum sucesso. Existem muitos exemplos de problemas de aprendizagem supervisionada, incluindo o seguinte:

  • Classificação do texto: esta mensagem de e-mail é spam ou não? 
  • Classificação da imagem e localização do objeto: esta imagem contém a foto de um gato, cachorro ou outra coisa? 
  • Problemas de regressão: dadas as informações dos sensores meteorológicos, como estará o tempo amanhã? 
  • Análise de sentimento: qual é o nível de satisfação do cliente nesta revisão?
Essas perguntas podem parecer diferentes, mas compartilham a mesma ideia - temos muitos exemplos de entrada e saída desejada, e queremos aprender como gerar a saída para alguma entrada futura, atualmente não vista. O nome supervisionado vem do fato de que aprendemos com respostas conhecidas fornecidas por uma fonte de dados de "verdadeiras".

Aprendizagem não supervisionada (Unsupervised learning)

No outro extremo, temos a chamada aprendizagem não supervisionada, que não assume supervisão e não tem rótulos conhecidos atribuídos aos nossos dados. O objetivo principal é aprender algumas estruturas ocultas do conjunto de dados em questão. 

Um exemplo comum de tal abordagem de aprendizagem é o agrupamento de dados. Isso acontece quando nosso algoritmo tenta combinar itens de dados em um conjunto de clusters, o que pode revelar relacionamentos nos dados. Por exemplo, você pode querer encontrar imagens semelhantes ou clientes com comportamentos comuns. 

Outro método de aprendizagem não supervisionado que está se tornando cada vez mais popular são as redes adversárias geradoras (GANs). Quando temos duas redes neurais concorrentes, a primeira rede está tentando gerar dados falsos para enganar a segunda rede, enquanto a segunda rede está tentando discriminar dados gerados artificialmente de dados amostrados de nosso conjunto de dados. 

Com o tempo, as duas redes se tornam cada vez mais hábeis em suas tarefas, capturando padrões específicos sutis no conjunto de dados.

Aprendizagem por reforço (Reinforcement learning)

RL é o terceiro campo e fica em algum lugar entre a supervisão total e a completa falta de rótulos predefinidos. Por um lado, ele usa muitos métodos bem estabelecidos de aprendizagem supervisionada, como redes neurais profundas para aproximação de função, descida gradiente estocástica e retropropagação, para aprender a representação de dados. 

Por outro lado, geralmente os aplica de maneira diferente. Nas próximas duas seções do capítulo, exploraremos detalhes específicos da abordagem RL, incluindo suposições e abstrações em sua forma matemática estrita. 

Por enquanto, para comparar a RL com a aprendizagem supervisionada e não supervisionada, seguiremos um caminho menos formal, mas mais facilmente compreendido. Imagine que você tem um agente que precisa realizar ações em algum ambiente. (Tanto o "agente" quanto o "ambiente" serão definidos em detalhes posteriormente neste capítulo.) 

Um rato de robô em um labirinto é um bom exemplo, mas você também pode imaginar um helicóptero automático tentando fazer uma rolagem ou um programa de xadrez aprendendo como vencer um grande mestre. Vamos usar o mouse do robô para simplificar.



Nesse caso, o ambiente é um labirinto com comida em alguns pontos e eletricidade em outros. O mouse do robô pode realizar ações, como virar para a esquerda / direita e avançar. A cada momento, ele pode observar o estado completo do labirinto para tomar uma decisão sobre as ações a serem tomadas. 

O rato robô tenta encontrar o máximo de comida possível, evitando levar um choque elétrico sempre que possível. Esses sinais de alimentação e eletricidade representam a recompensa que é dada ao agente (mouse robô) pelo ambiente como feedback adicional sobre as ações do agente. 

A recompensa é um conceito muito importante na RL, e falaremos sobre isso mais adiante neste capítulo. Por enquanto, basta você saber que o objetivo final do agente é obter o máximo de recompensa total possível. 

Em nosso exemplo particular, o mouse robô poderia sofrer um leve choque elétrico para chegar a um lugar com bastante comida - este seria um resultado melhor para o mouse robô do que apenas ficar parado sem ganhar nada.

Não queremos codificar o conhecimento sobre o ambiente e as melhores ações a serem executadas em cada situação específica no mouse do robô - isso exige muito esforço e pode se tornar inútil, mesmo com uma ligeira mudança no labirinto. 

O que queremos é ter um conjunto mágico de métodos que permitirão ao nosso rato robô aprender por conta própria como evitar a eletricidade e coletar o máximo de comida possível. 

RL é exatamente essa caixa de ferramentas mágica e se comporta de maneira diferente dos métodos de aprendizagem supervisionados e não supervisionados; não funciona com rótulos predefinidos da mesma forma que o aprendizado supervisionado. 

Ninguém rotula todas as imagens que o robô vê como boas ou más, ou dá a melhor direção para se virar.

No entanto, não somos completamente cegos como em uma configuração de aprendizagem não supervisionada - temos um sistema de recompensa. A recompensa pode ser positiva com a coleta da comida, negativa com choques elétricos ou neutra quando nada de especial acontece. Ao observar a recompensa e relacioná-la com as ações realizadas, nosso agente aprende como executar melhor uma ação, reunir mais alimentos e receber menos choques elétricos. 

Conclusão


Obviamente, a generalidade e a flexibilidade da RL têm um preço. RL é considerada uma área muito mais desafiadora do que o aprendizado supervisionado ou não supervisionado. Vamos discutir rapidamente o que torna a RL complicada nos próximos artigos.




Nenhum comentário:

Tecnologia do Blogger.