Che cos’è l’intelligenza artificiale (IA)?

3 cose da sapere

L’intelligenza artificiale, anche detta IA, è una simulazione del comportamento umano intelligente. Si tratta di un sistema o di un computer progettato per percepire l’ambiente in cui si trova, comprenderne il comportamento e agire di conseguenza. Pensiamo alle auto a guida autonoma: sistemi guidati dall’IA come questi algoritmi di IA integrati, ad esempio il machine learning e il deep learning, in ambienti complessi che consentono l’automazione.

Perché l’IA è importante?

Secondo una previsione di McKinsey, nel 2030 l’IA avrà creato un valore economico pari a 13 trilioni di dollari a livello mondiale.

Ciò è dovuto al fatto che l’IA sta trasformando l’ingegneria in quasi tutti i settori e le aree di applicazione. Oltre che nella guida autonoma, l’IA è utilizzata  per  prevedere guasti  e  fornire indicazioni su eventuali  interventi di manutenzione, trova applicazione nella sanità e nell’analisi di sensori, ad esempio nei sistemi di monitoraggio dei pazienti e nei sistemi di robotica che apprendono e migliorano direttamente attraverso l’esperienza.

Aree di applicazione comuni per l’IA. 

Componenti fondamentali di un flusso di lavoro di IA

Il successo, quando si parla  di intelligenza artificiale  va oltre  l’addestramento di un modello di IA, soprattutto per i sistemi basati su IA che prendono decisioni ed eseguono azioni. Un flusso di lavoro di IA efficiente comprende la preparazione dei dati, la creazione di un modello, la progettazione del sistema su cui il modello verrà eseguito e la distribuzione a sistemi enterprise o hardware.

I passaggi del flusso di lavoro di IA.

Preparazione dei dati

Acquisire dati non elaborati e renderli utili per la realizzazione di un modello preciso, efficiente e significativo è un passaggio critico. In effetti, rappresenta gran parte del flusso di lavoro dell’intelligenza artificiale.

La preparazione dei dati richiede competenze adeguate nel settore, ad esempio in materia di segnali audio e vocali, navigazione e fusione di sensori, elaborazione di immagini e video, radar e LIDAR. Gli ingegneri esperti in questi ambiti sono le figure più adatte a determinare quali sono le feature critiche dei dati, quali sono le meno importanti e quali sono gli eventi rari da considerare.

L’IA, inoltre, richiede la gestione di un’ingente quantità di dati. Tuttavia, etichettare dati e immagini risulta noioso e dispendioso in termini di tempo. A volte non si possiedono dati sufficienti, in particolare per i sistemi cruciali per la sicurezza. La generazione di dati sintetici precisi può migliorare i set di dati in nostro possesso. In entrambi i casi, l’automazione è fondamentale per rispettare le scadenze previste.

Modellazione mediante IA

I fattori essenziali per una modellazione efficace di sistemi basati su IA sono:

  • partire da una serie completa di algoritmi e modelli predefiniti per il machine learning, il deep learning, il reinforcement learning e altre tecniche di IA
  • utilizzare applicazioni per l’analisi e la progettazione produttiva
  • lavorare in un ecosistema aperto che consenta di utilizzare insieme gli strumenti di IA come MATLAB®, PyTorch e TensorFlow™
  • gestire la complessità di calcolo mediante l’accelerazione GPU e la distribuzione a server cloud e paralleli e data center on-premise

Progettazione del sistema

I modelli di IA esistono all’interno di un sistema completo. Nei sistemi di guida autonoma, l’intelligenza artificiale per la percezione deve essere integrata con algoritmi di localizzazione e pianificazione di percorsi e con controlli per la frenata, l’accelerazione e il cambio di direzione.

L’IA utilizzata in uno scenario di guida autonoma.

Pensiamo all’IA nella manutenzione predittiva per i parchi eolici e i controlli del pilota automatico per gli aeromobili di oggi.

Sistemi complessi basati su IA come questi richiedono integrazione e simulazione.

Distribuzione

I modelli di IA devono essere distribuiti a CPU, GPU e/o FPGA nel tuo prodotto finale, come parte di un dispositivo edge o embedded, di un sistema enterprise o cloud. I modelli di IA in esecuzione sul dispositivo edge o embedded forniscono i risultati rapidi necessari sul campo, mentre i modelli di IA in esecuzione in sistemi enterprise e sul cloud forniscono risultati a partire dai dati acquisiti da più dispositivi. Spesso i modelli di IA vengono distribuiti a una combinazione di questi sistemi.

Puoi accelerare il processo di distribuzione generando codice dai tuoi modelli ed eseguendo il targeting dei tuoi dispositivi. Utilizzando le tecniche di ottimizzazione della generazione di codice e le librerie ottimizzate per l’hardware, puoi regolare il codice in base al profilo a potenza ridotta richiesto dai dispositivi edge ed embedded o alle prestazioni elevate richieste da sistemi enterprise e cloud.

Sviluppo di sistemi basati su IA con MATLAB

La carenza di competenze in ambito di intelligenza artificiale è ben documentata. Tuttavia, gli ingegneri e i ricercatori che utilizzano MATLAB o Simulink® possiedono le competenze e gli strumenti necessari per creare sistemi basati su IA nelle proprie aree di specializzazione.

Pre-elaborazione di dati con MATLAB

Investirai meno tempo nella pre-elaborazione dei dati. Le app e i tipi di dati MATLAB riducono significativamente il tempo necessario a pre-elaborare i dati di serie storiche dei sensori, di immagine e testo. Le funzioni di alto livello semplificano il processo di sincronizzazione di serie storiche diverse, di sostituzione degli outlier con valori interpolati, di filtraggio dei segnali rumorosi, di suddivisione di testo non elaborato in parole, e molto altro ancora. Puoi visualizzare rapidamente i tuoi dati per comprenderne i trend e individuare eventuali problematiche relative alla qualità dei dati con l’ausilio di grafici e di Live Editor.

Le applicazioni MATLAB automatizzano l’etichettatura sul campo di immagini, video e dati audio.

Per testare gli algoritmi prima che i dati dei sensori o di altre apparecchiature siano disponibili, puoi generare dati sintetici da Simulink. Questo approccio viene comunemente utilizzato in sistemi di guida autonoma come il cruise control adattivo, il sistema antisbandamento e il freno di emergenza automatico.

Utilizzo delle app di etichettatura per i flussi di lavoro di deep learning come la segmentazione semantica.

Sfruttare l’interoperabilità con i framework di Deep Learning.

Modellazione IA con MATLAB

Le tecniche di modellazione mediante IA variano a seconda dell’applicazione.

Machine Learning

Gli utenti MATLAB hanno distribuito migliaia di applicazioni per la manutenzione predittiva, l’analisi di sensori, la finanza e l’elettronica delle comunicazioni. Statistics and Machine Learning Toolbox™ semplifica le fasi complesse del Machine Learning con applicazioni per l’addestramento e il confronto di modelli, l’elaborazione di segnali avanzata e l’estrazione di feature e algoritmi di classificazione, regressione e clustering per l’apprendimento con e senza supervisione.

ASML, produttore di semiconduttori, ha utilizzato le tecniche di Machine Learning per creare una tecnologia di metrologia virtuale allo scopo di migliorare l’allineamento delle sovrapposizioni nelle strutture complesse che compongono un chip. “In qualità di ingegnere di processo non avevo esperienza con le reti neurali o il Machine Learning. Ho utilizzato gli esempi MATLAB per trovare le migliori funzioni di Machine Learning per la generazione di metrologia virtuale. Non avrei potuto farlo in C o Python perché ci sarebbe voluto troppo tempo per trovare, validare e integrare i pacchetti giusti”, spiega l’ingegnere Emil Schmitt-Weaver.

I modellli MATLAB vantano inoltre migliori performance di esecuzione rispetto a piattaforme open source sulla maggior parte dei calcoli statistici e di Machine Learning.

L’app Classification Learner, che consente di provare diversi classificatori e trovare la soluzione migliore per il proprio set di dati.

Deep Learning

Gli ingegneri utilizzano le funzionalità di Deep Learning di MATLAB per la guida autonoma, la visione artificiale, l’elaborazione vocale e del linguaggio naturale e altre applicazioni. Deep Learning Toolbox™ consente di creare, collegare, addestrare e valutare i layer di una rete neurale profonda. Gli esempi e le reti pre-addestrate consentono di utilizzare con facilità MATLAB per il Deep Learning, anche se non di dispone di conoscenze avanzate su algoritmi di visione artificiale avanzata o reti neurali.

MATLAB consente agli ingegneri di lavorare insieme su diversi framework di Deep Learning. Con il supporto per ONNX, MATLAB consente di importare ed esportare i modelli più recenti in e da altri framework supportati, tra cui TensorFlow.

L’app Deep Network Designer, che consente di costruire, visualizzare e modificare le reti di Deep Learning.

Reinforcement Learning

Nei sistemi di controllo che traggono vantaggio dall’apprendimento basato sulla compensazione cumulativa, il Reinforcement Learning è la tecnica ideale. Reinforcement Learning Toolbox™ consente di addestrare i criteri utilizzando DQN, DDPG, A2C e altri algoritmi di Reinforcement Learning. È possibile utilizzare questi algoritmi per implementare i controllori e gli algoritmi di decision-making per sistemi complessi come robot e sistemi autonomi. Puoi implementare i criteri utilizzando reti neurali profonde, polinomi o tabelle di lookup.

Utilizzo di Reinforcement Learning Toolbox per progettare e addestrare criteri.

Elaborazione del linguaggio naturale

I modelli di elaborazione del linguaggio naturale vengono comunemente utilizzati per sentiment analysis, manutenzione predittiva e topic modeling. Text Analytics Toolbox™ fornisce algoritmi e visualizzazioni per la pre-elaborazione, l’analisi e la modellazione di dati di testo. Consente di estrarre ed elaborare testi non formattati estratti da registri delle apparecchiature, feed di notizie, sondaggi, report di operatori e social media.

Utilizzando le tecniche di Machine Learning quali LSA, LDA e Word embedding, puoi trovare cluster e creare feature da set di dati di testo di grandi dimensioni. Le feature create con Text Analytics Toolbox possono essere combinate con le feature di altre fonti di dati per sviluppare modelli di Machine Learning che sfruttano dati di testo, numerici e altri tipi di dati.

Identificare argomenti nei dati di un report su un temporale.

Progettazione del sistema

È necessario integrare i sistemi complessi basati su IA con altri algoritmi. La simulazione e la progettazione del sistema sono importanti in quanto il sistema nel suo insieme ha un impatto sull’efficienza dei modelli di IA. Gli ingegneri utilizzano Simulink per velocizzare l’iterazione di progetto e il testing a circuito chiuso.

Ad esempio, in un sistema di guida autonoma, vengono impiegate l’IA e la simulazione per la progettazione del controller di frenata, accelerazione e cambio di direzione. Viene utilizzato Simulink per progettare e simulare il modello del sistema e MATLAB per il modello di IA. Puoi utilizzare software come Unreal Engine per sintetizzare l’immagine ideale della fotocamera con cui alimentare i modello di IA.

Voyage, che produce taxi a guida autonoma per le comunità per anziani, ha distribuito un veicolo autonomo di livello 3 in meno di tre mesi. Il modello integrato ha velocizzato l’intero processo, dall’idea iniziale al test su strada. Simulink ha consentito di eseguire il test in condizioni pericolose in totale sicurezza.

Simulink consente inoltre di generare dati di guasto da condizioni di guasto note. In un parco eolico, potresti aggiungere dati di guasto sintetici ai dati misurati dalle turbine eoliche. Puoi affinare il tuo modello di sistema per ottenere un predittore preciso dei futuri guasti alle apparecchiature.

Applicazione di controllo del mantenimento della corsia mediante la percezione della fotocamera monoculare creata con MATLAB e Simulink.

Utilizzo dei dati di guasto sintetici ottenuti dal modello insieme ai dati misurati per creare un predittore di guasti futuri affidabile.

Distribuzione

I modelli di IA in MATLAB possono essere distribuiti su dispositivi o schede embedded, su dispositivi edge sul campo, su sistemi enterprise o sul cloud.

Per i modelli di deep learning, puoi utilizzare GPU Coder™ per generare e distribuire GPU NVIDIA® CUDA®. Oppure, genera codice C con MATLAB Coder™ per la distribuzione su schede Intel® e Arm®. Le librerie ottimizzate per il fornitore creano modelli distribuibili con velocità di inferenza ad alte prestazioni.

Con MATLAB Production Server™, puoi integrare e distribuire in modo sicuro a sistemi IT enterprise, fonti di dati e tecnologie operative.

Integrare direttamente in sistemi e dati esistenti, tra cui sistemi di analisi moderni quali Tableau®, TIBCO® Spotfire®, Power BI e altri ancora.

Scopri di più sull’IA

Scopri come MATLAB può aiutarti con qualsiasi parte del flusso di lavoro del deep learning: dalla pre-elaborazione fino alla distribuzione. Ottieni una panoramica di alto livello del deep learning con MATLAB ed esplora diverse applicazioni.
Guarda una dimostrazione rapida sull’uso di MATLAB® con una semplice webcam e una rete neurale profonda per identificare gli oggetti nei dintorni. Questa demo utilizza AlexNet, una rete neurale convoluzionale precedentemente addestrata (CNN o ConvNet) su oltre un milione di immagini.
Esplora gli argomenti di machine learning, scoprendo quali sono e come utilizzarli.
Tre esempi del mondo reale mostreranno come MATLAB consente di prendere facilmente dimestichezza con l’IA.
Musashi Seimitsu ha utilizzato lo sviluppo velocizzato di MATLAB e Simulink attraverso la simulazione.
Lavorando in MATLAB, gli ingegneri di BMW hanno sviluppato un modello di machine learning supervisionato in grado di rilevare il sovrasterzo con una precisione del 98%.