Deep learning 02 - il neurone che impara

Поділитися
Вставка
  • Опубліковано 4 кві 2018
  • Come impara il singolo neurone in una rete di deep learning?
    Lo scopriamo con immagini e una piccola formula matematica che scriviamo in python da zero.
    ================================================
    Per formazione e consulenza sulla data science contattami:
    pieroit.org/portfolio/it/cont...
    ================================================
    Credits:
    Music by • Valesco - Cloud 9 [Roy...
    #deeplearning #python #pollowatzlawick
  • Наука та технологія

КОМЕНТАРІ • 64

  • @luigirinna272
    @luigirinna272 2 роки тому +2

    Bellissime spiegazioni oltre che gradevole intrattenimento. Secondo me dovrebbero farti insegnare queste cose alle elementari ... e, a scanso di equivoci, sia chiaro che è un complimento!

    • @PieroSavastano
      @PieroSavastano  2 роки тому +2

      Grazie Luigi!
      Ci credo tanto nel rendere comprensibile e piacevole questi temi, che sono spesso presentati in modo parecchio formale.
      Un saluto :)

  • @Rednunzio
    @Rednunzio 6 років тому +2

    Molto chiaro !!! Continua con questi video 👍🏻

  • @davidecalcagni7213
    @davidecalcagni7213 6 років тому +2

    Video bellissimo e molto chiaro !!

  • @Ivan-yb6dw
    @Ivan-yb6dw 6 років тому +1

    Grazie mille per il video davvero cristallino

    • @PieroSavastano
      @PieroSavastano  6 років тому +1

      Ivan Guerreschi my pleasure ;)
      Dovremmo tutti fidarci di Einstein: "Se non lo sai spiegare in modo semplice, non l’hai capito abbastanza bene"

  • @michaelzama6439
    @michaelzama6439 6 років тому

    Ottimo video!

  • @AndreaManna85
    @AndreaManna85 3 роки тому

    Io: figo il deep learning, sto imparando, vedo risultati!!!
    Sempre io dopo il video di Piero: Ok, butto via il computer!
    Scherzo ovviamente! Sei bravissimo e anche simpatico (fattore importantissimo nell'insegnamento). Mi rendo conto che la strada è ancora lunghissima....
    Grazie per i tuoi video

    • @PieroSavastano
      @PieroSavastano  3 роки тому +1

      Chi va piano va sano e lontano! Grazie Andrea

  • @lucaceroni2719
    @lucaceroni2719 3 роки тому

    Grande Piero! Fantastico!
    Fai anche dei video su programmazione python per favore?

    • @PieroSavastano
      @PieroSavastano  3 роки тому +2

      Python per l'analisi dei dati trovi 2 serie sul canale (cerca pandas), mentre per il python di base ti consiglio di vedere il vanale di PyMike

  • @lucasantagata4551
    @lucasantagata4551 4 роки тому

    Ciao Piero, innanzitutto complimenti per i tuoi video! Qualche giorno fa ho iniziato a seguire il tuo corso di Machine Learning in Python. Questo argomento è trattato anche in quella playlist?

    • @PieroSavastano
      @PieroSavastano  4 роки тому

      Grazie Luca.
      Ho lasciato in sospeso questo corso perchè dovevo farne prima uno sul machine learning, altrimenti qui si capisce poco. In quella playlist trovi diversi esempi di reti neurali, ma nei prossimi tempi pubblicherò corsi specifici su Tensorflow.
      Se finita la playlist su ML sei soddisfatto e vuoi approfondire, qui ci sono i miei corsi premium:
      pollo-watzlawick.teachable.com/courses
      A presto

  • @pietrofusco7903
    @pietrofusco7903 5 років тому

    Ciao Piero,
    non so se posso permettermi, ma ci provo. Dovrei fare un preventivo per un lavoro che comprende il deep learning e non so come muovermi, nel senso che non so come conteggiare il tempo e quali tariffe applicare. Per favore potresti fornirmi qualche input in merito.
    Grazie in anticipo .
    Saluti

    • @PieroSavastano
      @PieroSavastano  5 років тому

      Ciao Pietro due consigli:
      - fai audit sui dati a disposizione: dipende tutto da qualità e quantità dei dati
      - gestisci le aspettive: il tuo interlocutore deve sapere che questi sono metodi statistici e non un oracolo tecnologico
      - misura il ritorno: stabilisci una misura di prestazione del modello e mappa le prestazioni sul piano economico
      Questi sono i consigli che mi sento di darti "in pubblico", se vuoi parlarne in privato puoi acquistare una consulenza e ci sentiamo su hangout:
      pieroit.org/portfolio/it/product/consulenza-via-hangouts-skype/

  • @mysteriousXsecret
    @mysteriousXsecret Рік тому

    Ma nel caso avessi, oltre al training set che hai usato, un validation set per scegliere, alla fine, il modello che minimizza l'errore sul validation, come dovrei usarlo all'atto pratico? 🤔

    • @PieroSavastano
      @PieroSavastano  Рік тому

      Guarda la playlist su ML nel canale, sono 25 e passa video faccio vedere tutto

  • @StefanoZamprogno
    @StefanoZamprogno 6 років тому

    Ottimi ed interessantissimi video ! Da hobbista mi sto interessando all'AI (machine/deep learning ecc..), purtroppo le mie basi matematiche tendono a...zero! sto giusto ripassando adesso visto che ho mio figlio di 12 anni 8-], Che libri consigli di prendere per un veloce ripasso e che permettano ad un autodidatta di apprendere le basi matematiche necessarie? (ho visto su amazon vari libretti "Matematica 1/2/3/4", possono servire a qualcosa o sono soldi buttati ?) Grazie e complimenti per la serie di video!

    • @PieroSavastano
      @PieroSavastano  6 років тому +1

      Stefano Zamprogno ciao grazie mille! Se sei a Roma sta per iniziare un mio corso su ML pensato per persone che sanno programmare ma non si ricordano o non capiscono la matematica. In alternativa ti direi di buttare un'occhio sui testi o'reilly sono ben fatti.
      C' è poi questo bellissimo libro gratuito in inglese che è pieno di fumetti ed esempi:
      guidetodatamining.com

    • @PieroSavastano
      @PieroSavastano  6 років тому

      Stefano Zamprogno per le basi di matematica in sè non saprei!

  • @itecoengineering1010
    @itecoengineering1010 5 років тому

    Non ne fai altri su deep learning, spieghi molto bene

    • @PieroSavastano
      @PieroSavastano  5 років тому

      Grazie ne ho altri 2 in coda! Arrivano ;)

    • @giuseppegaleotti9149
      @giuseppegaleotti9149 4 роки тому

      @@PieroSavastano quando arrivano?

    • @PieroSavastano
      @PieroSavastano  4 роки тому

      @@giuseppegaleotti9149 ho fatto una serie da 25 video sul machine learning, guarda quella prima altrimenti di deep non capisci nulla

    • @giuseppegaleotti9149
      @giuseppegaleotti9149 4 роки тому

      @@PieroSavastano ok

  • @MrPaconap
    @MrPaconap 4 роки тому

    Ciao Pietro, complimenti per la guida. Ho provato ad implementare ed eseguire il codice di entrambi i video (sia in VScode che in pyCharm) ma con entrambi mi trovo un risultato errato. Ho copiato il codice alla lettera e non riesco a spiegarmi l'errore (soprattutto nel primo caso che fai una semplice funzione matematica).
    É possibile che ci sia qualcosa configurato in modo errato nel sistema o nell'installazione di python? Utilizzo windows 10

    • @PieroSavastano
      @PieroSavastano  4 роки тому

      Che vuol dire risultato errato?

    • @MrPaconap
      @MrPaconap 4 роки тому

      @@PieroSavastano con il codice del primo video mi esce un risultato rispettivamente di: 0.7, 0.5 e 0.2 invece di: 0.9, 0.5 e 0.04.
      Con il codice del secondo video ricevo un error maggiore di 0 sul primo e sul secondo input.

    • @PieroSavastano
      @PieroSavastano  4 роки тому

      @@MrPaconap credo dipenda dal seed, l'importante sono le proporzioni. Vedi serie sul machine learning (uno dei primi video) per la spiegazione su numpy.random.seed

    • @MrPaconap
      @MrPaconap 4 роки тому

      @@PieroSavastano grazie mille. In realtà ci avevo pensato però mi sembra strano che un'operazione matematica come quella fatta nel primo video (che puoi eseguire tranquillamente anche con Google) e che deve portare ad un risultato esatto dia un risultato scorretto.
      Per questo ho pensato ad un problema di configurazione o similari. Ho provato anche a reinstallare tutto da 0 (py ed IDE) ma senza risultato sperato.

  • @astolfuwu_0721
    @astolfuwu_0721 2 роки тому

    e mo si aspetta l'episodio

    • @PieroSavastano
      @PieroSavastano  2 роки тому

      Ho abbandonato questa serie in favore di una più nuova e pratica:
      ua-cam.com/play/PLa-sizbCyh93LLkjA9TvC8JHdCTLbC2PC.html

    • @astolfuwu_0721
      @astolfuwu_0721 2 роки тому

      @@PieroSavastano oh- va be succede

  • @MarcoNanni
    @MarcoNanni 4 роки тому

    Ciao, seguo il tuo corso e lo trovo estremamente interessate e, per curiosità mia, sto sviluppando un piccolo deep learning utilizzando MNIST dataset a singolo layer per capirne bene i meccanismi.
    Mi capita una cosa strana e volevo capire se è normale, nel senso che possa capitare durante una sessione di apprendimento.
    Se itero 500 volte un set di 100 campioni ottengo il massimo dell'accuratezza pari a 1.0
    Se itero 500 volte (o 5.000 volte) un set da 1.000 campioni ottengo un accuratezza pari a 0.34
    E' possibile ?
    (I dati sono ok e ben scalati).

    • @PieroSavastano
      @PieroSavastano  4 роки тому

      Stesso identico script e cambi solo il numeor di epoche? Mi sembra strano

    • @MarcoNanni
      @MarcoNanni 4 роки тому

      @@PieroSavastano esatto anche a me... dimenticavo... learning rate a 0.001

    • @PieroSavastano
      @PieroSavastano  4 роки тому

      @@MarcoNanni mi viene da pensare a un bug, ci sta che all'aumentare delle epoche la rete overfitti e quindi l'accuratezza di test diminuisca, ma l'accuratezza di train non può scendere

    • @PieroSavastano
      @PieroSavastano  4 роки тому

      Sì forse stai parlando della test accuracy, vedi che la train accuracy non scende
      Se non ti quadra la differenza vedi i primi video del mio corso gratuito su ML, in particolare questo
      ua-cam.com/video/jTK6eU2ZTwY/v-deo.html

  • @DevsGame
    @DevsGame 5 років тому

    Video molto esplicativo e spiegato molto bene, dove posso trovare qualcosa che spiega questi algoritmi sto seguendo tutta la tua playlist sul machine learning e mi ha incuriosito tanto. Grazie in anticipo

    • @PieroSavastano
      @PieroSavastano  5 років тому

      Ciao Fabrizio il web è pieno di risorse, dipende da come sei messo

    • @DevsGame
      @DevsGame 5 років тому

      @@PieroSavastano che so ben poco volevo sapere se mi potevi consigliare qualche sito per cominciare con esempi pratici di Python javascript ecc

    • @PieroSavastano
      @PieroSavastano  5 років тому

      @@DevsGame su python il canale di pyMike, per la parte matematica DatoMato

  • @coniarlo
    @coniarlo 4 роки тому

    mi consigli qualche libro divulgativo su queste cose?...senza troppa matematica e quella poca rimasta, che la motivi e gli dia senso?...un pò come fai tu insomma

    • @PieroSavastano
      @PieroSavastano  4 роки тому +1

      Lo sto scrivendo caro! Stay tuned ;)

    • @coniarlo
      @coniarlo 4 роки тому

      @@PieroSavastano fammi sapere!!!:-)

  • @sergiopoladas3106
    @sergiopoladas3106 2 роки тому

    Piero ma stai utilizzando jupyter o pycharm?

  • @Steerlock
    @Steerlock 5 років тому

    Ciao Piero, bel video ma, c'è qualcosa che non va;
    Ho riscritto interamente il tuo codice quì tpcg.io/h3l3cZ, e funziona perfettamente, o perlomeno funziona finchè imposto le variabili come dici tu, ma se invece, provo a modificare le risposte da dare, ad esempio anzichè impostare y = [0, 1, 0, 0] lo imposto in y = [1,0,0,0], non riesce mai ad apprendere restituendomi quindi sempre errori nelle prime 3 domande. puoi provare è dirmi cosa sto sbagliando? o se c'è un'errore nel codice?
    Grazie, continua così :)

    • @PieroSavastano
      @PieroSavastano  5 років тому +1

      Ciao Steerlock nulla di errato, hai trovato il limite di un neurone senza soglia/bias, che è l'argomento del prossimo video (lo so, ci sto mettendo una vita a farlo XD).
      Per come è scritto il neurone dell'esempio, il potenziale di azione è calcolato come x1w1*x2w2*...xiwi. Questo dal punto di vista geometrico è un piano che passa per l'origine, poichè quando tutte le x sono a 0 il potenziale è sempre zero. Quando poi usi la funzione di attivazione a scalino discretizzi l'output, e anche quello scalino passa per l'origine.
      Per ovviare al problema si usa il cosiddetto bias o soglia, per cui al potenziale d'azione aggiungi un ulteriore w che però non dipende dall'input. In questo modo il piano ha un intercetta e se ne può andare in giro via dall'origine degli assi.
      Prova a fare questo:
      - a ogni pattern di input, aggiungi un input che è sempre fisso a 1
      - aggiungi un peso in più (falli partire piccoli, tipo tra -0.1 e 0.1)
      - rilancia e fammi sapere come è andata.
      In questo modo puoi approssimare diverse funzioni logiche:
      AND 1000
      OR 1110
      NAND 0111
      NOR 0001
      Che succede se provi con y = 0110? Quello è impossibile con un neurone solo, perchè è un problema non lineare. Da qui nasce l'esigenza di avere reti a più strati. I prossimi video sono su questi aspetti ;)

  • @giuseppegaleotti9149
    @giuseppegaleotti9149 5 років тому

    Lo ho copiato perfettamente ma non impara cioè rimane sempre lo stesso errore ho anche provato a cambiare il learning rate ma niente

  • @coniarlo
    @coniarlo 4 роки тому

    minchia...fai paura con le analogie e senso fisico...complimenti

    • @PieroSavastano
      @PieroSavastano  4 роки тому

      Senso fisico? Potresti chiarire?
      Grazie intanto del feedback!

    • @coniarlo
      @coniarlo 4 роки тому

      @@PieroSavastano minuto 2.29 sulla modifica dei pesi: il tuo cercare di spiegare, dare un senso, alla moltiplicazione dell' errore per l' ingresso...tradurre le formule in "scopi" è un pò quello che bisognerebbe fare sempre

    • @PieroSavastano
      @PieroSavastano  4 роки тому

      @@coniarlo ti ringrazio, insisterò anche su questo ;)