WEBVTT

00:00.270 --> 00:06.230
Olá e seja bem vindo a este tubo e a Torro agora temos que definir as cinco variáveis ​​dessa

00:06.240 --> 00:09.560
função que são as três convoluções e as conexões temporais.

00:09.810 --> 00:11.100
Então vamos começar com o primeiro.

00:11.250 --> 00:18.690
Convolucional aplica a convolução às imagens de entrada, de modo que são as imagens originais e agora você verá

00:18.690 --> 00:22.710
como tudo se tornará tão simples para criar essa convolução.

00:22.770 --> 00:29.070
Bem, o que temos que fazer é realmente criar um assunto de alguma classe específica e

00:29.070 --> 00:38.800
esta classe é tirada de e, em seguida, as aulas vêm para o parceiro porque estamos trabalhando com imagens 2D e agora, como você pode

00:38.800 --> 00:40.930
ver, precisamos colocar vários argumentos.

00:40.930 --> 00:43.140
O primeiro está nos canais.

00:43.190 --> 00:45.910
Vamos colocá-lo nos canais.

00:45.970 --> 00:49.210
O segundo está fora dos canais.

00:49.330 --> 00:57.070
O terceiro é o tamanho de Kerno e o resto deles é o preenchimento de passos dos grupos de dilatação e do viés.

00:57.130 --> 00:59.120
E temos valores diferentes para todos esses.

00:59.260 --> 01:02.290
Então, não vamos, mas eles vamos manter os valores padrão.

01:02.470 --> 01:08.500
Mas o que é importante são esses três argumentos nos canais e canais e no tamanho do kernel e, portanto, eu adivinho

01:08.500 --> 01:09.740
o que eles correspondem.

01:09.880 --> 01:15.730
Bem, muito simplesmente, em geral, correspondem à entrada da convolução e todos os canais

01:15.730 --> 01:17.900
correspondem à saída da conclusão.

01:17.920 --> 01:19.940
Então, o que será?

01:20.110 --> 01:24.460
Bem, muito simplesmente, esse será o número de canais em nossas imagens.

01:24.610 --> 01:30.460
E na verdade, vamos trabalhar com imagens em preto e branco, porque basicamente não temos cores para

01:30.460 --> 01:31.360
reconhecer os monstros.

01:31.450 --> 01:35.310
A AI é totalmente capaz de reconhecer os monstros em preto e branco.

01:35.440 --> 01:39.200
Então, não vemos as cores, apenas reconhecê-las por sua forma.

01:39.250 --> 01:44.380
Portanto, vamos usar um canal para que um canal seja quando você tiver imagens em preto e branco

01:44.380 --> 01:46.820
e três canais são quando você chamou imagens.

01:46.930 --> 01:51.320
E, portanto, uma vez que estamos trabalhando com imagens em preto e

01:51.340 --> 01:59.730
branco nos canais, será igual a um, então, nossos canais para que nossos canais sejam iguais às imagens que você deseja ter no

01:59.730 --> 02:02.970
convolutivo lá, que é o resultado desta constituição 1.

02:02.970 --> 02:08.820
E, basicamente, isso é igual ao número de recursos que deseja para o texto em suas imagens

02:09.240 --> 02:15.040
originais, porque quem criará uma imagem por recurso que queremos detectar, porque basicamente você sabe como funciona.

02:15.120 --> 02:21.390
de entrada e, portanto, o número de imagens de saída aqui é o número de recursos que queremos detectar.

02:21.390 --> 02:26.450
Aplicamos um detector de recursos na imagem de entrada para detectar uma característica específica na imagem

02:26.460 --> 02:30.110
Então, agora a questão é quantos recursos queremos detectar.

02:30.240 --> 02:38.730
Bem, uma prática comum é começar com 32 detectores de recursos e assim nos levará a 32 por cento de imagens

02:38.820 --> 02:46.170
nesta primeira camada convolucional para que a entrada seja uma imagem em preto e branco uma imagem real

02:46.170 --> 02:53.010
e a saída na primeira convolução existe 32 imagens processadas e por processo, quero dizer, claro, que

02:53.380 --> 02:59.750
a conclusão foi aplicada à imagem de entrada para obter 32 novas imagens com recursos detectados.

03:00.240 --> 03:06.990
E então precisamos especificar um tamanho de kernel que não seja mais do que as dimensões do quadrado

03:07.080 --> 03:09.450
que irão passar pela imagem original.

03:09.600 --> 03:15.350
E, em prática comum, usamos para comprar dois ou três três ou três por cinco.

03:15.660 --> 03:22.170
E para o primeiro, vamos usar um detector de recursos cinco por cinco que é um detector de

03:22.170 --> 03:24.580
recursos que terá cinco a cinco motores.

03:24.810 --> 03:29.290
E então reduziremos o tamanho desse kernel para as próximas camadas convolutivas.

03:29.340 --> 03:32.320
E falando sobre isso, é exatamente o que vamos fazer agora.

03:32.390 --> 03:40.860
Vamos copiar isso para definir a segunda convolução e, portanto, estou baseando que aqui e agora é muito engraçado e

03:40.890 --> 03:43.370
muito fácil é como um dominó.

03:43.500 --> 03:49.260
canal de entrada da segunda camada convolucional é o canal de saída da primeira convolução.

03:49.260 --> 03:49.810
O

03:49.950 --> 03:55.300
Então, este número de saída 32 Aqui está o mesmo número de entradas 32 aqui.

03:55.420 --> 04:01.290
E é porque temos 32 imagens na camada convolucional de entrada da segunda convolução.

04:01.440 --> 04:09.830
E então a segunda convolução é aplicada a esta segunda camada convolucional para retornar uma terceira camada

04:09.830 --> 04:10.340
convolucional.

04:10.530 --> 04:13.280
E agora a questão é quantas imagens novas queremos.

04:13.410 --> 04:19.820
Bem, o mesmo que cria 32 novas imagens 32 é realmente um número muito comum em redes neurais convolutivas,

04:19.830 --> 04:23.710
se você olhar para as arquiteturas, você encontrará 32 em muitos deles.

04:24.030 --> 04:29.910
E, em seguida, para o tamanho do kernel, nós precisamos reduzir o tamanho do kernel que são as dimensões do nosso

04:29.910 --> 04:30.610
detector de recursos.

04:30.780 --> 04:37.680
E agora vamos passar de cinco a quatro ou até três e depois iremos ainda menores.

04:37.920 --> 04:40.790
Tudo bem, então nossa segunda convolução está pronta.

04:40.830 --> 04:43.830
Demora como entradas 32 imagens do processo.

04:43.890 --> 04:51.130
Cada um em uma primeira característica da imagem de entrada original e cria 32 novas imagens.

04:51.270 --> 04:54.990
Graças a estas dimensões reduzidas do detector de recursos.

04:55.120 --> 04:57.250
E agora vamos empurrar isso ainda mais.

04:57.300 --> 05:05.450
Então eu estou copiando isso e colando isso aqui para criar uma terceira convolução para detectar alguns recursos.

05:05.470 --> 05:08.010
E então agora é o mesmo os canais de entrada.

05:08.010 --> 05:13.800
Aqui está o número de imagens de entrada à esquerda da conexão de deconvolução e esse é o número

05:13.800 --> 05:17.740
de imagens de précessão que foram à direita das conexões de convolução anteriores.

05:17.740 --> 05:18.710
Isso é 32.

05:18.750 --> 05:20.030
Por isso, sentimos a pena ouvir.

05:20.030 --> 05:20.990
Perfeito.

05:21.220 --> 05:25.220
E agora a questão é de novo quantas novas imagens queremos detectar.

05:25.310 --> 05:31.130
Vamos levar agora 64 e, portanto, 64 saídas precesso de imagens.

05:31.260 --> 05:36.800
E é claro que agora nós tomamos um tamanho de kernel menor e nós vamos levar dois.

05:36.800 --> 05:42.660
E assim é uma arquitetura muito clássica de um convolucional lá e é muito eficiente ter um

05:42.660 --> 05:45.840
alto nível de detecção de recursos dentro de imagens.

05:46.200 --> 05:53.010
Tudo bem e agora que temos nossos três convolucionais, há nossas três conexões de convolução

05:53.010 --> 05:53.510
aqui.

05:53.640 --> 05:59.970
todas as 64 vezes 32 vezes 32 novamente imagens que obtivemos de todas essas convoluções, então nós aplainamos

05:59.970 --> 06:07.710
todos os pixels dessas imagens e podemos um enorme vetor que se tornará a entrada de uma nova rede neural totalmente conectada.

06:08.160 --> 06:13.920
Bem, agora é hora de obter nossas conexões dolorosas que eu lembro que vamos levar este

06:14.190 --> 06:16.590
enorme vetor que obtemos depois de achatar

06:16.860 --> 06:22.230
E então é quando temos que fazer essas conexões entre o primeiro vetor enorme e uma camada oculta e,

06:22.470 --> 06:27.710
em seguida, uma segunda conexão completa entre a camada oculta e a saída, eles são compostos pelos neurônios

06:27.730 --> 06:28.270
de saída.

06:28.320 --> 06:31.940
Cada um correspondente a um valor de cubo das possíveis ações.

06:31.980 --> 06:33.960
Então, vamos fazer essas duas conexões.

06:33.960 --> 06:35.220
Você sabe como fazer isso.

06:35.220 --> 06:37.550
Isso é exatamente o que fizemos para o carro auto-dirigido.

06:37.560 --> 06:38.800
Então vamos fazer isso de novo.

06:39.000 --> 06:46.890
Bem, primeiro nós levamos o nosso Maggio, então nós levamos o Lynnie nossa classe porque novamente a conexão que criamos

06:46.920 --> 06:49.060
é um objeto da classe dominante.

06:49.260 --> 06:50.550
E então entre parênteses.

06:50.670 --> 06:58.620
Bem, isso é o mesmo para colocar os recursos de entrada que é o número deles, então os recursos de saída.

06:58.850 --> 07:03.110
E, portanto, os recursos de entrada para a primeira conexão completa, o que será.

07:03.340 --> 07:10.300
que há nesta grande mudança de vetor depois de achatar todas as imagens do processo após as três convoluções.

07:10.480 --> 07:13.830
Bem, isso vai ser igual ao número de pixels

07:13.830 --> 07:15.110
E então, o que faz esse número.

07:15.220 --> 07:17.350
Bem, na verdade, há um truque aqui.

07:17.380 --> 07:19.620
Este número é realmente difícil de obter.

07:19.660 --> 07:22.770
Na verdade, precisamos fazer uma função para calcular esse número.

07:22.960 --> 07:25.570
Não temos uma variável que nos obtenha esse número.

07:25.570 --> 07:29.040
Nós temos que computá-lo e, portanto, o que vamos fazer agora.

07:29.150 --> 07:34.780
porque a primeira vez que você pode dizer oi, eu não Tenha esse número de neurônios no vetor Flaten.

07:35.200 --> 07:40.930
E agora é muito importante entender a mentalidade da programação que devemos ter e tentar trazer para você a

07:41.110 --> 07:45.690
mentalidade que é o que você deve estar pensando agora para fazer para superar esse obstáculo

07:45.730 --> 07:46.650
O que devo fazer.

07:46.660 --> 07:47.600
Estou preso aqui.

07:47.800 --> 07:55.720
Bem, não, na verdade, porque o que você pode fazer agora é simplesmente inserir qualquer nome aqui que represente o número

07:55.720 --> 08:01.690
de neurônios tão incomum que o número de neurônios número de neurônios e então simplesmente criaremos

08:01.690 --> 08:05.130
uma função que retornará e esse número de neurônios variará.

08:05.180 --> 08:07.100
Este número de pixels que procuramos.

08:07.330 --> 08:12.760
Então, podemos fazer totalmente que podemos colocar totalmente isso muito vocal, é claro, obteremos um aviso

08:12.760 --> 08:17.090
porque ele ainda não existe, mas vamos criá-lo depois com uma função.

08:17.350 --> 08:21.140
E estamos totalmente autorizados a fazer isso, mesmo que a função venha depois.

08:21.170 --> 08:25.970
Essa é uma programação típica que você deve ter quando obtém esse tipo de obstáculo.

08:26.020 --> 08:29.710
Bem, você pode fazer uma função para obter o que está faltando.

08:29.740 --> 08:32.640
Tudo bem e depois nossas características e nosso futuro.

08:32.650 --> 08:37.830
Esse é o número de neurônios em uma camada oculta e que esta vez depende de você.

08:37.870 --> 08:41.230
Isso depende da arquitetura da nova rede que deseja criar.

08:41.230 --> 08:44.230
E assim um bom número não seria um pequeno número.

08:44.230 --> 08:46.960
Então, por exemplo, 40 neurônios podem estar bem.

08:46.960 --> 08:48.660
Podemos tentar aumentar isso.

08:48.790 --> 08:51.280
Se o treinamento não for muito lento, você pode tentar aumentar isso.

08:51.340 --> 08:56.750
Talvez isso melhore as previsões, mas vamos começar com 40 talvez possamos aumentar isso depois.

08:57.130 --> 09:04.690
Tudo bem é para a primeira conexão completa, então copiaremos essa pasta que aqui para a segunda conexão completa que

09:04.710 --> 09:09.300
é a conexão entre a camada oculta e a camada de saída.

09:09.370 --> 09:15.720
E assim, os recursos aqui se tornam os recursos externos da camada anterior e isso é 40.

09:15.790 --> 09:18.020
Então, aqui podemos colocar 40.

09:18.190 --> 09:20.500
É claro que é o número de neurônios em uma camada.

09:20.860 --> 09:27.280
E nosso futuro será igual ao número de neurônios de saída, não deve haver rede neural.

09:27.340 --> 09:33.360
E uma vez que cada neurônio de saída corresponde a um novo valor e um Cuvee e

09:33.370 --> 09:38.440
resposta a uma ação enquanto o número de neurônios de saída aqui é, naturalmente, o

09:38.740 --> 09:47.320
número de ações e temos uma variável para isso, que é ações numéricas e, portanto, aqui as ações do número de entrada e vamos parabéns.

09:47.390 --> 09:53.850
Encontrámos a arquitetura da nossa rede neural, a nossa rede neural é composta por três camadas

09:53.850 --> 09:55.960
convolutivas e uma camada oculta.

09:56.130 --> 10:03.020
Tudo isso em uma grande CNN e esta CNN detectará recursos no jogo para que a AI saiba onde ele

10:03.020 --> 10:06.550
tem que fazer onde deve ir e onde precisa disparar.

10:06.900 --> 10:08.240
Então, vamos para este passo.

10:08.340 --> 10:10.720
Esse é um primeiro passo muito importante feito.

10:10.720 --> 10:16.020
Agora, vamos passar para o próximo passo, que é, naturalmente, para obter esse número de neurônios que

10:16.020 --> 10:17.010
ainda está faltando.

10:17.010 --> 10:21.930
Na verdade, é por isso que temos o aviso aqui e os neurônios do número de telefone, mas sem preocupações.

10:21.960 --> 10:26.970
neste enorme vetor e vamos colocar esse número em uma variável que irá chamar uma série de neurônios.

10:26.970 --> 10:30.210
Agora vamos fazer uma função que irá retornar o número de neurônios

10:30.270 --> 10:32.070
Então vamos fazer isso no próximo tutorial.

10:32.070 --> 10:33.130
Esse é o nosso próximo passo.

10:33.180 --> 10:34.790
E até então, desfrute da AI.
