Olá e bem-vindo novamente ao nosso auto-dirigindo o carro Maggio.
Então, em apenas uma toile, vou explicar o meio ambiente em que implementaremos nossa inteligência artificial e isso
conterá, claro, o carro que vai treinar para dirigir-se e evitar obstáculos e em que irá desenhar
algumas estradas e alguns blocos para nossos carros para navegar em torno deles.
Então, depois, construiremos essa inteligência artificial para treinar este carro para dirigir na estrada que você conhece
sem cruzar os limites e evitar alguns obstáculos que irão colocar dentro da estrada.
Então, este é um desafio bastante emocionante.
as aves que são inteligência artificial que farão todo o treinamento para treinar o carro como vender o disco.
E, na verdade, existem dois arquivos separados, como você pode ver, há o ápice e
E nós temos um mapa que descobrimos que é o código que faz todo esse ambiente.
Então, aqui está esse código que é realmente 200 linhas de código um pouco mais.
Portanto, esse código geralmente não está relacionado à AI.
É apenas um código para fazer o ambiente criar o mapa.
Então, eu vou passar por cada uma das seções uma a uma para explicar, mas não vamos
implementar este código linha por linha a partir do zero porque queremos nos concentrar em inteligência artificial.
Mas vamos seguir as seções um por um para entender o que está acontecendo.
Então, primeiro, importamos as bibliotecas centrais que são para qualquer código.
Precisamos de algumas bibliotecas para executar alguma tarefa de forma mais eficiente do que importamos todos os pacotes de cavy.
Então, isso não é muito importante porque isso é tudo específico para Cavey, estamos usando cavy para fazer o mapa.
E assim estamos importando muitas classes e objetos para poder fazer esse mapa e adicionar algumas
ferramentas no mapa.
Tudo bem, então esta linha é importante.
Esta linha está relacionada porque, basicamente, é aqui que importamos o cérebro do cérebro do carro, que será outro jato disso,
você fez na aula e o professor em sala de aula.
É nossa própria inteligência artificial.
Você verá que implementaremos o dequeue em sala de aula nos seguintes tutoriais.
E como você pode ter adivinhado a instância dequeue para redes Q profundas.
Então, implementaremos uma rede de aprendizado dequeue e, uma vez que estiver pronto, vamos
importá-lo aqui com esta linha do AI e os olhos, é claro, são um arquivo python.
Tudo bem.
Então, não posso esperar para implementar isso.
isso vai ser muito emocionante porque graças ao eu, o carro poderá dirigir-se.
Esta será uma excelente jornada, mas você verá que
Tudo bem.
E agora, antes de passar para as próximas seções, temos que explicar como treinamos este carro.
Não vou explicar a rede neural no momento, mas vou explicar a idéia
de como podemos treinar o carro para dirigir-se e evitar obstáculos.
Então, você sabe na vida real, se você quer treinar um carro real para evitar algumas paredes ou alguns obstáculos.
Bem, o que você faria?
Você definitivamente não tomaria paredes reais ou grandes obstáculos reais e esmagará seu carro sobre eles.
Isso custaria muito dinheiro.
Em vez disso, uma idéia mais inteligente seria punir seu carro não quando esmaga uma parede ou um obstáculo, mas
quando ele entra em alguma areia.
Então, é como se você tivesse um campo.
Este campo tem algumas estradas nas quais o carro tem que ficar e as estradas são delimitadas por alguma areia.
E cada vez que o carro entra no centro, é como se estivesse acontecendo com um obstáculo porque, uma vez
que o carro entra em alguma areia, será abrandado e teremos certeza de que o carro é penalizado é punido
por isso.
E esse é um ponto essencial da inteligência artificial.
A palavra ruim vem sempre que o carro entra em algum sentido e está mais lento.
Tudo bem.
E, portanto, aqui estou apresentando o último texto e é por isso que.
Quais são as coordenadas do último ponto na memória quando desenhamos algum perfume no mapa.
Tudo bem.
a nossa inteligência artificial que chamamos de cérebro e que contém a nossa rede neural e chamaremos de cérebro,
porque este é realmente o cérebro do carro e que contém a nossa rede Noodle.
E então, obtemos
Tudo bem.
Então, nesta linha de código, como você pode ver, estou criando objetos no professor em sala de aula.
Lembro-vos que as aulas e objetos são, mas Brenna é o objeto desumanizar a classe e 5:
3 e 0. 9 são as entradas da classe.
Então, isso é muito simples, cinco correspondem aos estados que são vetores codificados de cinco dimensões, veremos o que
eles estão descrevendo perfeitamente o que está acontecendo no meio ambiente no mapa.
ações, haverá três ações possíveis, vá para a esquerda, continue direto ou vá para a direita e 0.
Então três são o número de 9 é novamente um parâmetro no algoritmo de aprendizagem de dequeue.
Tudo bem e depois temos a ação através da rotação.
Assim, a ação para rotação é um vetor de três elementos.
020 e menos 20.
E então temos que fazer isso porque as ações são codificadas por três números 0 1 e 2 e que corresponde aos
índices desta ação dois vetores de rotação.
Então, por exemplo, se a ação que é selecionada no tempo t é zero.
Bem zero corresponde ao índice desta ação dois vetores de rotação e o valor do índice 0 é zero.
E, portanto, iremos direto, então, se a ação selecionada for 1.
Bem, um corresponde ao índice desta ação dois vetores adicionais e o valor desse vetor
que possui um próximo é 20.
Assim, 20 corresponde a uma rotação de 20 graus e isso significa que o código irá 20 graus
para a direita e, em seguida, se a ação selecionada for bem para corresponder ao índice dessa ação ao vetor de rotação.
E, portanto, o código fará uma rotação de menos 20 graus e, portanto, irá para a esquerda.
Tudo bem, então, apresentamos o Voivode de recompensa à esquerda, porque em cada etapa será a última palavra.
Então lembre-se se o cartão não entra em algum sentido, então a recompensa será positiva.
E se o código prosseguir para algum sentido, ele obterá a recompensa ruim e cada vez
que essa variável conterá essa recompensa, ela obtém H20.
E então, inicializamos as pontuações que são um vetor que conterá a recompensa.
Não todos eles, mas a recompensa.
Em uma janela deslizante para que você saiba que podemos fazer uma curva do agachamento médio a recompensa
em relação ao tempo.
Tudo bem, então, nesta seção de código, inicializamos o mapa para que possamos inicializar.
Por exemplo, a referida variável.
Então isso é importante.
A segunda variável, na verdade, será uma matriz em que as células serão os pixels do
mapa e em cada célula teremos 1.
Se houver algum sentido em um zero se não houver um centro no início, não desenharemos nada.
Portanto, não haverá nenhum sentido e, portanto, todas as células da matriz central terão zero.
Haverá zeros em todos os lugares e, assim que dessermos algum sentido, enquanto as
células em que desenhamos o sentido obterão um e inicializamos a corrida com todos os zeros aqui enviados iguais e zeros.
Então, temos essa coisa importante qual é o objetivo.
Então, o objetivo é um ponto no mapa que irá treinar o carro para alcançar.
Então, é como um destino.
Então, qual será o objetivo desse objetivo?
Bem, este será o canto superior esquerdo do mapa para todos treinar o carro para ir ao canto superior
esquerdo do mapa.
E então, uma vez que ele alcança o canto superior esquerdo do mapa, iremos no canto inferior
direito do mapa para que possamos imaginar o cenário a seguir.
mapa é o aeroporto de uma cidade e o canto inferior direito do mapa é o centro da cidade.
O canto superior esquerdo do
E iremos treinar um táxi ou Uber para fazer algumas viagens de ida e volta entre o aeroporto e o centro da cidade.
E é claro que vamos tornar a tarefa difícil para este táxi, desenhando algumas estradas cada vez mais
difíceis e adicionando mais e mais obstáculos na rua para ver se o táxi ainda consegue ir do aeroporto
para o centro da cidade.
Então, isso vai ser divertido.
E é por isso que aqui eu estou definindo as coordenadas do primeiro objetivo que é o aeroporto que está no
canto superior esquerdo da tela.
Então, o mapa será como um quadrado como este e as coordenadas da origem que são
as coordenadas 00 estão aqui.
E, em seguida, é maior essa distância aqui.
Assim, as coordenadas 20 e Najah menos 20 serão, portanto, aqui no canto superior esquerdo do mapa.
E por que eu escolhi 20 e não zero.
Bem, é porque queremos treinar o carro para não se precipitar nas paredes.
Você sabe que queremos treinar para as paredes também e, portanto, não é zero porque não queremos
que o carro toque onde queremos tocar para ir.
Então, temos que colocá-lo aqui e depois estou apenas a introduzir a última variável de distância que apenas dá
a distância atual do carro para a estrada e que estou inicializando para zero.
Tudo bem.
E agora é hora de fazer o carro e o jogo.
Então, vamos fazer duas aulas uma aula para o carro e uma aula para o jogo.
E dentro dessas classes já haverá algumas conexões com a nossa AI.
Então, vamos fazer isso no próximo Statoil.
E até então, aprecio I.