Cliccando su “Accetta tutti i cookie”, l'utente accetta di memorizzare i cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzare l'utilizzo del sito e assistere le nostre attività di marketing. Maggiori informazioni
Impostazioni dei cookie
Cliccando su “Accetta tutti i cookie”, l'utente accetta di memorizzare i cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzare l'utilizzo del sito e assistere le nostre attività di marketing. Maggiori informazioni
Esplora i diversi tipi di tecniche di machine learning e deep learning utilizzate nelle applicazioni di computer vision, dall'apprendimento supervisionato al transfer learning.
Il machine learning è un tipo di intelligenza artificiale (IA) che aiuta i computer a imparare dai dati in modo che possano prendere decisioni da soli, senza bisogno di una programmazione dettagliata per ogni attività. Implica la creazione di modelli algoritmici in grado di identificare schemi nei dati. Identificando schemi nei dati e imparando da essi, questi algoritmi possono gradualmente migliorare le loro prestazioni nel tempo.
Un'area in cui il machine learning svolge un ruolo cruciale è nella computer vision, un campo dell'IA che si concentra sui dati visivi. La computer vision utilizza il machine learning per aiutare i computer a rilevare e riconoscere pattern in immagini e video. Spinto dai progressi nel machine learning, il valore del mercato globale della computer vision è stimato intorno ai 175,72 miliardi di dollari entro il 2032.
In questo articolo, esamineremo i diversi tipi di machine learning utilizzati nella computer vision, tra cui l'apprendimento supervisionato, non supervisionato, per rinforzo e transfer learning, e come ciascuno di essi svolga un ruolo in diverse applicazioni. Iniziamo!
Panoramica del machine learning nella computer vision
Infatti, molti modelli avanzati di computer vision, come Ultralytics YOLO11, sono costruiti su reti neurali.
Fig. 1. Segmentazione di scansioni cerebrali tramite Ultralytics YOLO11.
Esistono diversi tipi di metodi di apprendimento nel machine learning, come l'apprendimento supervisionato, l'apprendimento non supervisionato, il transfer learning e il reinforcement learning, che stanno spingendo i confini di ciò che è possibile nella computer vision. Nelle sezioni seguenti, esploreremo ciascuno di questi tipi per capire come contribuiscono alla computer vision.
Esplorazione dell'apprendimento supervisionato
L'apprendimento supervisionato è il tipo di machine learning più comunemente utilizzato. Nell'apprendimento supervisionato, i modelli vengono addestrati utilizzando dati etichettati. Ogni input è contrassegnato con l'output corretto, il che aiuta il modello a imparare. Simile a uno studente che impara da un insegnante, questi dati etichettati fungono da guida o supervisore.
Durante l'addestramento, al modello vengono forniti sia i dati di input (le informazioni che deve elaborare) sia i dati di output (le risposte corrette). Questa impostazione aiuta il modello a imparare la connessione tra input e output. L'obiettivo principale dell'apprendimento supervisionato è che il modello scopra una regola o un modello che colleghi accuratamente ogni input al suo output corretto. Con questa mappatura, il modello può fare previsioni accurate quando incontra nuovi dati. Ad esempio, il riconoscimento facciale nella computer vision si basa sull'apprendimento supervisionato per identificare i volti in base a questi modelli appresi.
Un uso comune di questo è lo sblocco del tuo smartphone con il riconoscimento facciale. Il modello viene addestrato su immagini etichettate del tuo viso in modo che, quando vai a sbloccare il telefono, confronti l'immagine dal vivo con ciò che ha imparato. Se rileva una corrispondenza, il telefono si sblocca.
Fig. 2. Il riconoscimento facciale può essere utilizzato per sbloccare il tuo smartphone.
Come funziona l'apprendimento non supervisionato nell'IA?
L'apprendimento non supervisionato è un tipo di apprendimento automatico che utilizza dati non etichettati: al modello non viene fornita alcuna guida o risposta corretta durante l'addestramento. Invece, impara a scoprire modelli e informazioni da solo.
L'apprendimento non supervisionato identifica i modelli utilizzando tre metodi principali:
Association: Viene utilizzato per identificare le relazioni tra gli elementi, aiutando a scoprire le connessioni all'interno dei dati (ad esempio, trovare i prodotti spesso acquistati insieme nell'analisi del carrello della spesa).
Riduzione della dimensionalità: Semplifica i dataset rimuovendo le caratteristiche ridondanti, il che aiuta nella visualizzazione e nell'elaborazione.
Un'applicazione chiave dell'apprendimento non supervisionato è la compressione delle immagini, dove tecniche come il clustering k-means riducono le dimensioni dell'immagine senza influire sulla qualità visiva. I pixel vengono raggruppati in cluster e ogni cluster è rappresentato da un colore medio, risultando in un'immagine con meno colori e una dimensione del file inferiore.
Fig. 3. Un esempio di compressione non supervisionata delle immagini.
Tuttavia, l'apprendimento non supervisionato presenta alcune limitazioni. Senza risposte predefinite, può avere difficoltà con l'accuratezza e la valutazione delle prestazioni. Spesso richiede uno sforzo manuale per interpretare i risultati ed etichettare i gruppi, ed è sensibile a problemi come valori mancanti e rumore, che possono influire sulla qualità dei risultati.
Spiegazione dell'apprendimento per rinforzo
A differenza dell'apprendimento supervisionato e non supervisionato, l'apprendimento per rinforzo non si basa sui dati di training. Invece, utilizza agenti di rete neurale per interagire con un ambiente al fine di raggiungere un obiettivo specifico.
Il processo prevede tre componenti principali:
Agente: Chi apprende o prende decisioni.
Ambiente: Tutto ciò con cui l'agente interagisce, che può essere reale o virtuale.
Segnale di ricompensa: Un valore numerico fornito dopo ogni azione, che guida l'agente verso l'obiettivo.
Quando l'agente intraprende delle azioni, influisce sull'ambiente, che a sua volta risponde con un feedback. Questo feedback aiuta l'agente a valutare le proprie scelte e ad adeguare il proprio comportamento. Il segnale di ricompensa aiuta l'agente a capire quali azioni lo avvicinano al raggiungimento del suo obiettivo.
L'apprendimento per rinforzo è fondamentale per casi d'uso come la guida autonoma e la robotica. Nella guida autonoma, attività come i controlli del veicolo, il rilevamento e l'evitamento di oggetti imparano in base al feedback. I modelli vengono addestrati utilizzando agenti di rete neurale per rilevare pedoni o altri oggetti e intraprendere le azioni appropriate per evitare collisioni. Allo stesso modo, nella robotica, l'apprendimento per rinforzo consente attività come la manipolazione di oggetti e il controllo del movimento.
Un ottimo esempio di apprendimento per rinforzo in azione è un progetto di OpenAI, in cui i ricercatori hanno addestrato agenti di IA a giocare al popolare videogioco multiplayer, Dota 2. Utilizzando reti neurali, questi agenti hanno elaborato enormi quantità di informazioni dall'ambiente di gioco per prendere decisioni rapide e strategiche. Attraverso un feedback continuo, gli agenti hanno imparato e migliorato nel tempo, raggiungendo alla fine un livello di abilità sufficientemente alto da battere alcuni dei migliori giocatori del gioco.
Fig. 4. Interpretazione della matrice Dota: confronto tra uomo e IA.
Comprendere le basi del transfer learning
Il transfer learning è diverso dagli altri tipi di apprendimento. Invece di addestrare un modello da zero, utilizza un modello pre-addestrato su un grande dataset e lo mette a punto per un compito nuovo, ma correlato. Le conoscenze acquisite durante l'addestramento iniziale vengono utilizzate per migliorare le prestazioni del nuovo compito. Il transfer learning riduce il tempo necessario per l'addestramento per un nuovo compito, a seconda della sua complessità. Funziona mantenendo i livelli iniziali del modello che catturano le caratteristiche generali e sostituendo i livelli finali con quelli del nuovo compito specifico.
Il trasferimento di stile artistico è un'applicazione interessante del transfer learning nella computer vision. Questa tecnica consente a un modello di trasformare un'immagine per adattarla allo stile di diverse opere d'arte. Per raggiungere questo obiettivo, una rete neurale viene prima addestrata su un ampio set di dati di immagini abbinate ai loro stili artistici. Attraverso questo processo, il modello impara a identificare le caratteristiche generali dell'immagine e i modelli di stile.
Una volta che il modello è stato addestrato, può essere messo a punto per applicare lo stile di un determinato dipinto a una nuova immagine. La rete si adatta alla nuova immagine preservando le caratteristiche stilistiche apprese, consentendole di creare un risultato unico che combina il contenuto originale con lo stile artistico selezionato. Ad esempio, si potrebbe scattare una foto di una catena montuosa e applicare lo stile de L'urlo di Edvard Munch, ottenendo un'immagine che cattura la scena ma con lo stile audace ed espressivo del dipinto.
Fig. 5. Un esempio di trasferimento di stile artistico tramite transfer learning.
Uno sguardo alle differenze tra i tipi di machine learning
Ora che abbiamo trattato i principali tipi di machine learning, diamo un'occhiata più da vicino a ciascuno per aiutarti a capire la soluzione migliore per le diverse applicazioni.
Apprendimento supervisionato: Questo tipo è molto preciso quando si lavora con dati etichettati, ma richiede molti dati e può essere sensibile al rumore.
Apprendimento non supervisionato: È utile per esplorare dati non etichettati per trovare schemi nascosti, anche se i risultati possono essere meno precisi e più difficili da interpretare.
Apprendimento per rinforzo: Addestra gli agenti a prendere decisioni passo dopo passo in ambienti complessi, ma spesso richiede una notevole potenza di calcolo.
Transfer learning: Questo approccio utilizza modelli pre-addestrati per accelerare l'addestramento e migliorare le prestazioni su nuove attività, soprattutto quando i dati sono limitati.
Fig. 6. Un confronto di tutti i tipi di machine learning. Immagine dell'autore.
La scelta del tipo di machine learning più adatto dipende da diversi fattori. L'apprendimento supervisionato funziona bene se si dispone di dati etichettati abbondanti e di un compito ben definito. L'apprendimento non supervisionato è utile per l'esplorazione dei dati o quando gli esempi etichettati sono scarsi. L'apprendimento per rinforzo è ideale per compiti complessi che richiedono un processo decisionale passo dopo passo, mentre il transfer learning è ottimo quando i dati sono limitati o le risorse sono vincolate. Considerando questi fattori, è possibile selezionare l'approccio più adatto per il tuo progetto di computer vision.
Conclusione
Le tecniche di machine learning possono affrontare una varietà di sfide, specialmente in aree come la computer vision. Comprendendo i diversi tipi, supervised, unsupervised, reinforcement e transfer learning, puoi scegliere l'approccio migliore per le tue esigenze.
L'apprendimento supervisionato è ideale per attività che richiedono elevata accuratezza e dati etichettati, mentre l'apprendimento non supervisionato è perfetto per trovare modelli in dati non etichettati. L'apprendimento per rinforzo funziona bene in contesti complessi e basati sulle decisioni, e il transfer learning è utile quando si desidera costruire su modelli pre-addestrati con dati limitati.
Ogni metodo ha punti di forza e applicazioni uniche, dal riconoscimento facciale alla robotica al trasferimento di stile artistico. La scelta del tipo giusto può sbloccare nuove possibilità in settori come la sanità, l'automotive e l'intrattenimento.