Skip to content

Hiperparâmetros em Q-Learning

Ainda considerando o exemplo a implementação do TaxiDriver, responda as perguntas abaixo.

Para responder as questões abaixo utilize as implementações do TaxiDriverGym.py e QLearning.py que você implementou na atividade anterior.

Manipulando \(\alpha\) e \(\gamma\)

  • Se \(\alpha\) for um valor muito próximo de zero? Explique o comportamento encontrado.

  • Se \(\gamma\) for zero? Explique o comportamento encontrado.

Para fundamentar a sua resposta, use os plots gerados na pasta results depois do treinamento.

Considerando uma escolha de ação sempre aletatória

O que acontece se a escolha das ações em cada estado for sempre aleatória? Ou seja, se a função select_action ao invés de ser definida como abaixo:

def select_action(self, state):
    rv = random.uniform(0, 1)
    if rv < self.epsilon:
        return self.env.action_space.sample() # Explore action space
    return np.argmax(self.q_table[state]) # Exploit learned values

É definida assim:

def select_action(self, state):
    return self.env.action_space.sample() # Explore action space

Qual o comportamento do agente? Novamente: use os plots gerados na pasta results depois do treinamento para fundamentar a sua resposta.

Considerando um agente que nunca explora novas ações

O que acontece se a escolha das ações em cada estado for sempre buscando a melhor ação? Ou seja:

def select_action(self, state):
    return np.argmax(self.q_table[state]) # Exploit learned values

Sumarizando os resultados através de imagens

Como podemos sumarizar os diferentes resultados através de imagens?

Neste momento, você já deve ter percebido que uma ferramenta muito útil para visualizar e sumarizar o aprendizado do agente são gráficos que mostram a evolução de alguma métrica ao longo dos diversos episódios.

  • Quais foram as métricas utilizadas no caso do TaxiDriver?

  • Quais foram os hiperparâmetros utilizados?

  • O aprendizado dos agentes implementados para este caso convergem rapidamente?

  • O desempenho do agente se mantem ao longo dos episódios?

Atividade

Este exercício é composto por duas partes.

Parte 1

Faça uso de uma única imagem para sumarizar o aprendizado do agente. Você deve escolher a melhor métrica para o eixo \(y\) do gráfico. O eixo \(x\) deve ser a quantidade de episódios utilizado no treinamento. Você também deve definir qual é o melhor zoom (foco) no gráfico. Crie um documento que tem esta única imagem e a legenda dela.

Na legenda é necessário ter o título da imagem e um texto explicativo. O texto explicativo pode ser longo e deve ter as informações sobre os hiperparâmetros utilizados.

O gráfico deve possuir 3 linhas distintas. Cada uma destas linhas deve apresentar uma variação possível considerando os hiperparâmetros \(\alpha\), \(\gamma\) e \(\epsilon\). Deverá ficar a critério do estudante quais valores utilizar.

Um exemplo de imagem que sumariza dados ou apresenta resultados de experimentos é apresentada abaixo:

Elementos de um gráfico

Todas as informações relevantes para entender o resultado do treinamento precisam estar auto-contidas na imagem e na legenda da imagem.

Parte 2

O objetivo desta parte é entender a evolução da Q-table ao longo dos episódios. Para isso, você deve escolher um estados específicos e mostrar a evolução da Q-table para estes estados. Mais especificamente, você deve escolher um estado que corresponde a um episódio inicial, um estado que corresponde a um episódio intermediário e um estado que corresponde a um episódio final.

Para cada uma destas versões da Q-table você deve gerar um heatmap. Crie uma única imagem que contenha os três heatmaps. Na legenda desta imagem descreva o que cada um dos heatmaps representa, por exemplo, descrevendo o que são as colunas e linhas do heatmap.

Entrega

Um documento com estas duas imagens e legendas deve ser entregue via Blackboard até o dia 29/02/2023. A atividade já foi criada no Blackboard e o nome dela é Exercício 4. Esta atividade é individual.

Rubrica de avaliação

Conceito Descrição
A+ Entregou duas imagens com qualidade alta e legenda. Os textos das legendas possuem todas as informações necessárias para entender os resultados alcançados pelo experimento. Uma das imagens é uma imagem que consegue mostrar a diferença entre os hiperparâmetros escolhidos e a outra imagem consegue mostrar bem a evolução da Q-table.
B Entregou duas imagens com qualidade média e legenda. Os textos das legendas possuem todas as informações necessárias para entender os resultados alcançados pelo experimento. As imagens não conseguem mostrar bem a diferença entre os hiperparâmetros escolhidos e a evolução da Q-table.
D Entregou apenas uma imagem ou entregou imagens incompletas ou sem legenda.

Um exemplo de gráfico muito bem feito 🆕

Seguem abaixo exemplos de gráficos bem formatados e completos.

Exemplo de gráfico com a evolução do aprendizado do agente. Este gráfico foi feito pela Letícia em 2023/1.

Exemplo de gráfico com a evolução do aprendizado do agente

Exemplo de gráfico com a evolução da Q-table. Este gráfico foi feito pelo Giancarlo em 2023/1.

Exemplo de gráfico com a evolução da Q-table


Last update: March 4, 2024