Ciao e benvenuto in questo tutorial questo giocattolo speciale sarà super eccitante perché ci stiamo avvicinando
alla A. S. C. algoritmo.
Vedrai ciò che stiamo per implementare e che è chiamato traccia di eleggibilità o Sarsour
è in realtà un algoritmo degli algoritmi degli agenti critici attivi sincroni che non possiamo considerare.
ma continuerai a vedere che ciò che stiamo per implementare è in realtà
tratto dal seguente articolo che è questo documento come metodo Synchronoss per l'apprendimento del rinforzo profondo ed
è in questo articolo troverai algoritmi A-3 che implementeremo come bonus finale di questo corso.
E vediamo perché avremo ancora un agente,
Ma come ho detto ci stiamo avvicinando perché il modello che verrà implementato in questo momento è
in realtà questo il sincrono e secolarizzato che è quello che è quasi l'A3 C che sta facendo dopo,
ma con un agente e la cosa più potente di questo è questo e il passo Cunanan impareremo ad accumulare
premi e ad imparare il bersaglio cumulativo sui passi finali invece di un passo come Priestley.
Ed è questo che renderà l'allenamento molto più performante e quindi molto più potente.
Quindi abbiamo effettivamente lo pseudo-codice per questo algoritmo, è questo algoritmo come qui.
Quindi facciamo clic su di esso e ci andiamo.
Questo è l'algoritmo che stiamo per implementare.
Ma ricorda con un solo agente che la differenza è che qui intraprendono un'azione.
80 secondo la politica Greely del presidente basata sui valori q per lo stato attuale e
l'azione giocata.
Ma nel nostro caso non abbiamo implementato una politica ecologica eccellente.
Abbiamo implementato un massimo morbido.
Ma il resto è lo stesso che puoi vedere.
Stiamo andando a calcolare il cumulativo su cui abbiamo lavorato e abbiamo effettivamente 10 passi.
Ricorda che i passaggi sono pari a 10.
Quindi implementeremo questa linea di codice nel nostro algoritmo che stiamo per implementare in questo momento.
Abbiamo intenzione di ottenere questo.
E per lo più implementeremo anche questo.
Vedrai che otterremo il massimo dei valori q per lo stato corrente e l'azione corrente
in questo theta.
Qui c'è solo un parametro target.
Facciamo così, attacciamo questo algoritmo.
Questo è chiamato apprendimento sincrono e continuo.
Ma non abbiamo il diritto di dire sincrono per quanto ci riguarda perché abbiamo un solo motore.
Ma quindi possiamo chiamarlo e imparare la traccia dell'ammissibilità o anche Sarsour.
Va bene, facciamolo
Sarà molto divertente.
Possiamo sostanzialmente seguire il codice qui ed è quello che faremo.
E così come puoi vedere un parametro di cui abbiamo bisogno è di nuovo il parametro che
è il parametro di decadimento e quindi inizieremo introducendo una variabile per questo parametro di Gahanna e selezionandoli.
Quindi facciamolo.
In realtà non abbiamo bisogno di un'aula tremenda Possiamo semplicemente implementarlo con una funzione perché sai che
non abbiamo davvero bisogno di creare oggetti per questo per tracciare il modello, una funzione sarà
sufficiente perché in pratica quello che vogliamo fare è restituire gli input e il target in modo che in seguito,
quando si allena l'IA, siamo pronti a ridurre al minimo la distanza tra le previsioni e l'obiettivo e per
ottenere le previsioni abbiamo bisogno degli input perché applicheremo il nostro cervello sull'input per ottenere l'output segnali che
saranno le nostre previsioni.
pronti ad addestrare l'intelligenza artificiale cercando di ridurre al minimo questa grande distanza tra le previsioni e le toilette.
E poi, una volta che avremo le nostre previsioni e i nostri obiettivi, saremo
Quindi questo è il punto di tutto questo in questo momento.
Stiamo implementando questa funzione per poter restituire questi input nei Soviet in modo da essere pronti per
l'allenamento per ridurre al minimo le previsioni di distanza quadrata per gestire i servizi igienici.
Va bene, facciamolo mentre abbiamo detto che vogliamo implementare le funzioni.
Iniziamo da questo.
Questo lo chiameremo traccia di sottolineatura dell'ammissibilità.
Puoi anche chiamarlo Sarsour.
Puoi anche chiamarlo step per suonare quello che vuoi ma chiamiamolo traccia di
eleggibilità e questa funzione prenderà un argomento che sarà un batch e perché è
perché otterremo input e alcuni target perché addestreremo l'intelligenza artificiale sui lotti.
E così gli input e gli obiettivi andranno all'interno di alcuni batch e quindi l'argomento di
input qui è questo batch che conterrà diversi input e quindi diversi target che verranno calcolati.
Quindi eccoci.
Questa è l'unica argomentazione di cui abbiamo bisogno.
Ora entriamo in una funzione e definiamo ciò che dovevamo fare.
Così come abbiamo visto nella Basilica del foglio abbiamo bisogno di nuovo i parametri, così come abbiamo detto
iniziamo introducendo questo parametro gamma semi-close e possiamo già decifrare il valore.
E sceglieremo quattro punti novantanove che è un classico buon valore per il Ghana e Norreys.
Ho verificato che questo è un buon valore per la nostra IA.
Bene, allora il prossimo passo successivo è preparare il nostro input e i nostri obiettivi perché è esattamente ciò
che vogliamo tornare.
Vogliamo restituire gli input in target per preparare la formazione.
lista e questo è quando inizializzeremo gli input come una lista così come gli obiettivi che andremo.
E così possiamo già inizializzarli con una lista vuota, perché ovviamente questi input
All'interno del meglio avremo diversi input tutti in una
Quindi abbiamo inizializzato il nostro e inserito i nostri obiettivi e alla fine questa funzione di tracciabilità consentirà
di restituire esattamente questi input.
E questi sì erano ovviamente Filton.
Abbiamo diversi input e diversi target associati in quello che verrà restituito dalla funzione.
Tutto il prossimo passo successivo è iniziare un ciclo ed è esattamente perché stiamo seguendo il
codice lento del foglio.
Questo tipo di codice.
E come puoi vedere c'è questa sezione del codice di ripetizione e ripetuta esattamente un ciclo completo nel codice.
Stiamo andando a calcolare la ricompensa cumulativa qui accumulata nei 10 passaggi.
E come è calcolato.
Bene, in ogni passaggio che non è l'ultimo passo, otterremo il massimo dei valori fondamentali della valuta in
cui ci troviamo durante questo ed i passaggi eseguiti.
E se raggiungiamo l'ultimo stato dei 10 passi, questo sarà uguale a zero.
Questo è che non vogliamo più farlo.
E poi abbiamo questo ciclo, che sarà un altro.
Non dicono ripetere qui ma è lo stesso che sarà il secondo ciclo completo nel nostro algoritmo.
Bene, avremo che siamo in questo modo moltiplicando per il parametro di decadimento gamma e aggiungendo
la parola.
Facciamo così, torniamo a Python e iniziamo così.
E quale sarà la variabile iterativa.
Beh, questa sarà la nostra serie di 10 passi.
quindi chiameremo questa serie variabile che rappresenta una serie di 10 transizioni come una sequenza di 10 transizioni.
Conoscete la nostra serie di 10 transizioni
Quindi per le serie in.
E poi cosa ne pensi.
Bene, la nostra serie sarà nel nostro gruppo.
Ci sono i lotti su cui si allenerà l'IA e così via in serie che è per tutte le serie
di 10 transizioni nel nostro lotto di input.
Bene, dove andremo a fare bene per ottenere una ricompensa cumulativa vedrete nella silice che abbiamo
bisogno dello stato della prima transizione della serie e anche dello stato dell'ultima transizione della serie.
Quindi quello che dobbiamo fare adesso è ottenere questi stati di input e quindi metteremo questi
due stati in una soluzione che chiameremo input e otterremo questi due stati di input.
Il primo della serie e l'ultimo che inseriremo in un array non pilota, ma non ci saranno
preoccupazioni, e Ampyra ovviamente lo convertirà in un orribile ma il primo
passo è mettere questi due afferma il primo nell'ultimo in un impero.
transizione della serie e che è Series e quindi per prenderlo per una transizione prendiamo l'indice zero della
serie che è la prima transizione e quindi possiamo accedervi prendendo i suoi attributi che è stato e questo
perché nel nostro file di replay dell'esperienza abbiamo trovato una struttura speciale per ciascuna transizione e conosciamo la struttura.
E così proprio qui in questo array aggiungiamo il primo input che è lo stadio di
input della prima
Ogni transizione è composta da uno stato e una parola di azione.
Ma poi l'ultimo elemento che è stato fatto in modo che questa struttura speciale che possiamo usare adesso
provenga dal modo in cui abbiamo definito la transizione e la ripetizione dell'esperienza.
Va bene così con questo otteniamo lo stato di input della prima transizione e ora otteniamo
anche lo stadio di input dell'ultima transizione della serie.
accedere con questo trucco meno una serie meno uno in cui lo stato otterrà lo stato di input dell'ultimo transizione della serie.
E per fare questo è sufficiente dire che possiamo semplicemente copiare e incollare e sostituire come sei
qui dall'ultimo indice della serie a cui possiamo
Bene, allora abbiamo bisogno di mettere questi due elementi all'interno di alcune parentesi quadre perché questo è ciò che ci
si aspetterebbe dall'arbitro una funzione e quindi una cosa importante da fare poiché convertiremo quella in
una risposta torcia in una variabile torcia.
Ricorda che un tensore della torcia è per definizione uno speciale array contenente un solo tipo.
E quindi abbiamo bisogno di forzare un singolo tipo.
il tipo float e così via aggiungendo questo parametro qui D type equals e P che float.
E come al solito sceglieremo
In modo da poter prendere questo e ora possiamo convertirlo in un tensore torcia in un voivode torcia.
Quindi facciamo questo.
Bene, prima trasformiamolo in un sensore di torcia.
E ricorda che possiamo usare le torche che da non-prime andiamo e mettiamo tutta la matrice dei due stati di input all'interno
di questo torcia ballerino con la torcia da loro per una funzione perfetta che convertirà questi array dei due
stati di ingresso in una torcia sensore.
la risposta in una torcia molto bene usando la classe variabile in modo tale che l'input sia un oggetto della classe preziosa.
E ora mettiamo questa torcia
E infatti come hai capito questa classe variabile prende tutto questo come argomento
e crea l'oggetto.
Va bene, ora dovremmo essere bravi.
Abbiamo i nostri due input di cui abbiamo bisogno.
Questo è lo stato di input della prima transizione e quindi l'input dice che l'ultima transizione.
E ora che abbiamo gli input Bene, cosa possiamo ottenere, possiamo ottenere il segnale di uscita del
cervello dell'IA.
Questa è la previsione che chiameremo output.
Questo è il segnale di uscita.
E per ottenere le uscite.
Bene, ora è molto facile perché abbiamo già creato un cervello che è la nostra rete
neurale convoluzionale.
E così possiamo semplicemente prendere la nostra CNN cerebrale applicata agli input che restituirà la previsione
che è l'output così semplice.
E ora siamo già pronti per passare al prossimo passo.
E il prossimo passo è iniziare a calcolare questa comunità, se vuoi.
Quindi ora faremo esattamente come il nostro per l'algoritmo del Sarsour o dovremmo
chiamarlo e per imparare.
Introdurremo la variabile di ricompensa cumulativa che costituirà la ricompensa cumulativa. Torniamo al documento, come puoi vedere ora che
cosa dobbiamo fare per ottenere questa ricompensa dalla comunità che è la
nostra qui.
aggiungendo uno zero a questa comunità se lo fossimo se avessimo raggiunto l'ultimo stadio della serie o il massimo dei
valori fondamentali se non avessimo raggiunto l'ultimo stadio di la serie che è per tutte le statiche che sono durate.
Bene e ogni fase dei 10 passi eseguiti dobbiamo aggiornarlo
Quindi questo è semplicemente un bonanzas.
Torniamo a Piscean.
Quindi questa ricompensa della comunità, come abbiamo appena visto, sarà pari a zero punto zero se raggiungessimo l'ultimo stato
e possiamo scrivere questa condizione in questo modo se serie di indice meno 1.
Questa è l'ultima transizione della serie.
abbiamo definito nell'esperienza giochiamo con la nostra esperienza replay fallo e questo viene dalle strutture di apertura
in realtà perché se andiamo al sito aperto di Allergan che in realtà è giusto qui l'ho preparato
Poi aggiungiamo che fatto perché fatto in realtà è un attributo di te che conosco questa struttura di
transizione che
Questo è il fare bene o il vizir.
E se andiamo alla documentazione e poi se noi.
Questo è il tutorial che ti incoraggio davvero a dare un'occhiata.
Puoi eseguire un ambiente in cui Knowsley puoi vedere che le nostre osservazioni che
queste sono transizioni sono definite da un'osservazione.
Vogliamo che ciò venga fatto qui e ciò significa esattamente che una transizione o un passaggio è finito.
E quindi useremo questo fatto qui per la nostra condizione di IF.
Quindi follia di iSeries quando ciò è fatto significa che l'ultima transizione della serie è finita.
E quindi questa ricompensa cumulativa sarà pari a zero se viene eseguita l'ultima transizione della serie.
Altrimenti se non abbiamo raggiunto l'ultima transizione, la ricompensa cumulativa verrà aggiornata
con il massimo dei valori chiave.
E poiché questo output qui è l'output del cervello che è le previsioni della rete neurale.
E come sapete le previsioni della rete neurale sono i valori previsti Bene questo output
contiene i valori.
E dato che dobbiamo prendere il massimo dei valori q, dobbiamo prima aggiungere questo indice perché
questa struttura contiene due valori chiave e il successivo.
E poi abbiamo bisogno di aggiungere dati per accedere ai dati.
Questa struttura di output si sa che ha la struttura speciale di un voivode della torcia.
Quindi con questo otteniamo i nostri valori fondamentali e quindi vogliamo prendere il massimo dei nostri valori
di cue e quindi aggiungiamo che Max.
E ora otteniamo esattamente quello che vogliamo come nella carta questo massimo dei valori del cubo per
gli stati non-terminali come perfetto.
E quindi ora quello che faremo sarà la seconda.
Vale a dire per i 10 passi della serie che stiamo per aggiornare il cumulativo andando in questo modo moltiplicando
per primo Gamma il parametro di decadimento che abbiamo già e quindi aggiungendo la parola B.
Quindi facciamolo.
In realtà, faremo esattamente lo stesso dello pseudocodice, poiché è possibile notare che iniziano
da destra.
Quindi non iniziano con il primo passo e passano all'ultimo test che iniziano con l'ultimo passaggio.
T-meno 1 al primo passo per iniziare.
Questo è esattamente ciò che faremo e vogliamo ottenere la
ricompensa cumulativa uguale ai nostri pari o zero più gamma o 1 più gamma al quadrato o due più che aggiunto più gamma
alla potenza di 10 o 10 dove sono 1 o 2 che sono 10 sono le parole ottenute in ciascuna delle
fasi della serie.
Quindi facciamo una breve pausa prima di prendere il secondo ciclo completo e ci vediamo nel prossimo tutorial.
Fino ad allora goditi l'intelligenza artificiale.