Tipi di tecniche di apprendimento dell'intelligenza artificiale utilizzate nella computer vision

Abirami Vina

4 minuti di lettura

6 novembre 2024

Esplora i diversi tipi di apprendimento automatico e di tecniche di deep learning utilizzate nelle applicazioni di computer vision, dall'apprendimento supervisionato all'apprendimento per trasferimento.

L'apprendimento automatico è un tipo di intelligenza artificiale (AI) che aiuta i computer a imparare dai dati in modo da poter prendere decisioni da soli, senza bisogno di una programmazione dettagliata per ogni compito. Si tratta di creare modelli algoritmici in grado di identificare modelli nei dati. Identificando gli schemi nei dati e imparando da essi, questi algoritmi possono migliorare gradualmente le loro prestazioni nel tempo.

Un'area in cui l 'apprendimento automatico svolge un ruolo cruciale è la computer vision, un campo dell'IA che si concentra sui dati visivi. La computer vision utilizza l'apprendimento automatico per aiutare i computer a rilevare e riconoscere i modelli nelle immagini e nei video. Grazie ai progressi dell'apprendimento automatico, si stima che il valore del mercato globale della computer vision sarà di circa 175,72 miliardi di dollari entro il 2032. 

In questo articolo esamineremo i diversi tipi di apprendimento automatico utilizzati nella computer vision, tra cui l'apprendimento supervisionato, non supervisionato, di rinforzo e di trasferimento, e come ciascuno di essi svolge un ruolo in diverse applicazioni. Iniziamo!

Panoramica dell'apprendimento automatico nella visione artificiale

La computer vision si basa sull'apprendimento automatico, in particolare su tecniche come l'apprendimento profondo e le reti neurali, per interpretare e analizzare le informazioni visive. Questi metodi consentono ai computer di eseguire attività di computer vision come il rilevamento di oggetti nelle immagini, la classificazione delle immagini per categoria e il riconoscimento dei volti. L'apprendimento automatico è essenziale anche per le applicazioni di computer vision in tempo reale, come il controllo qualità nella produzione e l'imaging medico nella sanità. In questi casi, le reti neurali aiutano i computer a interpretare dati visivi complessi, come l'analisi delle scansioni cerebrali per individuare i tumori

In effetti, molti modelli avanzati di visione artificiale, come Ultralytics YOLO11, sono costruiti su reti neurali. 

__wf_reserved_inherit
Figura 1. Segmentazione di scansioni cerebrali con Ultralytics YOLO11.

Esistono diversi tipi di metodi di apprendimento automatico, come l'apprendimento supervisionato, l'apprendimento non supervisionato, l'apprendimento per trasferimento e l'apprendimento per rinforzo, che stanno spingendo i confini di ciò che è possibile fare nella computer vision. Nelle sezioni seguenti esploreremo ciascuno di questi tipi per capire come contribuiscono alla computer vision.

Esplorare l'apprendimento supervisionato

L'apprendimento supervisionato è il tipo di apprendimento automatico più comunemente utilizzato. Nell'apprendimento supervisionato, i modelli vengono addestrati utilizzando dati etichettati. Ogni input viene etichettato con l'output corretto, che aiuta il modello ad apprendere. Come uno studente che impara da un insegnante, i 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 ad apprendere 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 all'output corretto. Grazie a questa mappatura, il modello può fare previsioni accurate quando incontra nuovi dati. Ad esempio, il riconoscimento facciale nella visione computerizzata si basa sull'apprendimento supervisionato per identificare i volti in base ai modelli appresi.

Un uso comune è lo sblocco dello smartphone con il riconoscimento facciale. Il modello viene addestrato su immagini etichettate del viso dell'utente e, quando si va a sbloccare il telefono, confronta l'immagine dal vivo con ciò che ha appreso. Se rileva una corrispondenza, il telefono si sblocca.

__wf_reserved_inherit
Figura 2. Il riconoscimento facciale può essere utilizzato per sbloccare lo 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 vengono fornite indicazioni o risposte corrette durante l'addestramento. Al contrario, impara a scoprire schemi e intuizioni da solo. 

L'apprendimento non supervisionato identifica i modelli utilizzando tre metodi principali: 

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, ottenendo un'immagine con meno colori e una dimensione di file inferiore.

__wf_reserved_inherit
Figura 3. Un esempio di compressione di immagini non supervisionata.

Tuttavia, l'apprendimento non supervisionato presenta alcune limitazioni. Senza risposte predefinite, può avere problemi di accuratezza e di valutazione delle prestazioni. Spesso richiede uno sforzo manuale per interpretare i risultati ed etichettare i gruppi ed è sensibile a problemi come i valori mancanti e il rumore, che possono influire sulla qualità dei risultati.

L'apprendimento per rinforzo spiegato

A differenza dell'apprendimento supervisionato e non supervisionato, l'apprendimento per rinforzo non si basa su dati di formazione. Utilizza invece agenti di rete neurale che interagiscono con l'ambiente per raggiungere un obiettivo specifico. 

Il processo prevede tre componenti principali:

  • Agente: Il discente o il decisore.
  • Ambiente: Tutto ciò con cui l'agente interagisce, che può essere reale o virtuale.
  • Segnale di ricompensa: Un valore numerico assegnato dopo ogni azione, che guida l'agente verso l'obiettivo.

Quando l'agente compie delle azioni, influisce sull'ambiente, che risponde con un feedback. Il feedback aiuta l'agente a valutare le sue scelte e a modificare il suo 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, compiti come il controllo del veicolo, il rilevamento e l'evitamento degli oggetti vengono appresi in base al feedback. I modelli vengono addestrati utilizzando agenti di rete neurale per rilevare pedoni o altri oggetti e intraprendere azioni appropriate per evitare collisioni. Analogamente, nella robotica, l'apprendimento per rinforzo consente di svolgere compiti come la manipolazione di oggetti e il controllo dei movimenti.

Un ottimo esempio di apprendimento per rinforzo in azione è rappresentato da un progetto di OpenAI, in cui i ricercatori hanno addestrato agenti di intelligenza artificiale 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. Grazie al feedback continuo, gli agenti hanno imparato e migliorato nel tempo, raggiungendo alla fine un livello di abilità tale da battere alcuni dei migliori giocatori del gioco

__wf_reserved_inherit
Figura 4. Interpretazione umana e IA della matrice di Dota.

Comprendere le basi dell'apprendimento per trasferimento

L'apprendimento per trasferimento è diverso dagli altri tipi di apprendimento. Invece di addestrare un modello da zero, utilizza un modello pre-addestrato su un ampio set di dati 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. L 'apprendimento per trasferimento riduce il tempo necessario per addestrare un nuovo compito, a seconda della sua complessità. Funziona mantenendo gli strati iniziali del modello che catturano le caratteristiche generali e sostituendo gli strati finali con quelli del nuovo compito specifico. 

Il trasferimento dello stile artistico è un'interessante applicazione 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 ottenere questo risultato, una rete neurale viene prima addestrata su un ampio set 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 addestrato, il modello può essere messo a punto per applicare lo stile di un dipinto specifico a una nuova immagine. La rete si adatta alla nuova immagine conservando le caratteristiche stilistiche apprese, in modo da creare un risultato unico che combina il contenuto originale con lo stile artistico selezionato. Ad esempio, è possibile 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.

__wf_reserved_inherit
Figura 5. Un esempio di trasferimento di stile artistico mediante l'apprendimento per trasferimento.

Uno sguardo alle differenze tra i tipi di apprendimento automatico

Dopo aver illustrato i principali tipi di apprendimento automatico, diamo un'occhiata più da vicino a ciascuno di essi per capire quale sia il più adatto alle diverse applicazioni.

  • Apprendimento supervisionato: Questo tipo di apprendimento è molto accurato 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 modelli 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.
  • Apprendimento per trasferimento: Questo approccio utilizza modelli pre-addestrati per accelerare l'addestramento e migliorare le prestazioni su nuovi compiti, soprattutto quando i dati sono limitati.
__wf_reserved_inherit
Figura 6. Confronto tra tutti i tipi di apprendimento automatico. Immagine dell'autore.

La scelta del tipo di apprendimento automatico giusto dipende da diversi fattori. L'apprendimento supervisionato funziona bene se si dispone di abbondanti dati etichettati e di un compito chiaro. 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 graduale, mentre l'apprendimento per trasferimento è ottimo quando i dati sono limitati o le risorse sono limitate. Tenendo conto di questi fattori, è possibile scegliere l'approccio più adatto al proprio progetto di computer vision.

Conclusione

Le tecniche di apprendimento automatico possono affrontare una varietà di sfide, soprattutto in aree come la computer vision. Comprendendo i diversi tipi di apprendimento, supervisionato, non supervisionato, di rinforzo e di trasferimento, è possibile scegliere l'approccio migliore per le proprie esigenze.

 L'apprendimento supervisionato è ottimo per compiti che richiedono un'elevata precisione e dati etichettati, mentre l'apprendimento non supervisionato è ideale per trovare modelli in dati non etichettati. L'apprendimento per rinforzo funziona bene in contesti complessi e basati su decisioni, mentre l'apprendimento per trasferimento è utile quando si desidera basarsi su modelli pre-allenati 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ò aprire nuove possibilità in settori come quello sanitario, automobilistico e dell'intrattenimento.

Per saperne di più, visitate il nostro repository GitHub e partecipate alla nostra comunità. Esplorate le applicazioni dell'intelligenza artificiale nelle auto a guida autonoma e nell'agricoltura sulle nostre pagine dedicate alle soluzioni. 🚀

Costruiamo insieme il futuro
dell'IA!

Iniziate il vostro viaggio nel futuro dell'apprendimento automatico

Iniziare gratuitamente
Link copiato negli appunti