Ciao a tutti e bentornati.
Nell'ultima lezione, abbiamo finito per iniziare a costruire il nostro ambiente.
Abbiamo essenzialmente una griglia 11 per 11 qui che vogliamo che il nostro postino ripeta per risolvere la nostra sfida.
Vogliamo ora iniziare a pensare a una volta che avremo la griglia.
Abbiamo anche bisogno di azioni per il nostro agente e le eliminerò molto rapidamente.
Non abbiamo bisogno di queste cellule.
Volevo solo tenerlo per un po' di spazio.
Ti semplifica solo la visualizzazione.
Dammi 1/2, fammi eliminare questi e possiamo lasciare questo qui.
Così.
Ho lasciato un testo che abbiamo e vogliamo impostare le nostre azioni come in verticale, in basso ea sinistra.
Con Python, è piuttosto semplice.
Possiamo costruire l'elenco e impostare le nostre azioni.
Le nostre azioni saranno uguali.
Due come abbiamo in alto a destra, in basso a sinistra.
Quindi configuriamolo.
Destra in basso ea sinistra.
Dobbiamo dare al nostro agente, mi scusi, una certa capacità di manovrare con queste azioni attraverso il
labirinto.
Oltre a ciò, dobbiamo anche iniziare a impostare le ricompense.
Ora, è qui che comincerà a diventare un po' più complicato perché dobbiamo impostare
diversi stati del nostro ambiente, stati diversi nel senso che vogliamo essere in grado di assegnare questi -100
e uno negativo a questi passaggi o a questi valori di stato a ogni quadrato all'interno della griglia.
Quindi vediamo, per aiutare il nostro agente a conoscere ogni stato o luogo della nostra città, vogliamo avere un valore di ricompensa.
Ecco come imparerà il nostro agente.
Quindi l'agente può iniziare da qualsiasi casella bianca, ma il suo obiettivo è sempre lo stesso.
Vuole massimizzare le sue ricompense totali con in Q l'apprendimento di ricompense negative, sappiamo che vengono
chiamate punizioni.
Questi sono usati per tutti gli stati tranne l'obiettivo.
È così che stabiliremo quella politica ottimale, che incoraggi l'occhio a identificare il percorso più breve verso
l'obiettivo riducendo al minimo le sue punizioni.
Va bene.
Inoltre, per massimizzare le ricompense cumulative, l'agente dovrà trovare il percorso più breve tra l'area di confezionamento degli
articoli, la nostra Piazza Verde, ricorda, e gli altri luoghi della città in cui il postino
può percorrere i quadrati bianchi.
Gli agenti impareranno a evitare di schiantarsi contro i confini della città.
Quelli sono i quadrati neri, come vediamo con il -100.
Vogliamo stare lontano da loro.
Hanno più di una punizione.
Quindi, per fare questo, abbiamo la nostra griglia, l'ambiente che abbiamo creato sopra con le nostre righe.
Ma vogliamo anche assegnargli questi valori.
Quindi, per farlo, proviamo a pensare a come possiamo stabilire che possiamo usare NumPy e possiamo anche
iniziare a impostarlo su -100 per le righe dell'ambiente e le colonne dell'ambiente.
Quindi abbiamo le nostre righe di ambiente e le colonne di ambiente.
Quindi chiamiamo questo premio uguale a numpy full e passiamo nelle righe dell'ambiente, nelle colonne dell'ambiente e per
impostare i nostri valori, possiamo iniziare con -100.
In aggiunta a ciò, vogliamo anche impostare la nostra finestra dei premi su.
Usa gli indici di zero e cinque.
Uguale a 100.
E questo avrà senso tra un secondo.
Quindi diamo un'occhiata alla nostra Piazza Verde.
Abbiamo il nostro zero cinque.
Abbiamo il nostro Green Square impostato su 100 prendendo questi o questa posizione per impostare il valore.
Ora, incollerò il prossimo frammento di codice in modo da poterlo esaminare.
Quindi non devi guardarmi valutare ogni passo perché è un po' ripetitivo.
E ora abbiamo i nostri spazi bianchi.
Definiamo le nostre conoscenze per i nostri punti premio.
E in questo frammento di codice, utilizziamo un dizionario e impostiamo ciascuno dei nostri valori all'interno del nostro dizionario.
Quindi abbiamo i nostri corridoi.
Stiamo pensando a questo come ogni singola riga e possiamo impostare con il nostro slicing, con il nostro indice da
uno a nove.
E vogliamo usare un'iterazione con il nostro ciclo for per impostare questi valori.
In tal modo, vedrai se guardiamo da uno a dieci, uno, sette e nove.
E usando questo, possiamo effettivamente impostare l'indice di riga nel nostro intervallo da uno a dieci, che
stiamo lavorando nel nostro ambiente.
Possiamo impostare l'indice della colonna.
Nei nostri corridoi del nostro indice di riga con il nostro dizionario, il nostro indice di riga dei premi e l'indice di colonna, possiamo
impostarlo su uno negativo.
Quindi ciò che sta facendo è essenzialmente, se osserviamo ogni specifico, se prendiamo un intervallo qui, ad esempio, ne avrò
nove per I nel nostro intervallo, ne avremo uno negativo impostato nell'intero ambiente o ogni stato all'interno del nostro
ambiente .
Per otto, abbiamo tre e sette.
Quindi, se possiamo scorrere verso l'alto, possiamo vedere che in tre e sette, stiamo impostando uno negativo poiché
sarebbero tutti -100 o impostati su cento negativi.
E con questa iterazione, possiamo impostare quelle ricompense o impostare ogni stato che stiamo definendo all'interno dei nostri corridoi
su uno negativo.
Lo rende molto facile.
Invece di dover scrivere ulteriore logica o magari funzioni o istruzioni più dettagliate, possiamo scorrere e
impostare questi valori.
Consiglio vivamente di dedicare un minuto all'esplorazione dell'esperimento se si desidera modificare l'ambiente in un secondo
momento.
Dopo aver eseguito questa soluzione, è un ottimo modo per imparare e rafforzare queste politiche.
Ma questo sta iniziando a prendere forma e una cosa interessante che possiamo fare è visualizzarlo effettivamente.
Quindi facciamo quattro righe in ricompense.
Stampa riga e stampiamo questo e possiamo vedere che potrei dover effettivamente rieseguire queste celle.
Mie scuse.
Non ero collegato al notebook che lavorava qui.
Dagli 1/2.
Verrà generato un errore.
Devo tornare indietro e rieseguire le celle.
Quindi fammi solo ripetere questo molto rapidamente.
Voglio importare NumPy.
In realtà posso solo sperare le mie scuse.
Fammi passare quest'anno.
Sto per scendere.
Vogliamo gestire il nostro ambiente.
Vogliamo eseguire le nostre azioni.
Gli altri sono solo testo, quindi non ne abbiamo bisogno.
Ma mi piace averlo in modo che possiate avere un riferimento ad esso.
Vogliamo premiare i punti e finalmente vogliamo visualizzarlo.
Possiamo vedere la visualizzazione, l'effettiva rappresentazione numerica intorpidita del nostro ambiente.
Veramente cool.
Quindi abbiamo impostato il nostro ambiente.
Lavoro fantastico.
Spero che lo troviate utile.
Ora lo chiudiamo qui perché nella prossima lezione inizieremo ad addestrare il modello.
Quindi questo era per impostare le azioni dei nostri agenti, per impostare il nostro ambiente, per impostare le nostre ricompense.
La nostra punizione aiuterà quell'agente a stabilire la politica ottimale all'interno dell'apprendimento Q.
Nel complesso, abbiamo questa rappresentazione visiva o questa immagine costruita e possiamo vederla qui se stampiamo
la nostra riga.
Sorprendente.
Va bene.
Non continuerò a divagare.
Manteniamolo qui nella prossima lezione.
Iniziamo ad addestrare il modello.
Ci vediamo ragazzi alla prossima lezione.