WEBVTT

00:00.420 --> 00:03.950
Olá e bem-vindo novamente ao nosso auto-dirigindo o carro Maggio.

00:03.960 --> 00:10.200
Então, em apenas uma toile, vou explicar o meio ambiente em que implementaremos nossa inteligência artificial e isso

00:10.410 --> 00:16.500
conterá, claro, o carro que vai treinar para dirigir-se e evitar obstáculos e em que irá desenhar

00:16.500 --> 00:20.950
algumas estradas e alguns blocos para nossos carros para navegar em torno deles.

00:21.210 --> 00:28.170
Então, depois, construiremos essa inteligência artificial para treinar este carro para dirigir na estrada que você conhece

00:28.170 --> 00:33.830
sem cruzar os limites e evitar alguns obstáculos que irão colocar dentro da estrada.

00:34.140 --> 00:35.870
Então, este é um desafio bastante emocionante.

00:35.910 --> 00:42.000
as aves que são inteligência artificial que farão todo o treinamento para treinar o carro como vender o disco.

00:42.000 --> 00:47.090
E, na verdade, existem dois arquivos separados, como você pode ver, há o ápice e

00:47.280 --> 00:52.080
E nós temos um mapa que descobrimos que é o código que faz todo esse ambiente.

00:52.110 --> 00:57.090
Então, aqui está esse código que é realmente 200 linhas de código um pouco mais.

00:57.090 --> 01:00.460
Portanto, esse código geralmente não está relacionado à AI.

01:00.510 --> 01:03.380
É apenas um código para fazer o ambiente criar o mapa.

01:03.420 --> 01:08.430
Então, eu vou passar por cada uma das seções uma a uma para explicar, mas não vamos

01:08.430 --> 01:13.610
implementar este código linha por linha a partir do zero porque queremos nos concentrar em inteligência artificial.

01:13.740 --> 01:17.160
Mas vamos seguir as seções um por um para entender o que está acontecendo.

01:17.370 --> 01:22.020
Então, primeiro, importamos as bibliotecas centrais que são para qualquer código.

01:22.110 --> 01:28.770
Precisamos de algumas bibliotecas para executar alguma tarefa de forma mais eficiente do que importamos todos os pacotes de cavy.

01:28.890 --> 01:35.140
Então, isso não é muito importante porque isso é tudo específico para Cavey, estamos usando cavy para fazer o mapa.

01:35.190 --> 01:41.010
E assim estamos importando muitas classes e objetos para poder fazer esse mapa e adicionar algumas

01:41.010 --> 01:42.210
ferramentas no mapa.

01:42.210 --> 01:44.420
Tudo bem, então esta linha é importante.

01:44.430 --> 01:53.130
Esta linha está relacionada porque, basicamente, é aqui que importamos o cérebro do cérebro do carro, que será outro jato disso,

01:53.220 --> 01:57.760
você fez na aula e o professor em sala de aula.

01:57.820 --> 02:00.570
É nossa própria inteligência artificial.

02:00.570 --> 02:04.680
Você verá que implementaremos o dequeue em sala de aula nos seguintes tutoriais.

02:04.680 --> 02:09.650
E como você pode ter adivinhado a instância dequeue para redes Q profundas.

02:09.650 --> 02:15.450
Então, implementaremos uma rede de aprendizado dequeue e, uma vez que estiver pronto, vamos

02:15.540 --> 02:21.910
importá-lo aqui com esta linha do AI e os olhos, é claro, são um arquivo python.

02:21.990 --> 02:22.310
Tudo bem.

02:22.320 --> 02:24.450
Então, não posso esperar para implementar isso.

02:24.450 --> 02:29.520
isso vai ser muito emocionante porque graças ao eu, o carro poderá dirigir-se.

02:29.520 --> 02:33.200
Esta será uma excelente jornada, mas você verá que

02:33.270 --> 02:33.880
Tudo bem.

02:33.880 --> 02:39.060
E agora, antes de passar para as próximas seções, temos que explicar como treinamos este carro.

02:39.060 --> 02:43.880
Não vou explicar a rede neural no momento, mas vou explicar a idéia

02:43.920 --> 02:48.080
de como podemos treinar o carro para dirigir-se e evitar obstáculos.

02:48.360 --> 02:54.130
Então, você sabe na vida real, se você quer treinar um carro real para evitar algumas paredes ou alguns obstáculos.

02:54.390 --> 02:55.580
Bem, o que você faria?

02:55.830 --> 03:01.130
Você definitivamente não tomaria paredes reais ou grandes obstáculos reais e esmagará seu carro sobre eles.

03:01.200 --> 03:02.710
Isso custaria muito dinheiro.

03:02.850 --> 03:10.170
Em vez disso, uma idéia mais inteligente seria punir seu carro não quando esmaga uma parede ou um obstáculo, mas

03:10.410 --> 03:12.690
quando ele entra em alguma areia.

03:12.810 --> 03:14.220
Então, é como se você tivesse um campo.

03:14.220 --> 03:19.680
Este campo tem algumas estradas nas quais o carro tem que ficar e as estradas são delimitadas por alguma areia.

03:19.860 --> 03:25.500
E cada vez que o carro entra no centro, é como se estivesse acontecendo com um obstáculo porque, uma vez

03:25.500 --> 03:31.050
que o carro entra em alguma areia, será abrandado e teremos certeza de que o carro é penalizado é punido

03:31.050 --> 03:31.630
por isso.

03:31.860 --> 03:35.200
E esse é um ponto essencial da inteligência artificial.

03:35.220 --> 03:40.210
A palavra ruim vem sempre que o carro entra em algum sentido e está mais lento.

03:40.230 --> 03:40.770
Tudo bem.

03:40.770 --> 03:45.160
E, portanto, aqui estou apresentando o último texto e é por isso que.

03:45.300 --> 03:50.650
Quais são as coordenadas do último ponto na memória quando desenhamos algum perfume no mapa.

03:50.760 --> 03:51.110
Tudo bem.

03:51.120 --> 03:57.720
a nossa inteligência artificial que chamamos de cérebro e que contém a nossa rede neural e chamaremos de cérebro,

03:57.900 --> 04:03.020
porque este é realmente o cérebro do carro e que contém a nossa rede Noodle.

04:03.030 --> 04:03.920
E então, obtemos

04:04.350 --> 04:04.730
Tudo bem.

04:04.770 --> 04:10.200
Então, nesta linha de código, como você pode ver, estou criando objetos no professor em sala de aula.

04:10.230 --> 04:17.000
Lembro-vos que as aulas e objetos são, mas Brenna é o objeto desumanizar a classe e 5:

04:17.010 --> 04:19.660
3 e 0. 9 são as entradas da classe.

04:19.680 --> 04:26.880
Então, isso é muito simples, cinco correspondem aos estados que são vetores codificados de cinco dimensões, veremos o que

04:26.880 --> 04:31.710
eles estão descrevendo perfeitamente o que está acontecendo no meio ambiente no mapa.

04:31.830 --> 04:38.820
ações, haverá três ações possíveis, vá para a esquerda, continue direto ou vá para a direita e 0.

04:39.330 --> 04:44.190
Então três são o número de 9 é novamente um parâmetro no algoritmo de aprendizagem de dequeue.

04:44.220 --> 04:46.900
Tudo bem e depois temos a ação através da rotação.

04:46.980 --> 04:50.910
Assim, a ação para rotação é um vetor de três elementos.

04:50.910 --> 04:53.290
020 e menos 20.

04:53.300 --> 05:01.820
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

05:01.820 --> 05:04.700
índices desta ação dois vetores de rotação.

05:04.710 --> 05:11.160
Então, por exemplo, se a ação que é selecionada no tempo t é zero.

05:11.270 --> 05:18.990
Bem zero corresponde ao índice desta ação dois vetores de rotação e o valor do índice 0 é zero.

05:19.150 --> 05:24.490
E, portanto, iremos direto, então, se a ação selecionada for 1.

05:24.770 --> 05:30.380
Bem, um corresponde ao índice desta ação dois vetores adicionais e o valor desse vetor

05:30.380 --> 05:32.810
que possui um próximo é 20.

05:32.810 --> 05:38.580
Assim, 20 corresponde a uma rotação de 20 graus e isso significa que o código irá 20 graus

05:39.260 --> 05:46.500
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.

05:46.700 --> 05:52.570
E, portanto, o código fará uma rotação de menos 20 graus e, portanto, irá para a esquerda.

05:52.580 --> 06:00.200
Tudo bem, então, apresentamos o Voivode de recompensa à esquerda, porque em cada etapa será a última palavra.

06:00.200 --> 06:04.970
Então lembre-se se o cartão não entra em algum sentido, então a recompensa será positiva.

06:05.180 --> 06:11.780
E se o código prosseguir para algum sentido, ele obterá a recompensa ruim e cada vez

06:11.780 --> 06:15.270
que essa variável conterá essa recompensa, ela obtém H20.

06:15.500 --> 06:20.760
E então, inicializamos as pontuações que são um vetor que conterá a recompensa.

06:20.780 --> 06:22.780
Não todos eles, mas a recompensa.

06:22.800 --> 06:28.340
Em uma janela deslizante para que você saiba que podemos fazer uma curva do agachamento médio a recompensa

06:28.340 --> 06:29.440
em relação ao tempo.

06:29.450 --> 06:34.520
Tudo bem, então, nesta seção de código, inicializamos o mapa para que possamos inicializar.

06:34.520 --> 06:36.170
Por exemplo, a referida variável.

06:36.170 --> 06:37.220
Então isso é importante.

06:37.220 --> 06:42.710
A segunda variável, na verdade, será uma matriz em que as células serão os pixels do

06:43.250 --> 06:45.880
mapa e em cada célula teremos 1.

06:45.980 --> 06:52.120
Se houver algum sentido em um zero se não houver um centro no início, não desenharemos nada.

06:52.160 --> 06:57.840
Portanto, não haverá nenhum sentido e, portanto, todas as células da matriz central terão zero.

06:57.860 --> 07:02.990
Haverá zeros em todos os lugares e, assim que dessermos algum sentido, enquanto as

07:02.990 --> 07:10.290
células em que desenhamos o sentido obterão um e inicializamos a corrida com todos os zeros aqui enviados iguais e zeros.

07:10.370 --> 07:13.510
Então, temos essa coisa importante qual é o objetivo.

07:13.520 --> 07:17.630
Então, o objetivo é um ponto no mapa que irá treinar o carro para alcançar.

07:17.630 --> 07:19.850
Então, é como um destino.

07:19.850 --> 07:21.460
Então, qual será o objetivo desse objetivo?

07:21.560 --> 07:27.380
Bem, este será o canto superior esquerdo do mapa para todos treinar o carro para ir ao canto superior

07:27.380 --> 07:28.480
esquerdo do mapa.

07:28.550 --> 07:33.290
E então, uma vez que ele alcança o canto superior esquerdo do mapa, iremos no canto inferior

07:33.290 --> 07:36.590
direito do mapa para que possamos imaginar o cenário a seguir.

07:36.590 --> 07:42.620
mapa é o aeroporto de uma cidade e o canto inferior direito do mapa é o centro da cidade.

07:42.620 --> 07:44.320
O canto superior esquerdo do

07:44.570 --> 07:50.180
E iremos treinar um táxi ou Uber para fazer algumas viagens de ida e volta entre o aeroporto e o centro da cidade.

07:50.210 --> 07:55.610
E é claro que vamos tornar a tarefa difícil para este táxi, desenhando algumas estradas cada vez mais

07:55.700 --> 08:01.190
difíceis e adicionando mais e mais obstáculos na rua para ver se o táxi ainda consegue ir do aeroporto

08:01.190 --> 08:02.760
para o centro da cidade.

08:02.990 --> 08:04.170
Então, isso vai ser divertido.

08:04.190 --> 08:11.030
E é por isso que aqui eu estou definindo as coordenadas do primeiro objetivo que é o aeroporto que está no

08:11.030 --> 08:12.640
canto superior esquerdo da tela.

08:12.830 --> 08:20.000
Então, o mapa será como um quadrado como este e as coordenadas da origem que são

08:20.090 --> 08:22.090
as coordenadas 00 estão aqui.

08:22.340 --> 08:25.250
E, em seguida, é maior essa distância aqui.

08:25.310 --> 08:32.640
Assim, as coordenadas 20 e Najah menos 20 serão, portanto, aqui no canto superior esquerdo do mapa.

08:32.790 --> 08:35.650
E por que eu escolhi 20 e não zero.

08:35.850 --> 08:40.300
Bem, é porque queremos treinar o carro para não se precipitar nas paredes.

08:40.320 --> 08:45.450
Você sabe que queremos treinar para as paredes também e, portanto, não é zero porque não queremos

08:45.450 --> 08:48.120
que o carro toque onde queremos tocar para ir.

08:48.180 --> 08:53.910
Então, temos que colocá-lo aqui e depois estou apenas a introduzir a última variável de distância que apenas dá

08:53.910 --> 08:58.200
a distância atual do carro para a estrada e que estou inicializando para zero.

08:59.020 --> 08:59.470
Tudo bem.

08:59.480 --> 09:02.220
E agora é hora de fazer o carro e o jogo.

09:02.370 --> 09:06.650
Então, vamos fazer duas aulas uma aula para o carro e uma aula para o jogo.

09:06.850 --> 09:10.850
E dentro dessas classes já haverá algumas conexões com a nossa AI.

09:11.170 --> 09:13.170
Então, vamos fazer isso no próximo Statoil.

09:13.180 --> 09:15.000
E até então, aprecio I.
