Ciao e benvenuto al Statoil.
OK, abbiamo calcolato l'entropia e l'abbiamo aggiunta all'elenco delle entropie.
E ora quello che faremo è prendere una casuale azione in base alla distribuzione
delle probabilità del prossimo.
Quindi facciamolo.
Questo è il prossimo passo.
Siamo ancora in attesa perché stiamo ancora correndo sui passaggi qui.
E così ora sai come interpretare l'azione.
Introdurremo per prima cosa una variabile per l'azione chiamata azione e quindi prendiamo
la nostra distribuzione delle probabilità e useremo la multi funzione neurale per prendere un progetto casuale da questa
distribuzione di probabilità e poi aggiungeremo quei dati.
Quindi è importante notare che l'azione sarà effettivamente un tensore con un solo valore ma non
dovresti vederlo come un valore semplice.
Dovresti vedere questo come un tensore di dannazione uno per uno che contiene questo valore per l'azione.
E questo perché non è ancora spremuto nello stesso ciclo.
Otterremo la probabilità di registro associata all'azione appena giocata.
E così quando esco con la mia probabilità di fortuna qui prendendo la precedente la
fortuna precedente da quella che abbiamo calcolato qui e poi userò l'altro metodo con cui inserirò 1 e l'azione che
era appena giocando perché vogliamo ottenere la probabilità di fortuna associata a questa azione.
E quindi il secondo argomento qui ho intenzione di mettere la mia azione, ma ci deve essere una tortura orribile,
come richiesto dalla funzione raccolta e la funzione riunita solo indici con un numero intero tensoriale.
Va bene così ora abbiamo solo l'aspetto associato all'azione che è stata visualizzata.
E ora il prossimo passo è aggiungere quello che abbiamo qui alla lista.
Quindi abbiamo ottenuto il valore.
Questo è quello che abbiamo ottenuto qui come output del modello.
Poi abbiamo anche avuto il problema della serratura.
Quindi aggiungeremo il blocco all'elenco dei puntelli di blocco.
Aggiungiamo già l'entropia all'entropia è meno buona e le ricompense lo otterranno in seguito.
Quindi ora apriremo al valore e alla ricerca della lista dei valori e del processo legale.
Facciamolo.
la funzione di spesa e aggiungiamo il valore che è stato restituito dal modello perfetto quindi Lo stesso per
i prob di blocco Abbiamo appena ottenuto i nostri nuovi oggetti di scena e lo aggiungeremo alla lista dei puntelli di blocco.
Prendiamo la nostra lista di valori aggiungiamo che usiamo
E così in questa funzione append possiamo creare un log dalla nostra fortuna, probabilmente è stato appena calcolato qui.
Va bene, quindi le nostre liste sono ora ben aggiornate.
Ora quello che faremo è giocare l'azione perché in realtà proprio qui abbiamo selezionato l'azione
prendendo un sorteggio casuale dalla distribuzione delle probabilità qui.
Ma in realtà non l'abbiamo ancora suonato e lo suoneremo ora in modo da poter raggiungere il nuovo stato
e quindi ottenere la nuova transizione e giocarci.
perché giochiamo all'azione nel nostro ambiente, quindi useremo il metodo passo.
Prenderemo il nostro ambiente
E all'interno specifichiamo l'azione che è stata selezionata per giocarci e per fare questo prendiamo la nostra azione e aggiungiamo
quella non perché è quello che ci si aspetta che sia la funzione.
Ok, ma questo restituisce in realtà il nuovo stato e anche la nuova ricompensa perché raggiungendo il nuovo stato otteniamo una nuova ricompensa
e inoltre otteniamo un nuovo valore per Dunn per sapere se il gioco è finito o meno.
Va bene così con questo giochiamo all'azione raggiungiamo un nuovo stato e otteniamo una ricompensa e sappiamo se abbiamo
finito con il gioco.
E a proposito di essere finito con il gioco.
Bene, aggiungeremo qui qualcosa che assicurerà che un agente non sia impilato in qualche
stato.
E per farlo aggiorneremo ciò molto bene nel modo seguente.
Beh, sarà uguale a fare o aggiungeremo una condizione dicendo che l'episodio del gioco non
dovrebbe durare troppo tempo e vedremo nella funzione principale che ci sarà un parametro di lunghezza
massima che sarà uguale a 10000.
E non vogliamo che un episodio duri più di 10000 unità.
condizione più grande dell'episodio massimo di Lex che non abbiamo effettivamente detto a lungo.
Quindi sentiremo la durata dell'episodio che è la durata di un episodio e scriveremo una
Stiamo ottenendo dai nostri parametri per un finale qui Paramjit ma Ramstad.
Max è lungo.
Questo significa che se il gioco è finito o la durata dell'episodio è maggiore della lunghezza massima del set di
episodi che sarà pari a 10000.
Bene il gioco sarà fatto e inizieremo una nuova partita.
OK, questa è solo una precauzione.
di precauzione aggiungeremo un'altra precauzione per bloccare la ricompensa tra meno 1 e più 1.
E a proposito
Abbiamo già ottenuto la nostra presenza, ma vogliamo assicurarci che la ricompensa sia tra meno 1 e
più 1.
E per fare ciò abbiamo semplicemente bisogno di aggiornare la ricompensa facendo questo prendendo il massimo quindi
prendendo gli uomini di ricompensa e 1.
E qui prendiamo il massimo del minimo di ricompensa e 1 e meno 1 e questo assicurerà che la
ricompensa sia tra meno uno più uno.
Tutto ok.
Quindi un'altra percussione.
E ora vogliamo solo controllare se il gioco è pronto, nel qual caso riavvieremo l'ambiente.
E perché dobbiamo verificare che ora è perché abbiamo appena raggiunto un nuovo stato.
Abbiamo appena passato una nuova transizione.
Quindi dobbiamo controllare che dopo aver superato questa nuova transizione.
Bene, il gioco non è fatto, quindi se fatto di nuovo se fatto, allora
in quel caso riavvieremo gli ambienti impostando la durata dell'episodio su zero.
per re-inizializzare mentre prendiamo il nostro ambiente e usiamo la funzione di reset OK.
E anche lo stato verrà reinizializzato
Ora usciamo da questa condizione che stava solo controllando.
E ora quello che faremo è che abbiamo raggiunto un nuovo stato mentre questo nuovo stato è in
questo momento da Ray, perché ricorda che gli stati sono le immagini di input che originariamente sono nominate dagli array.
E quindi ora quello che dobbiamo fare è convertire il nuovo stato in una risposta torturata.
Quindi aggiorneremo il nostro stato e useremo la libreria torcia.
E naturalmente la funzione non-Thai per convertire questo non pagatore indica le immagini di input in un sensore
di torcia.
Perfezionare.
E ora l'ultima cosa che dobbiamo fare prima di uscire da questo ciclo for che è il
ciclo sui nostri passi Bene è ovviamente spendere la ricompensa per la Watchlist.
Questa è l'ultima cosa che deve essere aggiornata, abbiamo aggiornato tutti gli elenchi qui tranne la ricompensa.
Quindi lo faremo proprio ora prendiamo i nostri premi e usiamo la funzione del cervello
per aggiungere l'ultima parola appena ricevuta perfetta.
E appena prima di uscire dal ciclo for, dobbiamo solo fare un ultimo controllo per verificare che, se è
fatto, vogliamo interrompere la scadenza.
E quindi stiamo semplicemente aggiungendo qui una pausa.
Significa che se è fatto fermiamo l'esplorazione e passiamo direttamente al prossimo passo
che sarà l'aggiornamento del modello condiviso e ora abbiamo finito con questo per ora che l'agente ha fatto
la sua esplorazione.
Aggiornerà il modello condiviso e ci prenderemo cura di ciò nel prossimo tutorial e quindi I.