Sistemi autoapprendenti: come funziona il machine learning?
L’intelligenza artificiale è un componente fondamentale del processo di digitalizzazione che sta totalmente cambiando la nostra società. Ciò che ancora qualche anno fa si pensava potesse essere possibile solamente in un film di fantascienza, ora è realtà: parliamo con i computer, i telefoni ci indicano il percorso più veloce per il benzinaio più vicino e i nostri orologi sanno se abbiamo fatto abbastanza attività fisica. La tecnologia è sempre più intelligente e i ricercatori, gli ingegneri e i programmatori assumono il ruolo di insegnante spiegando ai computer come apprendere in maniera autonoma.
Il machine learning non è interessante solo per la scienza e per le aziende IT come Google e Microsoft: anche il mondo del marketing online può cambiare per mezzo degli sviluppi dell’intelligenza artificiale. Nel presente articolo vi spieghiamo l’evoluzione della cosiddetta artificial intelligence (AI, in italiano IA) negli ultimi anni: cosa si intende esattamente con machine learning? Quali metodi di apprendimento automatico esistono? Infine perché i marketer dovrebbero puntare sui sistemi autoapprendenti?
- Siti web in tempo record
- Soluzioni IA per il tuo business
- Risparmio di tempo e risultati eccellenti
La storia dei sistemi autoapprendenti
I robot e le macchine automatiche fanno parte della vita degli esseri umani già da diverse centinaia di secoli. Già diversi autori della letteratura romantica avevano affrontato la tematica dell’intelligenza artificiale e ancora oggi i robot sono i protagonisti affascinanti di libri, film e videogiochi. La relazione dell’essere umano con la macchina pensante ha sempre oscillato tra timore e fascino.
Gli studi veri e propri sul machine learning sono iniziati solo negli anni ’50: un’epoca in cui i computer erano ancora in fasce e l’intelligenza artificiale ancora un sogno lontano. Se nei due secoli precedenti scienziati come Thomas Bayes, Adrien-Marie Legendre e Pierre-Simon Laplace avevano gettato le basi per le ricerche future, solo con il lavoro di Alan Turing il concetto di una macchina in grado di apprendere si è finalmente concretizzata.
“In such a case one would have to admit that the progress of the machine had not been foreseen when its original instructions were put in. It would be like a pupil who had learnt much from his master, but had added much more by his own work. When this happens I feel that one is obliged to regard the machine as showing intelligence.”
In italiano: “In tal caso si dovrebbe ammettere che l’avanzamento della macchina non era stato previsto al momento dell’inserimento delle istruzioni originali. Sarebbe come dire che un allievo ha imparato molto dal maestro ma ha aggiunto ancora di più con il proprio lavoro. Quando ciò accade si è obbligati a riconoscere che la macchina mostra segni di intelligenza.”
Alan Turing durante una lezione nel 1947. (Citato da B. E. Carpenter e R. W. Doran (eds.), A. M. Turing's Ace Report of 1946 and Other Papers)
Nel 1950 Turing sviluppò il test di Turing, noto ancora oggi: si tratta di una sorta di gioco in cui il computer finge di essere un umano con un altro essere umano. Se la macchina riesce a convincere l’essere umano di stare dialogando con una persona in carne e ossa, allora ha superato il test. Appena due anni dopo Arthur Samuel sviluppò un computer che sapeva giocare a dama e che migliorava le sue abilità a ogni partita: il programma aveva la capacità di apprendere.
Infine nel 1957 Frank Rosenblatt sviluppò Perzeptron, il primo algoritmo che poteva essere istruito, quindi in sostanza una rete neurale artificiale. Da quel momento in poi i ricercatori cominciarono a dare ai propri computer di esercizi logici sempre più complessi da risolvere. Le macchine li risolvevano alle volte meglio, alle volte peggio.
Nel frattempo le grandi aziende sono diventate le principali finanziatrici dello sviluppo del machine learning: con Watson, ad esempio, IBM ha sviluppato un computer che possiede un immenso archivio di informazioni ed è in grado di rispondere a domande che vengono poste in un linguaggio naturale. Per dare al mondo dimostrazione delle sue abilità, nel 2011 il computer è stato invitato a partecipare al famoso programma televisivo “Jeopardy”, dal quale uscì vincitore. Questo evento ricorda molto la partita di scacchi del 1997 tra il campione mondiale Garri Kasparow e un altro computer della IBM, Deep Blue. Anche in questo caso fu la macchina a battere il suo avversario umano.
Google e Facebook impiegano il machine learning per capire meglio i propri utenti e offrire loro più funzioni. DeepFace, il computer di Facebook, è ormai in grado di identificare i volti su un’immagine con il 97 % di precisione. Grazie al suo Google Brain Project, il gigante dei motori di ricerca è riuscito a migliorare notevolmente il riconoscimento vocale del sistema operativo di Android, la ricerca fotografica su Google+ e le raccomandazioni video su YouTube.
Cos’è l’apprendimento automatico?
Essenzialmente le macchine, i computer e i programmi funzionano solamente nel modo in cui è stato per loro precedentemente stabilito: “In caso di A, fai B”. Le nostre aspettative nei confronti dei moderni sistemi di computer sono sempre più elevate; ciononostante i programmatori non sono in grado di prevedere tutti i casi pensabili e di conseguenza insegnare ai computer tutte le rispettive possibili soluzioni. Per questo motivo è indispensabile che il software sia in grado di prendere decisioni in autonomia e di reagire in maniera appropriata a situazioni ignote.
A questo scopo devono però essere presenti degli algoritmi che consentono al programma di apprendere. Ciò significa che il primo passo consiste nel riempire la macchina di dati; successivamente il computer deve capirne la struttura e realizzare un modello così da essere poi in grado di fare delle associazioni.
Quando si parla di sistemi autoapprendenti si pensa anche a termini ad essi imparentati: è importante conoscerli per avere una migliore comprensione di tutto il mondo del machine learning. In seguito forniamo un elenco con le definizioni di quelli più importanti.
Intelligenza artificiale
La ricerca sull’intelligenza artificiale (IA) tenta di creare macchine che siano in grado di agire come un essere umano: i computer e i robot devono analizzare il proprio ambiente e successivamente prendere la decisione migliore. Devono quindi comportarsi in maniera intelligente, secondo i criteri degli esseri umani. E qui sorge il problema della definizione di tali criteri, anche se addirittura non è ancora ben chiaro secondo quali parametri dovremmo valutare la nostra stessa intelligenza. Attualmente l’intelligenza artificiale, o ciò che viene considerata tale, non riesce a simulare un essere umano per intero (inclusa l’intelligenza emotiva). Piuttosto si isolano degli aspetti parziali per riuscire a risolvere determinati compiti. Ciò viene comunemente definita come intelligenza artificiale debole.
Reti neurali
La neuroinformatica lavora alla progettazione di computer basati sul modello del cervello umano. Questa branca della ricerca sull’intelligenza artificiale considera i sistemi nervosi come da un punto di vista astratto, cioè liberi delle loro proprietà biologiche e limitati al loro modo di funzionamento. Le reti neurali artificiali sono principalmente dei procedimenti matematici astratti più che manifestazioni reali. Viene dunque tessuta una rete di neuroni composta da funzioni matematiche o algoritmi e che, come un cervello umano, è in grado di far fronte a compiti complessi. I collegamenti tra i neuroni sono diversamente potenti e hanno l’abilità di adattarsi ai problemi.
Big data
L’espressione “big data” fa semplicemente riferimento a un’enorme quantità di dati. Tuttavia non c’è un punto definito a partire dal quale si smette di parlare di dati e si inizia a parlare di big data. Il fatto che questo fenomeno negli ultimi anni goda di grande risonanza mediatica è dovuto all’origine di questa tipologia di dati: in molti casi il flusso di informazioni è costituito da dati utente (interessi, profili degli spostamenti, dati vitali) rilevati da aziende come Google, Amazon e Facebook per adattarsi più precisamente ai propri utenti. Simili quantità di dati non possono più essere valutate in maniera soddisfacente dai sistemi di computer tradizionali: del resto un software del genere riesce a trovare solamente quello che l’utente cerca. Per questo motivo sono necessari dei sistemi autoapprendenti che sono in grado di scoprire collegamenti ignoti fino a quel momento.
Data mining
Con data mining si definisce l’analisi dei big data. La rilevazione dei meri dati ha di per sé un valore relativo. Tuttavia l’accumulo di informazioni diventa interessante nel momento in cui si estraggono e si valutano le caratteristiche rilevanti, in maniera analoga a come si estrae l’oro. Il data mining si differenzia dall’apprendimento automatico perché si basa sull’applicazione di modelli riconosciuti, invece di trovarne di nuovi.
Diversi metodi di apprendimento automatico
Essenzialmente i ricercatori fanno una distinzione tra supervised learning e unsupervised learning per mezzo di livelli intermedi per gradi. Gli algoritmi utilizzati a questo scopo sono molto diversi tra loro. Nell’apprendimento sorvegliato (supervised learning) il sistema è alimentato con degli esempi. Gli sviluppatori indicano a quale valore associare l’informazione corrispondente, ad esempio se debba appartenere alla categoria A piuttosto che alla B. A partire da ciò il sistema autoapprendente deduce determinate informazioni e traccia un modello che sarà in grado di riconoscere anche in futuro, così riuscirà a maneggiare meglio i dati sconosciuti. Lo scopo principale è di minimizzare sempre più la quota di errori.
Un esempio noto di apprendimento sorvegliato sono i filtri spam: sulla base di determinate caratteristiche il sistema decide se l’e-mail debba finire nella casella di posta in entrata oppure se in quella dello spam. Se il sistema dovesse fare un errore, in seguito è possibile impostare di nuovo manualmente i parametri a cui il filtro dovrà fare riferimento in futuro. In questo modo il software otterrà risultati sempre migliori. Tale programma di filtraggio si basa sul teorema di Bayes per cui porta il nome di “filtro bayesiano”.
Per quanto riguarda l’unsupervised learning, l’apprendimento non sorvegliato, non è più presente la figura dell’insegnante, il quale nell’apprendimento sorvegliato ha il compito di istruire il sistema e di dare un feedback alle decisioni che la macchina ha preso in autonomia. Il programma invece tenta di riconoscere per conto suo i modelli ricorrenti. Per farlo ha ad esempio la possibilità di servirsi del clustering: dalla raccolta di tutti i dati seleziona quindi un elemento le cui caratteristiche sono analizzate e confrontate con quelle già esaminate. Se il programma ha già analizzato elementi simili, allora l’oggetto attuale sarà aggiunto a questi; in caso contrario sarà invece isolato.
I sistemi che si basano sull’apprendimento non sorvegliato sono attuati anche nelle reti neurali. Si trovano degli esempi di applicazione nella sicurezza di rete: un sistema autoapprendente è qui in grado di riconoscere un comportamento anormale. Nonostante non sia ad esempio possibile associare un cyberattacco a un gruppo noto, il programma è comunque in grado di riconoscere la presenza di una minaccia e provvede quindi a lanciare l’allarme.
Oltre a queste due direzioni principali esistono anche l’apprendimento parzialmente sorvegliato (semi-supervised learning), l’apprendimento per rinforzo (reinforcement learning) e l’apprendimento attivo (active learning): questi tre differenti metodi appartengono più all’apprendimento sorvegliato e si distinguono per natura e modalità di coinvolgimento degli utenti.
Va inoltre fatta una distinzione tra il cosiddetto shallow learning e il deep learning. Mentre il primo è un metodo relativamente semplice per cui i risultati sono piuttosto superficiali, per quanto riguarda il secondo si tratta di quantità di dati più difficili da comprendere. La complessità di questi dati è dovuta al fatto che sono informazioni naturali, ovvero quelle che compaiono nel riconoscimento vocale, del linguaggio scritto o del viso. Per gli esseri umani i dati naturali sono facili da elaborare, mentre non lo sono per una macchina, poiché sono difficili da assimilare matematicamente.
Il deep learning e le reti neurali artificiali sono strettamente connessi tra loro. Il modo in cui si allenano le reti neurali, può essere definito come deep learning: deep (in italiano: profondo) perché la rete dei neuroni è organizzata su diversi livelli gerarchici. Il primo livello è costituito da neuroni in entrata che rilevano i dati, iniziano con la loro analisi e inviano i risultati al prossimo nodo neurale. Alla fine le informazioni, di volta in volta sempre più precise, raggiungono il livello di uscita e la rete emette un valore. I livelli, nel complesso molto numerosi, che si trovano tra entrata e uscita, sono chiamati livelli nascosti (hidden layers).
Per spiegare meglio il deep learning si può prendere come esempio la ricerca di immagini di Google. La rete alla base dell’algoritmo di ricerca fornisce alla query “gatti” solo le immagini che raffigurano effettivamente i felini domestici. Questo meccanismo funziona perché il sistema autoapprendente di Google è in grado di riconoscere degli oggetti all’interno dell’immagine. Quando Google registra una nuova immagine nel suo catalogo, i neuroni di entrata del sistema elaborano i dati; del resto secondo i computer le immagini sono composte solamente da numeri.
Durante il percorso attraverso i vari livelli, la rete filtra solamente le informazioni necessarie finché alla fine decide quali sono gli oggetti che si trovano nell’immagine (ad esempio un gatto). Nella fase di allenamento gli sviluppatori forniscono anche una categoria per ogni immagine così che il sistema possa imparare. Se la macchina dovesse fornire esiti falsi, quindi ritenere che immagini con cani siano quelle giuste per la ricerca di “gatti”, gli sviluppatori hanno la possibilità di adattare i singoli neuroni. Proprio come il cervello umano, questi ultimi dispongono di diverse ponderazioni e soglie che possono essere messe a punto in un sistema autoapprendente.
Come funziona l’apprendimento automatico nel marketing?
Oggigiorno l’apprendimento automatico è già di grande utilità per il marketing; al momento sono principalmente le grandi aziende a servirsi di questa tecnologia, prima di tutte Google. I sistemi autoapprendenti sono ancora così nuovi che non si possono ancora semplicemente acquistare come prodotti out of the box. Al loro posto le grandi aziende di Internet sviluppano i propri sistemi e hanno quindi un ruolo pionieristico in questo ambito. Siccome alcune nonostante l’interesse commerciale seguono comunque un approccio open source e collaborano con la ricerca indipendente, i progressi nel campo del machine learning sono sempre più rapidi. Accanto a quello creativo, il marketing ha anche sempre un aspetto analitico: le statistiche sul comportamento degli utenti (comportamento di acquisto, numero di visitatori dei siti web, utilizzo di app, e così via) giocano un ruolo importante nella decisione di determinate misure pubblicitarie. Solitamente vale la regola che più è grande la quantità di dati, più informazioni si possono estrapolare. Per riuscire a elaborare una simile montagna di caratteristiche, si necessitano dei programmi intelligenti. A questo punto intervengono i sistemi autoapprendenti: i programmi istruiti riconoscono i modelli ricorrenti e sono in grado di fare delle previsioni attendibili, al contrario degli esseri umani, i quali sono spesso prevenuti nei confronti dei dati. Solitamente chi analizza i dati parte con delle aspettative che finiscono per essere dei veri e propri pregiudizi, praticamente inevitabili per gli esseri umani, e che sono anche spesso motivo di distorsione dei risultati. Maggiori sono le quantità di dati prese in esame dagli analisti, più forti sono le divergenze nell’interpretazione dei dati. Anche se le stesse macchine intelligenti possono avere dei pregiudizi perché sono state inconsapevolmente istruite dagli stessi esseri umani ad averne, quando si tratta di fatti concreti agiscono con maggiore oggettività rispetto agli esperti in carne e ossa. Si può quindi dire che le macchine forniscono analisi più affidabili. I sistemi autoapprendenti migliorano e semplificano la rappresentazione dei risultati di analisi, come accade nella automated data visualization, una tecnologia in cui il computer sceglie in autonomia la corretta rappresentazione di dati e informazioni. Ciò è particolarmente importante perché consente agli esseri umani di capire quello che la macchina ha scoperto e previsto. Con enormi flussi di dati diventa difficile rappresentare da soli gli esiti delle valutazioni. Per questo motivo anche la visualizzazione deve avvenire tramite calcoli dei computer. Tuttavia il machine learning può anche esercitare un’influenza sulla creazione di contenuti: come accade ad esempio nel design generativo. Anziché progettare lo stesso percorso per tutti gli utenti, composto dai passaggi che il cliente compie per acquistare un prodotto o un servizio, i sistemi dinamici sono in grado di creare esperienze personalizzate grazie all'apprendimento automatico. Nonostante il contenuto visualizzato dall'utente su un sito web sia ancora fornito da copywriter e designer, tocca al sistema il compito di integrare i componenti specifici per l'utente. Nel frattempo i sistemi autoapprendenti vengono utilizzati anche nella progettazione: ad esempio con il Project Dreamcatcher, un innovativo sistema CAD nato dal gruppo di ricerca dell’azienda Autodesk, è possibile fare progettare dei componenti a una macchina. Si può utilizzare il machine learning anche per organizzare meglio i chatbot. Molte aziende impiegano già oggi dei programmi che portano a termine una parte del supporto clienti grazie all’aiuto di un chatbot. Tuttavia in molti casi gli utenti si scocciano in fretta di avere a che fare con dei robot: le capacità dei chatbot attuali sono solitamente molto limitate e le risposte possibili fanno riferimento a un database gestito manualmente. Un chatbot che si basa su un sistema autoapprendente e che ha un buon riconoscimento vocale riesce a trasmettere ai clienti la sensazione di stare veramente comunicando con una persona e quindi anche a passare il test di Turing. Amazon e Netflix dimostrano un’ulteriore vantaggio dell’apprendimento automatico per i marketer: le raccomandazioni. Tra gli importanti fattori di successo di queste grandi aziende si ritrova anche la capacità di prevedere ciò che l’utente desidererà avere. I sistemi autoapprendenti sanno consigliare all’utente altri prodotti indipendentemente dai dati raccolti. Ciò che prima era possibile fare solamente su grande scala (“Ai nostri clienti piace il prodotto A, per cui la maggior parte di loro sarà interessata anche al prodotto B.”), ora è possibile anche su scala più ridotta grazie ai programmi moderni (“Alla cliente X sono piaciuti i prodotti A, B e C, per cui probabilmente sarà interessata anche al prodotto D.”). Riassumendo si può constatare che i sistemi autoapprendenti influenzeranno quattro diversi aspetti del marketing online:
- Quantità
I programmi che funzionano con il machine learning e che sono stati istruiti bene riescono a elaborare enormi quantità di dati e a fare quindi delle previsioni per il futuro. Gli esperti di marketing sono in grado di trarre conclusioni più precise sul successo o l’insuccesso di campagne e misure pubblicitarie. - Velocità
Le analisi necessitano di tempo se fatte manualmente. Tramite i sistemi autoapprendenti la velocità del lavoro aumenta e si può quindi reagire più prontamente alle modifiche. - Automatizzazione
Attraverso l’apprendimento automatico è più facile automatizzare i procedimenti. Siccome i sistemi moderni hanno la capacità di adattarsi autonomamente a nuove circostanze con l’aiuto del machine learning, anche complessi processi di automatizzazione diventano possibili. - Personalizzazione
I software riescono ad assistere innumerevoli clienti. Dato che i sistemi autoapprendenti rilevano ed elaborano dati dal singolo utente, possono occuparsi di questi clienti in maniera esauriente. Consigli personalizzati e customer journey sviluppati appositamente aiutano ad applicare misure di marketing con più efficacia.
Altri campi di applicazione dei sistemi autoapprendenti
Il marketing non è il solo ad aver trovato diversi impieghi per il machine learning: i sistemi autoapprendenti sono efficaci anche in molti altri ambiti della vita umana. In parte questi contribuiscono ulteriormente al progresso di scienza e tecnologia. In alcuni casi vengono semplicemente utilizzati sotto forma di gadget più o meno grandi per semplificare la vita di ogni giorno. I campi di applicazione presentati sono solo alcuni degli esempi possibili, del resto non è da escludere che in un futuro non troppo lontano l’apprendimento automatico sarà presente in tutti gli aspetti della nostra vita.
Scienza
Ciò che vale per il marketing ha un significato ancora più importante nella scienza. L’elaborazione intelligente dei big data alleggerisce notevolmente il lavoro della ricerca empirica. Ad esempio grazie ai sistemi autoapprendenti i fisici delle particelle riescono a rilevare e a elaborare molti più dati e a constatare eventuali anomalie. Ma l’apprendimento automatico può essere di aiuto anche nella medicina: già al giorno d’oggi alcuni medici si servono dell’intelligenza artificiale per fare diagnosi e terapie. Inoltre il machine learning è utile anche per la prognosi di diabete o infarti.
Robotica
Oggigiorno i robot sono ormai onnipresenti soprattutto nelle fabbriche: vengono ad esempio impiegati nelle produzioni di massa per automatizzare passaggi lavorativi sempre uguali. Tuttavia non si tratta di veri e propri sistemi intelligenti, visto che sono programmati solo per eseguire un solo specifico passaggio. Quando i sistemi autoapprendenti vengono utilizzati nella robotica devono essere in grado di risolvere nuovi compiti. Naturalmente questi progressi sono di grande interesse anche per altri settori: dai viaggio nello spazio ai lavori domestici, i robot dotati di intelligenza artificiale possono entrare in azione in numerosi ambiti.
Traffico
Le autovetture autonome sono una grande vetrina per il machine learning. Solo l’apprendimento automatico fa sì che le automobili si muovano in maniera autonoma e sicura nel traffico, invece che solo nei percorsi di prova. Non essendo possibile programmare tutte le situazioni possibili, è indispensabile che i veicoli autonomi facciano riferimento a macchine intelligenti. Ma i sistemi autoapprendenti non si limitano a rivoluzionare i mezzi di trasporto nel traffico: gli algoritmi intelligenti, ad esempio sotto forma di reti neurali artificiali, analizzano il traffico e sviluppano modi più efficienti di gestirlo, come tramite l’accensione intelligente di semafori.
Internet
Già ora il machine learning gioca un ruolo significativo per Internet. Abbiamo accennato ai filtri spam: attraverso un costante apprendimento i filtri si affinano e riescono a riconoscere sempre meglio le e-mail indesiderate così da bandirle dalla casella di posta in entrata in maniera sempre più affidabile. Lo stesso vale anche per il contrasto di virus e malware: grazie alle nuove tecnologie intelligenti i computer sono più protetti da software dannosi. Anche gli algoritmi di ranking dei motori di ricerca, primo fra tutti RankBrain di Google, sono sistemi autoapprendenti. Anche se l’algoritmo non capisce l’inserimento dell’utente (perché finora non è mai stato cercato da nessuno), può dedurre e fare una proposta che potrebbe essere inerente alla richiesta.
Assistenti personali
Anche tra le proprie quattro mura i computer intelligenti diventano sempre più presenti: ecco che le normali case diventano quindi smart homes, case intelligenti. L’azienda Moley Robotics, ad esempio, sviluppa una cucina intelligente dotata di bracci meccanici che preparano i pasti. Anche gli assistenti personali come Google Home e Amazon Echo, grazie ai quali è possibile monitorare impianti e dispositivi presenti nella propria casa, si servono delle tecnologie di machine learning per comprendere al meglio le esigenze dei propri utenti. Ma molte persone non rinunciano al proprio assistente nemmeno quando sono in giro: Siri, Cortana e Google Assistant consentono agli utenti di dare comandi e fare domande ai propri smartphone tramite comando vocale.
Giochi
Sin dall’inizio della ricerca sull’intelligenza artificiale, la capacità delle macchine di giocare è sempre stato un grande stimolo per i ricercatori. I sistemi autoapprendenti sono stati messi alla prova negli scacchi, nella dama e anche nel go, il noto gioco da tavolo cinese tra i più complessi del mondo, sfidati da concorrenti umani. Anche gli sviluppatori di videogiochi ricorrono al machine learning per realizzare progetti più accattivanti. I designer di giochi hanno la possibilità di utilizzare l’apprendimento automatico per creare un un’esperienza di gioco più equilibrata possibile e per fare in modo che gli avversari virtuali si adattino meglio al comportamento dei giocatori umani.