• 3 settimane fa
Reti neurali e deep learning. Funzionalità di ChatGPT con account.
Trascrizione
00:00Cominciamo a dare qualche indicazione su cos'è effettivamente l'intelligenza
00:07artificiale e come è implementata, diciamo, in modo da capire meglio quali
00:18sono le problematiche e come utilizzarla meglio naturalmente.
00:24Promesso che non dirò moltissimo su queste cose ma è il minimo
00:32indispensabile per poter capire meglio di cosa parliamo in realtà.
00:40Cominciamo col dire che l'intelligenza artificiale ormai da diversi anni,
00:45insomma intorno a 1950, dove il primo a parlare di intelligenza artificiale fu
00:53un certo mischi, ovviamente in America. Allora l'intelligenza artificiale
01:01intendiamo una serie di tecniche in cui si cerca di far funzionare le macchine
01:10imitando l'intelligenza umana. Rappresentano un grandissimo insieme di
01:18pratiche. Ecco, un sotto insieme di queste è in realtà noto con il termine di
01:28machine learning, cioè quello che in italiano traduciamo come
01:35apprendimento automatico. In realtà che cos'è l'apprendimento automatico?
01:41I computer ovviamente vanno programmati per poter fare qualsiasi tipo di
01:48cosa. Ora la programmazione classica è fatta di regole, cioè noi diciamo
01:55praticamente al computer, diamo al computer una serie di comandi in cui
02:01diciamo fai questo, poi fai quest'altro, poi fai quest'altro ancora, se succede
02:07questo fai in questo modo, se succede quest'altro fai in quest'altro modo,
02:13quindi una serie di regole. Questa è la programmazione classica.
02:18In machine learning invece cambia praticamente il paradigma, cioè facciamo
02:25un programma in cui la macchina apprende autonomamente quali sono le regole per
02:36risolvere una determinata problematica. Il grande successo che si è avuto in
02:42questi ultimi anni delle tecniche di intelligenza artificiale è dovuto ad un
02:48sottinsieme del machine learning che riguarda appunto il cosiddetto deep
02:55learning, cioè apprendimento profondo. Parliamo di una serie di tecniche che
03:03fa uso di modelli matematici che sono le reti neurali.
03:10Cosa sono le reti neurali? È possibile dirlo semplicemente, diciamo, come ricorda
03:19il nome, sono delle reti di neuroni artificiali, quindi diciamo il concetto
03:27parte da quello del neurone artificiale che è sostanzialmente un modello
03:36matematico ispirato al neurone naturale. Ora io non vorrei dire tantissimo a
03:45proposito di questa cosa anche perché non sarei manco capace di entrare nel
03:50dettaglio. Ad ogni modo un neurone naturale è una cellula
03:54che dispone di quelli che vengono chiamati dendriti e attraverso le
04:03sinapsi questa cellula riceve gli stimoli da altri neuroni, la cellula
04:11processa questi stimoli in un determinato modo e se, diciamo così per
04:19dirla molto semplice, se questi stimoli superano una determinata soglia
04:26caratteristica allora parte un impulso, chiamiamolo così, un impulso
04:32elettrico attraverso una parte della cellula che viene chiamata assone e
04:38questo impulso che è noto come potenziale di assone raggiunge altri
04:43neuroni, quindi il meccanismo è un po' questo, detto molto molto sommariamente
04:49è un po' questo. Allora il neurone artificiale è ispirato al funzionamento
04:54del neurone naturale ed è praticamente un modello matematico, un calcolo
05:01praticamente. Allora che cosa c'è? C'è il neurone artificiale, questo tondino in
05:09realtà, a cui fanno capo una serie di ingressi, sono degli ingressi, che pesati
05:20ciascuno in un certo modo, queste w rappresentano appunto questi pesi, pesati
05:28in un certo modo poi vengono sommati e se questa somma pesata supera una
05:37determinata soglia parte uno stimolo che va a comunicare con i neuroni artificiali
05:47successivi. Allora questo più o meno è, adesso senza entrare in dettaglio, questo
05:54è più o meno il funzionamento del neurone artificiale. Teniamo conto che il
06:01neurone artificiale fu diciamo pensato da due illustri scienziati nel secolo
06:11passato, a metà del secolo passato, questi due scienziati si chiamavano
06:16McCulloch e Pitts. McCulloch era un biologo, un neurobiologo, Pitts invece era un
06:26matematico e quindi immaginarono di riprodurre con questo modello matematico
06:34il funzionamento di un neurone, che diciamo è molto molto approssimativo
06:42come modello, ma un po' ricorda il funzionamento del neurone naturale diciamo.
06:50Ci sono naturalmente delle grandi diversità, il neurone, ecco tanto per
06:57dirne una, il neurone naturale ha un comportamento piuttosto dinamico, invece
07:09questo modello matematico è un modello matematico statico diciamo, una volta
07:14definiti i pesi diventa un'operazione, praticamente una combinazione lineare
07:22con una soglia, quindi un funzionamento piuttosto statico.
07:27Ad ogni modo, questo neurone artificiale è stato il punto di partenza di tutto
07:37quello che noi oggi conosciamo dell'intelligenza artificiale, nel senso
07:44che mettendo assieme questi neuroni artificiali su diversi strati
07:53consecutivi dall'ingresso verso l'uscita, si realizzano quelle che noi oggi
07:59conosciamo essere le reti neurali, reti neurali su cui è costruita diciamo così
08:09l'intelligenza artificiale. Si tratta di modelli matematici, modelli
08:15matematici di tipo probabilistico, quando gli strati centrali, anziché essere uno,
08:24sono diversi, si realizza una rete profonda e questa rete profonda dà origine
08:33al cosiddetto deep learning. Le reti neurali sono la base, come dicevo,
08:40dell'intelligenza artificiale che conosciamo oggi, sono dei modelli
08:44matematici molto complessi di tipo probabilistico, quindi basati sulla
08:51statistica fondamentalmente e vi dico subito non è semplicissimo capire
09:04cosa succede esattamente in una rete neurale quando dà un determinato
09:09risultato. Allora, quando è che anziché utilizzare la programmazione classica
09:17utilizziamo algoritmi di apprendimento automatico? Quando la problematica da
09:25risolvere con il computer è piuttosto complessa, non è praticamente possibile
09:34risolverla attraverso una programmazione a regole. Per esempio, facciamo un
09:42classico esempio, una intelligenza artificiale, ecco, una rete neurale è in
09:46grado di riconoscere delle foto di gatti o di cani, il classico esempio
09:58che solitamente si fa, cioè io posso fare in modo che una rete neurale riconosca
10:05la foto di un gatto e la distingua dalla foto di un cane, nel senso che se io do
10:12la foto di un gatto la rete mi dirà che questo è un gatto, se io do la foto di un
10:19cane la rete dirà che quello è un cane. Allora, come si fa? Ecco, qui arriviamo un
10:25attimino a dire meglio il funzionamento, a capire meglio il funzionamento di
10:31questi sistemi. Allora, nella fase di allenamento, nella fase di addestramento
10:38che è la fase iniziale di qualunque sistema di intelligenza artificiale, è una
10:47fase iniziale di addestramento, in inglese training, in cui noi facciamo
10:52vedere una quantità enorme di fotografie di cani e di gatti, cioè
11:00proponiamo alla rete, quando diciamo facciamo vedere va inteso un po' tra
11:09virgolette, nella fase di addestramento, di training, abbiamo alla rete una
11:16quantità enorme di foto di cani e di foto di gatti, ciascuna con la
11:28propria etichetta, cioè diciamo questo qui è un gatto, questo è un cane, questo è un
11:34altro cane, questo è un gatto, quindi proponiamo una serie di foto alla rete.
11:41Questa fase appunto che è la fase di addestramento, che cosa consente di fare?
11:50Consente alla rete di pian pianino, attraverso un algoritmo particolare
11:58che viene chiamato algoritmo di backpropagation, basato su concetti
12:06matematici piuttosto evoluti, che sono quelli del gradiente di una funzione di
12:13più variabili, allora con la tecnica del del gradiente discendente, adesso non
12:20vado nei particolari, dico solo dei paroloni, ma insomma con una tecnica
12:25matematica particolare, la rete pian pianino aggiusta tutti i pesi interni,
12:35teniamo presente che in una rete con più strati i pesi interni sono
12:42migliaia e migliaia, se non milioni nel caso delle intelligenze artificiali come
12:50chat cpt, allora aggiusta questi pesi interni che sono fondamentalmente dei
12:55numeri, pian pianino li modifica man mano che va avanti l'addestramento con questo
13:02algoritmo particolare, sfruttando questo algoritmo particolare di backpropagation
13:06aggiusta pian piano tutti i pesi interni, tutti i parametri interni, fino a che a un
13:11certo momento non diventa non diventa capace di distinguere la foto di un cane
13:18dalla foto di un gatto, attenzione è capace di fare questa operazione
13:23generalizzando, cioè se noi dopo la fase di training proponiamo una foto che la
13:34rete non ha mai visto, rappresentante un cane, la rete dirà con il 95% di
13:45probabilità questo qui è un cane, quindi noi sappiamo 95% di un cane vuol dire
13:50che la rete ha deciso che si tratta di un cane, se noi per assurdo proponessimo
13:58alla rete la foto di un koala che non è né un cane né un gatto, la rete non mi
14:05dice io non lo so fare, oppure non mi dice non sono in grado di distinguere se si
14:13tratta di un cane o di un gatto, allora può darsi che la rete è molto probabile
14:19che la rete in questo caso dica con questa foto al 60% rappresenta un cane
14:29il 40% rappresenta un gatto, ecco il concetto di probabilità, una probabilità
14:37come quella nel caso del koala, il 60% e il 40% semplicemente dice
14:44semplicemente che la rete non è sicura se si tratti di un cane o di un gatto
14:49quindi è molto molto incerta, questo è allora quindi l'apprendimento
14:54automatico che cos'è? Un modo di far apprendere alle macchine in maniera
14:59automatica le regole per risolvere una determinata problematica, come fa ad
15:09apprendere in automatico? Vengono prodotte durante la fase di
15:21addestramento che caratterizza diciamo tutte le reti di questo tipo anche
15:27chat cpt è stata addestrata, poi vedremo in che modo, durante una fase di
15:33addestramento attraverso una serie di esempi fornite naturalmente dall'uomo
15:39quindi la mano dell'uomo c'è sempre naturalmente queste questioni fornite
15:45dall'uomo durante la fase di addestramento dicevo
15:48vengono proposte una serie di esempi dai quali la rete
15:56apprende le regole per risolvere quella determinata problematica
16:04in definitiva che cosa accade? Perché qua stiamo parlando di machine learning e in
16:10particolare di deep learning, quindi reti neurali profonde
16:19vuol dire che durante la fase di addestramento la rete attraverso degli
16:27algoritmi particolari di propagazione all'indietro quindi back propagation
16:35aggiusta man mano i parametri che sono di una quantità enorme naturalmente
16:43aggiusta man mano i parametri questi numeretti interni e alla fine diventa
16:49capace di appunto prendere delle decisioni anche su base probabilistica
16:58cioè attraverso un meccanismo di probabilità
17:04ora diciamo che le reti neurali sono capaci di fare fondamentalmente due
17:17grandi categorie di lavori chiamiamoli così possono fare la classificazione
17:26oppure possono fare la regressione sono due io naturalmente adesso non vado nei
17:34particolari cerco di rimanere un po' come dire una descrizione di carattere
17:40molto più molto generale che cos'è la classificazione? La classificazione è
17:46quella che abbiamo appena detto cioè la rete è in grado di classificare
17:52dei dati in base all'apprendimento che ha fatto precedentemente naturalmente
18:00ecco selezionare dire che una foto rappresenti la foto di un gatto sulla
18:08base dell'addestramento precedente significa poter classificare quella foto
18:13questo tipo di processo viene detto appunto classificazione non è detto che
18:18debba essere necessariamente fatto tra due entità differenti cioè in questo
18:25caso cane e gatto un esempio semplice l'addestramento può essere fatto su
18:31foto di mille animali differenti e quindi a quel punto la rete diventa
18:41capace di identificare un animale da una foto che noi proponiamo e quindi a quel
18:49punto non è una classificazione tra due possibilità ma una classificazione fatta
18:55tra mille possibilità quindi potrebbe essere capace a quel punto la rete di
19:00riconoscere un cavallo una zebra un cane un gatto eccetera eccetera
19:07la regressione invece è un processo basato sempre sull'apprendimento in cui
19:18la rete impara a fare una previsione numerica ad esempio classico esempio che
19:26si fa in questo caso è insegnare tra virgolette insegnare la rete a prevedere
19:36il prezzo di un appartamento di casetta per esempio no allora noi forniamo alla
19:43rete una serie di esempi presi dal mercato immobiliare di casetta degli
19:50ultimi dieci anni per ogni appartamento venuto diciamo da quante stanze è
19:59composto quanti metri quadrati è in che zona di casetta sta tutti i parametri
20:08che influiscono naturalmente sul prezzo dell'appartamento allora diamo questo
20:15grande set di dati infatti in inglese viene chiamato proprio data set del
20:22dell'apprendimento e quindi forniamo questo grosso insieme di dati alla rete
20:34e la rete impara ovviamente di ciascun appartamento abbiamo detto numero di
20:42stanze metri quadri quartiere di appartenenza e prezzo a cui è stato
20:52venduto la rete apprende da questo se da questa serie di dati che forniamo ad
20:59esempio abbiamo detto i dati degli ultimi dieci anni impara quindi a
21:03prevedere il prezzo di un appartamento di casetta sulla base del numero di
21:10stanze metri quadri e quartiere di appartenenza quindi a quel punto noi
21:18forniremo questi dati e quindi la rete saprà fare una stima del prezzo di
21:27quell'appartamento naturalmente come ha fatto con quali regole riesce a fare
21:34questo le regole le apprende dai dati che noi forniamo le apprende
21:40autonomamente le regole dai dati che noi forniamo durante la fase di
21:45addestramento vi assicuro che fare un programma in cui
21:53si insegna al computer a prevedere il prezzo di un appartamento a casetta non
22:02è una cosa semplicissima non è una cosa affatto fattibile diciamo no ma la
22:09macchina impara dalla esperienza cioè quindi noi portiamo a conoscenza la
22:17macchina della di quanto accaduto nel passato e la macchina autonomamente
22:23in grado di definire le regole che servono per fare la previsione non so
22:30se mi sono spiegato quindi questo tipo di reti è in grado di fare due
22:35procedimenti un procedimento diciamo chiamiamolo così di classificazione
22:40quello che ho fatto diciamo l'esempio che ho fatto sulle fotografie di cani e di
22:47gatti è un esempio di regressione
22:55fatto con gli appartamenti venduti a casetta quindi questa è quello che una
23:09rete neurale profonda è in grado di fare un'intelligenza artificiale di tipo
23:17discriminativo ne abbiamo già parlato è in grado di fare classificazione e
23:23regressione ad ogni modo il concetto fondamentale non vorrei rilungarmi più
23:29di tanto su questa cosa che c'è alla base del funzionamento dell'intelligenza
23:35artificiale che conosciamo oggi è l'apprendimento automatico cioè noi
23:42mettiamo queste macchine nella condizione di imparare da sé in che
23:49modo risolvere una determinata problematica ed è quello che accade
23:54anche con i grandi modelli di linguaggio naturalmente in una
24:03scala molto molto molto più grande poi vedremo che cosa consiste questa
24:12differenza diciamo ma il concetto di base è l'apprendimento automatico una fase di
24:19addestramento che può essere anche piuttosto lunga perché i dati possono
24:25essere quantità di dati enormi abbiamo visto che è possibile fare usare chat cbt
24:34anche senza avere un account naturalmente le funzionalità sono
24:41limitate e abbiamo visto che in pratica è solo possibile copiare il testo e
24:49magari incollarlo in un documento niente altro adesso proviamo a usare il
24:58mio account e vedere altre funzionalità di chat cbt
25:04allora proviamo un attimo quindi
25:11clicco su start now quindi faccio accedi l'indirizzo con il quale mi sono
25:20l'indirizzo email con il quale mi sono registrato quindi il mio account scrivo
25:27la password naturalmente allora cominciamo col cominciamo col vedere che
25:37a destra sono memorizzate tutte le richieste tutti i prompt che io ho fatto
25:44nei sette giorni passati negli ultimi 30 giorni quindi tutto quanto è rimane
25:51memorizzato a meno che io non esplicitamente non chieda al sistema di
25:57cancellare tutto qua bisogna naturalmente sempre stare attenti a
26:03quello che si inserisce per questioni di privacy ne parleremo più avanti a
26:08proposito dell'etica e dei rischi connessi con l'intelligenza artificiale
26:15poi guardiamo un attimo è possibile chiudere anche questo questo pannello
26:23laterale sinistro in realtà guardate in basso mi chiede la verifica verifica la
26:30tua età endo 13 giorni abbiamo l'obbligo di verificare che tu abbia l'età
26:34minima richiesta per poter usare chat cpt in realtà io questa verifica l'ho
26:38fatta ed è andata anche a buon fine solo che non capisco continua a darmi questo
26:47messaggio ogni volta che apro chat cpt provo ad andare un attimino come se
26:53volessi nuovamente fare la verifica chiudo il messaggio scompare ma ripeto
26:59io ho presentato il mio documento ho fatto riconoscere il mio viso con la
27:06webcam ma niente compare sempre questo messaggio adesso guardiamo qui le
27:12funzionalità adesso sono sono molto più estese di prima perché vedete è possibile
27:17caricare dei file prenderli da google drive oppure da one drive di microsoft
27:25oppure caricarli dal computer provo a caricare dal computer carichiamo
27:31carichiamo un'immagine carichiamo un'immagine dove come vedete c'è la
27:40fotografia di un programma fatto sul computer un programma scritto in un
27:44linguaggio che c++ e vorrei vedere un attimino che cosa in grado di
27:54interpretare da questa immagine il l'intelligenza artificiale e vedete che
28:01c'è una cosa veramente diciamo meravigliosa guardiamo qui provo a
28:08scrivere il mio prompt e scrivo spiegami il contenuto dell'immagine
28:19e guardate qui l'immagine mostra un frammento di codice in linguaggio c++
28:30utilizzato per programmare una scheda elettronica probabilmente una scheda
28:33microcontrollore ed è così tramite la libreria mbed.h che è eccetera eccetera
28:42include allora adesso mi spiega passo per passo tutto il codice include la
28:48libreria mbed definisce la funzionalità dei pin quindi guardate definizione dei
28:57pin buzz di 13 usa il pin di 13 della scheda per generare un segnale pqm
29:05definisce un pulsante mi spiega come ho impostato i pin della scheda adesso
29:16è inutile andare nel dettaglio è che questa è una cosa un po' più tecnica
29:20poi andiamo avanti mi spiega la funzione tone in cui io praticamente faccio
29:33suonare un buzzer con una determinata frequenza audio qui mi spiega tutto è
29:43veramente qualcosa di eccezionale perché non siamo partiti da un testo
29:49siamo partiti da un'immagine e il sistema è stato in grado correttamente
29:55devo dire di interpretare il contenuto di quell'immagine quindi il testo
30:00presente in quell'immagine e addirittura comprenderne il significato
30:05guardate qui il programma attiva il buzzer con una frequenza di 200 s una
30:11durata di 500 millisecondi mezzo secondo ogni volta che il pulsante
30:17battono non viene premuto quando il pulsante viene rilasciato il suono si
30:22spegne questo è uno schema comune per generare suoni sui microcontrollori
30:31tramite l'uso di un buzzer e un pulsante per l'interazione con l'utente
30:35quindi è qualcosa di veramente eccezionale direi insomma adesso vediamo
30:44ecco qui qui provo a farvi vedere un attimino quali sono le funzionalità
30:51allora vedete c'è il disegno di un altoparlante quindi cliccando lì è
30:56possibile far dire al sistema quello che ha scritto qui c'è la copia che già
31:04conosciamo perché esiste anche nella funzionalità senza account poi c'è il
31:15pollice alzato che dire la risposta la riteniamo corretta pollice verso per
31:22dire che è sbagliata qui possibile scegliere la il tipo di
31:28modello adesso proviamo a caricare un altro file
31:32provo a caricare un pdf dove si parla dei livelli eqf definiti dalla comunità
31:42europea ecco qui
31:49è un file diciamo anche abbastanza noioso da leggere
31:59vi faccio vedere un attimino ecco questo è il file vedete è anche abbastanza
32:07abbastanza noioso se io lo dovessi leggere diciamo così si tratta della
32:14costituzione del quadro europeo delle qualifiche per l'apprendimento
32:18permanente è un documento diciamo del del consiglio europeo se non se non
32:26ricordo male e quindi diciamo un documento noioso anche da leggere però
32:35guardate qui io scrivo il prompt fammi un riassunto di dieci righe del documento
32:45e guardate qui il documento caricato riguarda il quadro europeo delle
32:51qualifiche eqf un sistema di riferimento per confrontare diversi sistemi di
32:56qualifiche dei paesi europei è stato creato per promuovere la mobilità dei
33:00lavoratori degli studenti tra i paesi europei facilitando il riconoscimento
33:06delle qualifiche l'eqf si basa su otto livelli che descrivono le conoscenze
33:11abilità e competenze richieste per ciascun livello i livelli vanno dalle
33:15competenze basilari come la capacità di svolgere i compiti sempre sotto la
33:19supervisione e quelle a quelle più avanzate eccetera eccetera in dieci righe
33:25ha riassunto tutto il documento veramente quindi anche da quest'esempio
33:33si capisce la grandissima utilità di questo strumento e proviamo un po ad
33:42andare avanti vediamo faccio adesso scrivo un altro
33:47pronto vediamo allora scrivo un altro pronto prova a farmi una semplice
34:09domanda sul testo documento meglio e e poi correggi spiegandomi qual è l'errore
34:28se c'è naturalmente allora vediamo che cosa mi dice ecco innanzitutto il pronto
34:45che ho fatto evidentemente lascia spazio ad equivoco perché lui mi fa la domanda
34:53qual è lo scopo principale del quadro europeo delle qualifiche poi da anche
34:57una risposta ipotetica in realtà la risposta avevo dovuto darla io ma
35:02evidentemente il pronto non è non è adatto ad avere questo risultato lo
35:09scopo principale vediamo cosa ha detto la risposta ipotetica che ha immaginato il
35:14sistema lo scopo principale delle qf è quello di creare nuovi titoli di studio
35:19in europa che non è chiaramente non vero correzione questa risposta è errata
35:25le qf non è progettato per creare nuovi titoli di studio ma per fornire un
35:30sistema di riferimento comune che consenta di confrontare e riconoscere le
35:34qualifiche esistenti tra i diversi paesi europei eccetera eccetera no quindi in
35:42realtà fa la domanda poi fa una risposta ipotetica io non volevo questo
35:47volevo rispondere personalmente e farmi correggere dal sistema nel caso avessi
35:55fatto un un errore quindi proviamo a riscrivere il prompt ecco qui adesso gli
36:09dico prova a farmi un'altra domanda semplice e poi correggi la risposta
36:18spiegando qual è l'errore se c'è
36:31anche qui naturalmente siccome la domanda e cioè il prompt è simile a
36:37quello precedente lui fa la domanda e risponde anche con una risposta ipotetica
36:42quanti livelli ci sono nel quadro europeo delle qualifiche nel quadro europeo
36:46sono 10 livelli questa è una risposta errata il quadro delle qualifiche è
36:50strutturato in otto livelli non 10 ogni livello descrive in modo progressivo le
36:55competenze abilità conoscenza eccetera eccetera
36:59ora provo a scrivere più chiaramente il prompt in modo che in modo che possa
37:06rispondere io a una domanda che fa lui vediamo un attimino se ci riesco
37:15fai una domanda semplice a me ora quanti livelli ci sono nel quadro europeo delle
37:24qualifiche ora provo a fare un errore naturalmente scrivo 5
37:33lui mi correggerà ovviamente nel quadro e la risposta errata nel quadro europeo
37:46delle qualifiche sono otto livelli e non ci questi livelli descrivono le
37:49conoscenze eccetera eccetera quindi come vedete abbiamo esplorato anche qui
37:56un'altra possibilità offerta da chat cpt