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 - Наука та технологія
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!
Grazie Luigi!
Ci credo tanto nel rendere comprensibile e piacevole questi temi, che sono spesso presentati in modo parecchio formale.
Un saluto :)
Molto chiaro !!! Continua con questi video 👍🏻
nunzio di napoli grazie ;)
Video bellissimo e molto chiaro !!
Sky-Dō grazie! ;)
Grazie mille per il video davvero cristallino
Ivan Guerreschi my pleasure ;)
Dovremmo tutti fidarci di Einstein: "Se non lo sai spiegare in modo semplice, non l’hai capito abbastanza bene"
Ottimo video!
Michael Zama grazie :)
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
Chi va piano va sano e lontano! Grazie Andrea
Grande Piero! Fantastico!
Fai anche dei video su programmazione python per favore?
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
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?
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
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
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/
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? 🤔
Guarda la playlist su ML nel canale, sono 25 e passa video faccio vedere tutto
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!
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
Stefano Zamprogno per le basi di matematica in sè non saprei!
Non ne fai altri su deep learning, spieghi molto bene
Grazie ne ho altri 2 in coda! Arrivano ;)
@@PieroSavastano quando arrivano?
@@giuseppegaleotti9149 ho fatto una serie da 25 video sul machine learning, guarda quella prima altrimenti di deep non capisci nulla
@@PieroSavastano ok
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
Che vuol dire risultato errato?
@@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.
@@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
@@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.
e mo si aspetta l'episodio
Ho abbandonato questa serie in favore di una più nuova e pratica:
ua-cam.com/play/PLa-sizbCyh93LLkjA9TvC8JHdCTLbC2PC.html
@@PieroSavastano oh- va be succede
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).
Stesso identico script e cambi solo il numeor di epoche? Mi sembra strano
@@PieroSavastano esatto anche a me... dimenticavo... learning rate a 0.001
@@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
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
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
Ciao Fabrizio il web è pieno di risorse, dipende da come sei messo
@@PieroSavastano che so ben poco volevo sapere se mi potevi consigliare qualche sito per cominciare con esempi pratici di Python javascript ecc
@@DevsGame su python il canale di pyMike, per la parte matematica DatoMato
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
Lo sto scrivendo caro! Stay tuned ;)
@@PieroSavastano fammi sapere!!!:-)
Piero ma stai utilizzando jupyter o pycharm?
Qui PyCharm
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ì :)
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 ;)
Lo ho copiato perfettamente ma non impara cioè rimane sempre lo stesso errore ho anche provato a cambiare il learning rate ma niente
Non saprei caro, mi sembra tutto ok. Controlla bene
@@PieroSavastano ora funziona
@@PieroSavastano grazie
@@PieroSavastano posso farti una domanda?
Quando tornerai a fare video
@@giuseppegaleotti9149 presto! Ne ho 5 in coda ;)
Condividi a più non posso!!
minchia...fai paura con le analogie e senso fisico...complimenti
Senso fisico? Potresti chiarire?
Grazie intanto del feedback!
@@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
@@coniarlo ti ringrazio, insisterò anche su questo ;)