Olá a todos e bem-vindos de volta.
Na última palestra, acabamos começando a construir nosso ambiente.
Temos essencialmente uma grade de 11 por 11 aqui que queremos que nosso carteiro itere para resolver nosso desafio.
Queremos agora começar a pensar assim que tivermos a grade.
Também precisamos ter ações para nosso agente e vou excluí-las muito rapidamente.
Não precisamos dessas células.
Eu só queria tê-lo em algum espaçamento.
Apenas facilita a visualização de você.
Dê-me 1/2, deixe-me excluir isso e podemos deixar este aqui.
Então.
Deixei um texto em que temos e queremos definir nossas ações como em cima, baixo e esquerda.
Com Python, é bastante simples.
Podemos construir a lista e definir nossas ações.
Nossas ações serão iguais.
Dois como temos acima à direita, abaixo à esquerda.
Então vamos configurar.
Direita para baixo e esquerda.
Precisamos dar ao nosso agente, desculpe-me, alguma habilidade de manobrar com essas ações através do
labirinto.
Além disso, também temos que começar a definir recompensas.
Agora, é aqui que vai começar a se tornar um pouco mais complicado porque
temos que definir diferentes estados do nosso ambiente, diferentes estados no sentido de que queremos poder atribuir esses
-100 e um negativo a essas etapas ou esses valores de estado para cada quadrado dentro da grade.
Então vemos, para ajudar nosso agente a conhecer cada estado ou localidade em nossa cidade, queremos ter um valor de recompensa.
É assim que nosso agente vai aprender.
Assim, o agente pode começar em qualquer quadrado branco, mas seu objetivo é sempre o mesmo.
Ele quer maximizar suas recompensas totais com Q aprendendo recompensas negativas, sabemos que elas são chamadas
de punições.
Estes são usados para todos os estados, exceto o objetivo.
É assim que vamos estabelecer essa política ótima, que estimula o olhar a identificar o caminho mais
curto para a meta, minimizando suas punições.
Tudo bem.
Além disso, para maximizar as recompensas acumuladas, o agente precisará encontrar o caminho mais curto entre a área de
embalagem do item, nossa Praça Verde, lembre-se, e os outros locais da cidade onde o carteiro
pode percorrer os quadrados brancos.
Os agentes vão aprender a evitar colidir com qualquer um dos limites da cidade.
Esses são os quadrados pretos, como vemos com o -100.
Queremos ficar longe deles.
Eles têm mais de uma punição.
Então, para fazer isso, temos nossa grade, o ambiente que criamos acima com nossas linhas.
Mas também queremos atribuir esses valores a ele.
Então, para fazer isso, vamos tentar pensar em como podemos estabelecer que podemos usar o NumPy e
também podemos começar a defini-lo como -100 para linhas e colunas de ambiente.
Portanto, temos nossas linhas de ambiente e colunas de ambiente.
Então vamos chamar isso de recompensas igual a numpy full e vamos passar em nossas linhas de ambiente, colunas de
ambiente e para definir nossos valores, podemos começar com -100.
Além disso, também queremos definir nossa janela de recompensas para.
Use os índices de zero e cinco.
Igual a 100.
E isso vai fazer sentido em um segundo.
Então, estamos dando uma olhada na nossa Praça Verde.
Nós temos o nosso zero cinco.
Temos nosso Quadrado Verde definido como 100 tomando estes ou este local para definir o valor.
Agora, vou colar o próximo trecho de código para que possamos passar por ele.
Então você não precisa me ver avaliar cada passo porque é um pouco repetitivo.
E agora temos nossos espaços em branco.
Vamos definir nosso conhecimento para nossos pontos de recompensa.
E neste trecho de código, estamos usando um dicionário e definindo cada um de nossos valores dentro de nosso dicionário.
Então nós temos nossos corredores.
Estamos pensando nisso como cada linha individual, e podemos definir com nosso fatiamento, com nosso índice de um
a nove.
E queremos usar uma iteração com nosso loop for para definir esses valores.
Ao fazer isso, você verá se olharmos de um a dez, um, sete e nove.
E usando isso, podemos definir o índice de linha em nosso intervalo de um a dez, no qual
estamos trabalhando em nosso ambiente.
Podemos definir o índice da coluna.
Em nossos corredores de nosso índice de linha com nosso dicionário, nosso índice de linha de recompensas e índice de coluna, podemos
defini-lo como negativo.
Então, o que isso está fazendo é essencialmente, se olharmos para cada específico, se pegarmos um intervalo aqui, por exemplo, nove
por I em nosso intervalo, temos um conjunto negativo em todo o ambiente ou em cada estado dentro do nosso
ambiente .
Para oito, temos três e sete.
Então, se pudermos rolar para cima, podemos ver que em três e sete, estamos configurando um negativo, já que
todos seriam -100 ou configurados para cem negativos.
E com essa iteração, podemos definir essas recompensas ou definir cada estado que estamos definindo em nossos
corredores como negativo.
Isso facilita muito.
Em vez de ter que escrever mais lógica ou talvez funções ou instruções mais detalhadas, podemos iterar e
definir esses valores.
Eu recomendo que você reserve um minuto para explorar o experimento se quiser alterar o ambiente mais
tarde.
Depois de executar esta solução, é uma ótima maneira de ajudar a aprender e reforçar essas políticas.
Mas isso está começando a tomar forma e uma coisa legal que podemos fazer é realmente visualizá-lo.
Então vamos fazer quatro linhas em recompensas.
Imprima a linha e vamos imprimir isso e podemos ver que talvez precise executar novamente essas células.
Me desculpe.
Eu não estava conectado ao notebook trabalhando por aqui.
Dê 1/2.
Vai dar um erro.
Eu preciso voltar e executar novamente as células.
Então deixe-me apenas reexecutar isso muito rapidamente.
Eu quero importar NumPy.
Na verdade, posso apenas esperar minhas desculpas.
Deixe-me passar por este ano.
Eu vou descer.
Queremos executar nosso ambiente.
Queremos executar nossas ações.
Os outros são apenas texto, então não precisamos deles.
Mas eu gosto de ter isso para que vocês possam ter uma referência a isso.
Queremos recompensar pontos e finalmente queremos visualizar isso.
Podemos ver a visualização, a representação numérica real em numpy do nosso ambiente.
Realmente legal.
Assim, montamos nosso ambiente.
Ótimo trabalho.
Espero que vocês estão achando isso útil.
Agora vamos encerrar aqui porque na próxima palestra vamos começar a treinar o modelo.
Então isso foi para definir as ações de nossos agentes, para definir nosso ambiente, para definir nossas recompensas.
Nossa punição ajudará esse agente a estabelecer a política ótima dentro do aprendizado Q.
No geral, temos essa representação visual ou essa imagem construída, e podemos vê-la aqui se
imprimirmos nossa linha.
Incrível.
Tudo bem.
Não vou continuar divagando.
Vamos manter isso aqui na próxima palestra.
Vamos começar a treinar o modelo.
Vejo vocês na próxima palestra.