Tramite questo articolo faremo un po’ di chiarezza sul termine "Intelligenza Artificiale", l’uso dell’intelligenza artificiale nella quotidianità e in ambito domotico. Ripercorreremo anche un po’ della storia che sta dietro a questo termine.
Introduzione
La parola “Intelligenza Artificiale” è diventata ultimamente d’uso estremamente comune, anche se alcune persone identificano la parola con qualsiasi forma di vita artificiale in grado di superare l’intelligenza umana; altri, invece, indicano con questo termine tutte le tecnologie di elaborazione dati.
In termini semplici si può affermare che nel concetto di Intelligenza Artificiale vi sono due concetti chiave:
Autonomia: essa è l’abilità di svolgere compiti in ambienti eccessivamente elaborati e difficili senza l’assistenza costante di qualcuno.
Adattività: l’abilità di perfezionare e migliorare le performance imparando dai dati e dall’esperienza.
Tramite questo articolo faremo un po’ di chiarezza su questo termine, l’uso dell’intelligenza artificiale nella quotidianità e in ambito domotico. Ripercorreremo anche un po’ della storia che sta dietro a questo termine.
Che cos’è l’IA?
L'intelligenza artificiale (IA o AI per Artificial Intelligence) è una disciplina che si occupa di specifici “algoritmi”, che cercano di replicare i processi mentali più complessi propri dell’intelligenza umana. Visto che un algoritmo non può vivere senza una sua implementazione, questo ha fatto sì che molti abbiano visto l’AI come una branca dell’informatica.
Molti fanno risalire la nascita di questa disciplina al 1956, quando, al Dartmouth College del New Hampshire, si tenne un convegno a cui parteciparono diversi ricercatori che avrebbero contribuito al nascente campo della computazione dedicata allo sviluppo di sistemi intelligenti.
A partire da quel convegno infatti furono presentate da parte dei partecipanti diverse macchine in grado di compiere qualche forma di ragionamento o dimostrare dei teoremi. Vale la pena, però, ricordare il contributo dato da Alan Turing, che già nel 1936 aveva posto le basi per i concetti di calcolabilità, computabilità con la macchina di Turing (una macchina ideale che manipola i dati contenuti su un nastro di lunghezza potenzialmente infinita, secondo un insieme prefissato di regole ben definite; l’importanza di tale concetto di macchina è tale che oggi, per definire in modo formalmente preciso la nozione di algoritmo, si tende a ricondurlo alle elaborazioni effettuabili con macchine di Turing). Nel 1950 lo stesso Turing scrisse l’articolo intitolato “Computing machinery and intelligence”, in cui proponeva quello che sarebbe divenuto noto come “test di Turing”. Secondo il test, una macchina poteva essere considerata intelligente se il suo comportamento, osservato da un essere umano, fosse considerato indistinguibile da quello di una persona. Grazie al lavoro di Turing, il tema dell’AI ricevette una forte attenzione da parte della comunità scientifica e nacquero diversi approcci: fra tutti, i principali furono proprio la logica matematica (per la dimostrazione di teoremi e l’inferenza di nuova conoscenza) e le reti neurali. Proprio quest’ultime sono state il fulcro di tanta attività di ricerca e soprattutto dell’importanza che hanno avuto nell’ambito del modellamento di sistemi complessi.
Una rete neurale artificiale (ANN) è un modello matematico modellato sulla base della modalità con cui il sistema nervoso dei vertebrati persegue particolari obiettivi o svolge certe funzioni. L'importanza assunta dalle reti neurali in campo ingegneristico risiede nella possibilità di risolvere problemi non lineari, non risolvibili tramite semplici equazioni in forma chiusa; esse sono tipicamente utilizzate nel riconoscimento di pattern, nella previsione di risultati e nell'approssimazione di funzioni.
L'utilizzo e l'interesse verso queste strutture hanno motivazioni precise: il cervello lavora in modo completamente differente e molto più rapido rispetto a qualsiasi computer esistente. Si può pensare, ad esempio, alla vista umana: il cervello fornisce in tempo reale una rappresentazione dell'ambiente che ci circonda e informazioni utili all'interazione con esso. Ciò è reso possibile dalla capacità innata del cervello di elaborare le regole secondo cui agisce basandosi sugli stimoli che riceve dal mondo esterno, che classifichiamo come esperienza. È possibile stabilire un parallelismo tra l'organizzazione di una rete neurale biologica e una artificiale: entrambe vedono il loro funzionamento basato sull'organizzazione di costituenti elementari, i neuroni biologici nel primo caso e le unità di processamento (o semplicemente neuroni) nel secondo. Inoltre possiedono entrambe la capacità di apprendere dall'ambiente esterno agendo sulle interconnessioni tra neuroni.
Si possono evidenziare gli elementi da cui una rete neurale artificiale trae il suo potere computazionale:
- Non linearità. Permette di dare soluzioni approssimate a problemi molto complessi altrimenti intrattabili. La non linearità di tali problemi trova un analogo, e quindi una soluzione, nella struttura della rete e nell'interconnessione tra neuroni.
- Adattamento. Una rete neurale è in grado di fornire soluzioni approssimate al problema variando le interconnessioni tra neuroni, ovvero il valore dei pesi sinaptici, processo noto come allenamento (train). Durante l'allenamento sono presentati alla rete dei dati in ingresso e sono forniti i corrispondenti valori di uscita (targets); tramite la scelta dell'algoritmo di apprendimento l'errore, indice del discostamento tra il target e il valore fornito dalla rete, è minimizzato in maniera iterativa. È importante evidenziare che questo step si discosta completamente dalla programmazione, ma è un metodo adattativo automatico.
- Generalizzazione. Indice della bontà dell'allenamento è la capacità della rete di generalizzare; se la fase di train si è svolta correttamente la rete sarà in grado di produrre risultati sufficientemente accurati anche in risposta a dati non incontrati durante il processo di allenamento. Questo controllo è svolto tramite le fasi di validazione e test.
- Robustezza. Se l'apprendimento e il test hanno prodotto risultati soddisfacenti la rete si mostrerà robusta nei confronti di eventuali disturbi sovrapposti al segnale.
- Informazione contestuale. Ogni neurone è rappresentativo dell'informazione dell'intera rete, proprio per le interconnessione tra le unità.
Campi associati all’IA
Oltre all’IA esistono anche altri campi associati ad esso ed è per questo che li riportiamo in questo articolo nonostante non si va nei dettagli di questi termini. Si citano quindi soltanto per conoscerli almeno per nome.
Gli argomenti correlati sono i seguenti:
- Machine Learning: si tratta di sistemi che rendono migliore le prestazioni in un dato obiettivo grazie all’aumentare dei dati e dell’esperienza.
- Deep Learning: è un sottocampo del machine learning e si riferisce alla complessità del modello matematico della rete grazie al numero elevato deli livelli che la compongono.
- Robotica: è un’area dell’informatica ed ingegneria che combina tutte le aree dell’IA permettendo di usare un robot in scenari reali.
- Scienza dei Dati: è una branca dell’informatica che racchiude statistica e machine learning e gestione dei dati.
Esempi e IA in SSLS+
L’intelligenza artificiale sta entrando sempre più nel quotidiano di ognuno di noi: basti pensare ai sistemi di riconoscimento del parlato e del linguaggio, di elaborazione delle immagini o di riconoscimento di volti ed espressioni presenti in molti sistemi con cui ogni giorno interagiamo, come ad esempio lo smartphone o il PC. Oltre a questi, basti pensare anche a robot che puliscono gli ambienti indicando la mappa della casa o altri tipi di robot che permettono di assistere persone in difficoltà. Oppure l’IA nelle chatbot per rispondere rapidamente a problemi dei clienti oppure un altro esempio sono i motori di raccomandazione per fornire consigli automatici su piattaforme online. Molti di questi sistemi di intelligenza artificiale sono già presenti nelle nostre case e nella nostra vita quotidiana, e alcuni vengono accoppiati con sistemi domotici per l’accensione, lo spegnimento o la regolazione di un’apparecchiatura con un comando vocale.
Questo è il modo con cui l’intelligenza artificiale sta entrando nella nostra vita, aiutandoci a svolgere qualche compito, ma forse essenzialmente rendendoci più pigri e facendoci pensare che ci sia un’entità da comandare e che esegua i nostri ordini (proprio questo sembra il ruolo che viene suggerito dai sistemi a comando vocale). Dal punto di vista realizzativo tali sistemi di intelligenza artificiale sfruttano appieno delle funzionalità ben definite e le inglobano in un sistema di comandi, che migliora l’esperienza quotidiana dell’utente, assecondando le sue esigenze, senza preoccuparsi però di migliorare alcuni parametri ambientali e di consumo, né tantomeno suggerire comportamenti virtuosi. Proprio in questo secondo contesto vuole svolgere un ruolo il sistema di intelligenza artificiale di SSLS+: l’AI non esegue i comandi vocali, ma piuttosto elabora dati e suggerisce azioni, individua eventuali rischi o pericoli e li notifica, chiede come l’utente si sente nelle condizioni ambientali in cui si trova e ne raccoglie i feedback. Così facendo dovrebbe finire per essere il digital twin dell’utente nell’ambiente domotico. Questa è l’innovazione che si vuole portare dentro il sistema domotico.
In particolare in SSLS+ per quanto riguarda l’AI implementata sui sensori possiamo fare riferimento al tipo di sensore e alla correlazione che il segnale monitorato può avere nel tempo.
Infatti uno scopo che la nostra AI implementata nei sensori vuole svolgere è quello di predire il trend della grandezza monitorata in maniera tale che si possano segnalare delle variazioni della stessa che possano portare al di fuori dei range di comfort o di consumi. Un altro scopo è segnalare delle anomalie di funzionamento dei sensori o della grandezza, da attribuire o al sensore stesso (un eventuale guasto) o a un comportamento anomalo di qualcosa/qualcuno all’interno della smart home.
Per ulteriori dettagli sulla IA in SSLS+, leggi l’articolo precedente del blog riguardo il comfort ambientale e l’IA (vai al seguente link).
Conclusioni
Riassumendo i concetti visti, l'intelligenza artificiale si riferisce a macchine o sistemi che imitano l'intelligenza umana per eseguire delle azioni che si migliorano in continuazione grazie alle informazioni che vengono raccolte. Nel caso di SSLS+ elabora dati e suggerisce azioni, ma allo stesso tempo individua eventuali rischi o pericoli e li notifica e raccoglie sempre informazioni per avere un quadro completo del comfort ideale dell’utente e migliorarne i suggerimenti. Abbiamo anche visto che esistono molteplici esempi concreti nella vita di tutti i giorni della IA.