Introduzione Alle Reti Neurali 01: Cos'è una Rete Neurale?

00:07:26
https://www.youtube.com/watch?v=cYBCqMvR-uo

Summary

TLDRIl video spiega il concetto di reti neurali utilizzando un esempio di riconoscimento di specie feline. Viene illustrato come differenziare i gatti della giungla e delle sabbie basandosi su misure come peso e lunghezza. Viene presentata l'importanza di costruire un dataset e di visualizzare i dati in un grafo per riconoscere schemi. Si discute anche come le reti neurali apprendono attraverso la modifica dei pesi e bias, e l'utilizzo di funzioni di attivazione come la funzione sigmoide per limitare i valori di output. Il video conclude sottolineando che è necessario 'insegnare' alla rete attraverso esempi per ottenere risultati significativi.

Takeaways

  • 📱 I telefoni utilizzano reti neurali per rispondere a domande.
  • 📊 I dati raccolti formano un dataset.
  • 📝 Le misure aiutano a distinguere tra specie diverse.
  • 📈 I grafici aiutano a visualizzare i dati.
  • ⚙️ Le reti neurali necessitano di pesi e bias iniziali casuali.
  • 🔍 È fondamentale insegnare alla rete attraverso esempi.
  • 📉 La funzione sigmoide normalizza l'output tra 0 e 1.
  • 🧠 La matematica è fondamentale per capire il funzionamento delle reti neurali.
  • 📈 L'apprendimento avviene tramite la modifica dei pesi.
  • 📚 La conoscenza base è necessaria per costruire reti neurali.

Timeline

  • 00:00:00 - 00:07:26

    Il video introduce le reti neurali, spiegando come queste tecnologie siano in grado di rispondere a domande e riconoscere immagini. L'autore promette di fornire una spiegazione semplice della matematica dietro le reti neurali e di guidare il pubblico nella creazione di una rete neurale utilizzando Python. Viene presentato un esempio pratico per illustrare il funzionamento delle reti neurali attraverso la distinzione tra due specie di gatti. Si introduce l'idea di un dataset e il concetto di usare misure come peso e lunghezza per effettuare previsioni sulla specie del gatto. L'importanza di rappresentare i dati in un grafico viene sottolineata, e si accenna all'uso dei computer per automatizzare il processo di classificazione, risparmiando tempo e riducendo gli errori.

Mind Map

Video Q&A

  • Cosa sono le reti neurali?

    Le reti neurali sono programmi che mimano le funzioni del cervello umano per elaborare e classificare dati.

  • Come funzionano le reti neurali?

    Funzionano attraverso l'uso di input e output, pesi e funzioni di attivazione per fare previsioni su dati mai visti prima.

  • Cosa serve per costruire una rete neurale?

    È necessario un dataset di dati da utilizzare per addestrare la rete neurale a fare previsioni accurate.

  • Qual è l'obiettivo di una rete neurale?

    L'obiettivo è di insegnare alla rete a classificare e fare previsioni su nuovi dati basandosi su quanto appreso.

  • Che cosa è un dataset?

    Un dataset è un insieme di dati raccolti che viene utilizzato per addestrare una rete neurale.

  • Cosa è la funzione sigmoide?

    È una funzione di attivazione che schiaccia i valori di output tra 0 e 1.

  • Perché inizialmente i risultati sono casuali?

    Perché i pesi e valori di bias sono assegnati casualmente all'inizio del processo di addestramento.

  • Come si valuta il successo di una rete neurale?

    Si valuta confrontando le previsioni della rete con risultati noti nel dataset di addestramento.

  • Quale ruolo gioca la matematica nelle reti neurali?

    La matematica definisce le relazioni tra input e output e come i dati vengono elaborati all'interno della rete.

View more video summaries

Get instant access to free YouTube video summaries powered by AI!
Subtitles
it
Auto Scroll:
  • 00:00:00
    avrete sicuramente notato che i telefoni
  • 00:00:02
    da un po di anni sono in grado di
  • 00:00:04
    rispondere alle domande o che per
  • 00:00:05
    esempio google e immagini sia capace di
  • 00:00:07
    riconoscere più o meno cosa ci sia in
  • 00:00:09
    una foto qualsiasi
  • 00:00:11
    ecco questa applicazione utilizzano
  • 00:00:12
    proprio lei reti neurali per funzionare
  • 00:00:15
    con questo e con i video seguenti
  • 00:00:18
    cercherò di spiegare nel modo più
  • 00:00:19
    semplice possibile anche la matematica
  • 00:00:20
    che c'è dietro questa idea e alla fine
  • 00:00:23
    saremo in grado di costruire una rete
  • 00:00:24
    neurale tutta nostra usando python così
  • 00:00:28
    anche se non doveste avere nessuna idea
  • 00:00:30
    su che diamine sia una rete neurale alla
  • 00:00:32
    fine di questi video avrete una buona
  • 00:00:33
    base sull'argomento
  • 00:00:36
    cominciamo subito con un esempio per
  • 00:00:37
    capire il tipo di problema che vogliamo
  • 00:00:39
    risolvere
  • 00:00:40
    facciamo finta di essere degli
  • 00:00:41
    esploratori della natura selvaggia che
  • 00:00:43
    vogliono distinguere due specie diverse
  • 00:00:45
    di gattini puccetti il gatto della
  • 00:00:47
    giungla e il gatto delle sabbie i più
  • 00:00:51
    furbi di voi potranno dire beh uno vive
  • 00:00:52
    nella giungla e l'altro nelle sabbie è
  • 00:00:56
    vero ma l'idea sarebbe riuscire a
  • 00:00:58
    distinguerli delle loro caratteristiche
  • 00:00:59
    per esempio massa lunghezza quindi
  • 00:01:02
    pesiamo e misuriamo un po di gattini di
  • 00:01:04
    cui conosciamo già la provenienza e
  • 00:01:06
    annotiamo quello che troviamo in una
  • 00:01:07
    tabella quello che abbiamo appena
  • 00:01:10
    costruito si chiama dataset che di fatto
  • 00:01:12
    non è altro che un gruppo di numeri di
  • 00:01:14
    etichette con scritto la specie di gatto
  • 00:01:16
    in questo caso ora si presenta un nuovo
  • 00:01:19
    gatto di cui non sappiamo ancora nulla
  • 00:01:21
    se non che può essere dell'una o
  • 00:01:23
    dell'altra specie
  • 00:01:24
    prendiamo anche il suo peso la sua
  • 00:01:25
    lunghezza come possiamo fare per capire
  • 00:01:28
    di che specie si tratti beh vedendo i
  • 00:01:30
    dati raccolti ci rendiamo conto che i
  • 00:01:32
    gatti della stessa specie hanno pesi
  • 00:01:34
    lunghezze simili quindi potremmo
  • 00:01:36
    memorizzare e confrontare questi numeri
  • 00:01:37
    ogni volta ma sarebbe un po meno set
  • 00:01:40
    quindi facciamo un bel grafico inserendo
  • 00:01:41
    i valori trovati come coordinate tipo
  • 00:01:43
    battaglia navale sull'asse orizzontale
  • 00:01:47
    mettiamo i pesi e su quello verticale le
  • 00:01:49
    lunghezze
  • 00:01:49
    quindi il primo sarà il punto 9 70 il
  • 00:01:54
    secondo 2 50 e così via per tutti gli
  • 00:01:57
    altri
  • 00:02:00
    fatto questo
  • 00:02:01
    facile notare come i due tipi di gatti
  • 00:02:03
    siano divisi in due gruppi distinti ora
  • 00:02:06
    inseriamo anche le coordinate del gatto
  • 00:02:08
    misterioso vedendo dove si trova
  • 00:02:11
    possiamo dire quasi con certezza che si
  • 00:02:13
    tratti di un gatto delle sabbie potremmo
  • 00:02:16
    ritenerci soddisfatti ma cosa
  • 00:02:18
    succederebbe se dovessimo ragionare su
  • 00:02:20
    10 mila e 100 mila misure invece che 10
  • 00:02:22
    dovremmo inserire ogni volta nel grafico
  • 00:02:25
    manualmente
  • 00:02:26
    non so voi ma io non ne ho una gran
  • 00:02:28
    voglia fortunatamente il computer viene
  • 00:02:30
    in nostro aiuto possiamo infatti ad
  • 00:02:32
    estrarlo a capire come distinguere i
  • 00:02:34
    gatti al posto nostro
  • 00:02:35
    per capire come funzioni tutto il
  • 00:02:37
    processo dovremmo capire prima che cosa
  • 00:02:39
    significhi questo piccolo disegno si
  • 00:02:42
    tratta solo del diagramma di una rete
  • 00:02:44
    neurale molto semplice che di fatto è un
  • 00:02:46
    programma che viene eseguito dal
  • 00:02:47
    computer
  • 00:02:48
    lo schema ci aiuta a ragionare un po più
  • 00:02:50
    facilmente sul problema li prendiamo
  • 00:02:53
    parte del dataset di prima ora invece di
  • 00:02:55
    fare un grafico lo daremo in pasto alla
  • 00:02:57
    rete neurale otterremo in uscita una
  • 00:02:59
    previsione quindi questi due nodi sono
  • 00:03:01
    gli ingressi o input mentre quest'altro
  • 00:03:04
    c spunterà fuori la previsione o output
  • 00:03:07
    inseriamo quindi i primi dati abbiamo
  • 00:03:10
    ricevuto in uscito un numero ora
  • 00:03:12
    dobbiamo interpretare questo numero che
  • 00:03:14
    possiamo decidere noi in che modo
  • 00:03:15
    a patto di interpretare tutti gli altri
  • 00:03:18
    numeri in uscita con lo stesso criterio
  • 00:03:20
    in questo caso diciamo se il numero si
  • 00:03:23
    avvicina a 1 allora il computer sta
  • 00:03:25
    cercando di dirci che si tratta di un
  • 00:03:27
    gatto delle sabbie mentre se si avvicina
  • 00:03:29
    più a 0 allora sarà un gatto della
  • 00:03:31
    giungla scusa gatto della giungla 6 10
  • 00:03:34
    se però non vi foste accorti il
  • 00:03:36
    risultato che abbiamo ottenuto è vicino
  • 00:03:38
    a 1 quindi il computer pensa che sia un
  • 00:03:39
    gatto delle sabbie mentre le misure
  • 00:03:41
    erano di un gatto della giungla
  • 00:03:44
    quindi questa rete numerale fa schifo e
  • 00:03:46
    dai risultati a casaccio sì ma
  • 00:03:49
    scopriremo più avanti perché adesso
  • 00:03:52
    vogliamo provare prima capire da dove
  • 00:03:53
    salti fuori questo 0.9 dal punto di
  • 00:03:57
    vista matematico una rete neurale è una
  • 00:03:59
    funzione che cavolo è una funzione
  • 00:04:02
    e semplicemente una relazione tra
  • 00:04:03
    ingressi e uscite come una macchinetta
  • 00:04:06
    del caffè ad ogni codice è associata una
  • 00:04:09
    bevanda questa relazione può essere
  • 00:04:11
    qualsiasi cosa per esempio una cassa ad
  • 00:04:13
    un numero in ingresso il suo doppio
  • 00:04:16
    come vedete il numero l'ingresso può
  • 00:04:17
    variare e quindi matematica prende il
  • 00:04:19
    nome molto originale di variabile
  • 00:04:22
    possiamo immaginare una variabile come
  • 00:04:25
    una scatoletta che può contenere
  • 00:04:26
    qualsiasi numero e quindi definiremo la
  • 00:04:29
    funzione doppio nel seguente modo
  • 00:04:32
    quindi se la nostra scatoletta s
  • 00:04:34
    contiene il numero 7 per esempio avremo
  • 00:04:36
    che doppio di 7 è uguale a 2 per 7
  • 00:04:40
    quindi 14 se sostituiamo la relazione
  • 00:04:43
    con una freccia otteniamo quello che
  • 00:04:45
    avevamo prima con la macchinetta del
  • 00:04:46
    caffè ma è molto più comodo scrivere non
  • 00:04:49
    nel modo appena trovato quindi torniamo
  • 00:04:51
    alla rete neurale di partenza è una
  • 00:04:53
    funzione che ha due variabili in
  • 00:04:55
    ingresso o input è una sola uscita
  • 00:04:57
    chiamiamo questi nodi m1 ed m 2 dove m
  • 00:05:01
    sta per misura quindi saranno le misure
  • 00:05:03
    del nostro gatto di prima
  • 00:05:05
    queste due connessioni invece prendono
  • 00:05:07
    il nome di pesi always in inglese che fa
  • 00:05:09
    più figo che chiameremo w1 w2 quindi per
  • 00:05:14
    aver la previsione gli ingressi vengono
  • 00:05:16
    pesati ovvero moltiplicati per i pesi e
  • 00:05:19
    poi vengono sommati a questa somma viene
  • 00:05:21
    aggiunto un altro valore che si chiama
  • 00:05:23
    bayern ma per il momento non ci
  • 00:05:25
    interessa
  • 00:05:26
    vedremo nel prossimo video cosa serve
  • 00:05:28
    lasciamolo qui per questo tipo di
  • 00:05:30
    problema vogliamo che il valore in
  • 00:05:32
    uscita sia tra 0 e 1 15 serve un modo
  • 00:05:35
    per schiacciare i nostri risultati tra
  • 00:05:36
    questi due valori e per fare questo ci
  • 00:05:39
    serviamo di un'altra funzione che si
  • 00:05:40
    chiama sigg mode ed è definito in un
  • 00:05:42
    modo un po più brutto della nostra
  • 00:05:44
    funzione di doppioni prima però il
  • 00:05:46
    principio è lo stesso queste
  • 00:05:51
    qui sotto è un'altra funzione che si
  • 00:05:52
    chiama esponenziale e anche questa
  • 00:05:54
    restituisce dei valori in uscita quando
  • 00:05:56
    si modifica il valore della variabile se
  • 00:05:58
    proviamo a giocare un po con la funzione
  • 00:06:00
    sigma idee ci rendiamo conto che
  • 00:06:01
    qualsiasi valore mettiamo l'ingresso
  • 00:06:03
    otteniamo in uscita sempre un numero tra
  • 00:06:05
    0 e 1 proprio come volevamo
  • 00:06:07
    capiamo perché è così vedendo il grafico
  • 00:06:10
    di questa funzione cambiano del valore
  • 00:06:12
    ming resso che sta sull'asse orizzontale
  • 00:06:14
    otteniamo valori in uscita sull'asse
  • 00:06:16
    verticale che sono bloccati tra 0 e 1
  • 00:06:20
    quindi in pratica la nostra funzione in
  • 00:06:23
    rete neurale rn sarà definita come rnd
  • 00:06:26
    m1 m2 uguale am uno per uno più m2 per
  • 00:06:30
    v2 più b tutto questo viene schiacciato
  • 00:06:34
    dalla funzione sigma ed ora sostituiamo
  • 00:06:37
    i valori in ingresso con quelli del
  • 00:06:39
    primo gatto e ci rendiamo conto che
  • 00:06:42
    manca qualcosa per fare i conti i valori
  • 00:06:45
    dei pesi v1 ev ii e del bayern b ebbene
  • 00:06:48
    questi valori sono inizialmente a
  • 00:06:50
    casaccio quindi è facile capire perché
  • 00:06:52
    anche il risultato 0.9 di prima sia
  • 00:06:54
    casuale il computer all'inizio non ha
  • 00:06:57
    proprio idea che quelle che gli abbiamo
  • 00:06:58
    dato siano le misure dei gattini quindi
  • 00:07:00
    dobbiamo insegnargli facendogli vedere
  • 00:07:02
    degli esempi proprio come si fa con un
  • 00:07:04
    bambino quello che stiamo facendo
  • 00:07:06
    effettivamente modificare i valori dei
  • 00:07:09
    pesi e del bayern affinché ai risultati
  • 00:07:11
    corrispondano a quelli desiderati come
  • 00:07:14
    questo avvenga esattamente sarà
  • 00:07:15
    argomento dei prossimi video grazie per
  • 00:07:18
    aver guardato
Tags
  • reti neurali
  • matematica
  • dataset
  • funzione sigmoide
  • apprendimento
  • previsioni
  • input
  • output
  • esempi
  • classificazione