Come riconosce le immagini l’IA? Una guida chiara, dai pixel alle CNN
Sblocco con il volto, album raggruppati per persona, riconoscere le piante da una foto: dietro tutto questo c’è la stessa cosa, far capire le immagini a una macchina. La chiave è semplice: prima vedere come sono fatti i numeri, poi come la rete li combina in «caratteristiche».
Per una macchina un’immagine è una griglia di numeri
Una foto a color è fatta di decine di migliaia di pixel, e ogni pixel memorizza tre valori di luminosità — rosso, verde e blu — di solito tra 0 e 255. Quando un’immagine viene data a una rete, quindi, è in realtà un lungo elenco di numeri disposti in una griglia ordinata.
Con questa «griglia di numeri», il primo passo della rete è molto umile: cercare nella griglia piccoli cambiamenti locali, ad esempio un brusco salire o scendere della luminosità tra pixel vicini, cioè un contorno.
Dai pixel alle caratteristiche: combinare strato dopo strato
Un contorno da solo dice poco, ma combinarli inizia ad avere senso. Gli strati più profondi assemblano i contorni semplici in curve, angoli e texture; strati ancora più profondi li uniscono in parti come un occhio, un naso, una ruota o un petalo.
Nessuno scrive queste regole a mano; la rete le impara durante l’addestramento. Le «caratteristiche» che ogni strato impara sono una ricombinazione dell’uscita precedente e, più si scende in profondità, più diventano astratte.
L’esempio classico: le cifre scritte a mano MNIST
Quasi tutti iniziano il riconoscimento delle immagini con MNIST. Sono decine di migliaia di immagini di cifre scritte a mano da 28×28 pixel, ognuna già etichettata con la risposta corretta da 0 a 9: perfetto per esercitarsi a «guardare e classificare».
Poiché le immagini sono piccole e le classi poche, anche una rete semplice raggiunge un’alta accuratezza in pochi minuti: ideale per osservare cosa succede davvero durante l’addestramento. Una volta capito MNIST, affrontare compiti di immagini più complessi diventa naturale.
Cosa aggiunge una CNN a una rete normale
Se colleghi direttamente ogni posizione del pixel allo strato successivo, i parametri esplodono e l’addestramento diventa difficile. L’idea chiave di una CNN è la convoluzione: far scorrere una piccola finestra su tutta l’immagine e riusare lo stesso insieme di pesi per cercare lo stesso tipo di motivo. Così si preservano le relazioni spaziali riducendo moltissimo i parametri.
Inoltre le CNN usano spesso il «pooling» per ridurre le mappe di caratteristiche, così la rete bada più alla presenza di una caratteristica che al pixel esatto in cui cade, risultando più robusta ai piccoli spostamenti. Impilare convoluzione e pooling strato dopo strato è la struttura portante del riconoscimento immagini moderno.
FAQ
Perché un’immagine in scala di grigi ha un canale e una a colori tre?
Un’immagine in scala di grigi richiede un solo valore di luminosità per pixel, quindi un canale; una a colori registra tre valori — rosso, verde e blu — per pixel, quindi tre canali. La rete li tratta allo stesso modo, con qualche numero in ingresso in più.
L’addestramento al riconoscimento immagini richiede molte immagini?
Di solito più ce ne sono meglio è, ma puoi ampliarle con l’augmentation: ruotare, ritagliare o capovolgere leggermente le immagini per aggiungerne di fatto. Puoi anche usare il transfer learning: un modello già addestrato su enormi insiemi di immagini, da rifinire con pochi dati tuoi.
L’IA può essere ingannata da illusioni ottiche?
Sì. Cambiare pochi pixel può far sì che il modello scambi una A per una B: sono gli esempi avversariali. Mostrano che il modello apprende una somiglianza statistica invece di comprendere davvero l’immagine come una persona, perciò negli usi critici per la sicurezza servono protezioni extra.
Capire il riconoscimento immagini passo dopo passo con AI Neural
Apri AI Neural e, con esempi interattivi, osserva i pixel diventare contorni e i contorni diventare parti: coglierai l’idea della CNN in modo intuitivo, molto più facile che memorizzare definizioni.