In Bioinformatica il Deep Learning, applicato allo studio della struttura terziaria delle proteine, con AlphaFold2 di DeepMind ha apportato una rivoluzione che molti Biologi non esitano a definire pari alla scoperta della struttura del DNA 70 anni fà. E l'importanza sta proprio nel fatto che in quel campo i risultati sono ripetibili, con scenari impensabili in campo biomedico.
Grande Piero! Sono un grandissimo fan di Mr Rip e lo seguo praticamente su tutto, fin dalla sua prima live su youtube. Avrei voluto farla io questa reaction (in realtà gliela avrei voluta fare in una sua live, nello stream di commenti che gli passa a sinistra). Concordo sia con te che con lui sui temi affrontati. L'unica cosa che mi sento di rimproverare a Mr Rip è che snobba troppo facilmente, a volte con superficialità, le domande che gli fanno riguardo la data science e il mestiere di data scientist, perchè fa passare quest'ultimo come l'omino che gioca con delle levette per far tuning, o come appunto l'alchimista che butta dentro ingredienti a caso. In realtà Mr Rip è molto sensibile alla statistica, alle statistiche e al calcolo delle probabilità, ma soprattutto lui stesso fa molta data science durissima nel suo tempo libero: basta vedere i suoi spreadsheet e i suoi video sugli investimenti e la pianificazione finanziaria. :D
In realtà anche nel calcolo numerico (fonte numerical recipes) mancano teoremi rigorosi su molte applicazioni di calcolo. Esempio: nella mia tesi di fisica ho sviluppato un software che usava librerie di calcolo (calcolo differenziale etc.) ma nessuno mi garantiva se le procedure di calcolo fossero stabili o accurate. Il machine learning usa algoritmi basati sulla statistica e quindi l'indeterminazione la trovi già a monte. In ogni caso, l'AI. fa cose che il computing deterministico in senso stretto non fa: esplora spazi di stati in modo casuale e produce output statisticamente rilevanti anche se non esatti. Se dovessimo programmare in modo classico una chatbot in modo che possa competere come chatgpt ad esempio, dovremmo riempire il codice di "if then else " programmati a manina in modo da prevedere tutte le possibili domande con tutti i possibili linguaggi con tutti i possibili errori grammaticali. Certe cose, semplicemente, sono impossibili da realizzare senza l'A.I.
Il machine learning risponde alle leggi evoluzionistiche, la programmazione a quelle logiche. E' come paragonare la fisica all'etologia, ci sono dei punti di contatto ma esplorano mondi diversi
Non capisco nulla di questi argomenti, ma ascoltarvi entrambi è sempre interessante. Cmq sto cercando (piano piano con il poco tempo a disposizione che ho) di avvicinarmi a Python anche grazie anche ai tuoi video
Sarà perché non so se neanche la mia testa sia "debuggable"... ma credo che ML/DL siano buone prassi per certe applicazioni di informatica e di robotica. Concordo co Piero!
riporto il commento che ho lasciato sotto il video di Mr RIP. Grazie per la review! Ciao mr rip e complimenti per tutti i tuoi interessanti video. Tuttavia mi trovo a dissentire su quanto dici. Quello di cui tu parli sembra più essere un tema riguarda le "classiche" rete neurali costruite in modo cieco (eccesso di hidden layer, over-parametrizzazione, ecc...) con il solo scopo di ottenere risultati (in sample) difendibili. Secondo me, lavorandoci almeno da 4 anni, il vero machine learning non è nient'altro che una funzione di ottimizzazione che cerca di ridurre il più possibile (minimizzare) un "costo" (un errore): come ottenere questo? cercando di trovare la formula matematica (statistica) che meglio può descrivere un certo fenomeno. Dopo 4 anni sono ancora dell'idea che per la maggior parte dei compiti (escludendo auto a guida autonoma, per intenderci), le reti neurali siano inutilizzabili ed eccessive (sia in termini di costo che di implementazione): meglio un classico algoritmo basato sul boosting o sul bagging, costruito in ottica bayesiana possibilmente. Il machine learning alla fine è un mix di ottimizzazione e il saper descrivere un fenomeno (da cui si intuisce quanto sia fondamentale la conoscenza del dominio di applicazione). Chi pretende di risolvere tutti i problemi del mondo con una qualsiasi forma di rete neurale è un ciarlatano, secondo me. aggiungo che le reti neurali secondo me possono essere utili per il computer vision, in cui le immagini hanno sempre "lo stesso formato". Se devi metterci dell'intelligenza la storia è diversa.
Ciao grazie per aver detto la tua. L'indicazione che do nei miei corsi è di usare deep learning per dati non tabulari (immagini, testo, audio, video) oppure quando i dati sono veramente tanti (milioni di record) Un saluto
Che poi c'è un bel po' di differenza tra ML e DL, riguardo al DL condivido sul fatto che sia in parte magia e molto random. Ovviamente quando dico random si intende rispetto alla programmazione, anche durante lo sviluppo di una rete neurale ad esempio segui dei principi e delle logiche, tuttavia non è mai nulla di "certo", più che altro è un "dovrebbe". Il problema principale mi è sempre sembrato, da qual che ho visto, che non sappiamo definire con esattezza un modello perfetto per un problema, quando ci sono troppi parametri e quando ce ne sono troppi pochi per poter riconoscere i pattern che ci interessano? Questa è stata la mia esperienza universitaria, poi ovviamente non essendo esperto non posso affermare quanto detto con assoluta certezza, però quando ho lavorato con le reti neurali è sempre stato un "proviamo cosi" e poi cercare di correggere il modello se il risultato non mi soddisfaceva... Si segue sempre un metodo scientifico, quindi non è certamente magia, ma non regge il confronto con la programmazione, per questo direi che capisco il discorso di Mr. Rip, poi se sbaglio siate liberi di correggermi nei commenti, sia mai che imparo qualcosa di nuovo
Dici bene che nel DL si va a tentoni, si potrebbero fare ricerche molto più rigorose esplorando sistematicamente le architetture e le varie decisioni prese per l'addestramento. Purtroppo quest'ultimo è lentissimo e siamo costretti a fare dei grossi "leap of faith" Sarebbe bello poter combinare la logica con il modello statistico, sono sicuro che questa cosa succederà nei prossimi anni
Probabilmente sarò strano io ma tutto quello che ha criticato mr rip su ML/DL vs informatica classica è esattamente quello che mi affascina dell’intelligenza artificiale. Sono ancora uno studente universitario quindi potrei non avere ancora una visione completa su questo. Comunque complimenti per i tuoi video!
scusa una domanda calcola che io ne so zero , ma il programma di machin learning non potrebbe dopo aver trovato la soluzione giusta dirgli ok adesso traduci tutto con degli if then else e quindi lui riscrive se stesso in forma di programmazione classica , o propio e' una fantasia irrealizzabile??
Un modello è già un programma, una rete neurale è una serie di moltiplicazioni per matrici e applicazione di funzioni di trasferimento esplicite. Un modello E' un programma
(non so perché YT non fa visualizzare la risposta, quindi la metto direttamente qui) Contestavo la frase di Mr RIP per cui tutto il SE (a esclusione del ML) è deterministico. Esistono paradigmi di programmazione che sono nondeterministici. Per esempio, la programmazione concorrente: è vero che, come dice Giacomo, esistono algoritmi concorrenti deterministici, sebbene la sequenza delle operazioni non lo sia (il nondeterminismo delle azioni compiute si riduce conoscendo il comportamento dello scheduler). Ma è altresì vero che esistono algoritmi concorrenti nondeterministici (si pensi a due transizioni bancarie che accedono in maniera concorrenziale allo stesso conto). Anche il paradigma logico ammette algoritmi deterministici e nondeterministici, ad esempio (in PROLOG): moneta(X,_,X). moneta(_,Y,Y). ?- moneta(1,2,X). X = 1 ; X = 2. Da un punto di vista insiemistico moneta corrisponde alla relazione Moneta = {(x,y,x), (x,y,y)} : non è una funzione binaria in quanto non è univoca sulla coppia (x,y). Per simulare il comportamento di moneta in un linguaggio che non ammette programmazione logica e/o relazionale (praticamente tutti i linguaggi tradizionali) occorre usare delle liste (che corrispondono moralmente all'insieme delle parti) come output. Altro esempio è la generazione di numeri (pseudo)casuali: se non conosco il seme, non posso conoscere il risultato della generatrice deterministicamente, ma ho un ventaglio di possibili risultati.
Nella mia limitata esperienza è destabilizzante il fatto che cambiando un solo iperparametro del modello cambiano molto i risultati senza un'apparente logica. Mi risulta impossibile da prevedere, non c'è una regola! La mia idea di fare sperimentazione sarebbe proprio quella di ricavare una sorta di "legge" che spieghi il fenomeno: cambio un iperparametro alla volta nel mio modello e vedo come influisce sul risultato. Così via via affino l'architettura del modello. Ma invece gli iperparametri si influenzano l'un l'altro in modi imprevedibili: altro che black-box, mi sembra di sparare con un fucile a pallettoni sperando di colpire qualcosa. L'idea di lanciare una grid-search che sondi tutte le combinazioni possibili e mi dia il modello migliore non è per niente soddisfacente: ho valutato davvero tutte le combinazioni? Il modello funziona egregiamente sui dati che ho qui ed adesso, ma è riuscito a generalizzare? Come si comporterà su dati nuovi che acquisirò nel tempo? Posso fidarmi? E' davvero frustante!
Ciao Andrea ti ringrazio di nuovo per la segnalazione, che ha dato vita a un bel dibattito Di grid search ne puoi fare diverse via via che ti avvicini al risultato, anche se concordo sulle interazioni imprevedibili (ma deterministiche!) tra gli iperparametri Su quanto il modello generalizzi, anche lì sono tante le sfide... ma noi siamo pronti ad accoglierle ;)
L'analisi di Piero mi sembra persino troppo signorile :) Per lo meno abbiamo avuto delle spiegazioni circostanziate in reazione ad un rant, che e` sempre un netto guagagno sull'entropia universale
Il paragone con l'alchimia - che notoriamente non funziona - è volutamente forzato, mi sembra più adatto un confronto con l'artigianato o la cucina. Hai delle regole, delle linee guida che sviluppi studiando e/o con l'esperienza, ma non vi sono _errori_ nello stesso modo in cui ci sono nel software engineer. MrRIP gioca a scacchi, che è un gioco che riflette benissimo l'idea del software engineer che può capire passo dopo passo gli errori e sa esattamente cosa avrebbe dovuto cambiare per ottenere il risultato sperato, ma non è l'unico gioco divertente. Ci sono giochi altrettanto divertenti - tipicamente che coinvolgono meccaniche reali e caotiche - in cui devi prendere decisioni con informazioni incomplete e trial and error, senza capire mai bene esattamente cosa sia andato male. Sono entrambe cose divertenti, dipende molto dalla persona. Sicuramente non sono le stesse persone che eccellono nei due campi.
Quello che pensavo, le reti neurali sono parte dei sistemi complessi, da uno stato iniziale diverso cambia tutto, ma se parti dallo stesso stato iniziale con le precisazioni dovute, arrivi sempre allo stesso risultato. Mi affascina un casino il Teorethical Machine Learning, per me solo applicare dei modelli di ML non basta, perchè ormai lo possono fare tutti con le librerie disponibili, comunque non conoscevo OpenAI microscope lo andrò a veder.
E' una figata, dall'ispezione delle reti neurali è nato addirittura un filone artistico. Lo fanno tenendo congelati i parametri e trovando l'immagine che massimizza l'attivazione di neuroni specifici all'interno della rete
Vabbé ci può stare che il ML non piaccia... adesso che si fa, se dico "preferisco le brune alle bionde", vi mettete a fare un video nel quale mi spiegate i pregi delle bionde? :) O fate un video per spiegarmi che il caffé zuccherato è più buono del caffé amaro? :) Ognuno si trova bene dove vuole :)
Dico più volte nel video che rispetto la sua opinione e che la trovo radicata nella realtà. Può essere un mio diritto dire perchè la penso diversamente? :D
Che poi, c'è da dire un'altra cosa... tutti cambiamo e magari tra 3 anni ci ritroviamo un video di Mr Rip che dice che ama il ML e un video di Piero che dice che ci ha ripensato e che odia il ML... e che beve pure il caffé zuccherato! :))
> Il Software Engineering è determinismo La programmazione concorrente (in mancanza di assunzioni sullo scheduler), il paradigma logico e quello relazionale (per definizione stessa di relazione in matematica) sono nondeterministici
Bella reaction. Un unico appunto: Retire In Progress, non Peace :) Segue la filosofia del FIRE, e la divulga, assieme a tante altre cose, sul suo canale.
@@PieroSavastano Tranquillo, ci è abituato :) Temo che YT non mi accetti link in commento ma puoi cercare per esempio un video di Mr.Rip in cui ne parla: "Che cosa sono Financial Independence & Early Retirement?". Semplificando molto: è acronimo di "Financial Independence Retire Early" ed è una filosofia che punta a raggiungere l'indipendenza economica il più presto possibile per poter dedicare il tempo a progetti senza dover avere il tarlo dei soldi. Un senzatetto felice, per paradosso, potrebbe essere Finantial Independent, per esempio.
Nessuna tecnologia è perfetta: il beneficio del ML è esponenziale mentre gli errori generati sono sparsi e delocalizzati. Quindi il bilancio complessivo è nettamente positivo. Se così non fosse, le grandi tech che usano AI non sarebbero le aziende più ricche al mondo.
Beh, quando dice che il Machine Learning non è deterministico ha ragione, no? Con il machine learning non prendiamo decisioni sulla base di if-then-else statement ma in maniera data-driven sulla base di modelli aleatori. Sicuramente con certi algoritmi si ha meno controllo, ma il ML mi sembra indispensabile ad esempio quando si a che fare con una grande mole di dati non strutturati (si veda ad esempio il digital image processing). Poi il ML è utile non solo per il decision making automatizzato anche nell'ambito della ricerca scientifica (poi non so se lui guardasse all'uso del Machine Learning in specifici ambiti). Ad esempio, con la mole di dati continuamente rilasciati sui social media possiamo rilevare pattern comportamentali e di interazione sociale tra la popolazione (ad esempio utilizzando clustering, topic modeling, community detection) e vedere come questi mutano/si sviluppano in corrispondenza con determinati avvenimenti socio-politici, operazioni di marketing o altro; questo senza il Machine Learning era impossibile.
Il modello è deterministico perchè se anche non capisci quello che sta facendo, farlo girre consiste in una serie di moltiplicazioni tra matrici e vettori e funzioni di trasferimento assolutamente esplicite! Concordo con il resto 100%
Noto un po’ di confusione nell’utilizzo dei termini “deterministico” e “non deterministico”. Dipende anche a che livello di astrazione ci poniamo, ma di base il Machine Learning, o ancora meglio, l’apprendimento in generale è probabilistico, il che significa che non è deterministico, che è diverso ancora dal “non-determinismo”, per approfondire si può dare un’occhiata al corso caltech del prof. Yaser Abu Mostafa, che spiega molto bene il perché non si può definire l’apprendimento come deterministico. Se invece si entra nel dettaglio degli algoritmi di apprendimento è vero che alcuni sono deterministici, ovvero dato un input produrranno sempre lo stesso output passando sempre per la stessa sequenza di stati, ma è anche vero che molti sono stocastici perché utilizzano valori randomici o prendono scelte in base alla probabilità. Questo non significa che questo tipo di algoritmi non sia finito, infatti seguono una serie di passi precisi (come moltiplicazioni tra matrici, pseudo-inverse, ecc..), semplicemente nel momento in cui l’algoritmo fa uso di un valore random o della probabilità allora non può più essere definito deterministico, bensì stocastico o probabilistico. Quindi su questo punto Mr. Rip secondo me ha ragione. Poi ripeto, dipende dal livello di astrazione su cui ci si sta ponendo, potrebbero avere ragione entrambi in base a cosa si riferiscono.
@@PieroSavastano deterministico: processo che dato un input x, avrò sempre un output y, indipendentemente da quello che succede nel mezzo, ci possono essere operazioni su matrici non deterministiche e passaggi con operatori in carne ed ossa deterministici
@@rdaze4755 la tua è una buona analisi, io nel mio piccolo vedo come non deterministico soltanto l'algoritmo in cui si usa continuamente sampling... nell'addestramento di reti hai lo shuffle del dataset e i pesi iniziali a caso, ma a parte quello è tutto assolutamente definito. Poi nelle architetture in cui è previsto sampling la cosa cambia, ma forse il punto della discussione non è il determinismo bensì il grado di controllo che si ha sul modello e le decisioni che prende dopo aver appreso dai dati
@@latramanascosta249 se nella rete usi sampling (esempio variational autoencoder) allora sì, ma in gran parte delle reti le uniche fonti di randomicità sono lo shuffle del dataset e i pesi iniziali della rete
D'accordo al 100% con MrRip. Da statistico la letteratura informatica sul Machine Learning è oscena. Tutto troppo empirico e poche spiegazioni teoriche.
Guarda mi sono spaccato il cervello per anni sulla teoria dell informazione per le reti neurali... per carità mi è servita ma preferisco il deep learning così com'è... Selvaggio e fuori controllo
oscena in base a cosa? semplicemente direi che funziona con logiche diverse rispetto a quelle a cui sei abituato....ossia, l'implementazione è più importante della teoria di basso livello e chi ci lavora si adegua
@@alessandroardu1059 se un manager deve prendere una decisione e non ha idea su cosa si basa il "modello" non userà mai lo strumento. Per questo la teoria sottostante è importante. Diciamo che il machine learning funziona solo per alcuni campi (computer vision, raccomandazione di prodotti, ecc...) e non è applicabile ad ogni cosa, come si tende a far pensare di questi tempi
@@alessandropiovani6164 guarda che per capire quello basta conoscere come funziona l'algoritmo su cui si basano, ci sono letture e video che lo spiegano in 10 minuti.
@@alessandroardu1059 "su cosa si basa il modello" è diverso dal dire "come funziona". Per esempio se uso una regressione logistica per determinare la probabilità di morte di una persona che ha il covid, andando ad interpretare i coefficienti del modello (i beta per capirci), posso capire che quella probabilità è incrementata da alcune variabili X e decrementata da altre. Una rete neurale è una scatola nera che ti restituisce la probabilità e basta e non ti dice niente dell'uso che fa delle variabili. Diciamo che oltre il risultato, avere un meccanismo trasparente di decision making per alcuni contesti è fondamentale. Facendo ricerca ho provato anche le tecniche di explainable machine learning ma si sono rivelate abbastanza deludenti (è un settore aperto, però sono d'accordo con mrRIP quando esprime le sue perplessità).
In realtà a me da esterno, che ha trovato questo video nella home e non è esperto dell'argomento, sembra che per il buon 90% delle opinioni espresse Piero si è trovato d'accordo
@@christianferrario sì la sensazione di cui parla @MR Rip la conosco bene e le sue critiche sono fondate. Io però ne traggo conclusioni diverse, la mancanza di controllo è proprio la parte bella del ML
Belle le reaction costruttive! Grande Piero!
le uniche reaction che dovrebbero esserci! ;)
Complimenti per la reazione così costruttiva. Ammirabile la tua pacatezza.
In Bioinformatica il Deep Learning, applicato allo studio della struttura terziaria delle proteine, con AlphaFold2 di DeepMind ha apportato una rivoluzione che molti Biologi non esitano a definire pari alla scoperta della struttura del DNA 70 anni fà. E l'importanza sta proprio nel fatto che in quel campo i risultati sono ripetibili, con scenari impensabili in campo biomedico.
Stupendo davvero... apprendimento per rinforzo
Grande Piero! Sono un grandissimo fan di Mr Rip e lo seguo praticamente su tutto, fin dalla sua prima live su youtube. Avrei voluto farla io questa reaction (in realtà gliela avrei voluta fare in una sua live, nello stream di commenti che gli passa a sinistra). Concordo sia con te che con lui sui temi affrontati. L'unica cosa che mi sento di rimproverare a Mr Rip è che snobba troppo facilmente, a volte con superficialità, le domande che gli fanno riguardo la data science e il mestiere di data scientist, perchè fa passare quest'ultimo come l'omino che gioca con delle levette per far tuning, o come appunto l'alchimista che butta dentro ingredienti a caso. In realtà Mr Rip è molto sensibile alla statistica, alle statistiche e al calcolo delle probabilità, ma soprattutto lui stesso fa molta data science durissima nel suo tempo libero: basta vedere i suoi spreadsheet e i suoi video sugli investimenti e la pianificazione finanziaria. :D
Si vede ch ene capisce, forse è così duro proprio perchè ha scelto di fare altro
Ma si Giorgio snobba la data science perchè è un boomer, io ormai ho accettao di essere bullizzato per questo, ma glielo si perdona.
@@federicobidone7789 gli si perdona tutto a Giorgione ❤️
@@federicobidone7789 un po' di sano bullismo non guasta mai XD
@@mr_rip una volta ho chiesto per un esame medico le "distribuzioni di riferimento", la faccia del tecnico è stata... priceless
In realtà anche nel calcolo numerico (fonte numerical recipes) mancano teoremi rigorosi su molte applicazioni di calcolo. Esempio: nella mia tesi di fisica ho sviluppato un software che usava librerie di calcolo (calcolo differenziale etc.) ma nessuno mi garantiva se le procedure di calcolo fossero stabili o accurate. Il machine learning usa algoritmi basati sulla statistica e quindi l'indeterminazione la trovi già a monte. In ogni caso, l'AI. fa cose che il computing deterministico in senso stretto non fa: esplora spazi di stati in modo casuale e produce output statisticamente rilevanti anche se non esatti. Se dovessimo programmare in modo classico una chatbot in modo che possa competere come chatgpt ad esempio, dovremmo riempire il codice di "if then else " programmati a manina in modo da prevedere tutte le possibili domande con tutti i possibili linguaggi con tutti i possibili errori grammaticali. Certe cose, semplicemente, sono impossibili da realizzare senza l'A.I.
concordo appieno!!
Il machine learning risponde alle leggi evoluzionistiche, la programmazione a quelle logiche. E' come paragonare la fisica all'etologia, ci sono dei punti di contatto ma esplorano mondi diversi
Per fortuna abbiamo entrambi questi strumenti, e forse in futuro riusciremo a combinarli!
Non capisco nulla di questi argomenti, ma ascoltarvi entrambi è sempre interessante. Cmq sto cercando (piano piano con il poco tempo a disposizione che ho) di avvicinarmi a Python anche grazie anche ai tuoi video
Benvenuto nel mondo Python!
Sarà perché non so se neanche la mia testa sia "debuggable"... ma credo che ML/DL siano buone prassi per certe applicazioni di informatica e di robotica. Concordo co Piero!
Undebuggable humans!
riporto il commento che ho lasciato sotto il video di Mr RIP. Grazie per la review!
Ciao mr rip e complimenti per tutti i tuoi interessanti video.
Tuttavia mi trovo a dissentire su quanto dici. Quello di cui tu parli sembra più essere un tema riguarda le "classiche" rete neurali costruite in modo cieco (eccesso di hidden layer, over-parametrizzazione, ecc...) con il solo scopo di ottenere risultati (in sample) difendibili. Secondo me, lavorandoci almeno da 4 anni, il vero machine learning non è nient'altro che una funzione di ottimizzazione che cerca di ridurre il più possibile (minimizzare) un "costo" (un errore): come ottenere questo? cercando di trovare la formula matematica (statistica) che meglio può descrivere un certo fenomeno. Dopo 4 anni sono ancora dell'idea che per la maggior parte dei compiti (escludendo auto a guida autonoma, per intenderci), le reti neurali siano inutilizzabili ed eccessive (sia in termini di costo che di implementazione): meglio un classico algoritmo basato sul boosting o sul bagging, costruito in ottica bayesiana possibilmente. Il machine learning alla fine è un mix di ottimizzazione e il saper descrivere un fenomeno (da cui si intuisce quanto sia fondamentale la conoscenza del dominio di applicazione). Chi pretende di risolvere tutti i problemi del mondo con una qualsiasi forma di rete neurale è un ciarlatano, secondo me.
aggiungo che le reti neurali secondo me possono essere utili per il computer vision, in cui le immagini hanno sempre "lo stesso formato". Se devi metterci dell'intelligenza la storia è diversa.
Ciao grazie per aver detto la tua.
L'indicazione che do nei miei corsi è di usare deep learning per dati non tabulari (immagini, testo, audio, video) oppure quando i dati sono veramente tanti (milioni di record)
Un saluto
@@PieroSavastano eh sì, esatto! Grazie per la risposta, un saluto anche a te! :)
Che poi c'è un bel po' di differenza tra ML e DL, riguardo al DL condivido sul fatto che sia in parte magia e molto random.
Ovviamente quando dico random si intende rispetto alla programmazione, anche durante lo sviluppo di una rete neurale ad esempio segui dei principi e delle logiche, tuttavia non è mai nulla di "certo", più che altro è un "dovrebbe".
Il problema principale mi è sempre sembrato, da qual che ho visto, che non sappiamo definire con esattezza un modello perfetto per un problema, quando ci sono troppi parametri e quando ce ne sono troppi pochi per poter riconoscere i pattern che ci interessano?
Questa è stata la mia esperienza universitaria, poi ovviamente non essendo esperto non posso affermare quanto detto con assoluta certezza, però quando ho lavorato con le reti neurali è sempre stato un "proviamo cosi" e poi cercare di correggere il modello se il risultato non mi soddisfaceva...
Si segue sempre un metodo scientifico, quindi non è certamente magia, ma non regge il confronto con la programmazione, per questo direi che capisco il discorso di Mr. Rip, poi se sbaglio siate liberi di correggermi nei commenti, sia mai che imparo qualcosa di nuovo
Dici bene che nel DL si va a tentoni, si potrebbero fare ricerche molto più rigorose esplorando sistematicamente le architetture e le varie decisioni prese per l'addestramento. Purtroppo quest'ultimo è lentissimo e siamo costretti a fare dei grossi "leap of faith"
Sarebbe bello poter combinare la logica con il modello statistico, sono sicuro che questa cosa succederà nei prossimi anni
Probabilmente sarò strano io ma tutto quello che ha criticato mr rip su ML/DL vs informatica classica è esattamente quello che mi affascina dell’intelligenza artificiale.
Sono ancora uno studente universitario quindi potrei non avere ancora una visione completa su questo.
Comunque complimenti per i tuoi video!
É indole, anche a me piace NON avere controllo
scusa una domanda calcola che io ne so zero , ma il programma di machin learning non potrebbe dopo aver trovato la soluzione giusta dirgli ok adesso traduci tutto con degli if then else e quindi lui riscrive se stesso in forma di programmazione classica , o propio e' una fantasia irrealizzabile??
Un modello è già un programma, una rete neurale è una serie di moltiplicazioni per matrici e applicazione di funzioni di trasferimento esplicite.
Un modello E' un programma
(non so perché YT non fa visualizzare la risposta, quindi la metto direttamente qui)
Contestavo la frase di Mr RIP per cui tutto il SE (a esclusione del ML) è deterministico. Esistono paradigmi di programmazione che sono nondeterministici. Per esempio, la programmazione concorrente: è vero che, come dice Giacomo, esistono algoritmi concorrenti deterministici, sebbene la sequenza delle operazioni non lo sia (il nondeterminismo delle azioni compiute si riduce conoscendo il comportamento dello scheduler). Ma è altresì vero che esistono algoritmi concorrenti nondeterministici (si pensi a due transizioni bancarie che accedono in maniera concorrenziale allo stesso conto). Anche il paradigma logico ammette algoritmi deterministici e nondeterministici, ad esempio (in PROLOG):
moneta(X,_,X).
moneta(_,Y,Y).
?- moneta(1,2,X).
X = 1 ;
X = 2.
Da un punto di vista insiemistico moneta corrisponde alla relazione Moneta = {(x,y,x), (x,y,y)} : non è una funzione binaria in quanto non è univoca sulla coppia (x,y).
Per simulare il comportamento di moneta in un linguaggio che non ammette programmazione logica e/o relazionale (praticamente tutti i linguaggi tradizionali) occorre usare delle liste (che corrispondono moralmente all'insieme delle parti) come output.
Altro esempio è la generazione di numeri (pseudo)casuali: se non conosco il seme, non posso conoscere il risultato della generatrice deterministicamente, ma ho un ventaglio di possibili risultati.
Chiaro grazie!
Nella mia limitata esperienza è destabilizzante il fatto che cambiando un solo iperparametro del modello cambiano molto i risultati senza un'apparente logica.
Mi risulta impossibile da prevedere, non c'è una regola!
La mia idea di fare sperimentazione sarebbe proprio quella di ricavare una sorta di "legge" che spieghi il fenomeno: cambio un iperparametro alla volta nel mio modello e vedo come influisce sul risultato. Così via via affino l'architettura del modello.
Ma invece gli iperparametri si influenzano l'un l'altro in modi imprevedibili: altro che black-box, mi sembra di sparare con un fucile a pallettoni sperando di colpire qualcosa.
L'idea di lanciare una grid-search che sondi tutte le combinazioni possibili e mi dia il modello migliore non è per niente soddisfacente: ho valutato davvero tutte le combinazioni? Il modello funziona egregiamente sui dati che ho qui ed adesso, ma è riuscito a generalizzare? Come si comporterà su dati nuovi che acquisirò nel tempo? Posso fidarmi? E' davvero frustante!
Ciao Andrea ti ringrazio di nuovo per la segnalazione, che ha dato vita a un bel dibattito
Di grid search ne puoi fare diverse via via che ti avvicini al risultato, anche se concordo sulle interazioni imprevedibili (ma deterministiche!) tra gli iperparametri
Su quanto il modello generalizzi, anche lì sono tante le sfide... ma noi siamo pronti ad accoglierle ;)
@@PieroSavastano E' un po' come nella vita, sai che puoi fare sempre meglio! 😁
L'analisi di Piero mi sembra persino troppo signorile :) Per lo meno abbiamo avuto delle spiegazioni circostanziate in reazione ad un rant, che e` sempre un netto guagagno sull'entropia universale
Grazie Alberto, fighting da entropy day by day :D
Il paragone con l'alchimia - che notoriamente non funziona - è volutamente forzato, mi sembra più adatto un confronto con l'artigianato o la cucina. Hai delle regole, delle linee guida che sviluppi studiando e/o con l'esperienza, ma non vi sono _errori_ nello stesso modo in cui ci sono nel software engineer.
MrRIP gioca a scacchi, che è un gioco che riflette benissimo l'idea del software engineer che può capire passo dopo passo gli errori e sa esattamente cosa avrebbe dovuto cambiare per ottenere il risultato sperato, ma non è l'unico gioco divertente. Ci sono giochi altrettanto divertenti - tipicamente che coinvolgono meccaniche reali e caotiche - in cui devi prendere decisioni con informazioni incomplete e trial and error, senza capire mai bene esattamente cosa sia andato male.
Sono entrambe cose divertenti, dipende molto dalla persona. Sicuramente non sono le stesse persone che eccellono nei due campi.
Che dire? You nailed it!
Quello che pensavo, le reti neurali sono parte dei sistemi complessi, da uno stato iniziale diverso cambia tutto, ma se parti dallo stesso stato iniziale con le precisazioni dovute, arrivi sempre allo stesso risultato. Mi affascina un casino il Teorethical Machine Learning, per me solo applicare dei modelli di ML non basta, perchè ormai lo possono fare tutti con le librerie disponibili, comunque non conoscevo OpenAI microscope lo andrò a veder.
E' una figata, dall'ispezione delle reti neurali è nato addirittura un filone artistico. Lo fanno tenendo congelati i parametri e trovando l'immagine che massimizza l'attivazione di neuroni specifici all'interno della rete
Miglioriamo la grafica, siamo nel 2022 :)
quale aspetto della grafica? grazie
@@PieroSavastano immagino si riferisca alla webcam
@@metalfingerz4203 ne sto aspettando una 1080p a 60 fps, speriamo che viaggi
Vabbé ci può stare che il ML non piaccia... adesso che si fa, se dico "preferisco le brune alle bionde", vi mettete a fare un video nel quale mi spiegate i pregi delle bionde? :)
O fate un video per spiegarmi che il caffé zuccherato è più buono del caffé amaro? :)
Ognuno si trova bene dove vuole :)
Dico più volte nel video che rispetto la sua opinione e che la trovo radicata nella realtà. Può essere un mio diritto dire perchè la penso diversamente? :D
E ci mancherebbe! ;)
Che poi, c'è da dire un'altra cosa... tutti cambiamo e magari tra 3 anni ci ritroviamo un video di Mr Rip che dice che ama il ML e un video di Piero che dice che ci ha ripensato e che odia il ML... e che beve pure il caffé zuccherato! :))
@@dariozoff3030 ahajaha infatti! Grazie del tuo contributo mi ha fatto riflettere
> Il Software Engineering è determinismo
La programmazione concorrente (in mancanza di assunzioni sullo scheduler), il paradigma logico e quello relazionale (per definizione stessa di relazione in matematica) sono nondeterministici
si possono avere algoritmi concorrenti con risultati deterministici, anche se il percorso per arrivarci non lo è
Alessandro puoi elaborare? Grazie
Bella reaction. Il tuo gruppo telegram è aperto? :)
Arriva presto quello aperto! Ne parlerò sul canale, seguimi se ti va :)
Bella reaction. Un unico appunto: Retire In Progress, non Peace :)
Segue la filosofia del FIRE, e la divulga, assieme a tante altre cose, sul suo canale.
Ops chiedo scusa per aver sbagliato il nome, spero non me ne vorrà
In che consiste la filosofia FIRE?
@@PieroSavastano Tranquillo, ci è abituato :)
Temo che YT non mi accetti link in commento ma puoi cercare per esempio un video di Mr.Rip in cui ne parla: "Che cosa sono Financial Independence & Early Retirement?".
Semplificando molto: è acronimo di "Financial Independence Retire Early" ed è una filosofia che punta a raggiungere l'indipendenza economica il più presto possibile per poter dedicare il tempo a progetti senza dover avere il tarlo dei soldi. Un senzatetto felice, per paradosso, potrebbe essere Finantial Independent, per esempio.
@@PaoloSulprizio interessante, mi informerò grazie
Nessuna tecnologia è perfetta: il beneficio del ML è esponenziale mentre gli errori generati sono sparsi e delocalizzati. Quindi il bilancio complessivo è nettamente positivo. Se così non fosse, le grandi tech che usano AI non sarebbero le aziende più ricche al mondo.
Esatto, si tratta di dare un valore economico agli errori e alle predizioni corrette, da lì la fattibilità si può discutere
Beh, quando dice che il Machine Learning non è deterministico ha ragione, no? Con il machine learning non prendiamo decisioni sulla base di if-then-else statement ma in maniera data-driven sulla base di modelli aleatori.
Sicuramente con certi algoritmi si ha meno controllo, ma il ML mi sembra indispensabile ad esempio quando si a che fare con una grande mole di dati non strutturati (si veda ad esempio il digital image processing).
Poi il ML è utile non solo per il decision making automatizzato anche nell'ambito della ricerca scientifica (poi non so se lui guardasse all'uso del Machine Learning in specifici ambiti). Ad esempio, con la mole di dati continuamente rilasciati sui social media possiamo rilevare pattern comportamentali e di interazione sociale tra la popolazione (ad esempio utilizzando clustering, topic modeling, community detection) e vedere come questi mutano/si sviluppano in corrispondenza con determinati avvenimenti socio-politici, operazioni di marketing o altro; questo senza il Machine Learning era impossibile.
Il modello è deterministico perchè se anche non capisci quello che sta facendo, farlo girre consiste in una serie di moltiplicazioni tra matrici e vettori e funzioni di trasferimento assolutamente esplicite!
Concordo con il resto 100%
Noto un po’ di confusione nell’utilizzo dei termini “deterministico” e “non deterministico”.
Dipende anche a che livello di astrazione ci poniamo, ma di base il Machine Learning, o ancora meglio, l’apprendimento in generale è probabilistico, il che significa che non è deterministico, che è diverso ancora dal “non-determinismo”, per approfondire si può dare un’occhiata al corso caltech del prof. Yaser Abu Mostafa, che spiega molto bene il perché non si può definire l’apprendimento come deterministico.
Se invece si entra nel dettaglio degli algoritmi di apprendimento è vero che alcuni sono deterministici, ovvero dato un input produrranno sempre lo stesso output passando sempre per la stessa sequenza di stati, ma è anche vero che molti sono stocastici perché utilizzano valori randomici o prendono scelte in base alla probabilità.
Questo non significa che questo tipo di algoritmi non sia finito, infatti seguono una serie di passi precisi (come moltiplicazioni tra matrici, pseudo-inverse, ecc..), semplicemente nel momento in cui l’algoritmo fa uso di un valore random o della probabilità allora non può più essere definito deterministico, bensì stocastico o probabilistico.
Quindi su questo punto Mr. Rip secondo me ha ragione. Poi ripeto, dipende dal livello di astrazione su cui ci si sta ponendo, potrebbero avere ragione entrambi in base a cosa si riferiscono.
@@PieroSavastano deterministico: processo che dato un input x, avrò sempre un output y, indipendentemente da quello che succede nel mezzo, ci possono essere operazioni su matrici non deterministiche e passaggi con operatori in carne ed ossa deterministici
@@rdaze4755 la tua è una buona analisi, io nel mio piccolo vedo come non deterministico soltanto l'algoritmo in cui si usa continuamente sampling... nell'addestramento di reti hai lo shuffle del dataset e i pesi iniziali a caso, ma a parte quello è tutto assolutamente definito. Poi nelle architetture in cui è previsto sampling la cosa cambia, ma forse il punto della discussione non è il determinismo bensì il grado di controllo che si ha sul modello e le decisioni che prende dopo aver appreso dai dati
@@latramanascosta249 se nella rete usi sampling (esempio variational autoencoder) allora sì, ma in gran parte delle reti le uniche fonti di randomicità sono lo shuffle del dataset e i pesi iniziali della rete
D'accordo al 100% con MrRip. Da statistico la letteratura informatica sul Machine Learning è oscena. Tutto troppo empirico e poche spiegazioni teoriche.
Guarda mi sono spaccato il cervello per anni sulla teoria dell informazione per le reti neurali... per carità mi è servita ma preferisco il deep learning così com'è... Selvaggio e fuori controllo
oscena in base a cosa? semplicemente direi che funziona con logiche diverse rispetto a quelle a cui sei abituato....ossia, l'implementazione è più importante della teoria di basso livello e chi ci lavora si adegua
@@alessandroardu1059 se un manager deve prendere una decisione e non ha idea su cosa si basa il "modello" non userà mai lo strumento. Per questo la teoria sottostante è importante.
Diciamo che il machine learning funziona solo per alcuni campi (computer vision, raccomandazione di prodotti, ecc...) e non è applicabile ad ogni cosa, come si tende a far pensare di questi tempi
@@alessandropiovani6164 guarda che per capire quello basta conoscere come funziona l'algoritmo su cui si basano, ci sono letture e video che lo spiegano in 10 minuti.
@@alessandroardu1059 "su cosa si basa il modello" è diverso dal dire "come funziona". Per esempio se uso una regressione logistica per determinare la probabilità di morte di una persona che ha il covid, andando ad interpretare i coefficienti del modello (i beta per capirci), posso capire che quella probabilità è incrementata da alcune variabili X e decrementata da altre. Una rete neurale è una scatola nera che ti restituisce la probabilità e basta e non ti dice niente dell'uso che fa delle variabili. Diciamo che oltre il risultato, avere un meccanismo trasparente di decision making per alcuni contesti è fondamentale. Facendo ricerca ho provato anche le tecniche di explainable machine learning ma si sono rivelate abbastanza deludenti (è un settore aperto, però sono d'accordo con mrRIP quando esprime le sue perplessità).
non so più con chi essere d'accordo
Fai bene a sentire tutte le campane ;)
1- una live fra voi due non sarebbe interessante, sarebbe molto, molto di più.
0- ci spieghi il grokking?
In ordine inverso per importanza
1 - la facciamo presto!
0 - mi informo !
Piero per me questo non capisce una. Mazza
Lo trovo in gamba, anche se non concordo
Opinioni personali.
In realtà a me da esterno, che ha trovato questo video nella home e non è esperto dell'argomento, sembra che per il buon 90% delle opinioni espresse Piero si è trovato d'accordo
@@christianferrario sì la sensazione di cui parla @MR Rip la conosco bene e le sue critiche sono fondate. Io però ne traggo conclusioni diverse, la mancanza di controllo è proprio la parte bella del ML