Olá e bem vindo a este tutorial.
Agora temos o cérebro do amanhã.
Nós também temos o otimizador.
Então, basicamente, estamos prontos para treinar nossos diferentes agentes.
Esse é o nosso cérebro diferente.
Então, a partir daqui, isso fará com que essa grande função de trem contenha todo o algoritmo A3 e, portanto,
o que estamos prestes a implementar neste trem que encontrei é apenas esta enorme função de trem que
só será essa grande função de trem nada mais não classe, mas quem usará esta função de trem.
E o último passo deste módulo com o código principal.
Então vamos lá.
Mas antes de começar, você pode perceber isso.
Bem, primeiro importamos algumas bibliotecas para que sejam as bibliotecas clássicas com o módulo da tocha.
Quero dizer, sua biblioteca de tocha e depois termina a biblioteca para criar o ambiente que irá sair.
Então vamos, naturalmente, importar são realmente aulas de nosso modelo.
Arquive esta.
E, finalmente, usaremos uma variável da TORCIDA.
Lamento correr competições de alto desempenho no gradiente.
Graças aos gráficos dinâmicos.
E, então, temos essa função de graduação compartilhada garantida, que eu não queria gastar muito tempo
nisso porque, bem, isso é apenas uma função que assegurará que tudo funcione corretamente.
Se o modelo usado pelo agente não tiver nenhum gradiente de compartilhamento.
É por isso que se chama grads compartilhados curtos e a outra razão é que eu não acho que essa
função seja necessária.
menos, com isso será 100% seguro de que o código será executado corretamente, mas isso não é realmente importante.
Mas nunca sabemos e, pelo
O que devemos focar é essa função de tendência que todos começamos a fazer agora.
Aqui vamos nos.
Def e train tornar-se-ão rapidamente um trem e esta transformação levará vários argumentos.
O primeiro é o ranking.
Eu vou explicar o que é e o segundo o segundo é harams para que todos os parâmetros
sejam o meio ambiente.
Então, o terceiro parâmetro será compartilhado com a moral.
Então, você sabe que o modelo compartilhado é o que o agente conseguirá executar sua pequena
exploração em um certo número de etapas e, finalmente, o último argumento será o otimizador que é o que fizemos anteriormente.
Tão perfeito é o argumento.
E agora estamos prontos para começar a implementar a mesma função.
Então, a primeira coisa que faremos é que você sabe que você lembra do que significa A-380, que representa agentes
crônicos ativos e síncronos.
Então, em 8: 3, veja que há um síncrono.
classificação aqui é apenas para mudar a semente para que cada agente de treinamento seja sincronizado.
Então, como você entendeu, temos que desautorizar cada agente de treinamento e deseconomias, então vamos usar a classificação para mudar cada
lado com essa classificação, então esse parâmetro de
Então, por exemplo, se houver algum agente de treinamento, as classificações irão de 1 a 10 e haverá
um inteiro por agente de 1 a 10.
Então, quando mudamos a semente por um segmento, todos os números pseudo aleatórios criados por este
tópico serão totalmente independentes dos outros tópicos.
No entanto, a semente ou números fixos.
Então, quando reproduzimos a experiência, encontraremos exatamente os mesmos eventos.
E isso é porque é determinista em relação ao assento.
Portanto, é importante entender isso e é por isso que precisamos fazer é sincronizar cada agente estagiário usando o
direito aqui para mudar a semente com a classificação.
Então vamos fazer isso para fazer isso.
Vamos pegar a nossa biblioteca Torche.
Então, vamos pegar a semente com parênteses de semente de sublinhados manuais.
Esta é uma função e agora vamos tomar as sementes de todos os agentes com os
quais podemos acessar com essa semente e deslocá-los pela classificação para sincronizar.
Cada um desses agentes apenas adicionará aqui mais rec e que mudará a semente com a classificação para desrespeitar cada agente
estagiário porque há uma semente para cada agência de treinamento.
Tudo bem, primeira coisa feita e agora próxima etapa, o próximo passo é obter o ambiente.
Então, vamos criar uma nova variável que vamos chamar e agora usaremos para criar o Atari e
funcionar a partir do módulo final para criar o ambiente para o breakout.
Isso é para obter o ambiente de sair.
Então, nós tomamos essa função criar Terry e agora temos que inserir apenas um argumento que são os parâmetros
do ambiente.
E nós os temos porque essa é uma das entradas da função cerebral.
Este é este parâmetro aqui, que será os parâmetros do ambiente de
breakout e, portanto, para obter os ambientes breakout, tomamos esses argumentos de programas, então, e então obtemos um nome no futuro que
está no próximo código com a função principal que irá executar
todo o código será Breaker Brachial Vizier.
Tudo bem para que o ambiente seja perfeito.
E agora o próximo passo é alinhar o assento do ambiente em um dos agentes.
E por que fazemos isso.
É porque lembre-se de cada agente do A-3 Silmaril tem sua própria visão do meio ambiente como sua
própria cópia do meio ambiente e, portanto, precisamos alinhar cada um dos agentes em uma versão específica do ambiente
e para fazer isso, estamos indo para usar o assento porque cada assento determina um
ambiente específico.
Então, ao associar uma semente diferente a cada agente bem, obteremos exatamente o que queremos,
é que cada agente terá seu próprio ambiente.
E então, como podemos fazer isso, podemos levar o nosso meio ambiente, em seguida, usar a função de semente para que você saiba escolher
os que ele recebe para o meio ambiente.
E agora, alinhe o assento do ambiente à semente do agente.
Bem, simplesmente precisamos obter isso, porque isso corresponde ao assento do agente que foi deslocado para classificar para
obter agentes de treinamento organizados decentes, porque eles estão todos em um conjunto diferente.
Então, só precisamos pagar isso aqui e isso irá alinhar o assento do ambiente em um
do agente. Ok, agora vamos buscar o nosso modelo.
Esse é o nosso A-3 ver cérebros.
E agora é que vamos usar a classe ativa do nosso arquivo modelo.
dessa classe de atividade e vamos chamar este modelo de objeto ou cérebro, se você quiser.
Então, basicamente, vamos criar um novo objeto
Mas, basicamente, esse objeto conterá todas as circunvoluções do CM. A conexão linear e a função
Ford para propagar o sinal.
Então, basicamente, irá conter os cérebros do ator no crítico com a capacidade de propagar o
sinal em todo o cérebro para obter o resultado final.
Então, vamos fazer isso, vamos criar nosso modelo, assim como dissemos que queremos chamar esse modelo de objeto.
E assim criamos um objeto do ato criar classe e, portanto, tomamos um crítico de ator de classe e agora lembramos
quais argumentos quando os dois insumos.
Na verdade, são os argumentos da função.
Então, nós temos que inseri-lo, você sabe que é o que temos que fazer para usar o objeto no método.
Mas, em seguida, os argumentos que temos de colocar são nomeados que estão em mau estado e que são feitos em
cadeias de arte em imagens impressas e o espaço real que contém você conhece o conjunto de ações.
Então, vamos colocar esses argumentos na função de trem.
Então, o primeiro que podemos obtê-lo com o nosso ambiente e isso e, em seguida, usamos espaço de observação que é o espaço
de observações, então, e então você obtém o número de entradas que obtem o zero do suporte de sombra.
Tudo bem.
Isso é para insumos.
E agora para o espaço de ação.
Bem, isso é quase o mesmo que precisamos obtê-lo do nosso ambiente, que somos importantes do que isso.
E, em seguida, espaço de ação.
Tudo bem.
E isso nos dá os argumentos que precisamos inserir ao criar um objeto.
O modelo da classe execrate.
Ok, então agora temos nosso modelo e agora o próximo passo é preparar nossos estados de entrada.
Então lembre-se de que ainda estamos fazendo uma aprendizagem informal mais profunda para que a entrada indique nossas imagens de
entrada e, portanto, isso será originalmente feito por Ray, que conterá um canal porque trabalhamos com imagens em
preto e branco e terá tempo nos oceanos de 42 por 42.
Mas é importante entender e ter em mente aqui que os estados de entrada são imagens de entrada.
Então, o que temos de fazer é obter o não-poder, então o converteremos em uma resposta de tortura.
Mas o primeiro passo como o que fizemos anteriormente é obter um árbitro e obtê-lo.
Na verdade, é bastante simples.
criar uma variável para o estado de entrada que irá cruzar o estado e isso para obter uma matriz de árbitros.
Bem, primeiro, precisamos
Nós simplesmente precisamos tomar o nosso ambiente e, em seguida, adaptar e, em seguida, usar a função de reinicialização.
E isso irá inicializar os Estados como uma matriz do império de dimensões um por 42 até 42.
Um significa 1 canal, de modo a imagem em preto e branco e 42 por 42 é, claro, as dominações da imagem.
O número de pixels e a largura eo número de pixels e a altura.
Então, basicamente, isso é apenas a instância do tempo.
E esses são os que trabalhamos.
isso realmente em arbitragem, porque isso nos obterá essas imagens desse seguro de tempo no Empire.
E agora, agora que temos
Agora podemos convertê-los em dançarinas de tocha e para fazer isso bem, nós estamos indo para um estado de dados
novamente porque não precisamos manter os arrays de números.
E é aí que usamos a tocha no módulo da tocha.
E lembre-se de que já fizemos isso com a função do parêntese de sublinhado não tailandês.
E, dentro desta função, precisamos inserir a taxa de número que queremos converter em um sensor de tocha.
E esse é o estado em que a versão anterior da matriz de não pagamento do estado se tornará pipelineada
da função de tubulação de um sensor de tocha, de modo que apenas crie mais intenso do estado.
E agora só precisamos inicializar o viabilizado.
Lembre-se de que a variável é geralmente a variável que diz se um episódio acabou ou se o jogo acabou.
Bem, aqui só queremos apresentar isso muito bem e inicializar para verdade, para especificar que este
Não Voivode será igual a verdadeiro quando o jogo estiver concluído.
Isso será útil para mais tarde, para que o AI não jogue indefinidamente para sair.
Tudo bem.
Então, esse foi basicamente o início dessa função de tendência com alguma inicialização e algumas coisas que
temos que fazer.
A parte mais importante aqui foi que devemos desistir de cada agente estagiário.
Esse é um primeiro princípio do A3 que temos de aplicar.
E agora, no próximo tutorial, procederemos à sincronização com o modelo compartilhado.
Não esqueçamos que existe um modelo diferente, mas também o modelo de compartilhamento que é um modelo
que todos os agentes compartilham.
E então temos que sincronizar com o modelo de exibição para que cada agente possa obter esse modelo compartilhado para
proceder a uma pequena exploração de um certo número de etapas.
Então, é o que faremos no próximo Statoil.
E até então, desfrute da AI.