WEBVTT

00:00.390 --> 00:01.110
Você está pronto?

00:01.350 --> 00:06.930
Vamos fazer isso, vamos começar instalando todas as dependências do sistema para o Vista, vamos clicar

00:06.930 --> 00:14.340
neste botão play e agora ele vai instalar todas as dependências, como você pode ver, como Pelo ou ZIPPI e também algumas

00:14.340 --> 00:18.170
outras dependências que serão necessárias para execute isso com sucesso.

00:18.180 --> 00:22.010
Mas todo o resto, como o PLI para os módulos do ginásio, já está instalado.

00:22.230 --> 00:23.070
Então isso é realmente incrível.

00:23.070 --> 00:28.620
Essa é realmente a beleza do bom kulam, e isso é graças ao qual nenhum de vocês terá qualquer problema

00:29.250 --> 00:31.860
para executar o código e visualizar o resultado final.

00:32.430 --> 00:32.790
Tudo certo.

00:32.790 --> 00:35.250
Então, na verdade, isso vai levar um ou dois minutos.

00:35.250 --> 00:38.090
Então, vou avançar aqui e agora.

00:38.100 --> 00:41.250
Vejo vocês em breve para o restante da execução do código.

00:42.780 --> 00:47.790
Tudo bem, parece que estamos no final da instalação das dependências do

00:47.940 --> 00:53.430
sistema, como você pode ver, está baixando-as, instalando-as e coletando-as com todos os requisitos certos.

00:53.820 --> 00:56.670
E em questão de segundos, isso deve ser feito.

00:57.300 --> 00:57.890
Certo.

00:58.320 --> 01:01.060
E vamos ver, três, dois.

01:01.380 --> 01:02.040
Aqui vamos nós.

01:02.130 --> 01:03.900
Tudo instalado com sucesso.

01:03.900 --> 01:05.250
Não se preocupe com esses erros aqui.

01:05.250 --> 01:11.040
Eles não afetarão a execução do código, mas tudo é instalado com sucesso como desejamos.

01:11.070 --> 01:11.550
Tudo certo.

01:12.000 --> 01:14.520
Agora, a próxima etapa, muito importante.

01:14.850 --> 01:16.620
Olhe para esta nota importante.

01:16.620 --> 01:22.290
Diz que depois de instalar todos os Benz's, basicamente depois de executar esta primeira célula aqui, você

01:22.290 --> 01:24.030
tem que reiniciar seu runtime.

01:24.030 --> 01:26.550
Caso contrário, você obterá alguns erros de execução aqui.

01:26.560 --> 01:27.620
Então, vamos fazer isso rapidamente.

01:27.630 --> 01:28.440
É muito simples.

01:28.440 --> 01:33.030
Você só precisa clicar em runtime aqui e reiniciar o runtime e então.

01:33.030 --> 01:33.420
Sim.

01:33.510 --> 01:33.930
Tudo certo.

01:33.930 --> 01:40.050
Isso irá restaurar seu tempo de execução e agora você pode simplesmente executar todas essas células apenas clicando no botão

01:40.050 --> 01:40.490
play.

01:40.500 --> 01:44.530
Então, vamos fazer isso, começando com o pré-processamento deste primeiro arquivo de imagem.

01:44.850 --> 01:45.350
Tudo certo.

01:45.360 --> 01:51.750
Portanto, vamos primeiro importar as bibliotecas e, em seguida, pré-processar as imagens com a classe de imagem de pré-processamento.

01:51.750 --> 01:58.320
E agora já passamos para a implementação de repetição de experiência, ou seja, esta.

01:58.570 --> 01:59.160
Tudo certo.

01:59.550 --> 02:00.360
Então vamos fazer isso.

02:00.360 --> 02:04.860
Primeiro importamos as bibliotecas e, em seguida, definimos uma etapa do ambiente.

02:05.310 --> 02:12.360
Então fazemos o A. EU. progresso em várias etapas e etapas com a classe de progresso

02:12.360 --> 02:14.610
da etapa final exatamente igual à que temos na pasta.

02:14.970 --> 02:20.370
E então implementamos a experiência que jogamos construindo esta classe de memória de repetição.

02:20.490 --> 02:20.970
Tudo certo.

02:21.120 --> 02:21.750
Tudo bom.

02:22.050 --> 02:24.110
E agora passamos para a terceira falta.

02:24.840 --> 02:31.740
Este aqui A. EU. presuma que eu tenha me inscrito e, em seguida, importemos as bibliotecas primeiro.

02:31.890 --> 02:32.250
Tudo certo.

02:32.250 --> 02:37.290
Então, demora um pouco aqui porque importamos todos os módulos da tocha, depois importamos os pacotes para

02:37.290 --> 02:41.040
abrir e fazer isso com a academia e a sabedoria, Jim.

02:41.040 --> 02:43.080
E o invólucro é bom.

02:43.470 --> 02:48.780
E então passamos para a parte um aqui, Edifício II, onde vamos fazer o cérebro,

02:48.780 --> 02:51.370
depois o corpo e depois montar tudo.

02:51.390 --> 03:00.150
Então, primeiro vamos deixar o cérebro certo com a classe CNN, depois vamos fazer o corpo com a classe corporal softmax

03:00.150 --> 03:04.370
e então vamos fazer a IA com uma classe.

03:04.710 --> 03:05.250
Tudo certo.

03:05.280 --> 03:06.060
Então tudo bem.

03:06.420 --> 03:08.130
E agora estamos prontos para passar para a parte dois.

03:08.150 --> 03:12.120
Vamos treinar IA com, é claro, Q Learning convolucional profundo.

03:12.540 --> 03:12.980
Tudo certo.

03:12.980 --> 03:15.060
Tão executivo, igual ao que temos aqui.

03:15.540 --> 03:19.140
Primeiro, obtemos o ambiente doom com nossos novos módulos com doom.

03:19.140 --> 03:20.100
Não se preocupe com isso.

03:20.370 --> 03:21.390
Isso não é um erro.

03:21.780 --> 03:27.510
Então, vamos construir o A. EU. integrando os diferentes objetos para trazer na CNN, os corpos de

03:27.510 --> 03:30.930
Max body e todo o A. EU. contendo o cérebro e o corpo.

03:31.020 --> 03:31.410
Tudo certo.

03:31.410 --> 03:32.310
Eu executei isso?

03:32.310 --> 03:32.700
Sim.

03:33.240 --> 03:34.950
Em seguida, configuramos a experiência.

03:34.950 --> 03:42.090
Jogamos com Insteps e a memória como uma memória de repetição objetiva e, em seguida, implementamos o rastreamento de

03:42.090 --> 03:42.720
elegibilidade.

03:43.170 --> 03:43.800
Tudo certo.

03:43.800 --> 03:45.180
Para melhorar o desempenho.

03:45.690 --> 03:49.950
Em seguida, fazemos a média móvel de cem passos com a classe M a.

03:50.220 --> 03:52.410
E finalmente, meus amigos, vocês estão prontos?

03:52.530 --> 03:58.500
Bem, agora é a hora da parte muito emocionante em que vamos treinar o A. EU. mais de vinte dólares.

03:58.500 --> 03:58.860
Tudo certo.

03:58.860 --> 04:01.440
Então você verá que isso já vai demorar um pouco.

04:01.440 --> 04:06.030
Você sabe, vai demorar tipo, uh, talvez uma ou duas horas porque eu aumento as dimensões, fique à vontade para

04:06.030 --> 04:09.810
reduzir as emissões de volta para oitenta por oitenta se você achar isso muito tempo.

04:09.810 --> 04:12.990
Mas acredite em mim, você terá vídeos muito melhores com essas dimensões.

04:13.080 --> 04:15.450
OK, então você está pronto?

04:15.690 --> 04:20.280
Vamos fazer isso de três em uma.

04:20.430 --> 04:20.880
Tudo certo.

04:20.880 --> 04:26.700
Então isso executará o código do treinamento e em poucos segundos poderemos ver a primeira

04:26.700 --> 04:29.880
época, que terá, é claro, uma recompensa negativa.

04:30.150 --> 04:35.640
Mas você verá que, sabe, com o passar das épocas, a recompensa vai aumentando aos

04:35.640 --> 04:40.260
poucos até atingir recompensas positivas e depois até atingir centenas de recompensas.

04:40.260 --> 04:42.240
Bem, vamos tentar isso, na verdade.

04:42.240 --> 04:48.150
Vamos torcer para que, com vinte e oito dólares, tenhamos alguma recompensa final em cerca de cem, você sabe,

04:48.150 --> 04:53.250
como 100 ou 200 ou 300, porque com essas recompensas, eu realmente experimentei com elas.

04:53.250 --> 04:53.490
Sim.

04:53.490 --> 04:56.790
Primeiro, uma recompensa negativa menos noventa e oito.

04:57.120 --> 05:02.970
Eu estava dizendo que com recompensas em torno de 100, 200, 300, já teremos alguns resultados excelentes.

05:02.970 --> 05:08.010
Você sabe, veremos o AA conseguindo matar alguns monstros ou evitá-los ou, você sabe,

05:08.010 --> 05:09.930
movendo-se em direção ao colete.

05:10.020 --> 05:14.220
OK, então esse é o primeiro livro, um menos noventa e oito.

05:14.430 --> 05:18.780
E então você sabe, veremos o livro número dois com talvez uma recompensa melhor.

05:18.780 --> 05:21.660
Mas, sabe, no começo, claro, o EIA não é treinado.

05:21.660 --> 05:23.520
É explorar o meio ambiente.

05:23.520 --> 05:23.780
Certo.

05:23.790 --> 05:28.620
Lembra-se dessa troca em aprendizado por reforço, exploração versus exploração?

05:28.620 --> 05:33.180
Bem, no início, a ideia é puramente explorar e depois vai treinar e

05:33.180 --> 05:37.890
depois vai ficar cada vez menor, e é aí que vai alcançar uma grande recompensa.

05:37.890 --> 05:41.040
Portanto, é perfeitamente normal ter recompensas negativas no início.

05:41.040 --> 05:41.880
Talvez consigamos isso.

05:41.950 --> 05:47.680
Ao longo das três primeiras épocas, mas então você verá que depois de um número quatro, cinco

05:47.700 --> 05:54.280
ou seis, bem, começaremos a alcançar recompensas talvez positivas e então, esperançosamente, recompensas em torno de 100, 200 ou 300.

05:54.340 --> 05:57.580
OK, então vai demorar um pouco, como eu disse.

05:57.580 --> 06:02.340
Portanto, não vamos ficar aqui por duas horas, senão ficarei sem o que dizer.

06:02.620 --> 06:10.000
Então, o que vou fazer é colocar uma música divertida ou legal agora e lá vamos nós, época número dois,

06:10.000 --> 06:10.830
menos 62.

06:10.840 --> 06:12.220
Então, já houve alguma melhora.

06:12.220 --> 06:12.640
Isso é bom.

06:12.640 --> 06:15.790
Mas você verá que haverá melhorias ainda melhores.

06:16.000 --> 06:18.300
Quanto mais avançamos nas épocas.

06:18.430 --> 06:20.040
OK, então o que eu estava dizendo?

06:20.050 --> 06:25.330
Sim, vou colocar uma música legal agora e tocar o treino em modo acelerado.

06:25.480 --> 06:30.320
E claro, te vejo no final do treinamento para ver o resultado final.

06:30.340 --> 06:30.880
Tudo certo.

06:31.000 --> 06:31.840
Então vamos lá.

06:32.050 --> 06:34.870
Três para um.

07:20.010 --> 07:25.780
Tudo bem, e aqui estamos nós no final do treinamento, parabéns, você treinou um modelo de aprendizagem convolucional profundo

07:26.010 --> 07:30.000
em uma aplicação muito desafiadora, que é jogar o jogo da destruição.

07:30.510 --> 07:31.980
Então, o que dizer?

07:32.130 --> 07:37.080
Bem, como esperávamos, atingimos alguma recompensa média em mais de 100.

07:37.590 --> 07:43.190
Então, o que é importante dizer é, claro, que com mais épocas, você obterá recompensas maiores.

07:43.440 --> 07:49.350
Então, se você está pronto para, por exemplo, treinar este modelo para mais, parece que são 100 épocas

07:49.530 --> 07:54.460
ou até mais para alcançar recompensas mais cerca de 300, 400, 500 ou até 1000.

07:54.660 --> 07:56.000
Bem, fique à vontade para fazer isso.

07:56.010 --> 07:59.190
Por exemplo, você pode deixá-lo correr durante a noite enquanto dorme.

07:59.190 --> 08:02.010
E quando você acorda de manhã, você obtém seus melhores resultados.

08:02.370 --> 08:05.580
Observe que você também pode usar na GPU em tempo de execução, certo.

08:05.580 --> 08:10.500
Se você alterar o tipo de runtime, o que eu não devo fazer, porque senão irá reiniciar o notebook.

08:10.500 --> 08:16.230
Mas no acelerador de hardware aqui, você pode escolher GPU ou mesmo Tipu, mas isso só se você

08:16.230 --> 08:20.190
quiser, sabe, otimizar o desempenho e fazer um treinamento super duro.

08:20.340 --> 08:25.060
Mas aqui eu apenas usei uma coisa clássica porque só quero mostrar a vocês como executar tudo isso.

08:25.320 --> 08:26.240
E lá vamos nós.

08:26.250 --> 08:32.610
Agora vamos executar o resto da pasta de trabalho com esse código extra específico apenas para esse código, aquele

08:32.610 --> 08:36.090
notebook onde, é claro, vamos visualizar AA em ação.

08:36.570 --> 08:36.840
Tudo certo.

08:36.840 --> 08:37.470
Então vamos fazer isso.

08:37.470 --> 08:39.660
Vamos primeiro importar as bibliotecas.

08:39.840 --> 08:40.380
Certo.

08:40.380 --> 08:41.010
Tudo bom.

08:41.400 --> 08:46.110
Em seguida, imprimiremos a forma de entrada e uma série de ações possíveis.

08:46.110 --> 08:46.470
Tudo certo.

08:46.470 --> 08:52.200
Então aqui vamos ver de fato que temos sete ações possíveis, você sabe, no ambiente do corredor da

08:52.200 --> 08:52.830
destruição.

08:52.840 --> 08:59.550
Então, estes são mover para frente, mover para trás, ir para a esquerda, ir para a direita, atirar e então talvez se proteger ou o que

08:59.550 --> 09:00.450
quer que seja.

09:00.450 --> 09:06.000
Não sei qual é a última ação, mas algo assim, então essas são as dimensões do

09:06.000 --> 09:07.380
quadro de entrada.

09:07.530 --> 09:09.450
Isso corresponde à altura do quadro.

09:09.450 --> 09:11.460
Possui 240 pixels de altura.

09:11.700 --> 09:14.550
Isso corresponde à largura da moldura, certo?

09:14.550 --> 09:16.890
É trezentos e vinte grandes.

09:17.070 --> 09:22.800
E isso corresponde, você sabe, ao fato de que trabalhamos com imagens coloridas e as três aqui

09:22.800 --> 09:25.410
correspondem aos três elementos de nossos canais.

09:25.920 --> 09:31.320
Tudo bem, então vamos executar a próxima célula exibindo um quadro do ambiente apenas para ver como

09:31.320 --> 09:31.860
é.

09:32.130 --> 09:36.780
E, de fato, lembre-se, isso é útil para ver o ambiente com o qual você está trabalhando.

09:36.780 --> 09:37.230
Certo.

09:37.230 --> 09:39.360
Então, aqui vemos que estamos no Corredor Dume.

09:39.360 --> 09:45.480
Mas se você quiser experimentar mais alguns ambientes aqui, na verdade, você sabe, lembre-se, eles

09:45.480 --> 09:48.510
também estão na página principal aqui.

09:48.510 --> 09:48.990
Bem aqui.

09:48.990 --> 09:49.260
Sim.

09:49.260 --> 09:53.190
Você tem todas as listas de ambientes, sabe, que recomendo experimentar.

09:53.400 --> 09:58.080
Então, você sabe, se você quiser dar uma olhada em outro, bem, eu posso mostrar a você,

09:58.290 --> 10:02.610
na verdade, vamos pegar este aqui e então eu voltarei para este corredor de zoom.

10:02.880 --> 10:03.230
Certo.

10:03.240 --> 10:06.600
Então, se eu substituir isso por este.

10:07.520 --> 10:13.490
Certo, e eu executo bem, vamos conseguir três ações dessa vez, claro, é mais simples, e

10:13.490 --> 10:17.630
se a gente executar bem, vamos ver esse ambiente, né.

10:17.650 --> 10:24.170
Portanto, é apenas uma maneira de ver rapidamente com o que você está trabalhando e ter uma prévia do que

10:24.170 --> 10:25.970
o ACA fará no ambiente.

10:26.450 --> 10:26.780
Tudo certo.

10:26.780 --> 10:29.050
Então, vamos voltar para o canto.

10:29.360 --> 10:33.800
Vamos executá-lo agora, caso seja necessário para as próximas vendas.

10:34.100 --> 10:37.110
Muito bem, desgraça perfeita, Cawdor.

10:37.370 --> 10:39.830
Agora, vamos passar para as vendas finais.

10:39.890 --> 10:43.490
Esta é uma função auxiliar que será usada para as visualizações.

10:43.680 --> 10:48.140
Então, vamos realizar a venda e agora vamos apresentar a ideia em um episódio.

10:48.140 --> 10:52.970
E aqui você será capaz de entender o código porque, você sabe, basicamente é o processo de,

10:53.240 --> 10:59.210
você sabe, executar o ar e um episódio completo onde a cada etapa está em um estado específico, ele vai jogar

10:59.210 --> 11:00.920
em ação dentro o Estado.

11:01.070 --> 11:04.480
Então, receberá a recompensa e chegará à próxima data.

11:04.670 --> 11:04.940
Certo.

11:04.990 --> 11:07.460
Portanto, este é o processo MGP clássico, certo.

11:07.470 --> 11:08.720
Processo de decisão de mercado.

11:09.140 --> 11:09.950
E aí vamos nós.

11:09.950 --> 11:11.600
Isso é feito por um episódio.

11:11.610 --> 11:18.950
E, finalmente, vamos obter o vídeo do jogo do nosso A. EU. , que foi treinado por 20 dólares,

11:18.990 --> 11:25.220
conseguiu chegar a mais de 100 recompensas, o que nos trará alguns resultados muito bons, mas talvez não atingindo

11:25.220 --> 11:26.060
os melhores.

11:26.060 --> 11:26.890
Mas tudo bem.

11:26.900 --> 11:28.520
Você vai experimentar isso sozinho.

11:28.820 --> 11:34.220
E agora eu gostaria que você clique aqui para o botão aqui, porque vou mostrar como o

11:34.220 --> 11:35.240
vídeo é preenchido.

11:35.480 --> 11:40.730
Então, essas são algumas pastas contendo, você sabe, alguns elementos como os frames, você sabe, os frames

11:40.730 --> 11:42.590
dos resultados ou alguns arquivos jasen.

11:42.830 --> 11:45.500
Mas, realmente, o que interessa é o vídeo final.

11:45.680 --> 11:50.990
E para obtê-lo, basta clicar no botão play aqui e você verá que ele será preenchido na

11:50.990 --> 11:52.130
pasta principal aqui.

11:52.130 --> 11:52.730
Não perca.

11:53.000 --> 11:53.690
E está tudo bem.

11:53.690 --> 11:57.290
Sabe, parece que a célula já foi executada, que é o caso.

11:57.500 --> 12:03.830
Mas você verá que em alguns segundos veremos um avatar, que é um arquivo de vídeo sendo populado aqui.

12:03.830 --> 12:05.420
Ele aparecerá em cerca de dez segundos.

12:05.690 --> 12:07.800
Posso até fazer uma contagem regressiva, se quiser.

12:08.120 --> 12:08.990
Então vamos fazer isso.

12:09.200 --> 12:20.750
E dez, nove, oito, sete, seis, cinco, quatro, três, dois, um, vá.

12:21.730 --> 12:24.070
E agora deve realmente aparecer em alguns segundos.

12:24.100 --> 12:24.760
Sim, vamos lá.

12:25.150 --> 12:25.490
Tudo certo.

12:25.500 --> 12:28.390
Então, jogabilidade do agente, essa ideia, esse é o seu vídeo.

12:28.390 --> 12:36.640
Então vamos baixá-lo e ele será baixado no seu computador, que vou encontrar aqui mesmo.

12:36.730 --> 12:37.140
Certo.

12:37.180 --> 12:43.480
Essa é a jogabilidade do agente de vídeo que Evia se certificou de abrir com um reprodutor de vídeo que possui codecs

12:43.480 --> 12:44.080
como VLSI.

12:44.110 --> 12:44.430
Certo.

12:44.450 --> 12:48.930
Não funcionará com o reprodutor de tempo rápido se você estiver em um Mac, mas definitivamente funcionará com VLCC.

12:49.270 --> 12:50.110
Então, vamos dar uma olhada.

12:50.680 --> 12:52.160
E aqui está o vídeo.

12:52.210 --> 12:52.570
Tudo certo.

12:52.570 --> 12:54.850
Então, deixe-me pressionar pausa aqui.

12:55.240 --> 12:55.540
Tudo certo.

12:55.540 --> 12:56.230
Então aqui está o vídeo.

12:56.240 --> 13:01.260
E como você pode ver, esta é a dimensão de 256 por 256 do quadro.

13:01.540 --> 13:03.070
Como você pode ver, não é muito grande.

13:03.070 --> 13:03.330
Certo.

13:03.340 --> 13:08.030
É por isso que eu realmente queria trabalhar com essas dimensões em vez de 80 por 80.

13:08.710 --> 13:10.060
Agora vamos dar uma olhada no vídeo.

13:10.070 --> 13:15.970
Portanto, este é o A. EU. jogando Doom em um episódio, e tem que evitar que os monstros não sejam mortos.

13:15.970 --> 13:17.860
Tem que avançar para alcançar o melhor.

13:18.160 --> 13:22.090
Então, vamos ver como funciona de três para um.

13:23.820 --> 13:29.970
Tudo bem, primeiro ele se fecha, avança, OK, e então ele é morto pelos monstros, mas

13:29.970 --> 13:31.530
ainda é muito bom.

13:31.530 --> 13:36.240
Você sabe, ele entendeu que tinha que avançar em direção ao Ocidente porque a maior recompensa

13:36.240 --> 13:37.740
é boa alcançando o colete.

13:38.190 --> 13:42.720
E, claro, você sabe, se você realmente quiser ver o vídeo do seu ar alcançando o colete

13:42.720 --> 13:48.780
e ganhando neste jogo, basicamente você terá que treinar seu olho por mais épocas e talvez fazer algum outro tipo de melhoria,

13:48.780 --> 13:54.210
como ajustando seu cérebro do A. EU. ou fazer algum ajuste de parâmetro, como ajustar a

13:54.210 --> 13:55.010
taxa de aprendizagem.

13:55.170 --> 14:01.050
Bem, você tem muitas opções se algum de vocês conseguir um vídeo incrível ou, você sabe, o vídeo de A. EU. tendo alcançado uma recompensa

14:01.050 --> 14:03.800
de mais de 1000, por exemplo.

14:03.810 --> 14:06.470
Bem, fique à vontade para compartilhá-lo nas perguntas e respostas.

14:06.480 --> 14:09.280
Tenho certeza de que outros alunos ficarão super felizes em obtê-lo.

14:09.870 --> 14:10.480
Tudo certo.

14:10.500 --> 14:14.770
Espero que tenha gostado de implementar o modelo de aprendizado convolucional e profundo.

14:15.010 --> 14:19.770
Agora vamos passar para a próxima parte, que será sobre a implementação do modelo H3C

14:19.770 --> 14:24.800
e um modelo ainda melhor e mais poderoso que será implementado para jogar o jogo do breakout.

14:25.140 --> 14:26.840
Então, vejo você na próxima parte.

14:26.850 --> 14:28.590
E até então, aproveite A. EU..
