Conceitos e terminologia 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á.

Conceitos e terminologia do AWS DeepRacer

O AWS DeepRacer se baseia nos seguintes conceitos e usa a seguinte terminologia.

Serviço AWS DeepRacer

AWS DeepRacer é um serviço do AWS Machine Learning para explorar o aprendizado por reforço focado em corridas autônomas. O serviço do AWS DeepRacer oferece suporte aos seguintes recursos:

  1. Treine um modelo de aprendizado por reforço na nuvem.

  2. Avalie um modelo treinado no console do AWS DeepRacer.

  3. Envie um modelo treinado para uma corrida virtual e, se qualificado, tenha seu desempenho publicado no placar do evento.

  4. Clone um modelo treinado e continue treinando para melhorar o desempenho.

  5. Faça download dos artefatos de modelo treinado para fazer upload em um veículo do AWS DeepRacer.

  6. Coloque o veículo em uma pista física para condução autônoma e avalie o modelo para desempenhos no mundo real.

  7. Remova cobranças desnecessárias, excluindo modelos de que você não precisa.

AWS DeepRacer

"AWS DeepRacer" pode se referir a três veículos diferentes:

  • O carro de corrida virtual pode assumir a forma do dispositivo AWS DeepRacer original, do dispositivo Evo ou de várias recompensas digitais que podem ser obtidas ao participar das corridas do Circuito Virtual da Liga do AWS DeepRacer. Também é possível personalizar o carro virtual alterando sua cor.

  • O dispositivo AWS DeepRacer original é um modelo físico de carro em escala 1/18. Ele possui uma câmera montada e um módulo de computação integrado. O módulo de computação executa a inferência para se autodirigir ao longo de uma pista. O módulo de computação e o chassi do veículo são alimentados por baterias dedicadas, conhecidas como a bateria de computação e a bateria de acionamento, respectivamente.

  • O dispositivo AWS DeepRacer Evo é o dispositivo original com um kit de sensores opcional. O kit inclui uma câmera adicional e um sensor LIDAR (light detection and ranging), que permitem ao carro detectar objetos atrás e laterais a si mesmo. O kit também inclui uma novo shell.

Aprendizado por reforço

Um método de machine learning focado na tomada de decisões autônoma por um agente a fim de atingir objetivos especificados por meio de interações com um ambiente. No aprendizado por reforço, o aprendizado é obtido por meio de tentativa e erro e o treinamento não requer entrada rotulada. O treinamento se baseia na hipótese de recomensa, que determina que todos os objetivos podem ser alcançados com a maximização de uma recompensa futura após as sequências de ação. No aprendizado por reforço, é importante projetar a função de recompensa. Funções de recompensa mais bem elaboradas resultam em melhores decisões do agente.

Para corridas autônomas, o agente é um veículo. O ambiente inclui rotas de deslocamento e condições de tráfego. O objetivo é que o veículo chegue ao seu destino rapidamente e sem acidentes. As recompensas são pontuações que encorajam o deslocamento seguro e ágil até o destino. As pontuações penalizam direção perigosa e esbanjadora.

Para promover o aprendizado durante o treinamento, o agente de aprendizado deve ter permissão para realizar ações que, às vezes, podem não resultar em recompensas. Isso é chamado de compromisso entre exploração e aproveitamento. Ele ajuda a reduzir ou remover a probabilidade de que o agente possa estar equivocado em destinos falsos.

Para obter uma definição mais formal, consulte aprendizado por reforço na Wikipedia.

Modelo de aprendizado por reforço

Um modelo de aprendizado por reforço é um ambiente em que um agente atua que estabelece três coisas: os estados que o agente tem, as ações que o agente pode tomar e as recompensas recebidas ao tomar ação. A estratégia com a qual o agente decide sua ação é chamada de uma política. A política recebe o estado do ambiente como entrada e produz a ação a ser tomada. No aprendizado por reforço, a política normalmente é representada por uma rede neural profunda. Chamaremos de modelo de aprendizado por reforço. Cada trabalho de treinamento gera um modelo. Um modelo pode ser gerado mesmo que o trabalho de treinamento seja encerrado antecipadamente. Um modelo é imutável, o que significa que não pode ser modificado e substituído após a sua criação.

Simulador AWS DeepRacer

O simulador do AWS DeepRacer é um ambiente virtual para visualizar o treinamento e avaliar os modelos do AWS DeepRacer.

Veículo do AWS DeepRacer

Consulte AWS DeepRacer.

Carro do AWS DeepRacer

Esse tipo de veículo do AWS DeepRacer é um modelo de carro em escala 1/18.

Placar

Um placar é uma lista classificada de desempenhos de veículos do AWS DeepRacer em um evento de corrida da Liga do AWS DeepRacer. A corrida pode ser um evento virtual, realizado no ambiente simulado, ou um evento físico, realizado em um ambiente real. A métrica de desempenho depende do tipo de corrida. Pode ser a volta mais rápida, o tempo total ou o tempo médio de volta enviado pelos usuários do AWS DeepRacer que avaliaram seus modelos treinados em uma pista idêntica ou semelhante à determinada pista da corrida.

Se um veículo completar três voltas consecutivamente, ele se qualifica para ser classificado em um placar. O tempo médio de volta para as três primeiras voltas consecutivas é enviado ao placar.

Estruturas de machine learning

Estruturas de machine learning são bibliotecas de software usadas para criar algoritmos de machine learning. As estruturas compatíveis com o AWS DeepRacer incluem Tensorflow.

Rede de políticas

Uma rede de políticas é uma rede neural treinada. A rede de políticas recebe imagens de vídeo como entrada e prevê a próxima ação do agente. Dependendo do algoritmo, ela também pode avaliar o valor do estado atual do agente.

Algoritmo de otimização

Um algoritmo de otimização é o algoritmo usado para treinar um modelo. Para treinamento supervisionado, o algoritmo é otimizado minimizando uma função de perda com uma estratégia específica para atualizar pesos. Para o aprendizado por reforço, o algoritmo é otimizado maximizando as recompensas futuras esperadas com uma função de recompensa específica.

Rede neural

Uma rede neural (também conhecida como rede neural artificial) é um conjunto de unidades ou nós conectados usados para construir um modelo de informação baseado em sistemas biológicos. Cada nó é chamado de neurônio artificial e imita um neurônio biológico ao receber uma entrada (estímulo), ser ativado se o sinal de entrada for forte o suficiente (ativação) e produzir uma saída baseada na entrada e na ativação. É amplamente usado em machine learning pois uma rede neural artificial pode servir como uma aproximação de uso geral para qualquer função. Ensinar máquinas a aprender se torna encontrar a aproximação de função ideal para a entrada e a saída em questão. No aprendizado por reforço profundo, a rede neural representa a política e geralmente é chamada de rede de políticas. Treinar a rede de políticas representa a iteração em etapas que envolvem a geração de experiências baseadas na política atual seguida da otimização da rede de políticas com as experiências recém-geradas. O processo continua até que determinadas métricas de desempenho atendam aos critérios necessários.

Hiperparâmetros

Hiperparâmetros são variáveis dependentes do algoritmo que controlam o desempenho do treinamento de uma rede neural. Um exemplo de hiperparâmetro é a taxa de aprendizado que controla quantas novas experiências são contadas no aprendizado em cada etapa. Uma taxa de aprendizado maior gera um treinamento mais rápido, mas pode reduzir a qualidade do modelo treinado. Os hiperparâmetros são empíricos e exigem ajuste sistemático para cada treinamento.

Pista do AWS DeepRacer

Uma pista é um caminho ou percurso no qual um veículo do AWS DeepRacer se locomove. A pista pode existir em um ambiente simulado ou em um ambiente físico real. Você usa um ambiente simulado para treinar um modelo do AWS DeepRacer em uma pista virtual. O console do AWS DeepRacer disponibiliza pistas virtuais. Você usa um ambiente real para a execução de um veículo do AWS DeepRacer em uma pista física. O AWS DeepRacer fornece pistas físicas para os participantes do evento competirem. É necessário criar a sua própria pista física se quiser executar o veículo do AWS DeepRacer em qualquer outra situação. Para saber mais sobre como criar sua própria pista, consulte Crie sua pista física.

Função de recompensa

Uma função de recompensa é um algoritmo dentro de um modelo de aprendizado que informa ao agente se a ação executada resultou em:

  • Um bom resultado que deve ser reforçado.

  • Um resultado neutro.

  • Um resultado ruim que deve ser desencorajado.

A função de recompensa é uma parte importante do aprendizado por reforço. Ela determina o comportamento que o agente aprende ao incentivar ações específicas acima de outras. O usuário fornece a função de recompensa usando o Python. Esta função de recompensa é usada por um algoritmo de otimização para treinar o modelo de aprendizado por reforço.

Episódio de experiência

Um episódio de experiência é um período em que o agente coleta experiências como dados de treinamento do ambiente, executando de um determinado ponto de partida até completar a pista ou sair dela. Diferentes episódios podem ter diferentes comprimentos. Também chamado de episódio ou episódio gerador de experiência.

Iteração de experiência

Uma iteração de experiência, forma abreviada do termo iteração de geração de experiência, se refere a diversos episódios de experiência consecutivos entre cada iteração de política que realiza atualizações nos pesos da rede de políticas. No final de cada iteração de experiência, os episódios coletados são adicionados a uma reprodução ou buffer de experiência. O tamanho pode ser definido em um dos hiperparâmetros para treinamento. A rede neural é atualizada usando amostras aleatórias das experiências.

Iteração de política

Uma iteração de política, forma abreviada do termo iteração de atualização de política, consiste em diversas passagens pelos dados de treinamento aleatoriamente amostrados para atualizar os pesos de trabalho neural da política durante a subida de gradiente. Uma única passagem pelos dados de treinamento para atualizar os pesos também é conhecida como um epoch.

Trabalho de treinamento

Uma workload que treina um modelo de aprendizado por reforço e cria artefatos de modelo treinado nos quais executa a inferência. Cada trabalho de treinamento tem dois subprocessos:

  1. Inicie o agente para seguir a política atual. O agente explora o ambiente em vários episódios e cria dados de treinamento. Essa geração de dados é um processo iterativo em si.

  2. Aplique os novos dados de treinamento para calcular novos gradientes de política. Atualize os pesos da rede e continue o treinamento. Repita a etapa 1 até que uma condição de parada seja atendida.

Cada trabalho de treinamento produz um modelo treinado e gera os artefatos de modelo para um armazenamento de dados especificado.

Trabalho de avaliação

Uma workload que testa o desempenho de um modelo. O desempenho é medido por determinadas métricas após o término do trabalho de treinamento. A métrica de desempenho padrão do AWS DeepRacer é o tempo de condução que um agente leva para concluir uma volta em uma pista. Outra métrica é a porcentagem da volta completada.

Terminologia dos eventos de corrida

Os eventos de corrida do AWS DeepRacer usam os conceitos e terminologia a seguir.

Liga/competição

No contexto dos eventos da Liga do AWS DeepRacer, os termos liga e competição estão relacionados à estrutura da competição. A AWS patrocina a Liga do AWS DeepRacer, o que significa que nós a possuímos, projetamos e administramos. Uma competição tem uma data de início e término.

Temporada

Uma competição pode se repetir nos anos subsequentes. Denominamos essas temporadas diferentes (por exemplo, a temporada 2019 ou 2020). As regras podem mudar de temporada para temporada, mas geralmente são consistentes em uma temporada. Os termos e condições da Liga do AWS DeepRacer podem variar de acordo com a temporada.

O Circuito virtual

O Circuito virtual se refere às corridas patrocinadas pela AWS que acontecem no console do AWS DeepRacer durante a temporada da Liga do AWS DeepRacer.

Evento

Conforme definido pelas regras, um evento é uma ocorrência da Liga do AWS DeepRacer onde você pode participar de uma corrida. Um evento tem uma data de início e término. Os eventos do Circuito Virtual geralmente duram um mês. Pode haver muitos eventos em uma temporada, e algumas regras, como a forma como classificamos os participantes de um evento, selecionamos quem ganha e o que acontece depois disso, estão sujeitas a alterações.

Tipo de corrida

Todos os pilotos podem correr em corridas de avaliação de tempo (TT), desvio de objetos (OA) ou confronto direto com bots (H2B). Cada tipo de corrida especificará o número de voltas e como os pilotos são classificados.

Classificação da temporada nacional

A classificação da temporada nacional se refere à classificação de um piloto no placar entre outros pilotos em seu país. Todos os pilotos podem competir contra outros pilotos de seu país em corridas virtuais mensais.

Classificação da temporada regional

A classificação da temporada regional se refere à classificação de um piloto no placar entre outros pilotos em sua região.

Campeonato mundial

O placar mensal do Circuito virtual da Liga do AWS DeepRacer é dividido por país e região. O melhor piloto de cada região terá a oportunidade de se classificar para o Campeonato Mundial na AWS re:Invent. Para obter mais informações, consulte Termos e conceitos.