Ciao e benvenuto in questo tutorial ora faremo questa seconda funzione per inizializzare i pesi.
E questo sarà usato per ottenere un apprendimento ottimale.
In realtà questi pesi.
Quindi la seconda funzione che chiameremo pesi lo sottolinea e ci vorrà come argomento l'oggetto
e quale rappresenterà la rete neurale.
Quindi questo è tutto.
E poi i due punti e ora entriamo nella funzione per definire cosa volevamo fare.
che volevamo fare è inizializzare i pesi della nuova rete in modo tale da ottenere un apprendimento ottimale.
Quindi in pratica quello
Quindi questo non sembrerà particolarmente intuitivo.
Questo si basa su documenti di ricerca ed esperimenti.
Iniziamo a inizializzare i pesi in un modo specifico che non abbiamo mai visto prima, ma
credetemi che ottimizzerà il processo di apprendimento.
Quindi abbiamo appena implementato senza entrare nei dettagli del perché inizializziamo i pesi in questo modo.
trucco che sarà usato in seguito per fare la distinzione tra la convoluzione e
la piena connessione perché sai che la nostra IA avrà occhi e quindi avrà degli strati convoluzionali.
E quindi inizieremo usando un
Ovviamente avrà anche alcuni livelli completamente connessi e avremo una diversa inizializzazione dei
pesi per questi due tipi di connessioni.
Quindi useremo questo trucco per separare questi due tipi di connessioni e
quindi useremo alcune condizioni per ottenere la diversa inizializzazione per ciascuna di queste connessioni.
Quindi questo trucco è creare una nuova variabile che chiameremo il cognome e che sarà
chiamata ad un oggetto così e rappresenta la rete neurale.
Ma è un oggetto che vedremo più tardi.
E otterremo l'attributo speciale da questo oggetto che sarà Kolesnik con doppio trattino di sottolineatura di
prima classe doppio punto di sottolineatura doppio punto di sottolineatura di nuovo nome e quasi lì.
Un altro doppio segno di sottolineatura.
Quindi questo è un trucco piuttosto brutto per cercare il tipo di connessione del nostro nuovo oggetto di rete, ma questo ci
darà esattamente quello che vuoi.
Vedrai che avrà senso quando partiremo se le condizioni.
E dal modo in cui parliamo delle condizioni possiamo fermarli ora.
E quindi quello che faremo ora è iniziare la prima condizione che ci porterà nel primo caso.
Questo è se la connessione è una convoluzione e quindi scrivere questa condizione se il nome della classe va
bene.
Qui usiamo un metodo che trova il metodo find e inside quando viene inserito tra virgolette per convoluzione.
Quindi, se il nome della classe lo trova, faremo qualcosa di diverso da meno uno in realtà se
abbiamo una convoluzione perché Manasquan significa no.
Bene in quel caso faremo un'inizializzazione speciale dei pesi.
Quindi questa condizione qui significa che abbiamo una connessione di convoluzione.
In tal caso, ciò che facciamo è eseguire questa specifica inizializzazione del modo in cui vogliamo farlo.
E così è lì che arriveranno tutte le cose non intuitive.
Inizieremo creando una variabile che chiameremo.
E questa forma di corte così leggera sottolinea la forma sarà una lista che fondamentalmente contiene la forma dei
pesi nella nostra nuova rete.
E così usiamo la funzione lista per creare una lista.
E dentro metteremo nella rete neurale quel peso che sarà il peso della rete
neurale.
dati e le dimensioni delle dimensioni ci porteranno la forma di questi pesi nella connessione di convoluzione.
Ma nella connessione di convoluzione e per ottenere la forma di questi pesi usiamo un altro attributo, ovvero che i
Così ora la forma del peso contiene in un elenco la forma dei pesi e le connessioni di convoluzione
della nostra rete e.
Va bene quindi abbiamo la forma del peso per inizializzare i pesi di questa connessione di convoluzione.
Avremo bisogno di due valori.
Il primo è il prodotto della prima dimensione dalla seconda nomina di questa terza dimensione.
questo momento, quindi avremo anche bisogno di ottenere il tempo degli zeri antiche volte la seconda
e qualche volta la terza dimensione e poi useremo questi due valori nella competizione di come inizializziamo il pesi.
Questo è ciò che otterremo in
Quindi portiamo questo attraverso questo primo prodotto.
Noi lo chiamiamo divertente e questo sarà uguale al prodotto e useremo la funzione prod che è
una funzione di non-Thai che ha una scorciatoia e P So MP che PRUD e inside prod introduciamo ciò che
vogliamo fare Prodotto.
E così come abbiamo detto è il diamante e un due e tre della nostra forma di peso.
E così per ottenere questo possiamo prendere una forma d'onda e ottenere gli indici di questi motori a tre linee.
E così abbiamo impostato Simonton uno fino a 10 pollici e tre inclusi.
Quindi un dungeon per esclusi.
Ed è così che possiamo ottenerlo per il limite superiore qui non è incluso.
Quindi questo è ciò che vogliamo poi Lo stesso per divertimento, come abbiamo detto Fan, sarà il prodotto del danno nella dimensione
temporale zero due volte di cui ho menzionato tre.
E quindi qui possiamo indicizzare da due inclusi a quattro esclusi.
In questo modo si otterrà come prodotto del tempo e due e tre e quindi
potremo moltiplicarlo per design e zero a cui possiamo accedere con zero balena di zero indice.
è l'unica volta due volte su tre e appena sotto abbiamo zero volte due volte in tre dei nostri pesi.
Quindi per riassumere questo
Va bene, ora utilizzeremo questi due valori di fan in e fan out per
procedere all'inizializzazione, perché stiamo andando a calcolare un nuovo valore poiché chiameremo W bound e questo è uguale alla radice
quadrata che possiamo ottenere con una funzione e P da e con quella come qr t.
Secondo come prima.
Quindi la radice quadrata di 6 divisa aprendosi a ventaglio.
Quindi fan fan del fan che abbiamo questo W down qui rappresenta in qualche modo la dimensione delle decine di
pesi.
E perché abbiamo capito?
È perché poi quello che stavamo per fare adesso è di voler generare dei pesi casuali
che sono inversamente proporzionali alla dimensione del tensore dei pesi.
Perché in effetti quello che stiamo per fare ora è prendere la nostra nuova rete e quindi ottenere il suo peso.
Quindi, continuando a prendere il peso dell'attributo, accedi ai suoi dati che sono il tensore stesso.
E poi da questo tensore di pesi genereremo dei pesi casuali che sono inversamente
proporzionali alla dimensione dei pesi del tensore.
mettere un limite inferiore che sarà inferiore a W e il limite superiore che sarà più indietro di W.
E così in questa funzione uniforme ora dobbiamo
OK, questo è per i pesi.
E ora abbiamo bisogno di inizializzare il pregiudizio e buone notizie per il pregiudizio.
Sarà molto più semplice.
Iniziamo a inizializzarli tutti con degli zeri, quindi per ottenere questi acquisti li prendiamo dal nostro modello, naturalmente, questa è la
nostra nuova rete.
E quindi l'attributo per il bias è bias quindi lo stesso con l'accesso ai dati.
riempire bene il tensore di bias con zeri con le regole che dobbiamo specificare che vogliamo riempirlo di zero qui.
E poi useremo un metodo che è il metodo di sottolineatura di Phil che, come potreste aver
indovinato, è usato per
Ed ecco perché sto mettendo qui Zero.
Va bene riassumere che generiamo pesi casuali inversamente proporzionali alle dimensioni dei pesi
del tensore e abbiamo inizializzato il dispositivo con zeri.
Va bene così è stato per l'azione di Inizializzazione alle connessioni di convoluzione.
Ora dobbiamo fare lo stesso per la connessione completa.
questo trucco useremo il nome di prima classe che è questa variabile che contiene i diversi nomi delle connessioni.
E quindi aggiungeremo una nuova condizione e se prendiamo
Quindi, se il nome della classe è lo stesso, usiamo il metodo find a cui, quando si inseriscono le virgolette questa volta, una connessione completa
che è una classica connessione lineare in una classica rete neurale artificiale.
E quindi il nome per questo è lineare e dice che useremo questo trucco per dire che vogliamo che
sia diverso da meno uno in modo che questa cosa di fine classe sia un lino fine diverso da meno uno significa
se la connessione è in il là che è se abbiamo una connessione classica.
Quindi, in quel caso, come iniziamo a inizializzare i pesi.
Beh, sarà esattamente la stessa cosa
Introdurremo il voivoda di baleniere che non cancellerà il primo perché in questo caso
o in quel caso non sarà lo stesso, quindi potremo invertire completamente che poi introdurremo
un fan in variabile che questa volta non sarà uguale al prodotto di queste tre
dimensioni.
Ma in realtà questa volta sarà uguale al semplice design menzionarne uno.
E questo perché per la connessione completa ci sono meno connessioni che in una connessione di convoluzione.
Ora questa è un'intuizione di conferenze alla fine e nella sezione della CNN c'è meno menzione per
una connessione completa piuttosto che per una convoluzione.
Quindi in pratica prendiamo questo tempo in un anno, poi diciamo che avremo una variabile
di fan out che verrà poi utilizzata per calcolare W. i limiti e questa dominazione fan sarà la forma dei pesi
dell'indice 0.
Questo è il diamante zero.
Va bene allora a GWB e sarà lo stesso.
Sarà la radice quadrata di 6 diviso per la somma offensiva e scoprirà.
Quindi eccoci.
tipo di inizializzazione questa volta con una ventola diversa in entrata e in uscita e quindi diversa w .
E poi la buona notizia è che è esattamente la stessa di prima che usiamo la funzione uniforme per i pesi e la funzione
di riempimento per il bias per ottenere lo stesso
Quindi questo è lo stesso principio che è la stessa idea.
L'unica cosa che cambia qui è che abbiamo meno dominazioni per la piena connessione
e quindi una considerazione più semplice di questo limite dei pesi qui per generare questi pesi casuali.
Ma la buona notizia è che ora non sono solo questi pesi e funziona molto.
Ma ora abbiamo due strumenti.
E così siamo pronti per iniziare a costruire il cervello.
Quindi non posso aspettare.
Questa sarà ovviamente la parte più eccitante.
Questo era solo per scaldarci e prepararci per la grande cosa.
Quindi ci penseremo noi nel prossimo tutorial.
Beh, in realtà ci vorranno diversi tutorial ovviamente.
Inizieremo col fare gli occhi.
E poi ricordiamo che aggiungeremo un'illustrazione per apprendere le proprietà temporali dell'input e quindi
ci occuperemo dell'attore e del critico.
Ed è lì che useremo questo per funzionare normalizzato viene inizializzatore e pesi in esso.
Quindi non vedo l'ora di farlo.
Faremo qualcosa di molto potente ora.
Quindi preparati per questo.
Fino ad allora goditi l'intelligenza artificiale.