Olá e bem vindo a este tutorial do Python.
Tudo bem.
Neste óleo, vamos fazer a função que selecionará a ação correta e cada vez.
Então, basicamente, vamos implementar a parte que fará com que o carro se mova para a direita.
E cada vez que vai indo indo direto ou indo direto para alcançar o objetivo e evitar
os obstáculos que são a descida.
Então vamos fazer isso agora.
de ação selecionada do que alguns parênteses e essa função de ação selecionada terá dois argumentos.
Vamos começar como de costume com os surdos para definir uma função e depois damos um nome à nossa função, a
qual chamaremos
O primeiro é auto como você cresce para se referir ao objeto e ao segundo argumento
que, segundo você, será qual deles.
Bem, o que poderia ser.
saída da rede neural ou os valores q para cada uma das três ações possíveis e, portanto, a ação
que desempenhamos a ação que será a saída de a rede neural depende do estado de entrada
e os estados de entrada são exatamente o segundo argumento que precisamos com a função de ação selecionada.
Se você pensa sobre isso, a ação que selecionamos vem da saída da rede neural porque a
É porque, literalmente, vamos levar a saída da rede neural.
E é claro que a saída da rede neural depende diretamente da entrada da rede neural.
Então esse será o nosso argumento.
E agora podemos dar-lhe qualquer nome que realmente chamaremos de estado porque a entrada das redes neurais são os estados
de entrada que são e codificam por um vetor de cinco dimensões para a orientação de três
sinais e menos orientação.
E agora, as coisas vão ser fáceis.
Nós vamos alimentar o estado de entrada na rede neural o que nós construímos logo acima,
aqui com a próxima classe e, então, vamos obter as saídas que são os valores-chave para cada uma das
três ações possíveis e, em seguida, usando o método Soft Max que vou explicar
neste tutorial.
Nós vamos conseguir a ação final para jogar.
Então, vamos fazer isso, vamos entrar na função e vamos implementar tudo isso.
Então, a primeira coisa que precisamos para começar é sobre o que acabei de mencionar Max suprimido, a idéia
do soft Max é que vamos tentar obter a melhor ação para jogar a cada momento.
Mas, ao mesmo tempo, estaremos explorando as diferentes ações.
E como nós fazemos isso.
Como podemos obter a melhor ação para jogar enquanto ainda exploramos as outras ações.
Bem, usamos essa idéia de coisas que consiste em gerar uma distribuição de probabilidades para cada um dos
valores de q.
Ação Q States.
Agora, temos um valor Q para cada ação, vá para a esquerda, vá direto ou vá para a direita.
Mas esse valor q também depende do estado de entrada.
Esse é exatamente o uso da função Q nas palestras de intuição.
Esta função Q é uma função do estado e da ação.
Então, uma vez que temos aqui um estado de entrada que é o estado aqui e
três ações possíveis, temos três novos valores Q. Ação de estado 1 Q ação de estado 2 e dois
estados de ação 3 e vamos gerar uma distribuição de probabilidades em relação a estes três valores-chave.
Isso é que vamos ter uma probabilidade para o primeiro valor de Q uma da probabilidade para o
segundo valor de Q e uma terceira probabilidade para o terceiro Q E todas as três probabilidades somarão até 1.
tudo isso com Max suprimido e Max sujado irá atribuir uma grande probabilidade ao Q mais alto ao redor.
E então vamos fazer
É por isso que uma alternativa para o Max macio é um RMX simples, não levando diretamente o máximo dos valores de
q, mas nesse caso, não estamos explorando as outras ações.
Graças a estas probabilidades, podemos explorar em outro lugar usando um parâmetro de temperatura que nós
vamos ver muito rapidamente.
Ainda podemos explorá-los configurando esse parâmetro de temperatura.
É por isso que, em geral, por segurança, recomendo usar um soft x em vez de um RMX simples.
Tudo bem, então, implementemos X e, portanto, como você entendeu.
Uma vez que o Max sudo retorna as probabilidades de cada um dos três valores de Q para as três possíveis ações.
Bem, a primeira variável que vamos criar provavelmente está se referindo, obviamente, a essas probabilidades.
Então, os adereços são iguais e agora vamos levar a nossa próxima função e de acordo com você,
de onde vamos retirar.
Bem, claro, lembre-se de que importamos o.
E então, o submódulo funcional que eu lembro é o módulo que contém a maioria das ações para
implementar uma rede neural.
F e, portanto, é realmente desse submundo funcional que vamos tomar nossa próxima função.
Nós lhe demos o atalho
Mas desde que nós demos um atalho f, começamos aqui com um Neph representando o funcional do
qual tomamos nossa próxima função.
Aqui está.
Esse é o primeiro e parênteses.
Tudo bem.
Agora, o que precisamos para inserir na próxima função.
Bem, é claro, são as entidades para as quais queremos gerar uma distribuição de probabilidade.
E quais são essas entidades.
Bem, estes são, claro, os valores-chave.
Então, agora a questão é como podemos obter os valores q.
Bem, claro, os valores q são a saída da rede neural e para obter essas saídas da
rede neural.
Bem, vamos lá.
Precisamos levar nossa nova rede.
Mas, na verdade, já o temos porque é o que inicializou no final, é a função.
Saiba que criamos um modelo autodidacta que não é mais nada que não funcione porque é um novo objeto
da classe de rede.
E isso é perfeito.
Nós podemos apenas levar nosso modelo aqui e coisas próximas, aplicar este modelo ao estado de entrada que
é o argumento aqui e que retornará as saídas que estamos procurando.
Esses são os valores-chave.
E então, agora, sua intuição, porque devemos levar o modelo aqui para apresentá-lo na função,
pode melhorar.
Aqueles de vocês que começam com a programação orientada a objetos, você verá que tudo isso se tornará
natural tão suave no próximo momento.
Então, nós levamos o nosso modelo próprio modelo, porque esse deve ser o modelo do objeto que criamos aqui.
Mas então, precisamos obter o resultado de nosso modelo de rede neural e, portanto, vamos ouvir
alguns parênteses nos quais vamos entrar Bem, o estado de entrada chamado estado aqui.
Então, o que queremos fazer no início é enter state, mas agora devemos ter cuidado com algo que o estado parece um
conjunto simples agora.
usaremos essa célula em menos estado para colocá-lo como o argumento da função de ação Selecionar.
Mas lembre-se de que esse estado realmente será um sensor de tocha porque depois
O argumento do estado que está aqui está realmente se tornando mais tarde este autodidata menos estado.
E como este é um mundo de respostas torturadas, o modelo irá aceitá-lo.
Então está tudo bem.
Mas agora podemos melhorar o algoritmo.
Então, assim que o estado é um sensor de tocha e, como dissemos anteriormente, a maioria dos sensores são envolvidos
em voivodes.
Isso também conterá um gradiente.
Então, agora, o que vamos fazer primeiro é envolver esse estado de entrada que é um tensor em
uma tocha muito bem, mas como isso é os estados de entrada, não haverá alguma diferenciação.
Nós não estaremos usando o gradiente deste Voivode de tocha de estado e isso pode
ser estações e, portanto, o que vamos fazer agora é converter este estado do sensor de tocha em uma variável de tocha como assim.
Mas, então, especifique que não queremos os gradientes no gráfico que possamos predizer no
final de Mudgal.
Bem, vamos chegar aqui, volátil, igual a verdade.
o nosso sensor incendiado pelo estado em uma tocha muito bem, mas graças a este Votel é igual a um verdadeiro barómetro.
Então, agora, temos
Bem, iremos incluir os gradientes associados a esses estados de entrada ao gráfico de todas as condições do
fim nesse modelo.
Então, esse é outro truque técnico.
Isso nos salvará alguma memória e, portanto, isso irá melhorar o desempenho.
Então eu recomendo muito para fazer isso e agora vamos adicionar algo mais divertido.
É sobre esse parâmetro de temperatura que acabei de mencionar.
permitiria modular como a rede neural ficará segura de qual ação deve decidir jogar.
Então, este parâmetro de temperatura é o parâmetro que nos
Portanto, este parâmetro de temperatura será um número positivo e quanto mais próximo for zero, menos certeza será a rede
neural quando joga em ação e quanto maior for o parâmetro de temperatura, mais certeza será a
rede neural da ação que ele decide tocar .
E para adicionar este parâmetro, eu vou multiplicar as saídas que são Kugan usadas por este parâmetro
de temperatura.
Então vamos começar por exemplo com 7 e vou especificar aqui o pequeno comentário T igual a 7.
Então esse é o parâmetro de temperatura.
Desculpe, vá para 7.
Vamos tentar alguns outros, mas eu só quero começar com um pequeno, porque você
vai ver isso com um pequeno.
Nosso carro ainda se comportará como algum tipo de inseto, mas, ao aumentar o parâmetro de
temperatura, nosso código parecerá mais como um carro e decide vender a direção será muito melhor.
E assim faz sentido porque quanto maior for este parâmetro de temperatura, maior será
a probabilidade de vencer Juval me porque, por exemplo, se tivermos o máximo macio dos valores de q.
Vamos tirar alguns números simples um dois três se preenchido máximo de um a três igual.
Por exemplo, 0. 04 0. 11 e abre oitenta e cinco.
Em seguida, aumentando a temperatura tomando temperatura mais alta.
Agora, a temperatura é igual a uma, tomando uma temperatura alta, como por exemplo Tussaud subtrai,
vamos copiar isso e multiplicá-lo, por exemplo, por dois ou três, então, os mesmos valores, mas multiplicados pelo parâmetro
de temperatura de três.
Bem, obteremos algo como zero para o primeiro valor Q, porque isso tinha uma probabilidade muito baixa de que
algo em torno de zero, então, algo muito pequeno para a segunda probabilidade, porque isso ainda era
uma baixa probabilidade.
Então, digamos, por exemplo, ou o ponto 0 2.
Mas, então, essa terceira probabilidade, já que era a maior e muito alta.
Bem, aumentando a temperatura, essa probabilidade será ainda maior porque estaremos ainda mais
certos de que este é o valor Q correto correspondente à ação que devemos jogar e, portanto, isso
será algo como 0. 2 98.
Agora, aumentando o parâmetro de temperatura Bem, agora estamos ainda mais certos de que a terceira ação aqui
deve ser a ação a ser executada porque a probabilidade para o valor q desta ação não é
apenas a maior mas também muito alta.
Então, é disso que se trata esse parâmetro de temperatura.
É sobre a certeza de qual direção devemos decidir jogar.
Tudo bem.
Então vou remover esse comentário.
Isso foi apenas para explicar.
E agora vamos buscar nossa ação.
Então, como você vai fazer isso?
para cada um dos valores-chave, mas também e esse é o segundo passo do próximo método.
Bem, o princípio do próximo método não é apenas gerar uma distribuição de probabilidade
Nós tiramos um sorteio aleatório dessa distribuição para obter nossa ação final.
E é claro que teremos uma grande chance de obter a ação que corresponde ao valor
Q que tenha maior probabilidade, porque é exatamente assim que a distribuição funciona.
Então vamos lá.
Vamos fazer a nossa ação.
Então, vamos apresentar um novo Voivode, vamos chamar a ação e essa ação será um
desenho aleatório da distribuição de probabilidade que acabamos de criar neste momento antes.
E então, como conseguimos um sorteio tão aleatório.
Bem, vamos tomar as probabilidades de nosso prop de cada um dos valores-chave que tomamos adereços
e, em seguida, dart e então vamos usar a função multi Gnomeo e isso nos dará um sorteio aleatório
desse processo de distribuição.
Então isso é tudo o que vai conseguir sua reação.
Perfeito.
E agora, claro, vamos retornar a ação.
Há um pequeno truque aqui.
Qual é o fato de que este Propst que multinomial retorna o PI para viabilizar com um emblema falso.
Você conhece esses diamantes falsos e corresponde ao lote e, portanto, para obter o resultado certo,
queremos que seja a ação em 0 1 ou 2.
Nós só precisamos adicionar dados aqui e, em seguida, alguns colchetes e as ações aqui são uma ou duas
que estamos procurando é conteúdo e o índice é 0 e 0.
Tudo bem.
E nós vamos lá.
Agora, temos a nossa ação graças a esta função de ação selecionada, a AI agora saberá qual ação deve ser tocada.
E cada vez.
Formidável.
Então, agora podemos avançar para a próxima função, que será a função de aprendizado.
E é aí que vamos treinar toda a rede neural que você conhece com toda a propagação
direta e, em seguida, a propagação traseira é classificar no sentido.
Bem, basicamente, vamos implementar todo o treinamento do modelo de aprendizagem profunda que é o
cerne da nossa inteligência artificial.
Então eu não posso esperar para fazer isso.
Este será um tutorial emocionante e então vou ver você no próximo Statoil.
Até então, aproveite.
EU.