WEBVTT

00:00.390 --> 00:02.550
Olá e bem vindo a este tutorial.

00:02.550 --> 00:02.870
Tudo bem.

00:02.880 --> 00:08.370
Então, nos tutoriais anteriores, fizemos o cérebro ou, se você quer o cérebro da A-3, veja agora,

00:08.370 --> 00:09.560
precisamos treinar esse cérebro.

00:09.660 --> 00:15.240
Mas, para treinar seus cérebros, precisamos de um otimizador que use essa ferramenta e coloque um cigarro no

00:15.240 --> 00:20.820
centro para tomar o peso de acordo com o quanto eles contribuem para o erro entre as previsões

00:20.940 --> 00:21.900
e os alvos.

00:22.200 --> 00:29.790
que fizemos até agora no primeiro e segundo módulo usamos o otimizador de átomos por Torche no treinamento.

00:29.910 --> 00:30.660
E o

00:30.840 --> 00:38.260
Mas, como disse-lhe, estamos a lidar com um problema muito desafiador que está a surgir e o algoritmo A-380 por

00:38.260 --> 00:41.560
si só não é suficiente para resolver este problema.

00:41.580 --> 00:48.480
Precisamos de alguns otimizadores personalizados e muitos truques diferentes para resolver esse problema sem aguardar

00:48.480 --> 00:49.340
as idades.

00:49.530 --> 00:56.790
Então, esse é o propósito de fazer isso e é por isso que temos um otimizador personalizado separado com base no

00:56.790 --> 00:57.990
otimizador de átomos.

00:58.200 --> 01:02.680
E isso está contido nesta classe do inimigo compartilhado e por que o átomo compartilhado.

01:02.880 --> 01:08.190
É porque é realmente o otimizador de átomos, mas isso funcionará em estados compartilhados.

01:08.190 --> 01:12.840
Então, vamos explicar como isso funciona e é para nós. Então, nós vamos passar pelas

01:12.840 --> 01:18.170
diferentes funções aqui sem matá-los porque você sabe que queremos manter energia para o próximo e, além

01:18.180 --> 01:23.190
disso, é o trem que eu caiu, que levará mais de cem linhas de código.

01:23.190 --> 01:24.550
Então esteja pronto para isso.

01:24.600 --> 01:30.440
E, portanto, vamos tentar explicar o que está acontecendo aqui em um Statoil Statoil.

01:30.480 --> 01:31.970
E vamos começar agora.

01:32.810 --> 01:38.480
compartilhamento de classe que conterá três funções, a função init, a função de memória compartilhada e a função de etapa.

01:38.480 --> 01:40.900
Tudo bem, então primeiro, apresentamos esse átomo de

01:41.180 --> 01:48.410
Então, o que fazemos primeiro é que herdamos do optin esse átomo que é, naturalmente, o otimizador de átomos

01:48.410 --> 01:52.100
e que obtemos do módulo Upton da biblioteca da tocha.

01:52.280 --> 01:57.980
Então, aqui, somos uma herança simples para obter as ferramentas relacionadas ao otimizador de átomos e então começamos

01:57.980 --> 01:59.320
com a função init.

01:59.330 --> 02:00.990
Então, o que acontece aqui.

02:01.150 --> 02:08.050
Primeiro, usamos a superfunção para herdar de todas as ferramentas e todos os parâmetros básicos do átomo da

02:08.050 --> 02:11.310
classe Atom e esses parâmetros básicos estão aqui.

02:11.380 --> 02:16.090
Harams aprendendo amortecedores de raça Epsilon e decaimento em peso.

02:16.240 --> 02:17.920
E então começamos um acompanhamento.

02:17.980 --> 02:21.840
Este primeiro Foluke para o próprio grupo que Paramo agrupa.

02:21.850 --> 02:28.310
Então, para nós, o que são grupos de parum configurados em torno de grupos contém todos os atributos do otimizador.

02:28.510 --> 02:34.030
E, entre esses atributos, temos os parâmetros que temos para otimizar esses parâmetros

02:34.030 --> 02:40.790
que queremos atomizar outras formas da rede que estão contidas em grupos de autopartes talvez.

02:40.930 --> 02:44.860
Então, nós vamos grupo pertence a grupos de auto-ajuda.

02:44.980 --> 02:50.920
que queremos otimizar e que estão exatamente contidos nos grupos de duendes de duvida, talvez.

02:50.920 --> 02:54.910
E aqui temos o segundo Faltu que obterá esses parâmetros

02:54.910 --> 03:01.870
Então, basicamente, passamos por grupos de auto-ajuda que contém todos os parâmetros e para cada grupo

03:01.930 --> 03:07.480
de parâmetros e auto-conversação de grupos, vamos passar pelos parâmetros que queremos otimizar.

03:07.540 --> 03:14.300
Portanto, para o grupo Paramo aqui significa para cada Tancer de pesos que queremos otimizar.

03:14.410 --> 03:20.200
Então, para cada sensor de pesos que queremos otimizar e, então, o que acontece dentro desse grupo com estas

03:20.200 --> 03:21.550
quatro linhas de código.

03:21.820 --> 03:29.650
Basicamente, o que acontece é que a atualização feita pelo otimizador é baseada em uma média móvel

03:29.890 --> 03:31.170
exponencial do gradiente.

03:31.250 --> 03:32.880
Essa é a linha de código aqui.

03:33.010 --> 03:38.270
Essa é a média móvel exponencial do gradiente do momento um que é de ordem um.

03:38.500 --> 03:44.860
Mas os objetos criados por átomos não são apenas baseados em que ele também é baseado em uma média

03:45.190 --> 03:47.140
móvel exponencial do quadrado do gradiente.

03:47.260 --> 03:51.770
Essa é uma média móvel exponencial do gradiente de impulso para ou dois.

03:52.030 --> 03:55.320
Então, aqui está a média móvel exponencial de todos.

03:55.480 --> 04:00.560
E aqui está a média móvel exponencial de dois para cada um deles que EMJ se degradou.

04:00.790 --> 04:01.890
Então, o que acontece aqui.

04:02.080 --> 04:07.930
E agora, se você quiser obter mais em profundidade de como a média móvel exponencial

04:07.930 --> 04:14.560
funciona bem, eu incentivo você a dar uma olhada neste método Adam para otimização estocástica porque, basicamente,

04:14.860 --> 04:20.610
o otimizador de átomos que estamos implementando agora é baseado em O algoritmo é um aqui.

04:20.890 --> 04:27.700
Então, se você quiser ter mais detalhes sobre como o algoritmo funciona bem, este documento será definitivamente útil.

04:27.700 --> 04:32.720
E então você tem algumas explicações adicionais sobre o algoritmo com os átomos e as regras.

04:32.860 --> 04:37.840
E então você sabe que é só se você quer atacar isso antes de atacar a grande função

04:37.840 --> 04:39.120
do trem que fará depois.

04:39.400 --> 04:41.990
OK, então vamos voltar para bisonte.

04:42.220 --> 04:46.140
E agora vamos passar para a segunda memória compartilhada.

04:46.190 --> 04:47.890
Então, agora vou dizer algumas palavras.

04:48.010 --> 04:54.580
A idéia dessa função de memória compartilhada é como um tensor que kuda você conhece é um acelerador

04:54.580 --> 04:55.830
baseado em uma visão.

04:55.870 --> 05:03.160
E, basicamente, o que acontece aqui é que temos esses tensores dos estados que compartilham memória aqui

05:03.160 --> 05:10.210
aqui e aqui que se comportam um pouco como tenso que poderia acelerar a computação acelerada.

05:10.420 --> 05:17.140
Mas a diferença é que aqui os sensores que compartilham memória enviam a computação para uma parte

05:17.140 --> 05:22.150
do GP que você ou você está acessível para toda a ameaça paralisada.

05:22.160 --> 05:23.580
Então, é basicamente o que é feito aqui.

05:23.590 --> 05:30.220
Isso é um pouco como 10 para esse kuda, mas é enviado apenas a uma parte do GP para

05:30.220 --> 05:32.090
estar acessível às ameaças paralelizadas.

05:32.090 --> 05:32.460
Tudo bem.

05:32.470 --> 05:35.100
E então temos o último passo de função.

05:35.110 --> 05:41.830
Então, você conhece essa função, é como o método passo do otimizador de átomos que utilizamos neste curso.

05:41.830 --> 05:47.170
E, novamente, isso é baseado no algoritmo um do mesmo papel que vimos antes.

05:47.170 --> 05:48.610
Então, esse algoritmo.

05:48.850 --> 05:52.250
Então, novamente você quer entender em detalhes as seguintes linhas de código.

05:52.420 --> 05:57.240
Bem, novamente, Ingrid é você para dar uma olhada neste algoritmo um por este artigo.

05:57.580 --> 06:04.330
E, além do que é feito aqui, não é totalmente obrigatório, porque esta é realmente uma pasta de cópia do

06:04.330 --> 06:07.180
método de passo que atua na classe de átomos.

06:07.180 --> 06:14.050
feito aqui, poderíamos ter feito isso usando nossa herança, porque aqui herdamos de Acton que Adão e,

06:14.050 --> 06:20.620
portanto, usamos nossa herança. Bem, o que podemos fazer em vez de fazer tudo isso só

06:20.620 --> 06:29.260
vai escrever aqui. O comentário é apenas usar o superfunction que aplicamos a nossa classe de Adão compartilhada, então nosso objeto

06:29.710 --> 06:38.020
próprio e aqui, apenas adicionamos etapa com parêntese, é o método do ato naquela classe e é exatamente o mesmo.

06:38.320 --> 06:40.550
Então, basicamente, o que é

06:40.750 --> 06:45.820
É por isso que eu só estava dizendo que aqui é apenas uma cópia do método passo do

06:45.850 --> 06:46.860
ato na classe Atom.

06:46.930 --> 06:53.440
Então eu acho que se você substituir tudo isso por esta super função aplicada para compartilhar Adam e o método passo

06:53.830 --> 06:55.960
bem, podemos obter exatamente a mesma coisa.

06:57.220 --> 06:59.900
Tudo bem, então foi interessante ter uma rápida olhada nisso.

06:59.920 --> 07:02.750
Basicamente você pode ver isso como o otimizador de Adam.

07:02.850 --> 07:04.530
É como se tivéssemos uma visão mais profunda disso.

07:04.640 --> 07:10.000
Mas, novamente, se você quiser entrar em mais detalhes de tudo isso e se você quer entender o que

07:10.000 --> 07:14.120
acontece atrás da cena. Bem, eu encorajo você a examinar este trabalho de pesquisa.

07:14.170 --> 07:16.120
Vou colocar o link nos comentários aqui.

07:16.120 --> 07:19.940
Você sabe que você terá todo o código conectado em excelentes detalhes.

07:19.990 --> 07:22.120
Então é realmente bom se você puder dar uma olhada nisso.

07:22.580 --> 07:30.310
E agora espero que você tenha uma grande energia porque iremos para o arquivo do trem que conterá esta enorme

07:30.310 --> 07:35.860
função de comboio e que basicamente treinará nossos cérebros, o que agora podemos fazer

07:35.860 --> 07:37.510
porque temos nosso otimizador.

07:37.690 --> 07:39.230
Então tenha uma boa pausa agora.

07:39.250 --> 07:41.840
Tenha um bom sono e sempre que você se sentir em excelente forma.

07:41.980 --> 07:44.440
Vamos passar para o próximo passo.

07:44.440 --> 07:45.910
Até então, desfrute da AI.
