Espaço de ação e função de recompensa do AWS DeepRacer - AWS DeepRacer

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Espaço de ação e função de recompensa do AWS DeepRacer

Espaço de ação

No aprendizado por reforço, o conjunto de todas as ações ou escolhas válidas disponíveis para um agente ao interagir com um ambiente é chamado de espaço de ação. No console do AWS DeepRacer, você pode treinar agentes em um espaço de ação discreto ou contínuo.

Espaço de ação discreto

Um espaço de ação discreto representa todas as ações possíveis de um agente para cada estado em um conjunto finito. Para o AWS DeepRacer, isso significa que, para cada situação ambiental incrementalmente diferente, a rede neural do agente seleciona a velocidade e a direção do carro com base na entrada de suas câmeras e do sensor LiDAR (opcional). A escolha é limitada a um agrupamento de combinações predefinidas de ângulo de direção e controle de utilização.

Um carro do AWS DeepRacer em um espaço de ação discreto, ao se aproximar de uma curva, pode optar por acelerar ou frear e virar à esquerda, à direita ou seguir em frente. Essas ações são definidas como uma combinação de ângulo de direção e velocidade, criando um menu de opções, 0-9, para o agente. Por exemplo, 0 pode representar -30 graus e 0,4 m/s, 1 pode representar -30 graus e 0,8 m/s, 2 pode representar -15 graus e 0,4 m/s, 3 pode representar -15 graus e 0,8 m/s e assim por diante, até 9. Graus negativos giram o carro para a direita; graus positivos giram o carro para a esquerda e “0” mantém as rodas retas.

O espaço de ação discreto padrão do AWS DeepRacer contém as seguintes ações:

Espaço de ação discreto padrão do AWS DeepRacer
Número de ação Direção Velocidade
0 -30 graus 0,4 m/s
1 -30 graus 0,8 m/s
2 -15 graus 0,4 m/s
3 -15 graus 0,8 m/s
4 0 graus 0,4 m/s
5 0 graus 0,8 m/s
6 15 graus 0,4 m/s
7 15 graus 0,8 m/s
8 30 graus 0,4 m/s
9 30 graus 0,8 m/s
Espaço de ação contínuo

Um espaço de ação contínuo permite que o agente selecione uma ação a partir de um intervalo de valores para cada estado. Assim como acontece com um espaço de ação discreto, isso significa que para cada situação ambiental incrementalmente diferente, a rede neural do agente seleciona a velocidade e a direção do carro com base na entrada de suas câmeras e do sensor LiDAR (opcional). No entanto, em um espaço de ação contínuo, você pode definir o intervalo de opções entre as quais o agente escolhe sua ação.

Neste exemplo, o carro do AWS DeepRacer em um espaço de ação contínuo que se aproxima de uma curva pode escolher uma velocidade de 0,75 m/s a 4 m/s e virar à esquerda, à direita ou seguir em frente, escolhendo um ângulo de direção de -20 a 20 graus.

Discreto versus contínuo

A vantagem de usar um espaço de ação contínuo é que é possível escrever funções de recompensa que treinam modelos para incentivar ações de velocidade/direção em pontos específicos de uma pista para otimizar o desempenho. Escolher entre uma série de ações também cria o potencial de mudanças suaves nos valores de velocidade e direção que, em um modelo bem treinado, podem produzir melhores resultados em condições reais.

Na configuração de espaço de ação discreto, limitar as escolhas de um agente a um número finito de ações predefinidas coloca a responsabilidade de entender o impacto dessas ações e defini-las com base no ambiente (pista, formato de corrida) e em suas funções de recompensa. No entanto, em uma configuração de Espaço de ação contínuo, o agente aprende a escolher os valores ideais de velocidade e direção a partir dos limites mínimo/máximo fornecidos por meio do treinamento.

Embora fornecer uma variedade de valores para o modelo escolher pareça ser a melhor opção, o agente precisa treinar por mais tempo para aprender a escolher as ações ideais. O sucesso também depende da definição da função de recompensa.

Função de recompensa

À medida que o agente explora o ambiente, ele aprende uma função de valor. A função de valor ajuda seu agente a avaliar o quão boa é uma ação tomada depois de observar o ambiente. A função valor usa a função de recompensa que você escreve no console do AWS DeepRacer para pontuar a ação. Por exemplo, seguindo a função de recompensa de amostra da linha central no console do AWS DeepRacer, uma boa ação manteria o agente próximo ao centro da pista e teria uma pontuação maior do que uma ação ruim, o que o afastaria do centro da pista.

Com o tempo, a função de valor ajuda o agente a aprender políticas que aumentam a recompensa total. A política ideal, ou melhor, equilibraria a quantidade de tempo que o agente gasta explorando o ambiente com a quantidade de tempo que ele gasta explorando ou fazendo o melhor uso do que a política aprendeu com a experiência.

No exemplo de função de recompensa de amostra do AWS DeepRacer seguir a linha central, o agente primeiro executa ações aleatórias para explorar o ambiente, o que significa que ele não faz um bom trabalho ao permanecer no centro da pista. Com o tempo, o agente começa a aprender quais ações o mantêm próximo à linha central, mas se fizer isso continuando a realizar ações aleatórias, levará muito tempo para aprender a ficar próximo ao centro da pista durante toda a volta. Portanto, à medida que a política começa a aprender boas ações, o agente começa a usar essas ações em vez de realizar ações aleatórias. No entanto, se sempre usar ou explorar as boas ações, o agente não fará novas descobertas, porque não está mais explorando o ambiente. Essa diferença é chamada de problema de exploração e aproveitamento no RL.

Experimente os espaços de ação padrão e as funções de recompensa. Depois de explorar todos eles, use seu conhecimento criando seus próprios espaços de ação personalizados e suas funções de recompensa personalizadas.