In questa pagina cerchiamo di chiarire l’apprioccio convenzionale per la risoluzione di problemi generici, detti GPS o General Problem Solver, e in che modo l’intelligenza artificiale interviene per individuare soluzioni difficilmente risolvibili in tempi umanamente ragionevoli.
Puoi trovare un rapido riassunto a fine pagina.
La risoluzione di un problema generico di Intelligenza Artificiale
Qui di seguito, con un esempio intuivo cerchiamo di spiegare l’approccio standard di un problema generico da risolvere.
- Il primo step è definire i cosiddetti “goal”. Definire un goal è l’equivalente di identificare un risultato o eventualmente un processo che ci interessa migliorare. Ipotizziamo che il nostro obiettivo sia quella di ottenere la giusta pressione d’acqua corrente in ogni casa.
- Il secondo step è quello di definire i prerequisiti. Questi requisiti fanno riferimento ai “goal”. Per ottenere la giusta pressione, dobbiamo essere in grado di poter controllare l’acquedotto a monte. Inoltre, poiché l’acqua potabile non è gratuita, dobbiamo assicurarci anche che l’acquedotto sia in grado di sopperire alla quantità d’acqua necessaria.
- Il terzo ed ultimo step consisteste nel definire gli operatori. Se per esempio dobbiamo garantire una pressione di 1 bar nelle case, questo dipenderà da diversi fattori come la quantità di case da rifornire, l’altezza media delle case, l’altezza dell’acquedotto e cosi via. In pratica in base alla condizioni iniziali, agiremo sulle leve di pressione dell’acquedotto per regolare i tubi portanti.
Cosa sono gli operatori nell Intelligenza Artificiale? In pratica un operatore controlla le condizioni iniziali e di tutto ciò che le riguarda. Un operatore consiste in azioni, condizioni preliminari e cambiamenti derivati dall’esecuzione di azioni. In questo esempio pratico, l’azione consiste nell’aumentare o diminuire la pressione. Ovviamente questo dipende dal fatto che si abbia pressione a sufficienza (prerequisito dello step 2). Aumentando o diminuendo la pressione, stiamo cambiando le nostre condizioni, e questo ci permetterà di offrire la corretta pressione finale.
La logica di risoluzione di questo semplice problema funzionerà in qualsiasi contesto. Il vincolo è quello di utilizzare un processo di ricerca per svolgere il lavoro e ottenere la soluzione, ma nel mondo reale questo approccio è troppo complesso dal punto di vista computazionale e richiede un tempo tanto più lungo quanto è complesso il problema.
In generale i problemi di scala hanno effetti NON LINEARI difficilissimi da prevedere.
Come interviene l’Intelligenza Artificiale per velocizzare il processo risolutivo? Costruiamo un “Agente Intelligente”.
Esistono molti modi al giorno d’oggi per realizzare un Intelligent Agent. Le tecniche più comunemente utilizzate includono l’apprendimento automatico (Machine Learning), Reinforcement Learning, Deap Learning, Linear Regression e cosi via. Per agevolare la spiegazione, ci limiteremo a sviluppare l’argomento del Machine Learning: il modo in cui facciamo diventare intelligente un Agente è attraverso i dati e l’addestramento.
Con ML, vogliamo programmare le macchine al fine di usare dei dati etichettati per risolvere un determinato problema. Esaminando i dati e le etichette associate ad essi, la macchina impara come estrarre modelli e relazioni. Nell’immagine abbiamo 6 figure chiave che rappresentano lo schema logico di funzionamento di un algoritmo compreto: Enviroment, ovvero il contesto in cui si analizza il problema; gli Actuators ovvero gli operatori spiegati in precedenza; l’Inference Engine ovvero il motore inferenziale dove per inferenza statistica si intende il procedimento di generalizzazione dei risultati ottenuti attraverso una rilevazione parziale per campioni dell’intera popolazione; Sensors cioè i sensori per la raccolta dei dati di input; Feature Extraction ovvero il blocco di estrazione delle caratteristiche del modello; Learning Model ovvero il cuore del modello di apprendimento.
L’Intelligente Agent dipende dal modello di apprendimento scelto. Una volta che il sensore rileva l’ingresso, lo invia al blocco di estrazione delle caratteristiche. Una volta estratte le funzionalità pertinenti, il motore di inferenza esegue una previsione basata sul modello di apprendimento scelto. Il motore di inferenza prende quindi una decisione e la invia all’attuatore che quindi intraprende l’azione richiesta nel mondo reale.
Oggi esistono molte applicazioni dell’apprendimento automatico: questo modello viene utilizzato nel riconoscimento delle immagini, nella robotica, nel riconoscimento vocale, nelle previsione del comportamente in borsa e cosi vià.
Per comprendere a fondo l'apprendimento automatico e creare una soluzione completa è quindi necessario conoscere molte tecniche provenienti da diversi campi come il riconoscimento di modelli, le reti neurali artificiali, il data mining, statistica e cosi via...
Tipi di Modelli utilizzabili nell’AI
Esistono due tipi di modelli nel mondo dell’IA: modelli analitici e modelli appresi. Prima delle macchine in grado di calcolare, le persone si affidavano a modelli analitici. Questi modelli sono stati derivati usando una formulazione matematica che è sostanzialmente una sequenza di passaggi per arrivare a un’equazione finale. Il problema con questo approccio è che si basava sul giudizio umano, a causa della carenza di dato questi modelli erano semplicistici e inaccurati.
Nell’era dei computer è diventato molto più semplice analizzare i dati e le persone hanno iniziato a utilizzare sempre più i modelli appresi da essi. Questi modelli sono ottenuti attraverso il processo di apprendimento e, durante l’allenamento, le macchine osservano molti esempi di input e di output per arrivare all’equazione finale. I modelli appresi sono generalmente complessi ma precisi, infatti governano i dati con migliaia di parametri. Ciò dà origine a un’equazione matematica molto complessa che diversamente non si riuscirebbe ad ottenere con il processo analitico.
L’apprendimento automatico (ML) ci consente quindi di ottenere modelli che possono essere utilizzati in un motore di inferenza. Una delle cose migliori di questo è il fatto che non abbiamo bisogno di derivare la formula matematica sottostante. Non è necessario conoscere una matematica complessa, poiché la macchina deriva la formula in base ai dati. Tutto quello che dobbiamo fare è “semplicemente” creare l’elenco degli input e gli output corrispondenti. Il modello appreso che otteniamo è solo la relazione tra input etichettati e output desiderati.
Ho i dati, come posso fare per ottenere dei benefici concreti?
Se sei arrivato fino qui a leggere, potresti avere un po’ di confusione in testa, e ti possiamo assicurare che è un bene, altrimenti con buona probabilità saresti una specialista del settore e questo articolo risulterebbe essere fin troppo sintetico.
Se tuttavia sei arrivato fino qua, è arrivato il momento di premiare la tua preziosa attenzione, raccontandoti un concreto esempio di come siamo riusciti a migliorare il business ad un nostro cliente.
La necessità del nostro cliente era ben precisa: individuare quel tipo di clienti con una maggiore propensione alla spesa, definendone cicli e correlazioni con eventi aziendali. Come si può rapidamente intuire i benefici di questa analisi hanno ripercussioni rilevanti sul bilancio finale aziendale, motivo per cui rientrano nel grande contenitore dell’analisi statistica già in uso nella maggior parte dei gestionali più completi.
Raccogliendo i dati, quantificabili in file da oltre dieci mila righe su Excel (per i più tecnici CSV), abbiamo subito individuato dati statistici per escludere tutte le parti meno significative. Successivamente abbiamo iniziato ad applicare algoritmi di intelligenza artificiale per individuare alcuni modelli e sfruttare dati con varianza significativa.
Il risultato è stato soddisfacente per il nostro cliente in quanto abbiamo individuato un ramo del suo business nel quale investire in modo sostanziale: il 7% tra i clienti analizzati (classificati nel gruppo EBA) ha una propensione alla spesa del 57% più alto della media, con una ciclicità legata ad eventi esterni come il rientro dalle ferie e il turno del personale. I benefici per il nostro cliente sono stati immediati.
NetAi è qui per migliorare il tuo business: possiamo offrire un servizio esclusivo, per analizzare ed individuare correlazioni tramite l’implementazione di modelli di Artificial Intelligence, integrando personalizzazioni relative al tuo settore. La consulenza specifica iniziale è gratuita, perché si tratta di un passaggio di informazioni di valore da parte del cliente e vogliamo essere certi di offrire un servizio utile per migliorare il tuo business. I nostri servizi sono rivolti a tutte quelle piccole e medie imprese che vorrebbero permettersi un team specializzato senza sostenere costi fuori budget. Per tale motivo il servizio che offriamo è economicamente sostenibile, anche per un tempo limitato.
E' giusto ricordare che, grazie all'interesse composto nel tempo, anche un miglioramento minimo del margine del tuo business può portare a benefici enormi sul lungo periodo.