WEBVTT

00:00.840 --> 00:05.380
Ciao e bentornati al corso e apprendimento approfondito ora che abbiamo visto le tue reti

00:05.440 --> 00:08.280
in azione è tempo per noi di scoprire come imparano.

00:08.470 --> 00:10.480
Quindi iniziamo subito.

00:10.510 --> 00:16.100
Sono due approcci fondamentalmente diversi per ottenere un programma che faccia ciò che vuoi che faccia.

00:16.240 --> 00:24.610
Uno è codifica hard coded in cui si dicono effettivamente le regole specifiche del programma e quali risultati si

00:24.610 --> 00:25.120
desidera.

00:25.120 --> 00:30.940
E tu lo guidi per tutto il percorso e rendi conto di tutte le possibili

00:30.940 --> 00:33.130
opzioni che il programma deve affrontare.

00:33.310 --> 00:41.320
D'altra parte ci sono reti neurali in cui crei una struttura che consente al programma di capire cosa

00:41.800 --> 00:43.530
deve fare da solo.

00:43.530 --> 00:50.080
Quindi, in pratica, crei questa rete neurale in cui fornisci gli input, dici che cosa vuoi come output

00:50.110 --> 00:53.050
e poi lasci che capisca tutto da solo.

00:53.350 --> 00:59.890
Due approcci fondamentalmente diversi e questo è qualcosa da tenere a mente quando passiamo attraverso

00:59.890 --> 01:00.850
questi tutorial.

01:00.850 --> 01:06.180
Il nostro obiettivo è creare questa rete che poi impara da sola.

01:06.220 --> 01:14.570
esempio che posso darti ora è che questo verrà più avanti nel corso, ma per esempio è solo un esempio molto visivo.

01:14.680 --> 01:18.680
Eviteremo di provare a inserire le regole e un buon

01:18.700 --> 01:25.690
Come si fa a distinguere tra un cane e una pelliccia di gatto sul lato sinistro del processo raffigurato

01:25.690 --> 01:33.250
a sinistra, si programmano cose come le orecchie del gatto devono essere come questo, i baffi cercano questo tipo di naso

01:33.250 --> 01:39.530
per questo tipo di forma del viso tieni a bada questi colori che genere di descriveresti tutte

01:39.530 --> 01:45.310
queste cose e avresti condizioni come se le orecchie fossero appuntite rispetto al gatto se le

01:45.310 --> 01:49.600
orecchie sono inclinate verso il basso e possibilmente cane e così via.

01:49.600 --> 01:55.090
tutti questi cani e gatti con le immagini di cani e gatti che sono già categorizzati e si dice

01:55.090 --> 02:01.030
OK I Ti ho fatto ho alcune immagini di cani e gatti andare e imparare cosa sia un gatto.

02:01.030 --> 02:06.580
D'altra parte per una rete neurale basta codificare le reti neurali che si codifica l'architettura e quindi si punta

02:06.880 --> 02:08.860
la rete neurale in una cartella con

02:08.860 --> 02:10.560
Vai e scopri cos'è un cane.

02:10.600 --> 02:16.000
E la rete neurale capirà da sola tutto ciò che ha bisogno di capire e poi più in basso una volta addestrata

02:16.000 --> 02:20.950
quando gli darai una nuova immagine di un gatto o di un cane, sarà in grado di capire di cosa

02:20.950 --> 02:21.600
si tratta.

02:21.610 --> 02:25.600
Quindi eccoli quelli sono i due approcci fondamentalmente diversi.

02:25.690 --> 02:31.090
E oggi inizieremo lentamente a capire come funziona il secondo approccio.

02:31.090 --> 02:31.530
Tutto ok.

02:31.570 --> 02:33.340
Quindi andiamo direttamente ad esso.

02:33.400 --> 02:39.880
Qui abbiamo una rete neurale molto semplice con uno strato che è chiamato rete neurale feedforward a

02:39.880 --> 02:42.760
singolo strato ed è anche chiamata percezione.

02:42.760 --> 02:47.380
Ora, prima di procedere, una cosa che dobbiamo regolare è il valore di uscita.

02:47.380 --> 02:49.320
In questo momento puoi vedere che è solo una Y.

02:49.330 --> 02:51.160
Dobbiamo metterci un cappello lì dentro.

02:51.190 --> 02:56.500
E la ragione di ciò è di solito y sta per il valore reale ed è quello che useremo.

02:56.500 --> 03:03.700
Quindi, perché è il valore effettivo che vediamo il valore di output inreality è il valore

03:03.700 --> 03:05.890
previsto dall'algoritmo dalla rete neurale.

03:05.890 --> 03:09.220
Perché qual è il valore di uscita.

03:09.220 --> 03:11.500
Fondamentalmente è la denominazione per il valore di uscita.

03:11.740 --> 03:20.020
E la percezione che fu inventata per la prima volta nel 1957 da Frank Rosenblat e la sua intera

03:20.170 --> 03:25.010
idea fu di creare qualcosa che potesse effettivamente imparare e adattarsi.

03:25.240 --> 03:28.010
E questo è quello che vedremo ora.

03:28.030 --> 03:30.230
Quindi abbiamo il nostro precetto disegnato.

03:30.250 --> 03:32.070
Vediamo come impara la nostra percezione.

03:32.080 --> 03:39.130
Quindi diciamo che abbiamo alcuni valori di input che sono stati forniti alla percezione e fondamentalmente

03:39.130 --> 03:40.210
alla nostra rete.

03:40.330 --> 03:44.190
Quindi viene applicata la funzione di attivazione.

03:44.200 --> 03:49.210
Abbiamo un output e ora tracciamo l'output su un grafico.

03:49.210 --> 03:51.830
Quindi ecco la nostra produzione.

03:51.830 --> 03:57.520
Ora quello che dobbiamo fare è essere in grado di imparare che abbiamo bisogno di confrontare il valore di

03:57.520 --> 04:01.310
uscita con il valore reale che vogliamo che la rete neuronale abbia ragione.

04:01.600 --> 04:04.520
E questo è il valore y.

04:04.810 --> 04:08.230
E quindi se lo mettiamo qui vedrai che c'è un po 'di differenza.

04:08.330 --> 04:13.510
Ora stiamo andando a calcolare una funzione chiamata la funzione di costo che viene calcolata come metà della

04:13.510 --> 04:17.200
differenza della differenza quadratica tra il valore attuale e il valore di uscita.

04:17.200 --> 04:20.500
Ora ci sono molti modi in cui puoi venire per la funzione di classe.

04:20.500 --> 04:23.300
Esistono molte funzioni di costo diverse che è possibile utilizzare.

04:23.320 --> 04:30.280
gradiente decente, ma per ora concorderemo che questa è la funzione di costo e fondamentalmente ciò che la funzione di

04:30.280 --> 04:34.900
costo ci sta dicendo è qual è l'errore che hai nella tua previsione.

04:34.900 --> 04:39.830
Questa è probabilmente la funzione di chiamata più utilizzata e perché è specificamente questa

04:40.420 --> 04:44.240
funzione che utilizzeremo scoprirà più in basso quando parliamo di un

04:44.290 --> 04:50.770
E il nostro obiettivo è ridurre al minimo la funzione di costo perché più la funzione di costo è tanto più

04:50.790 --> 04:51.780
vicina a y.

04:52.150 --> 04:54.430
OK, così come solo siamo d'accordo su ciò che procediamo.

04:54.430 --> 05:00.760
Quindi, fondamentalmente da qui, quello che succede è che esiste una funzione di costo e da

05:00.760 --> 05:08.950
qui quello che succede ora andremo a una volta che abbiamo confrontato ora stiamo per alimentare questa informazione nella rete neurale.

05:08.980 --> 05:14.170
informazioni tornano nella rete neurale e vanno ai pesi e i pesi vengono aggiornati.

05:14.200 --> 05:15.630
Quindi andiamo là, le

05:15.700 --> 05:20.880
Fondamentalmente, l'unica cosa di cui abbiamo il controllo in questa rete neurale molto semplice sono

05:20.900 --> 05:23.490
i pesi w 1 W2 fino a W. Il nostro obiettivo è ridurre al minimo la funzione di costo, quindi tutto ciò che possiamo fare è aggiornare i pesi.

05:23.980 --> 05:29.370
Quindi aggiorniamo i pesi e li modifichiamo un po '.

05:29.500 --> 05:33.690
E esattamente come lo scopriremo per il down ma

05:33.940 --> 05:39.600
per ora siamo d'accordo che abbiamo i pesi e poi continuiamo così.

05:39.600 --> 05:40.320
Ma qui ho

05:40.320 --> 05:48.870
messo su questo screenshot dei dati solo per far capire in un certo punto che proprio ora, durante l'intero esperimento, tutto ciò che stiamo facendo in questo momento abbiamo a che fare con un solo ruolo.

05:48.930 --> 05:53.990
Quindi abbiamo a che fare con un set di dati di una riga in cui, per

05:54.000 --> 06:00.330
esempio, abbiamo a che fare con quanto a lungo lo si studia come la variabile che stiamo prevedendo è cosa.

06:00.330 --> 06:05.720
Qual è il risultato che otterrai in un esame.

06:06.180 --> 06:08.230
E le variabili indipendenti dipendenti che abbiamo

06:08.430 --> 06:13.200
sono quante ore hai studiato per quante ore hai dormito e cosa hai ottenuto nel quiz.

06:13.200 --> 06:15.430
A metà semestre Quindi nel bel mezzo del semestre c'è un quiz in quale percentuale sei arrivato.

06:15.460 --> 06:19.880
Quindi, sulla base di tali variabili, stiamo cercando di prevedere quale

06:19.880 --> 06:26.100
punteggio otterrai per l'esame e di esaminare il 93 percento che è il valore effettivo.

06:26.100 --> 06:28.010
Ecco perché

06:28.010 --> 06:29.020
Così.

06:29.560 --> 06:30.460
Quindi nutriamo nuovamente

06:30.660 --> 06:36.720
questi tre valori in una rete neurale per la seconda volta e poi confronteremo il risultato con il bianco.

06:36.720 --> 06:38.980
Quindi vediamo come funziona.

06:39.150 --> 06:40.690
Nutriamo questi valori nella rete neurale.

06:40.800 --> 06:43.710
i valori di nuovo il punto qui è che

06:43.830 --> 06:50.160
stiamo alimentando la stessa palla quindi abbiamo solo un tiro che stiamo cercando di fare ci stiamo allenando su una riga.

06:50.190 --> 06:55.480
Tutto viene regolato e il peso lo ottiene, così come puoi vedere questo è di nuovo alimentiamo

06:55.480 --> 06:56.370
Questo perché questo è solo un esempio di base molto semplice.

06:56.370 --> 06:59.580
Poi vedremo cosa succede quando c'è morale.

06:59.640 --> 07:01.610
Così ancora una volta nutriamo queste righe nel nostro cross-funzionale aggiustato.

07:01.800 --> 07:06.180
Come puoi vedere tutto accade di nuovo su quelle linee.

07:06.180 --> 07:10.520
Così come dici ogni volta che il nostro cappello bianco sta cambiando perché abbiamo modificato i pesi.

07:10.530 --> 07:15.030
Tutto ciò che ho fatto è cambiare la funzione dei nostri vestiti, cambiando di nuovo l'intero look, quindi li nutriamo.

07:15.030 --> 07:20.550
Perché è cambiata la funzione dei vestiti sta cambiando.

07:20.550 --> 07:22.840
Otteniamo informazioni sul feedback dei pesi in modo che i pesi vengano nuovamente regolati.

07:22.920 --> 07:27.020
Nutriamo gli stessi valori ogni volta che tutto viene regolato per tornare ai pesi.

07:27.030 --> 07:31.850
E ancora una volta da mangiare.

07:31.860 --> 07:33.920
OK.

07:34.020 --> 07:34.990
E un'altra volta, quindi abbiamo modificato il modo in cui percepiamo le informazioni.

07:35.730 --> 07:40.720
E noi andiamo.

07:40.830 --> 07:41.370
Quindi ora questa volta il cappello bianco è uguale a y cross-funzionale 0.

07:41.370 --> 07:45.990
Di solito non si ottiene una funzione di costo uguale a zero.

07:46.020 --> 07:48.410
Ma questo è un esempio molto semplice.

07:48.420 --> 07:50.720
Quindi spero che tutto ciò abbia avuto senso

07:50.820 --> 07:57.480
ogni volta che ci nutriamo esattamente della stessa fila, perché in questo caso ci stiamo solo occupando di quella riga nella nostra rete neurale.

07:57.480 --> 08:01.370
Bene, allora i pesi ottengono che i valori ottengono approvvigionamenti validi i modi in cui

08:01.400 --> 08:06.990
viene applicata la funzione di attivazione che abbiamo ottenuto rispetto a Y, quindi vediamo come viene cambiata la funzione di costo.

08:06.990 --> 08:12.320
Feedback e il feed che le informazioni di Bakker sulla propria

08:12.430 --> 08:16.500
rete e quindi solo regolare nuovamente i pesi.

08:16.500 --> 08:17.470
E poi ripetiamo di nuovo lo stesso processo con la stessa riga esatta.

08:17.850 --> 08:21.410
Stiamo cercando di minimizzare questo costo.

08:21.570 --> 08:23.320
Quindi fino ad ora abbiamo avuto a che fare con quella sola riga.

08:23.520 --> 08:26.860
Vediamo cosa succede quando hai più ruoli.

08:27.030 --> 08:29.470
Quindi ecco il set completo di dati.

08:29.490 --> 08:31.320
Abbiamo otto file di quante ore

08:31.350 --> 08:38.610
hai dormito o forse questi sono studenti diversi durante il giorno che prendono lo stesso esame di quante altre ore hanno studiato quante

08:38.610 --> 08:44.070
ore hanno dormito prima che l'esame potesse arrivare sul quiz e il loro risultato finale sul test.

08:44.070 --> 08:47.300
E come puoi vedere qui a sinistra, ho otto di queste percezioni in realtà.

08:47.490 --> 08:52.720
Sono tutti la stessa percezione quindi anche questo è importante.

08:53.100 --> 08:55.950
L'ho solo moltiplicato o come duplicato otto volte solo per poterlo fare.

08:56.010 --> 09:02.600
Conception è quello.

09:03.330 --> 09:04.310
Ma la cosa

09:04.320 --> 09:10.010
importante qui è la stessa rete neurale che stiamo per alimentare in una rete Samual.

09:10.040 --> 09:10.380
Quindi andiamo, cominciamo.

09:10.380 --> 09:11.650
Quindi, in un aeroporto,

09:11.650 --> 09:20.550
come avrai sentito, è stato menzionato un solo aerodromo quando passiamo attraverso un intero set di dati e addestriamo la nostra rete neurale su tutti questi ruoli, quindi queste sono le liste.

09:20.610 --> 09:27.410
Quindi c'è la nostra prima fila e c'è Perché per la prima

09:27.420 --> 09:34.410
fila c'è un secondo ruolo, ecco perché ho avuto il secondo turno.

09:34.410 --> 09:35.260
Quindi, di nuovo, viene sempre inserito nella stessa rete neurale.

09:35.280 --> 09:39.590
Li ho appena copiati più volte in modo che possiamo vedere visivamente come sta accadendo.

09:39.600 --> 09:45.070
Poi di nuovo come sta succedendo di nuovo che è la terza

09:45.090 --> 09:52.320
fila della quarta fila c'è la nostra testa bianca per la quarta fila e così via.

09:52.320 --> 09:53.010
In sostanza, otteniamo gli stessi valori anche per le restanti quattro righe.

09:53.010 --> 09:56.580
Quindi ogni volta che ci nutriamo in fila nella nostra rete neurale ne prendiamo pressioni.

09:56.580 --> 10:03.440
Quindi confrontiamo con il valore reale.

10:03.780 --> 10:06.930
Quindi sono i valori reali.

10:06.930 --> 10:08.550
Quindi per ogni singolo rotolo abbiamo un valore reale.

10:08.760 --> 10:11.340
E ora basandoci su tutte queste differenze tra y e

10:11.640 --> 10:18.480
perché possiamo calcolare la funzione di costo, che è la somma di tutte quelle differenze quadratiche tra perché e perché e come tutto questo si dimezza.

10:18.480 --> 10:27.620
E c'è la nostra funzione di costo.

10:28.230 --> 10:30.360
E in sostanza, ora che cosa facciamo

10:30.360 --> 10:36.750
dopo aver ottenuto la funzione di costo completo, torniamo indietro e aggiorniamo i pesi che aggiorniamo un W 1 WTW.

10:37.170 --> 10:39.480
E la cosa importante da ricordare

10:39.510 --> 10:45.810
qui è che tutte queste reti neurali di tutte queste percezioni sono in realtà una rete neurale.

10:45.810 --> 10:47.340
Quindi non ce ne sono otto ce ne sono solo uno.

10:47.340 --> 10:49.420
E quando aggiorniamo i pesi, aggiorneremo i

10:49.680 --> 10:55.110
pesi in quella rete neurale, quindi in pratica i pesi saranno gli stessi per tutte le righe.

10:55.110 --> 10:57.900
Quindi non è il caso che ogni ruolo ha il suo peso.

10:57.930 --> 11:00.560
Ora tutte le righe condividono i pesi ed è per questo

11:00.580 --> 11:07.320
che abbiamo esaminato la funzione di costo, che è la somma delle differenze quadrate e quindi abbiamo aggiornato i pesi e ora da qui c'è stata una sola iterazione.

11:07.620 --> 11:15.270
Quindi eseguiremo di nuovo l'intera faccenda.

11:15.270 --> 11:19.020
Nutriremo ogni singola riga nella rete neurale per

11:19.020 --> 11:25.440
scoprire la nostra funzione di costo e fare di nuovo tutto questo processo.

11:25.440 --> 11:26.370
Così come abbiamo

11:26.370 --> 11:32.090
visto in precedenza dove avevamo solo una riga e stavamo facendo tutto ancora e ancora e ancora la stessa cosa qui.

11:32.140 --> 11:33.590
Ma ora stiamo andando a

11:33.600 --> 11:38.880
fare e Pedros o 800 righe o ottomila righe, comunque molte righe che hai nel tuo set di dati.

11:38.880 --> 11:40.590
Si esegue questo processo e quindi si calcola la funzione di costo.

11:40.830 --> 11:43.700
E l'obiettivo qui è di minimizzare la funzione

11:44.220 --> 11:51.510
di costo e di ottenere non appena hai trovato un minuto della funzione di costo che è la tua

11:51.510 --> 12:00.210
rete neurale finale, il che significa che i tuoi pesi sono stati aggiustati e hai trovato i pesi ottimali per questo set di

12:00.750 --> 12:08.550
dati che hai iniziato il tuo allenamento e sei pronto per procedere alla fase di test o alla fase di applicazione.

12:08.550 --> 12:11.130
E questo intero processo è chiamato propagazione indietro.

12:11.550 --> 12:14.920
Quindi qualche lettura aggiuntiva che potresti voler fare per

12:15.000 --> 12:21.930
la funzione di costo e so che ne abbiamo appena parlato e ce ne sono molti diversi.

12:21.930 --> 12:24.840
Un buon articolo si trova su cross validato.

12:24.840 --> 12:28.690
Si chiama elenco delle funzioni del corso utilizzate nelle reti neurali accanto alle applicazioni.

12:28.740 --> 12:33.020
Quindi l'euro è lì ma puoi semplicemente google per quel

12:33.090 --> 12:39.840
termine esatto di ricerca o frase di ricerca e questo sarà il primo a comparire.

12:39.960 --> 12:42.150
In realtà ha alcuni buoni esempi e applicazioni

12:42.150 --> 12:48.660
o casi d'uso per diverse funzioni di costo, quindi se sei interessato a saperne di più sulle funzioni di costo Leggi questo articolo.

12:48.660 --> 12:51.800
E su quella nota spero ti piaccia questo tutorial.

12:51.990 --> 12:54.380
Non vedo l'ora di vederti la prossima volta.

12:54.420 --> 12:56.070
Fino ad allora godere di un apprendimento profondo.

12:56.070 --> 12:58.020
&nbsp;
