WEBVTT

00:00.420 --> 00:06.440
Ciao e benvenuto all'ultimo passaggio del nostro processo per fare in modo che il cervello abbia una funzione da rendere a sinistra.

00:06.450 --> 00:12.180
Questa è la funzione diretta che propagherà i segnali in tutti gli strati della rete neurale

00:12.510 --> 00:16.180
compresi i tre strati convoluzionali e lo strato completamente connesso.

00:16.380 --> 00:21.660
E quindi questa funzione è la funzione diretta esattamente come per l'auto che si guida da

00:21.780 --> 00:27.440
sola eccetto che questa volta dobbiamo propagare i segnali negli strati convoluzionali prima dello strato completamente connesso.

00:27.660 --> 00:32.610
E la buona notizia è che l'abbiamo già fatto nel passaggio precedente con la funzione di conteggio Newnes.

00:32.640 --> 00:37.160
Quindi abbiamo già il codice per propagare il segnale nel paese.

00:37.340 --> 00:38.940
E così sarà molto veloce.

00:38.950 --> 00:43.950
Combineremo solo ciò che abbiamo fatto qui e ciò che abbiamo fatto per l'auto sottomarina e avremo la

00:43.950 --> 00:45.720
nostra funzione avanzata per il nostro cervello.

00:45.780 --> 00:46.860
Quindi facciamolo.

00:46.860 --> 00:54.660
Introduciamo una nuova funzione qui l'ultima per il cervello e questa funzione è la funzione forward

00:55.170 --> 00:56.940
che prende una discussione.

00:57.160 --> 01:05.400
Bene esattamente come prima di me stesso per riferirsi agli oggetti e X che saranno le prime immagini di input e quindi

01:05.400 --> 01:10.280
saprai che X sarà aggiornato mentre il segnale viene propagato nella nuova rete.

01:10.650 --> 01:11.460
Tutto ok.

01:11.460 --> 01:14.350
Quindi Cullen e poi entriamo nella funzione.

01:14.370 --> 01:20.500
Quindi, come ho appena detto, abbiamo già realizzato il codice per propagare i segnali nei tre strati convoluzionali.

01:20.580 --> 01:23.440
Sono esattamente queste tre righe di codice.

01:23.640 --> 01:29.040
Quindi li copio e li incollo qui e là.

01:29.040 --> 01:34.430
Abbiamo già la nostra propagazione del segnale nei tre strati convoluzionali.

01:34.520 --> 01:40.830
abbiamo solo bisogno di propagare il segnale dai livelli convoluzionali al livello nascosto e poi infine

01:40.830 --> 01:46.680
allo strato di output che si trova all'estremità della rete neurale e per fare questo

01:46.680 --> 01:53.520
dobbiamo prima appiattire il terzo strato convoluzionale che ottenuto qui ricorda che X all'inizio è l'immagine di input.

01:53.520 --> 01:54.610
E così ora

01:54.720 --> 02:00.780
Quindi qui X diventa il primo strato convoluzionale, quindi X diventa il secondo convoluzionale lì.

02:00.930 --> 02:03.840
E poi qui X diventa il terzo convoluzionale lì.

02:03.960 --> 02:07.730
Quindi in questo momento X è il terzo strato convoluzionale.

02:07.860 --> 02:15.000
E ora per prendere lo spianamento ci dobbiamo appiattire questo terzo strato convoluzionale X e per fare questo faremo qualcosa

02:15.070 --> 02:20.220
di molto simile, come abbiamo fatto qui solo questa volta non abbiamo bisogno del numero

02:20.220 --> 02:25.090
di neuroni che abbiamo semplicemente bisogno di appiattire il canali nel terzo convoluzionale lì.

02:25.140 --> 02:28.130
Quindi questo sarà molto più semplice ma molto simile.

02:28.410 --> 02:35.570
E per fare questo bene, prenderemo X di nuovo perché X diventerà lo strato di appiattimento.

02:35.890 --> 02:43.990
Stiamo aggiornando X così x uguale allora riprendiamo X ma questa X è la vecchia X che è il terzo strato

02:43.990 --> 02:44.480
convoluzionale.

02:44.550 --> 02:51.510
Quindi prendiamo il terzo convoluzionale lì, ma poi prendiamo la funzione view a cui applichiamo

02:51.510 --> 02:52.460
gli argomenti.

02:52.530 --> 02:55.730
Il primo è X quella dimensione zero.

02:56.100 --> 03:01.800
pixel di tutti i canali e il terzo strato convoluzionale e li mettiamo uno dopo l'altro in questo

03:01.800 --> 03:07.320
enorme vettore che diventerà questa X qui e questa X diventerà l'input di la rete completamente connessa.

03:07.320 --> 03:11.280
Quindi di nuovo prendiamo la funzione di dimensione per prendere tutti i

03:11.460 --> 03:12.860
Ma non è tutto ciò di cui abbiamo bisogno.

03:13.080 --> 03:14.530
E qui vieni.

03:14.650 --> 03:15.990
E meno uno.

03:16.200 --> 03:19.170
Quindi quel trucco lo puoi trovare nei tutorial di orologi da tasca.

03:19.350 --> 03:25.130
È così che puoi appiattire un convoluzionale sono composti da più canali usando la funzione dimensione.

03:25.200 --> 03:29.890
E, naturalmente, se vuoi maggiori dettagli su come funziona, puoi andare ai tutorial di orologi da tasca.

03:30.030 --> 03:31.410
Fornirò il collegamento.

03:31.800 --> 03:38.250
Così ora che abbiamo ottenuto il nostro appiattimento lì, sai che questo appiattimento diventerà l'input

03:38.580 --> 03:43.800
di una classica rete completamente connessa con una semplice trasmissione lineare del segnale.

03:43.830 --> 03:49.440
E così ora non useremo una funzione di convoluzione per trasmettere il segnale, useremo una

03:49.440 --> 03:54.720
trasmissione lineare con una classe lineare e quindi per rompere la linearità perché quando lavoriamo

03:54.780 --> 03:57.670
con immagini e immagini non abbiamo relazioni lineari.

03:57.900 --> 04:03.360
Bene, useremo una funzione rettificabile per essere in grado di imparare queste relazioni non lineari.

04:03.510 --> 04:04.560
Quindi facciamolo.

04:04.560 --> 04:06.160
Questo è in realtà il prossimo passo.

04:06.210 --> 04:09.320
E così ora è esattamente come quello che abbiamo fatto per l'auto che guida.

04:09.360 --> 04:15.030
Prendiamo X perché vogliamo aggiornarlo di nuovo, vogliamo ora ottenere il livello nascosto.

04:15.100 --> 04:20.970
E quindi prima di tutto quello che facciamo è prendere la nostra piena connessione SE1 perché la connessione completa.

04:20.970 --> 04:27.030
L'FC uno è quello che collega lo strato di appiattimento al nascosto lì e quindi abbiamo

04:27.300 --> 04:32.850
bisogno di prendere SE1 e applicarlo alla X che abbiamo adesso, che è l'allagamento lì.

04:33.000 --> 04:38.780
E non dimentichiamo il sé naturalmente perché ognuno è una variabile della nostra funzione di init.

04:38.890 --> 04:45.510
Così da autodidatta SE1 X e quindi che trasmette linearmente il segnale dal lusinghiero al nascosto lì.

04:45.690 --> 04:49.990
Ma ora abbiamo bisogno di attivare questi neuroni e allo stesso tempo infrangere la legge in caso di erranza.

04:50.130 --> 04:53.480
E questo è esattamente ciò che facciamo con la funzione di attivazione del raddrizzatore.

04:53.490 --> 05:00.990
Quindi ora quello che dobbiamo fare è prendere il nostro modulo funzionale e da questo modulo funzionale prendiamo naturalmente una

05:01.140 --> 05:03.870
funzione rettificabile che è il vero te.

05:04.230 --> 05:08.130
E mettiamo SE1 autodidatta dentro la parentesi.

05:08.220 --> 05:14.280
Va bene quindi ciò che accade in questa riga di codice è che per prima cosa propagiamo i segnali dallo

05:14.280 --> 05:17.210
strato di appiattimento al livello nascosto della rete completamente connessa.

05:17.580 --> 05:23.970
E poi attiviamo i neuroni di questo strato nascosto rompendo l'aria con questa funzione di attivazione

05:23.970 --> 05:29.100
del raddrizzatore e otteniamo la nostra testa lì che è qui perfetta.

05:29.130 --> 05:35.370
E ora abbiamo un ultimo passo per farlo è ovviamente propagare il segnale dal livello nascosto al livello

05:35.670 --> 05:39.680
di output con i neuroni finali di uscita e per fare ciò.

05:39.720 --> 05:41.160
Bene, è molto semplice.

05:41.160 --> 05:43.680
È esattamente come quello che abbiamo fatto con la macchina.

05:43.680 --> 05:51.720
Prendiamo la nostra seconda collezione completa di C2 e la applichiamo naturalmente ai neuroni del livello nascosto

05:51.990 --> 05:53.700
che è adesso x.

05:53.740 --> 05:55.900
Quindi ecco i neuroni qua e là.

05:56.040 --> 06:02.840
Questo tutto xe x qui diventa ovviamente i neuroni di uscita del livello di output contenente i valori del cubo.

06:03.210 --> 06:10.070
Infine, restituiamo semplicemente i neuroni di output x con i valori del cubo.

06:10.320 --> 06:11.240
Così perfetta.

06:11.250 --> 06:16.950
Congratulazioni, abbiamo appena creato un cervello che abbiamo creato il cervello della nostra IA AI con gli occhi e il

06:16.950 --> 06:17.740
resto delle cellule.

06:17.790 --> 06:19.130
Quindi congratulazioni.

06:19.140 --> 06:23.550
Ora è il momento di creare il corpo che sta definendo il modo in cui interpreteremo l'azione.

06:23.550 --> 06:26.480
Dopo tutto, i segnali vengono elaborati nel cervello.

06:26.690 --> 06:28.370
Questo è il nostro secondo grande passo.

06:28.380 --> 06:30.280
Facciamo questo nei prossimi tutorial.

06:30.300 --> 06:31.780
E fino ad allora AI.
