Intelligenza artificiale

Cos’è l’intelligenza artificiale?

Cosa devono sapere gli ingegneri per usare l’intelligenza artificiale in modo efficace

L’intelligenza artificiale (IA) simula un comportamento umano intelligente come ad esempio il software di un computer o di un sistema, progettato per percepire l’ambiente in cui si trova, prendere decisioni e agire. Per creare un sistema di IA efficace occorre comprendere l’intero workflow e non focalizzarsi solo sull’addestramento di un modello di IA.

Come funziona l’IA?

Il termine “intelligenza artificiale” è molto ampio e acquisisce sempre più rilevanza grazie anche all'implementazione da parte degli ingegneri in una gamma più vasta di applicazioni. Basti pensare ad alcune delle più recenti applicazioni che vanno dalle auto a guida autonoma alla robotica, fino all’elaborazione del linguaggio naturale. La modalità in cui l’intelligenza artificiale viene implementata in queste applicazioni può variare ma la tecnologia di base, ovvero i modelli di Deep Learning o di Machine Learning usati per creare un sistema che può prendere decisioni, rimane costante.

Illustrazione che mostra le definizioni di intelligenza artificiale, Machine Learning e Deep Learning.

La scelta tra algoritmi di Deep Learning o di Machine Learning per la tua applicazione di intelligenza artificiale dipende dagli obiettivi e dai requisiti del tuo sistema.

Deep Learning e Machine Learning a confronto

È possibile scegliere tra svariate tecniche e modelli in base all’applicazione, alla dimensione dei dati da elaborare e al tipo di problema da risolvere. Sia il Machine Learning che il Deep Learning offrono dei grandi vantaggi:

Il Machine Learning tradizionale consente l’addestramento di diversi classificatori, come le macchine a vettori di supporto (SVM) e gli alberi decisionali. Il Machine Learning consente anche di ottimizzare l’estrazione di feature. È possibile combinare diversi approcci per determinare la disposizione più efficace in base ai propri dati.

Il Deep Learning è una forma specializzata di Machine Learning, che automatizza l’estrazione di feature rilevanti dai dati. Le reti di Deep Learning spesso hanno un potere predittivo maggiore rispetto ai modelli classici di Machine Learning e la loro precisione migliora con l’aumentare delle dimensioni dei dati di addestramento.

L’applicazione Classificazione di MATLAB velocizza il processo di selezione di un algoritmo di Machine Learning.

Prova varie tipologie di algoritmi di Machine Learning per trovare quello più adatto al tuo modello.

Sia con il Machine Learning che con il Deep Learning, è importante avere la possibilità di provare diverse tipologie di algoritmi e di decidere quella più adatta alla tua applicazione e ai suoi requisiti.

Concetti essenziali di IA

Per un solido workflow di intelligenza artificiale è opportuno comprendere i dati, creare un modello, progettare e testare il sistema finale su cui il modello verrà eseguito. Le sezioni che seguono descrivono importanti concetti di IA da tenere in considerazione quando decidi di integrare l’intelligenza artificiale al tuo lavoro.

IA basata sui dati

Al centro della maggior parte delle applicazioni di intelligenza artificiale ci sono i dati. Prendere i dati grezzi e renderli utili per un modello preciso ed efficace comporterà molto probabilmente un notevole dispendio di tempo. La preparazione dei dati richiede esperienza nel settore per individuare le feature critiche dei dati, quelle irrilevanti e gli eventi rari da considerare.

Preparare i dati e ottenere dati etichettati spesso è un processo noioso e che richiede molto tempo. Il processo potrebbe includere l’aumento di set di dati con dati sintetici e altri campioni, ma gli ingegneri dovrebbero considerare la possibilità di ottenere più rapidamente dati puliti ed etichettati automatizzando il tempo impiegato per l’etichettatura.

Modellazione dell’IA

Due fattori chiave per la creazione di un modello IA efficace

  • Scelta di un set di algoritmi: stai pensando al Machine Learning o al Deep Learning? Un set di algoritmi completo e modelli precostituiti consentono di avere un vantaggio sfruttando il lavoro più ampio della community di IA senza partire da zero.
  • Iterazione sul tuo modello: ora è necessario identificare il set di parametri ottimale che ti consentirà di ottenere un modello il più robusto e preciso possibile. La creazione di un modello preciso richiede tempo. Fortunatamente, l’aggiunta di un altro hardware, ad esempio l’esecuzione su una o più GPU, può accelerare in modo significativo il tempo di addestramento dei modelli con tutte le combinazioni di parametri, dati di input e livelli.

Simulazione nella progettazione IA

In genere i modelli di IA si trovano all’interno di sistemi grandi e complessi. Per esempio, nei sistemi di guida automatizzata, l’intelligenza artificiale di percezione deve essere integrata con algoritmi per la localizzazione e pianificazione di percorsi e con controlli di frenata, accelerazione e altri componenti che collaborano per creare un sistema completo. Sistemi complessi e guidati dall’intelligenza artificiale come questi richiedono integrazione e simulazione.

L’IA in azione: rilevazione del sovrasterzo nelle automobili BMW con il Machine Learning

Tre diversi componenti di un sistema robotico e un diagramma a blocchi Simulink che controlla ciascun componente.

L’intelligenza artificiale viene usata in diverse parti di un sistema robotico complesso.

La simulazione mette insieme tutti questi elementi: verifica che i componenti funzionino correttamente, assicura che in ogni situazione i risultati e le reazioni rispondano alle aspettative e consente inoltre di verificare il corretto funzionamento del modello prima della distribuzione sull'hardware.

Applicazioni basate sull’intelligenza artificiale nel mondo reale

Poiché molte applicazioni utilizzano l’intelligenza artificiale, ci sono diversi requisiti di distribuzione, che si tratti di un’unità di controllo elettronico (ECU) in un veicolo, di un sistema edge in un impianto chimico, o di un sistema di streaming basato su Cloud che riceve dati da diverse posizioni. L’intelligenza artificiale può essere presente in qualsiasi parte di questi sistemi, quindi i tuoi modelli devono poter essere distribuiti e funzionare su qualsiasi piattaforma possibile.

Sviluppo dell’IA aziendale con MATLAB

Per incorporare l’intelligenza artificiale nei sistemi, è opportuno prendere in considerazione diversi elementi. In qualità di ingegneri, è importante focalizzarsi non solo sulla creazione di un modello, ma sull’intero workflow dell’IA.

  • Acquisizione dei dati: quando i dati di addestramento disponibili sono limitati, interfacciati in modo rapido con diversi hardware di acquisizione dati, organizza grandi quantità di dati o genera dati sintetici.
  • Pre-elaborazione ed etichettatura dei dati: crea più rapidamente set di dati migliori con le applicazioni di pre-elaborazione ed etichettatura. Usa applicazioni low-code e funzioni integrate in MATLAB® per migliorare la qualità dei dati ed etichettare automaticamente la verità di base (ground truth).
  • Creazione del modello di IA: prova varie tipologie di modelli e confronta gli algoritmi di Machine Learning e Deep Learning per trovare la giusta soluzione per la tua applicazione. Accedi a centinaia di modelli preaddestrati, compresi quelli di TensorFlow™ e PyTorch®, ed esegui il Transfer Learning per risparmiare tempo e risorse.
  • Visualizzazione delle decisioni: acquisisci fiducia verso le decisioni dell’IA usando tecniche di spiegabilità e verificando la robustezza dei modelli di IA. Le tecniche come LIME, Shapley e Grad-CAM sono accessibili direttamente su MATLAB, per cui non è necessario scrivere le funzioni manualmente.
  • Simulazione: integra i modelli di IA in Simulink per creare funzionalità di intelligenza artificiale direttamente nei tuoi sistemi complessi. Questa integrazione consente agli ingegneri di simulare l’intelligenza artificiale all'interno dell'intero sistema prima di distribuire il modello in produzione.
  • Distribuzione su sistemi edge: identifica ed elimina gli errori di codifica tramite la generazione automatica del codice e il targeting del dispositivo. MATLAB genera automaticamente il codice per l’hardware target specifico in modo da poter integrare i modelli in sistemi aziendali, cluster e Cloud o hardware embedded.

Gli ingegneri e gli scienziati sono gli esperti del settore che forniscono informazioni cruciali per l’uso efficace dei progetti di IA. MATLAB consente a ingegneri e scienziati di utilizzare l’IA nel proprio settore e rende possibile la collaborazione tra team e diverse organizzazioni.

Argomenti correlati

Introduzione a MATLAB

MATLAB per il Deep Learning

Ulteriori informazioni sul supporto di MATLAB per il Deep Learning. 

Tutorial ed esempi

Introduzione a MATLAB per l’intelligenza artificiale.