WEBVTT

00:00.680 --> 00:05.570
Ciao e bentornati al corso sull'apprendimento approfondito nel tutorial di oggi, stiamo parlando della

00:05.600 --> 00:06.600
discesa del gradiente.

00:06.890 --> 00:13.610
Ciò che abbiamo appreso in precedenza è che affinché una rete neurale apprenda che cosa deve

00:13.610 --> 00:21.140
accadere è la propagazione posteriore e cioè quando l'errore la differenza o la somma delle differenze quadratiche tra

00:21.170 --> 00:28.300
y hat e Y è tornata propagata attraverso la rete neurale ei pesi sono adeguati di conseguenza.

00:28.520 --> 00:34.220
Così l'abbiamo visto e oggi impareremo esattamente come vengono regolati questi pesi.

00:34.400 --> 00:35.930
Quindi diamo un'occhiata.

00:36.080 --> 00:44.030
in azione dove abbiamo un valore di input quindi dobbiamo aspettare una funzione di attivazione viene applicata.

00:44.030 --> 00:52.280
Questa è la nostra versione molto semplice di un lavoro neurale una percettività Trauner una singola rete feedforward

00:52.280 --> 00:57.000
feedforward e quello che possiamo vedere qui è l'intero processo

00:56.990 --> 01:01.850
Abbiamo capito e quindi lo confrontiamo con il valore reale che calcoliamo la funzione di costo.

01:01.850 --> 01:05.420
Quindi, come possiamo ridurre al minimo la funzione di costo.

01:05.420 --> 01:07.370
Cosa possiamo fare a riguardo.

01:07.370 --> 01:14.750
e vediamo quale è l'aspetto migliore e quello che facciamo è, ad esempio, proviamo per esempio diciamo per esempio un

01:14.750 --> 01:20.990
migliaio di pesi e li proveremmo che otterrebbe qualcosa di simile per la funzione di costo e

01:21.080 --> 01:26.240
questo è un grafico sull'asse Y del cross-funzionale dell'asse verticale sull'asse orizzontale del cappello.

01:26.810 --> 01:32.900
Bene, un approccio per farlo è un approccio a forza bruta in cui prendiamo tutti i diversi

01:32.900 --> 01:34.770
pesi possibili e li guardiamo

01:34.860 --> 01:39.200
E perché puoi vedere le formule che avevo meno Y al quadrato.

01:39.230 --> 01:42.470
Questo è ciò che la funzione di costo sarebbe simile a quella.

01:42.670 --> 01:47.830
E fondamentalmente troverai il migliore qui.

01:47.950 --> 01:50.980
Quindi molto semplice approccio molto intuitivo.

01:50.980 --> 01:53.200
Perché non fare questo metodo di forza bruta.

01:53.200 --> 02:01.630
un migliaio di costi diversi per un migliaio di parametri o ingressi diversi per i pesi e vedere quale funziona meglio.

02:01.690 --> 02:03.030
Perché non provare

02:03.030 --> 02:04.230
Troverete il migliore in questo modo.

02:04.420 --> 02:10.270
Bene, se hai un solo modo per ottimizzare questo potrebbe funzionare ma, man mano che aumenti il

02:10.480 --> 02:16.630
​​numero di pesi, aumenti il ​​numero di Synopsys nella tua rete, devi affrontare la maledizione della dimensionalità.

02:16.630 --> 02:19.370
E quindi qual è la causa della dimensionalità.

02:19.450 --> 02:24.510
Il modo migliore per descriverlo o spiegarlo è semplicemente guardare un esempio pratico.

02:24.640 --> 02:30.610
Quindi ricorda questo esempio che abbiamo avuto quando stavamo parlando di come le reti

02:30.610 --> 02:37.120
neurali funzionino effettivamente dove stavamo costruendo o gestendo una rete neurale per una valutazione di proprietà.

02:37.120 --> 02:43.030
Quindi questo è quello che sembrava quando è stato addestrato già bene quando non è allenato prima di essere addestrato

02:43.030 --> 02:45.290
prima di sapere quale sono i pesi.

02:45.550 --> 02:47.640
La rete neurale attuale ha questo aspetto.

02:47.730 --> 02:54.860
Giusto perché abbiamo tutte queste diverse sinossi possibili e dobbiamo ancora allenare i pesi e qui

02:55.280 --> 03:01.190
abbiamo un totale di 25 pesi, quindi quattro volte cinque all'inizio più altri cinque

03:01.310 --> 03:03.430
dal totale 25 dei pesi.

03:03.680 --> 03:09.060
E vediamo come potremmo possibilmente forza brutale in 25 modi.

03:09.070 --> 03:12.610
Questa è una rete neurale molto semplice qui.

03:12.620 --> 03:20.630
Molto semplice un solo colpo e come possiamo forzare la nostra forza attraverso una rete neurale di

03:20.630 --> 03:21.320
queste dimensioni.

03:21.320 --> 03:24.370
Bene, ci sono alcuni semplici calcoli matematici.

03:24.410 --> 03:25.890
Abbiamo 25 pesi.

03:25.910 --> 03:30.410
Questo significa che se avremo mille combinazioni che risolveremo per ogni peso,

03:30.410 --> 03:37.790
il numero totale di combinazioni è 1000 alla potenza 25 o mille o 10 per analizzare cinque combinazioni diverse.

03:37.790 --> 03:48.260
Ora vediamo come Sun ha il modo di illuminare il supercomputer di Fosse del mondo a partire da giugno 2016 come si avvicinerebbe

03:48.260 --> 03:49.700
a questo problema.

03:49.700 --> 03:52.390
Proprio così legare Sunway che si accende.

03:52.680 --> 04:00.980
Sembra che questo sia un enorme edificio praticamente per questo supercomputer e ha ottenuto il Guinness

04:01.310 --> 04:04.940
World Record per essere il supercomputer Fosses.

04:05.210 --> 04:12.620
In questo momento è il supercomputer più veloce del mondo e in qualche modo le luci possono funzionare

04:12.620 --> 04:15.420
ad una velocità di 93 di flop.

04:15.510 --> 04:19.900
Flop sta per operazione fluttuante al secondo.

04:19.970 --> 04:23.310
Quindi può fare novantatre per l'olio di potenza.

04:23.340 --> 04:28.010
Volte dieci alla potenza di 15 operazioni fluttuanti al secondo.

04:28.100 --> 04:32.340
È così veloce nel confronto.

04:32.450 --> 04:38.210
I computer medi in questo momento fanno come poco più di un gigaflop e così via.

04:38.210 --> 04:41.320
Quindi mi piace il genere di quelle gamme.

04:41.450 --> 04:44.290
Meno della luce del tipo TEI Sunway.

04:44.390 --> 04:47.950
Quindi all'improvviso è tutta una bugia che è all'avanguardia della tecnologia.

04:48.360 --> 04:57.920
E ipoteticamente, si può fare una prova su una combinazione di quattro sulla propria rete in un floppy disk e

04:58.010 --> 05:04.220
un'operazione fluttuante che non è possibile, non è pratico perché sono necessarie più

05:04.220 --> 05:09.470
operazioni mobili per testare un singolo peso nella propria piccolo.

05:09.480 --> 05:11.270
Ma anche Diamo un vantaggio.

05:11.270 --> 05:17.990
Diciamo che può farlo in un mondo ideale in cui può farlo in un'unica operazione mobile e può eseguire un

05:18.290 --> 05:19.900
test per ogni operazione floating.

05:20.120 --> 05:23.970
Ciò significa che Doddridge richiederà ancora una tendenza a cinque.

05:24.080 --> 05:33.080
Dividi da novanta tre volte dieci a circa 15 secondi per arrivare a eseguire tutti quei test alla forza bruta attraverso

05:33.080 --> 05:34.120
quella rete.

05:34.130 --> 05:39.860
Quindi questo significa che uno o approssimativo tende ad alimentare 58 secondi e che è lo stesso

05:39.860 --> 05:42.120
che tende alla potenza di 50 anni.

05:42.170 --> 05:49.910
Questo è un numero enorme che è più lungo di quello che l'universo è esistito e che

05:49.910 --> 05:59.150
sicuramente non sta andando semplicemente in questo numero è così enorme che non funzionerà proprio per noi nella nostra ottimizzazione.

05:59.150 --> 06:00.020
Quindi eccoci.

06:00.140 --> 06:01.220
Questo è un no no

06:01.220 --> 06:05.450
Anche sul fanale posteriore supercomputer Sunway più veloce del mondo.

06:05.450 --> 06:10.140
Quindi dobbiamo trovare un approccio diverso su come troveremo il peso ottimale.

06:10.310 --> 06:15.890
A proposito, questa nostra rete neurale era molto semplice e se le reti

06:15.890 --> 06:22.740
neurali sembravano qualcosa di simile o addirittura più grande di così allora sì, proprio non succederà mai.

06:22.760 --> 06:28.490
Quindi il metodo che dovremmo osservare è chiamato discesa del gradiente e forse ne hai già sentito parlare.

06:28.580 --> 06:30.770
Se no, scopriremo cosa è adesso.

06:30.840 --> 06:41.780
Quindi c'è la nostra funzione di costo e ora andiamo a vedere come possiamo promuovere un modo più rapido per

06:41.840 --> 06:43.190
trovare l'opzione migliore.

06:43.190 --> 06:45.920
Quindi diciamo che iniziamo da qualche parte dove inizierai da qualche parte.

06:45.920 --> 06:47.390
Quindi iniziamo da li '.

06:47.390 --> 06:56.990
punto in alto a sinistra quello che faremo sarà guardare l'angolo della nostra funzione di costo a quel punto, quindi basterà dire che

06:56.990 --> 07:00.800
è ciò che viene chiamato gradiente perché devi differenziare.

07:00.800 --> 07:02.090
E da quel

07:02.150 --> 07:04.190
Non stiamo andando a guardare le equazioni matematiche.

07:04.250 --> 07:09.370
Forniremo alcuni suggerimenti su ulteriori letture alla fine della prossima lezione.

07:09.740 --> 07:17.150
Ma in pratica devi solo differenziare per scoprire quale sia la pendenza in quel punto specifico e scoprire se

07:17.150 --> 07:19.330
la pendenza è positiva o negativa.

07:19.450 --> 07:25.640
Se la pendenza è negativa come in questo caso significa che stai andando in discesa così a destra è in

07:25.640 --> 07:27.350
discesa a sinistra è in salita.

07:27.350 --> 07:29.780
E da lì significa che devi andare bene.

07:29.780 --> 07:31.510
Fondamentalmente devi andare in discesa.

07:31.670 --> 07:33.070
Ed è quello che faremo.

07:33.090 --> 07:35.510
Boom fa un passo a destra.

07:35.510 --> 07:37.450
La palla rotola giù di nuovo.

07:37.460 --> 07:38.300
Stessa cosa.

07:38.390 --> 07:44.120
Calcoli la pendenza e la pendenza è positiva, il che significa che lo scrittore in salita a sinistra è in discesa e

07:44.120 --> 07:46.560
devi andare a sinistra e sei a palla in giù.

07:46.790 --> 07:54.900
è così che trovi le migliori WAITES La migliore situazione che minimizza la tua funzione di costo.

07:55.040 --> 08:04.520
E ancora calcoli la pendenza e sei tutto il toro proprio lì, ecco come si trova in termini semplici

08:04.590 --> 08:08.970
Ovviamente non sarà come una palla che si muoverà con un approccio a

08:09.210 --> 08:14.970
zigzag ma è più facile da ricordare o è più divertente guardarla come una palla che rotola.

08:14.970 --> 08:19.980
Ma in realtà sì, sarà solo un approccio graduale che sarà

08:19.980 --> 08:21.920
un metodo a zigzag.

08:22.050 --> 08:25.020
Sì e c'è anche un sacco di altri elementi.

08:25.050 --> 08:35.190
come, ad esempio, perché, come perché scende perché non va oltre la linea in modo che potrebbe essere saltato fuori da questo verso l'alto invece che

08:35.190 --> 08:40.740
verso il basso e cose del genere, quindi ci sono parametri che è possibile modificare.

08:40.740 --> 08:41.950
Ci sono cose

08:41.970 --> 08:45.570
E di nuovo menzioneremo dove potrete saperne di più su questo.

08:45.580 --> 08:51.090
E in più avremo questo in un'applicazione pratica, ma nel più semplice approccio intuitivo questo è ciò che

08:51.090 --> 08:51.770
sta accadendo.

08:51.780 --> 08:56.670
Stiamo arrivando fino in fondo solo per capire in che direzione dobbiamo andare.

08:56.700 --> 09:01.890
Invece di forzare brutalmente attraverso migliaia e migliaia e milioni e miliardi e

09:01.890 --> 09:02.920
quadrilioni di combinazioni.

09:03.030 --> 09:09.920
un'occhiata a dove si trova in modo inclinato così giusto come il tuo o ti immagini di stare su una collina.

09:09.910 --> 09:11.690
Possiamo semplicemente ogni volta dare

09:11.700 --> 09:15.870
In che modo si sente che sta andando verso il basso e in qualunque modo stia andando giù e tu continui a

09:15.870 --> 09:20.760
camminare in quel modo che ti piace fare 50 passi e poi valutare di nuovo OK in che modo sta andando verso il basso in

09:21.090 --> 09:21.470
questo modo.

09:21.500 --> 09:24.620
OK e prenderò 50 passi o meno fare 40 passi in questo modo.

09:24.690 --> 09:28.160
Quindi diventa sempre meno quando ti avvicini.

09:28.530 --> 09:32.720
Quindi, ecco un esempio di discesa del gradiente applicato in uno spazio bidimensionale.

09:32.720 --> 09:36.450
Quindi quello era un esempio unidimensionale.

09:36.570 --> 09:41.880
Qui abbiamo uno spazio bidimensionale per la discesa del gradiente come puoi vedere si sta

09:41.970 --> 09:48.450
avvicinando al minimo ed è anche chiamato discesa del gradiente perché stai scendendo nel minimo della funzione di

09:48.480 --> 09:53.430
costo e scopri che ha una discesa del gradiente applicata in tre dimensioni.

09:53.430 --> 09:58.740
Questo è quello che sembra se proiettassi su due dimensioni che puoi vedere a zigzagando

09:58.740 --> 09:59.600
nel minimo.

09:59.700 --> 10:03.810
Quindi ecco che era indice di discesa gradiente di Tauriel. Parleremo di stocastico.

10:03.810 --> 10:06.850
La discesa dei gradienti è in realtà una continuazione di questo tutorial.

10:07.020 --> 10:08.720
E non vedo l'ora di vederti lì.

10:08.740 --> 10:10.610
E così la prossima volta goditi un apprendimento profondo.
