WEBVTT

00:00.480 --> 00:06.650
Ciao e benvenuto in questo tutorial ora faremo questa seconda funzione per inizializzare i pesi.

00:06.840 --> 00:11.190
E questo sarà usato per ottenere un apprendimento ottimale.

00:11.340 --> 00:13.160
In realtà questi pesi.

00:13.230 --> 00:21.960
Quindi la seconda funzione che chiameremo pesi lo sottolinea e ci vorrà come argomento l'oggetto

00:22.200 --> 00:26.020
e quale rappresenterà la rete neurale.

00:26.220 --> 00:27.080
Quindi questo è tutto.

00:27.090 --> 00:32.300
E poi i due punti e ora entriamo nella funzione per definire cosa volevamo fare.

00:32.580 --> 00:38.610
che volevamo fare è inizializzare i pesi della nuova rete in modo tale da ottenere un apprendimento ottimale.

00:38.610 --> 00:39.920
Quindi in pratica quello

00:40.080 --> 00:43.590
Quindi questo non sembrerà particolarmente intuitivo.

00:43.590 --> 00:46.740
Questo si basa su documenti di ricerca ed esperimenti.

00:46.740 --> 00:52.440
Iniziamo a inizializzare i pesi in un modo specifico che non abbiamo mai visto prima, ma

00:52.440 --> 00:54.740
credetemi che ottimizzerà il processo di apprendimento.

00:54.930 --> 01:00.760
Quindi abbiamo appena implementato senza entrare nei dettagli del perché inizializziamo i pesi in questo modo.

01:00.960 --> 01:06.390
trucco che sarà usato in seguito per fare la distinzione tra la convoluzione e

01:06.660 --> 01:13.260
la piena connessione perché sai che la nostra IA avrà occhi e quindi avrà degli strati convoluzionali.

01:13.260 --> 01:15.290
E quindi inizieremo usando un

01:15.330 --> 01:20.550
Ovviamente avrà anche alcuni livelli completamente connessi e avremo una diversa inizializzazione dei

01:20.550 --> 01:23.550
pesi per questi due tipi di connessioni.

01:23.820 --> 01:28.620
Quindi useremo questo trucco per separare questi due tipi di connessioni e

01:28.890 --> 01:34.160
quindi useremo alcune condizioni per ottenere la diversa inizializzazione per ciascuna di queste connessioni.

01:34.170 --> 01:40.410
Quindi questo trucco è creare una nuova variabile che chiameremo il cognome e che sarà

01:40.410 --> 01:44.630
chiamata ad un oggetto così e rappresenta la rete neurale.

01:44.670 --> 01:47.140
Ma è un oggetto che vedremo più tardi.

01:47.430 --> 01:54.290
E otterremo l'attributo speciale da questo oggetto che sarà Kolesnik con doppio trattino di sottolineatura di

01:54.390 --> 02:01.570
prima classe doppio punto di sottolineatura doppio punto di sottolineatura di nuovo nome e quasi lì.

02:01.610 --> 02:03.100
Un altro doppio segno di sottolineatura.

02:03.360 --> 02:10.500
Quindi questo è un trucco piuttosto brutto per cercare il tipo di connessione del nostro nuovo oggetto di rete, ma questo ci

02:10.500 --> 02:12.100
darà esattamente quello che vuoi.

02:12.210 --> 02:15.300
Vedrai che avrà senso quando partiremo se le condizioni.

02:15.540 --> 02:19.710
E dal modo in cui parliamo delle condizioni possiamo fermarli ora.

02:19.710 --> 02:26.170
E quindi quello che faremo ora è iniziare la prima condizione che ci porterà nel primo caso.

02:26.280 --> 02:34.770
Questo è se la connessione è una convoluzione e quindi scrivere questa condizione se il nome della classe va

02:35.010 --> 02:35.510
bene.

02:35.510 --> 02:45.180
Qui usiamo un metodo che trova il metodo find e inside quando viene inserito tra virgolette per convoluzione.

02:45.300 --> 02:54.330
Quindi, se il nome della classe lo trova, faremo qualcosa di diverso da meno uno in realtà se

02:54.540 --> 02:57.900
abbiamo una convoluzione perché Manasquan significa no.

02:58.200 --> 03:03.360
Bene in quel caso faremo un'inizializzazione speciale dei pesi.

03:03.420 --> 03:07.830
Quindi questa condizione qui significa che abbiamo una connessione di convoluzione.

03:07.830 --> 03:13.910
In tal caso, ciò che facciamo è eseguire questa specifica inizializzazione del modo in cui vogliamo farlo.

03:14.040 --> 03:17.930
E così è lì che arriveranno tutte le cose non intuitive.

03:18.060 --> 03:21.990
Inizieremo creando una variabile che chiameremo.

03:22.180 --> 03:29.260
E questa forma di corte così leggera sottolinea la forma sarà una lista che fondamentalmente contiene la forma dei

03:29.530 --> 03:31.310
pesi nella nostra nuova rete.

03:31.580 --> 03:35.800
E così usiamo la funzione lista per creare una lista.

03:35.930 --> 03:42.880
E dentro metteremo nella rete neurale quel peso che sarà il peso della rete

03:42.880 --> 03:43.500
neurale.

03:43.570 --> 03:50.890
dati e le dimensioni delle dimensioni ci porteranno la forma di questi pesi nella connessione di convoluzione.

03:50.890 --> 03:59.670
Ma nella connessione di convoluzione e per ottenere la forma di questi pesi usiamo un altro attributo, ovvero che i

03:59.680 --> 04:06.580
Così ora la forma del peso contiene in un elenco la forma dei pesi e le connessioni di convoluzione

04:06.880 --> 04:08.300
della nostra rete e.

04:08.460 --> 04:14.510
Va bene quindi abbiamo la forma del peso per inizializzare i pesi di questa connessione di convoluzione.

04:14.560 --> 04:16.650
Avremo bisogno di due valori.

04:16.650 --> 04:22.920
Il primo è il prodotto della prima dimensione dalla seconda nomina di questa terza dimensione.

04:22.930 --> 04:27.960
questo momento, quindi avremo anche bisogno di ottenere il tempo degli zeri antiche volte la seconda

04:27.960 --> 04:33.570
e qualche volta la terza dimensione e poi useremo questi due valori nella competizione di come inizializziamo il pesi.

04:33.660 --> 04:35.660
Questo è ciò che otterremo in

04:35.670 --> 04:37.920
Quindi portiamo questo attraverso questo primo prodotto.

04:37.920 --> 04:46.050
Noi lo chiamiamo divertente e questo sarà uguale al prodotto e useremo la funzione prod che è

04:46.050 --> 04:55.270
una funzione di non-Thai che ha una scorciatoia e P So MP che PRUD e inside prod introduciamo ciò che

04:55.260 --> 04:56.680
vogliamo fare Prodotto.

04:57.180 --> 05:02.590
E così come abbiamo detto è il diamante e un due e tre della nostra forma di peso.

05:02.880 --> 05:10.430
E così per ottenere questo possiamo prendere una forma d'onda e ottenere gli indici di questi motori a tre linee.

05:10.500 --> 05:15.800
E così abbiamo impostato Simonton uno fino a 10 pollici e tre inclusi.

05:16.020 --> 05:18.770
Quindi un dungeon per esclusi.

05:19.050 --> 05:24.230
Ed è così che possiamo ottenerlo per il limite superiore qui non è incluso.

05:24.440 --> 05:35.410
Quindi questo è ciò che vogliamo poi Lo stesso per divertimento, come abbiamo detto Fan, sarà il prodotto del danno nella dimensione

05:35.410 --> 05:39.650
temporale zero due volte di cui ho menzionato tre.

05:39.730 --> 05:45.490
E quindi qui possiamo indicizzare da due inclusi a quattro esclusi.

05:45.730 --> 05:52.110
In questo modo si otterrà come prodotto del tempo e due e tre e quindi

05:52.180 --> 05:58.900
potremo moltiplicarlo per design e zero a cui possiamo accedere con zero balena di zero indice.

05:59.230 --> 06:16.990
è l'unica volta due volte su tre e appena sotto abbiamo zero volte due volte in tre dei nostri pesi.

06:16.990 --> 06:20.320
Quindi per riassumere questo

06:20.320 --> 06:25.390
Va bene, ora utilizzeremo questi due valori di fan in e fan out per

06:25.870 --> 06:33.280
procedere all'inizializzazione, perché stiamo andando a calcolare un nuovo valore poiché chiameremo W bound e questo è uguale alla radice

06:33.280 --> 06:39.530
quadrata che possiamo ottenere con una funzione e P da e con quella come qr t.

06:39.520 --> 06:40.830
Secondo come prima.

06:40.840 --> 06:46.710
Quindi la radice quadrata di 6 divisa aprendosi a ventaglio.

06:46.820 --> 06:57.340
Quindi fan fan del fan che abbiamo questo W down qui rappresenta in qualche modo la dimensione delle decine di

06:57.340 --> 06:58.140
pesi.

06:58.240 --> 06:59.740
E perché abbiamo capito?

06:59.740 --> 07:06.130
È perché poi quello che stavamo per fare adesso è di voler generare dei pesi casuali

07:06.130 --> 07:10.070
che sono inversamente proporzionali alla dimensione del tensore dei pesi.

07:10.180 --> 07:18.580
Perché in effetti quello che stiamo per fare ora è prendere la nostra nuova rete e quindi ottenere il suo peso.

07:18.580 --> 07:25.260
Quindi, continuando a prendere il peso dell'attributo, accedi ai suoi dati che sono il tensore stesso.

07:26.100 --> 07:33.330
E poi da questo tensore di pesi genereremo dei pesi casuali che sono inversamente

07:33.330 --> 07:37.110
proporzionali alla dimensione dei pesi del tensore.

07:37.180 --> 07:45.520
mettere un limite inferiore che sarà inferiore a W e il limite superiore che sarà più indietro di W.

07:45.520 --> 07:49.090
E così in questa funzione uniforme ora dobbiamo

07:49.750 --> 07:52.460
OK, questo è per i pesi.

07:52.510 --> 07:57.460
E ora abbiamo bisogno di inizializzare il pregiudizio e buone notizie per il pregiudizio.

07:57.460 --> 07:59.130
Sarà molto più semplice.

07:59.200 --> 08:07.650
Iniziamo a inizializzarli tutti con degli zeri, quindi per ottenere questi acquisti li prendiamo dal nostro modello, naturalmente, questa è la

08:08.070 --> 08:09.470
nostra nuova rete.

08:09.930 --> 08:15.790
E quindi l'attributo per il bias è bias quindi lo stesso con l'accesso ai dati.

08:16.200 --> 08:23.430
riempire bene il tensore di bias con zeri con le regole che dobbiamo specificare che vogliamo riempirlo di zero qui.

08:23.580 --> 08:29.970
E poi useremo un metodo che è il metodo di sottolineatura di Phil che, come potreste aver

08:29.970 --> 08:31.600
indovinato, è usato per

08:31.700 --> 08:34.230
Ed ecco perché sto mettendo qui Zero.

08:34.560 --> 08:40.210
Va bene riassumere che generiamo pesi casuali inversamente proporzionali alle dimensioni dei pesi

08:40.210 --> 08:43.860
del tensore e abbiamo inizializzato il dispositivo con zeri.

08:43.860 --> 08:49.850
Va bene così è stato per l'azione di Inizializzazione alle connessioni di convoluzione.

08:49.880 --> 08:52.880
Ora dobbiamo fare lo stesso per la connessione completa.

08:53.300 --> 09:01.470
questo trucco useremo il nome di prima classe che è questa variabile che contiene i diversi nomi delle connessioni.

09:01.470 --> 09:05.160
E quindi aggiungeremo una nuova condizione e se prendiamo

09:05.160 --> 09:14.440
Quindi, se il nome della classe è lo stesso, usiamo il metodo find a cui, quando si inseriscono le virgolette questa volta, una connessione completa

09:14.580 --> 09:19.050
che è una classica connessione lineare in una classica rete neurale artificiale.

09:19.390 --> 09:27.160
E quindi il nome per questo è lineare e dice che useremo questo trucco per dire che vogliamo che

09:27.160 --> 09:35.810
sia diverso da meno uno in modo che questa cosa di fine classe sia un lino fine diverso da meno uno significa

09:35.810 --> 09:41.360
se la connessione è in il là che è se abbiamo una connessione classica.

09:41.360 --> 09:44.620
Quindi, in quel caso, come iniziamo a inizializzare i pesi.

09:44.840 --> 09:47.260
Beh, sarà esattamente la stessa cosa

09:47.270 --> 09:54.020
Introdurremo il voivoda di baleniere che non cancellerà il primo perché in questo caso

09:54.050 --> 10:01.430
o in quel caso non sarà lo stesso, quindi potremo invertire completamente che poi introdurremo

10:01.430 --> 10:08.600
un fan in variabile che questa volta non sarà uguale al prodotto di queste tre

10:08.600 --> 10:09.440
dimensioni.

10:09.650 --> 10:17.090
Ma in realtà questa volta sarà uguale al semplice design menzionarne uno.

10:17.380 --> 10:23.870
E questo perché per la connessione completa ci sono meno connessioni che in una connessione di convoluzione.

10:23.880 --> 10:29.970
Ora questa è un'intuizione di conferenze alla fine e nella sezione della CNN c'è meno menzione per

10:29.970 --> 10:32.640
una connessione completa piuttosto che per una convoluzione.

10:32.640 --> 10:39.840
Quindi in pratica prendiamo questo tempo in un anno, poi diciamo che avremo una variabile

10:39.840 --> 10:48.780
di fan out che verrà poi utilizzata per calcolare W. i limiti e questa dominazione fan sarà la forma dei pesi

10:49.160 --> 10:49.890
dell'indice 0.

10:49.890 --> 10:51.470
Questo è il diamante zero.

10:51.480 --> 10:55.290
Va bene allora a GWB e sarà lo stesso.

10:55.470 --> 11:01.780
Sarà la radice quadrata di 6 diviso per la somma offensiva e scoprirà.

11:01.830 --> 11:04.660
Quindi eccoci.

11:04.880 --> 11:11.870
tipo di inizializzazione questa volta con una ventola diversa in entrata e in uscita e quindi diversa w .

11:11.870 --> 11:20.990
E poi la buona notizia è che è esattamente la stessa di prima che usiamo la funzione uniforme per i pesi e la funzione

11:20.990 --> 11:24.440
di riempimento per il bias per ottenere lo stesso

11:24.560 --> 11:27.520
Quindi questo è lo stesso principio che è la stessa idea.

11:27.530 --> 11:32.660
L'unica cosa che cambia qui è che abbiamo meno dominazioni per la piena connessione

11:32.780 --> 11:39.160
e quindi una considerazione più semplice di questo limite dei pesi qui per generare questi pesi casuali.

11:39.200 --> 11:45.210
Ma la buona notizia è che ora non sono solo questi pesi e funziona molto.

11:45.380 --> 11:47.150
Ma ora abbiamo due strumenti.

11:47.330 --> 11:50.180
E così siamo pronti per iniziare a costruire il cervello.

11:50.300 --> 11:51.280
Quindi non posso aspettare.

11:51.290 --> 11:53.500
Questa sarà ovviamente la parte più eccitante.

11:53.510 --> 11:57.630
Questo era solo per scaldarci e prepararci per la grande cosa.

11:57.650 --> 11:59.990
Quindi ci penseremo noi nel prossimo tutorial.

12:00.080 --> 12:02.590
Beh, in realtà ci vorranno diversi tutorial ovviamente.

12:02.690 --> 12:04.350
Inizieremo col fare gli occhi.

12:04.520 --> 12:10.040
E poi ricordiamo che aggiungeremo un'illustrazione per apprendere le proprietà temporali dell'input e quindi

12:10.040 --> 12:12.170
ci occuperemo dell'attore e del critico.

12:12.170 --> 12:17.000
Ed è lì che useremo questo per funzionare normalizzato viene inizializzatore e pesi in esso.

12:17.120 --> 12:18.590
Quindi non vedo l'ora di farlo.

12:18.590 --> 12:20.630
Faremo qualcosa di molto potente ora.

12:20.630 --> 12:22.510
Quindi preparati per questo.

12:22.790 --> 12:24.250
Fino ad allora goditi l'intelligenza artificiale.
