1 of 41

Inteligência Artificial

1

Aprendizado por Reforço

2 of 41

Tipos de machine learning

2

Machine learning

Aprendizado

por reforço

Aprendizado

não super-�visionado

Aprendizado

supervisionado

3 of 41

Agenda

1. Introdução ao Aprendizado por Reforço

2. Componentes do Aprendizado por Reforço

3. Processo de Aprendizado

4. Aplicações do Aprendizado por Reforço

5. Desafios e Limitações

4 of 41

Introdução ao Aprendizado por Reforço

O aprendizado por reforço é uma abordagem de machine learning que permite que os sistemas de inteligência artificial tomem decisões com base em experiências anteriores.

Ele utiliza feedback de ações realizadas para melhorar a eficácia do agente ao longo do tempo. Essa técnica é fundamental para a evolução de sistemas autônomos que interagem com o ambiente.

5 of 41

Aprendizado por reforço

5

Aprendizado por meio de tentativa e erro.

Aprendizado

por reforço

  • IA de jogos
  • Carros autoguiados
  • Robótica
  • Roteamento de atendimento ao cliente

Melhor quando o resultado desejado é conhecido, mas o caminho exato para alcançá-lo não é conhecido.

6 of 41

O que é Aprendizado por Reforço?

Aprendizado por reforço é uma técnica de machine learning onde um agente aprende a tomar decisões através de interações com um ambiente. O agente observa o estado do ambiente, toma uma ação e recebe uma recompensa que informa seu desempenho. Este processo de interação e feedback contínuo permite ao agente otimizar suas escolhas ao longo do tempo.

7 of 41

Exemplo Cotidiano

Tipo

Dados rotulados?

Exemplo prático

Supervisionado

Sim

Classificação de e-mails (spam/ham)

Não supervisionado

Não

Agrupamento de clientes

Por Reforço

Interação

Treinar um robô a andar

Imagine um cachorro sendo treinado: quando ele senta após um comando, recebe um petisco.

O cão aprende que sentar (ação) ao ouvir o comando (estado) traz uma recompensa (petisco).

8 of 41

Importância

O aprendizado por reforço é essencial para a criação de sistemas autônomos e robôs que podem aprender e se adaptar a diferentes situações. Ele permite que os agentes desenvolvam habilidades complexas e aprimorem suas decisões com base na experiência. Essa abordagem também é crucial para o avanço de tecnologias como veículos autônomos e assistentes virtuais.

9 of 41

Componentes do Aprendizado por Reforço

O aprendizado por reforço depende de vários componentes fundamentais que interagem entre si.

Esses elementos incluem o agente, o ambiente, ações, recompensas e estados. Compreender esses componentes é essencial para aplicar efetivamente o aprendizado por reforço em diferentes contextos.

10 of 41

Agente

O agente é a entidade que toma decisões e aprende com o feedback recebido do ambiente. Ele é responsável por executar ações e buscar maximizar recompensas ao longo do tempo. O aprendizado do agente é baseado nas experiências passadas e no feedback que recebe após cada ação.

11 of 41

Ambiente

O ambiente é tudo ao redor do agente, onde ele interage e busca maximizar recompensas. Este espaço pode ser físico, como um mundo real, ou virtual, como um jogo. A dinâmica do ambiente influencia as decisões que o agente toma e como ele aprende.

12 of 41

Ações

As ações são as escolhas que o agente pode fazer em um determinado momento. Cada ação que o agente toma pode levar a diferentes estados e recompensas. A seleção da ação correta é crucial para o sucesso do aprendizado por reforço.

13 of 41

Recompensa

A recompensa é o feedback que o agente recebe após realizar uma ação. Ela pode ser positiva, neutra ou negativa, influenciando assim o aprendizado do agente sobre quais ações devem ser repetidas ou evitadas. O objetivo é maximizar o total de recompensas ao longo do tempo.

14 of 41

Estado

O estado é uma representação do ambiente em um determinado momento e é crucial para a tomada de decisões do agente. Ele fornece a informação necessária para que o agente possa avaliar quais ações devem ser tomadas. Entender como os estados mudam com as ações é fundamental para o aprendizado por reforço.

15 of 41

Processo de Aprendizado

O processo de aprendizado do agente ocorre através da interação contínua com o ambiente e o feedback recebido. Com o tempo, o agente ajusta suas estratégias com base nas recompensas obtidas, aprimorando sua capacidade de tomar decisões. Este aprendizado é um ciclo constante de exploração e exploração.

16 of 41

Exploração vs. Exploração

O dilema entre explorar novas ações e explorar ações conhecidas é um aspecto crítico no aprendizado por reforço. Enquanto a exploração pode levar a novas descobertas, a exploração ajuda a consolidar o que já foi aprendido. Encontrar o equilíbrio entre os dois é essencial para maximizar recompensas.

17 of 41

Atualização de Políticas

A atualização de políticas é o método que o agente utiliza para refinar sua estratégia com base nas recompensas recebidas. Isso envolve ajustar a probabilidade de escolher determinadas ações no futuro. Políticas bem atualizadas permitem que o agente melhore continuamente seu desempenho.

18 of 41

Q-Learning

Q-Learning é um algoritmo popular de aprendizado por reforço que utiliza a função Q para guiar a tomada de decisão do agente. Este método permite que o agente aprenda a maximizar recompensas sem conhecer previamente o modelo do ambiente. Q-Learning é amplamente utilizado em diversas aplicações de machine learning.

19 of 41

O que é o Q-Learning?

• Algoritmo de aprendizado por reforço baseado em tentativa e erro.

• Aprende qual a melhor ação a tomar em cada estado.

• Usa uma tabela (Q-table) para armazenar os valores de "qualidade" de cada ação.

20 of 41

Elementos do Ambiente

• Agente: Quem toma decisões (ex: robô, jogador).

• Ambiente: O mundo onde o agente atua.

• Estado (S): Representa a situação atual do agente.

• Ação (A): O que o agente pode fazer em um estado.

• Recompensa (R): Valor numérico dado ao agente pela ação executada.

21 of 41

A Q-Table

• Tabela que guarda o valor de cada par (estado, ação).

• Inicialmente todos os valores são zero.

• Exemplo: Q[s, a] = valor estimado da ação a no estado s.

• A tabela é atualizada a cada interação do agente com o ambiente.

22 of 41

Fórmula do Q-Learning

Q(s,a) ← Q(s,a) + α * [ r + γ * max Q(s', a') - Q(s,a) ]

Onde:

s: estado atual

a: ação executada

r: recompensa recebida

s': novo estado

α: taxa de aprendizado

γ: fator de desconto

max Q(s', a'): melhor ação futura

23 of 41

Etapas da Atualização da Q-Table

1. Observar estado atual s.

2. Escolher e executar uma ação a.

3. Receber recompensa r e novo estado s'.

4. Atualizar Q[s, a] com base na fórmula.

5. Repetir em vários episódios.

24 of 41

Exploração vs. Exploração

• Exploração: Tentar novas ações (descobrir).

• Exploração: Usar o que já sabe (ganhar).

• Estratégia ε-greedy:

if random() < ε:

escolher ação aleatória # Explorar

else:

escolher ação com maior Q # Explotar

25 of 41

Aplicações do Aprendizado por Reforço

O aprendizado por reforço é utilizado em diversas áreas, desde robótica até sistemas de recomendação. Suas aplicações práticas demonstram como agentes podem aprender e otimizar suas ações em contextos complexos. Esses exemplos mostram o potencial do aprendizado por reforço em resolver problemas do mundo real.

26 of 41

Robótica

Em robótica, o aprendizado por reforço é utilizado para ensinar robôs a realizar tarefas complexas através de interações repetidas com o ambiente. Os robôs aprendem a se mover, manipular objetos e até mesmo colaborar com humanos. Essa abordagem tem sido fundamental no desenvolvimento de robôs autônomos.

27 of 41

Jogos

Agentes de aprendizado por reforço têm sido aplicados para jogar jogos complexos, como xadrez e Go. Esses agentes aprendem a melhorar suas habilidades a cada partida, ajustando suas estratégias com base nas vitórias e derrotas. O aprendizado por reforço revolucionou a forma como interagimos com jogos eletrônicos.

28 of 41

Sistema de Recomendação

Sistemas de recomendação utilizam aprendizado por reforço para personalizar sugestões com base no feedback dos usuários. Eles aprendem quais produtos ou conteúdos são mais relevantes para cada usuário ao longo do tempo. Esse processo de melhoria contínua é essencial para criar experiências personalizadas.

29 of 41

Desafios e Limitações

Apesar de suas vantagens, o aprendizado por reforço enfrenta diversos desafios e limitações.

Questões como a necessidade de grandes quantidades de dados e a complexidade do ambiente podem dificultar a aplicação. Entender essas limitações é crucial para implementar soluções eficazes.

30 of 41

Ampla Exploração

A necessidade de explorar muitas opções pode exigir tempo e recursos significativos. As ineficiências na exploração podem atrasar o aprendizado do agente, resultando em um desempenho abaixo do ideal. Portanto, equilibrar exploração e exploração é um grande desafio.

31 of 41

Ambientes Complexos

Aprender em ambientes com muitas variáveis e dinâmicas complexas pode ser difícil e não-linear. O agente precisa se adaptar rapidamente a mudanças que podem afetar suas ações e recompensas. Isso torna a implementação de algoritmos de aprendizado mais desafiadora.

32 of 41

Problemas de Escalabilidade

Garantir que o aprendizado por reforço funcione em sistemas de grande escala é um desafio significativo. À medida que o tamanho do problema aumenta, a complexidade do aprendizado também se eleva, exigindo mais recursos computacionais. É essencial desenvolver soluções escaláveis para aplicações práticas.

33 of 41

Conclusão

• Q-Learning é uma poderosa ferramenta de IA.

• Aprende por meio de tentativa, erro e feedback.

• Base para algoritmos mais avançados como DQN e PPO.

Vamos praticar com código?

34 of 41

O que é o ambiente FrozenLake?�

  • O FrozenLake é um ambiente do pacote Gymnasium (antigo OpenAI Gym) utilizado para treinar agentes com algoritmos de Aprendizado por Reforço, como o Q-Learning.
  • Ele simula um lago congelado dividido em quadrados, onde o agente precisa caminhar do ponto de início até o objetivo sem cair em buracos.

35 of 41

Características do FrozenLake

  • É representado como uma grade 4x4 (padrão).
  • Cada célula pode ser:
    • S = Start (Início)
    • F = Frozen (Caminho seguro)
    • H = Hole (Buraco – se cair, o jogo acaba)
    • G = Goal (Objetivo)

36 of 41

📦 Características do Ambiente

• Ações possíveis:

0 = Esquerda | 1 = Baixo

2 = Direita | 3 = Cima

• Cada estado é um número de 0 a 15 (representando a posição na grade).

• Pode ser escorregadio (is_slippery=True), ou seja, a ação executada pode não ser exatamente a escolhida.

• Ideal para testar Q-Learning, SARSA e outros algoritmos de reforço.

37 of 41

🎯 Recompensas e Objetivo

• Recompensas:

+1 → ao chegar no destino (G)

0 → em qualquer outro caso (inclusive cair no buraco)

• O agente deve aprender uma política ótima mesmo sem receber recompensa durante o caminho.

• Desafio: equilíbrio entre explorar caminhos e explorar o conhecimento atual.

• Agente só vê o estado atual — ambiente é parcialmente observável.

38 of 41

Exemplo: FrozenLake (OpenAI Gym)

• Tabuleiro com gelo, buracos e meta.

• O agente deve aprender a andar até o destino.

• Ações: cima, baixo, esquerda, direita.

• Desafios: buracos, caminhos escorregadios.

39 of 41

Vantagens do Q-Learning

• Fácil de implementar.

• Aprende sem precisar de modelo do ambiente.

• Ideal para problemas com estados e ações discretas.

40 of 41

Limitações

• Crescimento exponencial da Q-table com ambientes grandes.

• Não funciona bem com variáveis contínuas.

• Para problemas mais complexos: usar Deep Q-Learning (DQN).

41 of 41

Considerações Finais

1. O aprendizado por reforço é uma técnica poderosa de machine learning.

2. Ele oferece diversas aplicações e desafios que precisam ser enfrentados.

3. O domínio do aprendizado por reforço pode levar a avanços significativos em IA.