






































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Teoria del modulo di Machine Learning dell'esame di intelligenza artificiale. Per svolgere l'esame bisogna creare un progetto sulle reti neurali artificiali. Questo pdf spiega la teoria del machine learning e deep learning
Tipologia: Appunti
1 / 46
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!







































ARTIFICIAL INTELLIGENCE: Ingegneria delle macchine che imitano le funzioni cognitive.
MACHINE LEARNING: Abilità di raggiungere obiettivi senza istruzioni esplicite e basandosi su dei modelli.
DEEP LEARNING: Machine learning basate su reti neurali artificiali
INGREDIENTI DEL MACHINE LEARNING
Dati di Input: Immagini, video, audio, serie storiche;
Esempi di output attesi: Annotazioni di immagini, trascrizioni di audio;
Modi per misurare se lʼalgoritmo si comporta bene: 1 Calcolare la distanza tra lʼoutput e il valore atteso; 2 Migliorare lʼalgoritmo
ESEMPIO → CAMBIO DI RAPPRESENTAZIONE
← (dati non ancora elaborati) Sviluppare un algoritmo che prende in input le coordinate di un punto e predice se il punto è bianco o nero.
← (cambio di coordinate)
← (rappresentazione migliore)
Nel contesto del machine learning, la parola learning descrive un processo automatico di ricerca di una trasformazione dei dati che produca una “buona” rappresentazione Il processo è guidato da un segnale di feedback.
Nel deep learning: ci sono layer (livelli) successivi di rappresentazione e ogni livello migliora la rappresentazione. I livelli sono appresi in modo automatico a partire dai dati di training. Quando i livelli sono pochi 1 o 2) si parla di shallow learning.
DEEP LEARNING DI IMMAGINI
Lʼinferenza è il modo in cui: lʼintelligenza si rende evidente
In ambito di Data Analytics e Machine Learning, la distinzione tra Descriptive e Diagnostic rappresenta i primi due step nel percorso di analisi dei dati.
Descriptive Analytics (”Cosa è successo?”) Lʼanalisi descrittiva è il punto di partenza. Serve a sintetizzare i dati storici per fornire una panoramica chiara di eventi passati o situazioni attuali.
Diagnostic Analytics (”Perchè è successo?”).→ L'analisi diagnostica va un passo oltre quella descrittiva. Prende i risultati dell'analisi descrittiva e cerca di identificare le cause profonde (root causes) di un determinato evento o comportamento nei dati.
Naive Bayes algorithm uno degli algoritmi più famosi 1950) è un primo esempio di classificatore (si assume che i dati di input siano indipendenti); Regressione logistica è un altro algoritmo di classificazione.
KERNEL METHOD : algoritmo di classificazione Il più famoso: Support Vector Machine SVM . Si cerca un confine per separare i dati nelle varie classi. I dati sono mappati in una rappresentazione di dimensione maggiore dove il confine può essere espresso con un iperpiano. Si calcola un iperpiano di confine come problema di massimo.
DECISION TREES, RANDOM FOREST,GRADIENT BOOSTING Sono algoritmi per la classificazione o per predire i valori di output
Dal 2010 “ritornano” le reti neurali Nel 2012 le reti neurali migliorano la challenge di ImageNet ovvero classificare immagini a colori ad alta definizione in 1000 categorie si passa dal 74% del 2011 al 84% del 2012 Emergono le reti neurali convoluzionali …e molto altro...
La rete neurale artificiale è un modello predittivo, può essere usato sia per problemi di classificazione che per problemi di regressione. La classificazione assegna una categoria ad un dato (separazione dei dati in classi. La regressione predice una quantità (interpolazione dei dati).
La rete neurale artificiale si ispira al funzionamento del cervello umano. Il cervello umano è composto da circa 100 miliardi di oggetti chiamati neuroni. Ogni neurone svolge una funzione molto elementare. Il numero elevato di neuroni e delle connessioni dà origine allʼintelligenza umana.
Input : Rappresentano i segnali in entrata (nel tuo caso, i pixel delle immagini).
Pesi : Valori che determinano l'importanza di ogni input.
Bias (b): Un valore aggiuntivo che permette di traslare la soglia di attivazione del neurone. Funzione di Attivazione : L'elemento che decide se il neurone deve "sparare" un segnale in uscita o rimanere inattivo, basandosi sulla somma pesata degli input
In elettronica, un "rettificatore" è un componente che trasforma la corrente alternata (che va su e giù) in corrente continua eliminando la parte negativa del segnale. La ReLU fa la stessa cosa: "pota" tutti i valori negativi portandoli a zero, mantenendo solo la parte positiva la ReLU è fondamentale per due motivi: Semplicità di calcolo: Rispetto a funzioni più vecchie e complesse (come la Sigmoide), calcolare un valore massimo è estremamente veloce per l'hardware GPU . Selettività: Permette alla rete di attivare solo alcuni neuroni (quelli con segnale positivo), rendendo la rappresentazione dei dati più efficiente e facilitando
Vengono fornite alla rete immagini nuove, prive di etichetta. Lʼalgoritmo di inferenza applica i pesi e i bias appresi durante lʼaddestramento. la rete genera una previsione. Se la predizione non corrisponde alla realtà, si registra un errore ma in questa fase il modello è tipicamente congelato e non impara più si limita ad eseguire.
Forward Pass Passaggio in avanti): I dati entrano nell'input, attraversano tutti i neuroni e arrivano all'output producendo una previsione. Calcolo dell'Errore: Si confronta la previsione con il valore reale (usando la Loss Function). Backward Pass Il cuore della Backpropagation): L'errore viene propagato all'indietro, dall'output verso l'input. L'algoritmo calcola quanto ogni neurone ha contribuito all'errore totale. Utilizza la regola della catena (chain rule) delle derivate per ripartire la "responsabilità" dell'errore su ogni singolo peso e bias della rete.
Progettiamo una rete che dato un numero x predice il doppio di x Iniziamo con una rete molto semplice con un solo neurone
Lʼerrore complessivo della rete è la somma di tutti gli errori per le singole istanze di input → Lʼerrore dipende dai pesi (w) della rete. Dobbiamo cambiare i pesi in modo da rendere minimo lʼerrore! Non si può risolvere in maniera analitica, la formula completa dellʼerrore è troppo complessa. Si usano metodi di approssimazione, come la discesa del gradiente.
DISCESA DEL GRADIENTE
è il vettore degli input della i-esima istanza (immagine i-esima) è il risultato da associare alla i-esima istanza (cifra dellʼimmagine i-esima)
Formula aggiornamento pesi:
Intuizione : Ci basiamo sullʼerrore Consideriamo il caso
Se , allora : non ci sono aggiornamenti. Se , allora : il peso deve essere incrementato per ridurre l'errore. Se ), allora e < 0: il peso
deve essere diminuito per ridurre l'errore (in valore assoluto).
Quando è una combinazione lineare delle variabili in input, la frontiera di decisione è lineare (un iper-piano) Per problemi che non sono separabili linearmente, il percettrone fallisce.
Le reti multistrato possono risolvere anche problemi non linearmente separabili.
Nella regola di apprendimento delle reti multistrato compare il termine di erroree → Dobbiamo capire come determinare lʼerrore nei nodi interni, per i quali il valore reale y non è noto. Si potrebbe approssimare lʼerrore nei nodi interni con lʼerrore nei nodi di output. Non si capisce però come modifiche ai nodi interni influiscono sullʼerrore complessivo. Non cʼè nessuna garanzia che il processo di aggiornamento dei pesi converga.
FUNZIONI DI ATTIVAZIONE
DAL MACHINE LEARNING AL DEEP
LEARNING
SUPERVISED LEARNING
La quantità da minimizzare durante il training. Rappresenta una misura di successo.
CLASSIFICAZIONE CATEGORICAL CROSSENTROPY misura la distanza tra due distribuzioni di probabilità: la distribuzione di probabilità prodotta dal modello
la vera distribuzione delle etichette (multiclass, single label classification - one-hot → one-hot) SPARSE CATEGORICAL CROSSENTROPY: uguale a Categorical Crossentropy, da utilizzare solo con label intere (multiclass, single label classification- label intere → one-hot ) BINARY CROSSENTROPY : nel caso binario (non one-hot) oppure multi-class, multi-label classification (con codifiche multi hot) REGRESSIONE Mean Squared Error Mean Absolute Error KL Divergence Cosine Similarity
Funzione di costo per problemi di classificazione binaria in cui lʼobiettivo è prevedere se unʼistanza appartiene ad una specifica classe. È adatta per problemi in cui le label di classe sono binarie 0 e 1) e la rete neurale produce un output tra 0 e 1 che rappresenta la probabilità di appartenenza alla classe positiva. La funzione di loss calcola la discrepanza tra lʼoutput previsto e la label reale. Se y è 1, la parte rilevante della loss è ,che penalizza lʼerrore quando lʼoutput previsto è vicino a =. Se è 0, la parte rilevante della loss è che penalizza lʼerrore quando lʼoutput previsto è vicino a 1.
rappresenta il valore della loss per un singolo esempio;
è l'etichetta reale 0 o 1) per l'esempio; è l'output previsto dalla rete neurale, che è una probabilità compresa tra 0 e 1;
Si utilizza anche per la classificazione multiclass, multi-label (con codifica multi-hot) dove in pratica ogni classe p considerata indipendentemente. Per output multipli con one-hot encode la loss si calcola :
è la probabilità prevista dalla rete neurale per la classe indicizzata da
La formula calcola il valore del logaritmo negativo della probabilità prevista dalla rete per la classe specificata da. → Questo valore rappresenta quanto la previsione della rete si discosta dalla classe corretta.
La cross-entropy è una misura dell'informazione media necessaria per identificare un evento di un certo insieme, utilizzando una distribuzione di probabilità diversa per descrivere l'evento rispetto a quella reale. In altri termini, è una misura della divergenza tra due distribuzioni di probabilità. Nel contesto della classificazione binaria o multiclasse, l'entropia incrociata è spesso utilizzata come funzione di loss. La sua formulazione cambia leggermente a seconda che si stia trattando un problema di classificazione binaria o multiclasse
Determina come la rete verrà aggiornata in base alla loss function Implementa una qualche variante della discesa del gradiente stocastica (SGD).
SGD (con o senza momentum) RMSprop Adam Adagrad
La misura di successo che vogliamo monitorare durante l'addestramento e la validazione, come l'accuratezza della classificazione (anche più d'una). A differenza della loss, il training non ottimizza direttamente queste metriche. Quindi le metriche non devono essere differenziabili.
Classificazione Accuracy Precision Recall
Regressione Mean absolute error: errore medio assoluto Mean squared error : errore quadratico medio
Accuracy (come stringa) → sceglie automaticamente una delle seguenti in base alle funzioni di loss:
Binary Accuracy Per classificazione binaria (output 1 neurone, attivazione sigmoid) Conta quante volte la previsione > 0.5 coincide con la verità Categorical Accuracy Per Classificazione multi-classe one-hot encoded (ad esempio 0,01] per la classe 2 Confronta lʼindice dellʼoutput più alto (argmax) con quello reale. SparseCategorical Accuracy Come sopra, ma quando le etichette sono interi invece che vettori one- hot (ad esempio: y=2 invece di 0,0,1
Quante delle predizioni positive sono davvero corrette? “Quando il modello dice positivo, quante volte ha ragione?