Ciao e benvenuto nella storia.
Va bene così, dopo aver realizzato queste quattro convoluzioni e la LCN, ora abbiamo uno stato codificato che
sarà l'input di queste due reti neurali che creeremo per l'attore e il critico.
E parlando di loro l'unica cosa che dobbiamo fare ora è creare strumenti nelle nostre connessioni complete.
Uno per l'attore e uno per il critico.
Ma prima di farlo dobbiamo ottenere il numero di azioni possibili.
E quindi ti chiamerò variabile qui che non sarà una variabile dell'oggetto.
ma creerò delle uscite non valide che rappresenteranno un numero di azioni possibili e per ottenerlo.
Quindi non ho intenzione di usarmi qui,
Bene, possiamo ottenerlo dallo spazio azione.
Quindi prendiamo il nostro spazio azione che sarà l'input della funzione quando creeremo l'oggetto.
E poi aggiungiamo questo e per ottenere questo numero di azioni possibili.
E ora l'attore e il critico prenderanno separatamente lo stesso input che è l'output di questo
intero processo qui con le convoluzioni e GLSEN.
Quindi prenderà lo stesso input che è uno stato codificato, ma poi avranno due connessioni lineari differenti in
modo da ottenere alla fine due reti neurali una per le due e una per un critico.
Quindi facciamo queste due reti neurali separate.
Ma dal momento che abbiamo già fatto il grosso lavoro con la codifica qui bene, quello che dobbiamo semplicemente
fare è creare due oggetti uno nella connessione completa per l'attore e un'altra connessione lineare per il critico.
E quindi è esattamente quello che farò.
Creerò due oggetti ora un primo oggetto per la connessione lineare del critico
che chiamerò critico e il punteggio Linnie e per creare questa connessione lineare.
Sai come farlo, abbiamo semplicemente bisogno di prendere il modulo motore e quindi la classe lineare a cui
abbiamo due ingressi.
Bene i neuroni di input che sono le uscite di tutto questo incluso qui con
le convoluzioni e il GM che è 256 neuroni.
Quindi quando ne metto duecentocinquantasei qui e poi avremo un output perché ricordo che l'output della rete neurale
per il critico è il valore della funzione applicata allo stato di input agli stati
codificati degli input che abbiamo fatto Qui.
Quindi se chiamiamo lo stato dell'ingresso che è l'output di tutto questo, l'uscita della rete neurale del
critico sarà VS e quindi ha una dimensione.
È solo un valore
E così qui ne mettiamo uno.
E ricorda che questo è ciò che è condiviso tra gli attori in modo che possano ottenere alcune informazioni comuni che
possono usare per svolgere la loro azione in un modo più pertinente.
OK, questo è per la rete neurale del critico.
E ora facciamo la nuova rete dell'attore e quindi io sono qui autodidatta attore lineare e lo stesso abbiamo
già gli ingressi con stati codificati.
e quindi dire che prendiamo in un modulo quindi la classe lineare e ora
dicendo che questa nuova rete dell'attore prenderà lo stato codificato che ha la dimensione di 256 quindi 256 qui.
Quindi ora abbiamo semplicemente bisogno di aggiungere una connessione lineare
Ma poi l'output sarà diverso perché ovviamente si sa che l'output della rete neurale
per l'altro attore dell'attore coinvolge i valori chiave degli stati di input.
Quello che potremmo sentire e il piatto d'azione.
Quindi, di nuovo, se chiamiamo questo stato codificato che intendiamo qui come un'azione riprodotta un output di
questa rete neurale effettivamente ci sarà q come a.
E poiché sai che abbiamo un enorme valore per ogni azione, quindi non abbiamo output.
quindi l'output qui saranno non output perché nessun output è in realtà il numero di umani.
I valori Q e
Ok perfetto
Quindi se vuoi posso scrivere qui per te.
Il critico è buono come lo stato codificato e per l'attore l'output è carino come va bene.
Quindi è molto importante capire questa distinzione qui e capire che abbiamo quindi due
reti di notizie separate.
Uno per il critico e uno per l'attore Ok, perfetto.
Quindi abbiamo quasi finito con questa funzione.
Ora la cosa più importante è fatta.
L'unica cosa che rimane da fare è inizializzare tutti i pesi di queste due reti neurali e
tutti i pregiudizi.
E ovviamente per fare ciò utilizzeremo le due funzioni che abbiamo creato in precedenza, ovvero l'inizializzatore
di colonne normalizzato e i pesi in esso contenuti.
Quindi facciamolo velocemente.
Sarà piuttosto facile e abbastanza veloce.
dei pesi casuali e per fare questo applicheremo i pesi in esso funzione al nostro oggetto.
Quindi, per prima cosa iniziamo a inizializzare
Quindi qui dobbiamo prendere se stessi per ottenere il nostro oggetto e per obiettare.
Applichiamo il peso nella sua funzione.
Quindi all'interno abbiamo solo bisogno di mettere i pesi in quella funzione e poi otteniamo che applicheremo questa funzione al
nostro oggetto e così facendo stiamo inizializzando solo dei pesi casuali per ottenere un futuro
apprendimento ottimale di questi pesi.
E ora quello che dobbiamo fare è fare una normalizzazione speciale per l'attore e il critico.
una stessa varianza per la X in acrilico yakked si otterrà una piccola deviazione standard piccola varianza.
Ma ricorda che penso di averlo detto nelle precedenti esercitazioni non abbiamo intenzione di impostare
E i critici ne avranno uno grande.
E perché lo facciamo.
Qual è lo scopo di dare una piccola deviazione standard dei pesi per l'attore e l'ampia deviazione standard
della via per il critico.
Bene, questo permette di gestire l'esplorazione e lo sfruttamento.
Questo è esattamente lo scopo di fare questo dando una piccola varianza all'attore in un pubblico più
ampio alla critica.
Avremo una buona gestione dell'esplorazione vs dello sfruttamento.
Facciamo così, prima prendiamoci cura dell'attore.
Quindi prendiamo il sé o l'oggetto, quindi prendiamo la rete neurale del nostro attore che è l'attore
Linnea, quindi accediamo ai pesi di questa nuova rete dell'attore e ricordiamo di accedere ai dati
dei pesi di cui abbiamo bisogno quei dati.
Tutto ok.
Quindi con questo otteniamo i pesi e ora useremo la nostra funzione inizializzatore del pettine normalizzato.
Quindi copio questo incastro qui e inseriremo un argomento.
La deviazione standard vogliamo che questi pesi abbiano.
Ma innanzitutto ricorda che questa funzione richiede due argomenti.
Per prima cosa vogliamo inizializzarci.
Quindi, dobbiamo semplicemente riprenderlo e basarlo qui.
E il secondo argomento è la deviazione standard.
Vogliamo che questi pesi abbiano.
Quindi, come abbiamo detto, vogliamo una piccola deviazione standard per l'attore in una piccola sarà 0. 01 perfetto.
Ecco dove sono i pesi della rete neurale dell'attore.
Ora prendiamoci cura del pregiudizio del nuovo quel lavoro dell'attore.
E quindi qui faremo quasi la stessa cosa che copieremo questa pasta qui sotto.
Sostituisci il peso degli acquirenti per accedere agli acquirenti e dopo i dati aggiungeremo semplicemente il riempimento e ti ricorderemo quando vengono messi zero
perché vogliamo che tutti i dispositivi vengano inizializzati con zero.
Quindi in realtà non penso che questa linea sia necessaria perché, come ricordi, gli acquirenti sono già inizializzati a
zero con questa funzione di riempimento nella funzione di attesa.
Quindi sai che lo stiamo facendo solo per assicurarci che gli acquirenti siano effettivamente inizializzati a zero.
Ma penso che sia già stato fatto qui.
Ma comunque ora siamo sicuri al 100 percento.
Per ora faremo lo stesso per il critico.
Quindi cerchiamo di essere efficienti e copriamo queste due linee.
Affrontiamoli qui e qui sostituiremo l'attore con il critico.
Anch'io.
E ora l'unica cosa che dobbiamo cambiare è solo la deviazione standard che vogliamo che i
pesi della rete neurale abbiano il critico.
abbiamo una piccola deviazione standard per i pesi del nuovo lavoro dell'attore e una grande deviazione standard per i pesi.
E come ricordi una volta questa volta una deviazione standard piuttosto ampia o aperta, ne
inseriremo una quindi andiamo avanti
E poi quando arriviamo al critico.
E naturalmente è qualcosa che possiamo sostituire qui attivo con il credito.
Tutto bene, ora ci sentiamo bene.
Quindi ora abbiamo ancora due cose da fare prima di inizializzare anche il pregiudizio della squadra e per fare ciò prendiamo il nostro oggetto stesso perché
il LACMA appartiene al nostro oggetto e diremmo o come T. N. poi quello e poi avremo
i due tipi di acquirenti che sono nell'ultimo.
Questo è pregiudizio e il punteggio per età e l'altro si basa sul punteggio età.
Ecco i due tipi di errore nella CME e lo stesso verrà inizializzato a zero.
Quindi per prima cosa accediamo ai dati e poi usiamo la funzione di sottolineatura del riempimento per riempire tutti questi
acquirenti con zero inizializzandoli con i tuoi.
Destra.
E ora per il secondo gruppo di compratori che siamo qui lo stesso viene sostituito dall'età per età.
Tutto ok.
che dobbiamo fare è usare un metodo che è ereditato dalla fine e quel modulo che è il metodo del treno.
Questo inizializza il bias degli zeri e ora l'ultima cosa
E fondamentalmente c'è solo un metodo che mette in trattamento il modulo.
Quindi a cosa serve.
Bene, l'uso è che permette di attivare se c'è qualche abbandono nelle ligazioni del bagno.
E quindi, per utilizzarlo, aggiungiamo un treno di auto pensiero che mette il modulo in perfetto tranciato.
Quindi abbiamo finito con la funzione init.
Abbiamo le nostre convoluzioni abbiamo il CME, abbiamo le nostre due reti neurali separate per il
critico e l'attore e tutti i pesi e i pregiudizi sono ben inizializzati.
Quindi va tutto bene.
Siamo pronti per passare al prossimo passo che è quello di rendere la funzione di forward
che naturalmente inoltrerà il segnale sin dall'inizio con le immagini di input originali in tutto il cervello fino
a quando non otterremo l'output.
Quindi facciamolo nel prossimo tutorial.
E fino ad allora goditi l'intelligenza artificiale.