Machine Learning: l’apprendimento automatico delle macchine

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Il Machine Learning, letteralmente “apprendimento automatico”, è una branca dell’informatica da tempo considerata un sotto campo dell’Intelligenza Artificiale.

Questa disciplina raggruppa al suo interno l’insieme di tutti i metodi e teorie sviluppate negli ultimi decenni grazie alle ricerche e ai dati ottenuti presso le varie comunità scientifiche.

Sono diversi gli ambiti coinvolti, per citarne alcuni: la statistica computazionale, le reti neurali artificiali, il filtraggio adattivo, la teoria dei sistemi dinamici, l’elaborazione delle immagini e il data mining.

Detto in altre parole, il Machine Learning tratta dei differenti meccanismi che consentono ad una macchina intelligente di migliorare le proprie capacità e prestazioni nel tempo.

La macchina dotata di apprendimento automatico sarà quindi in grado di imparare a svolgere determinati compiti migliorando, tramite l’esperienza, le proprie capacità, le proprie risposte, la propria efficienza e le proprie funzioni.

Alla base dell’apprendimento automatico sono presenti una serie di algoritmi che partendo da alcune informazioni elementari (o nozioni primitive) hanno modo di regolare risposte e comportamenti in relazione alla situazione in cui si trovano o al problema che devono affrontare.

Machine Learning

Storia del Machine Learning

Le prime sperimentazioni per la realizzazione di macchine intelligenti risalgono agli inizi degli anni 50 del Novecento, ovvero quando alcuni matematici e statistici iniziarono ad utilizzare i metodi probabilistici per realizzare macchine che potessero prendere decisioni proprio tenendo conto delle probabilità di un evento.

Il primo grande nome legato al Machine Learning è sicuramente quello di Alan Turing, il quale, intuendo la necessità di realizzare algoritmi specifici per realizzare macchine in grado di apprendere, contribuì in modo significativo allo sviluppo dei primi computer e appunto dell’apprendimento automatico.

In quegli stessi anni, anche gli studi sull’Intelligenza Artificiale, sui sistemi esperti e sulle reti neurali registrarono importanti progressi, alternati tuttavia a periodi di abbandono, causati soprattutto dalle molte difficoltà riscontrate nelle possibilità di realizzazione dei diversi sistemi intelligenti, nella mancanza di finanziamenti e dal diffuso scetticismo.

Gli anni 80 sono considerati un periodo d’oro per lo sviluppo e la ricerca in ambito tecnologico – scientifico, i finanziamenti per la ricerca furono via via aumentati, e si ottennero nuovi importanti risultati sia per quanto riguarda lo sviluppo delle intelligenze artificiali, sia per quanto concerne gli altri settori e discipline di studio.

Alla fine degli anni 90, una serie di innovative tecniche legate ad elementi statistici e probabilistici contribuì allo sviluppo dell’apprendimento automatico, rendendolo di fatto un ramo della ricerca sempre più conosciuto e altamente richiesto.

Credo sia poi da riportare il fatto che l’apprendimento automatico, sempre nel corso degli anni 90, ha beneficiato dalla nascita di Internet, che ha reso l’informazione digitale più facilmente reperibile e distribuibile.

Machine Learning
Machine Learning e relazioni interpersonali

Forme di apprendimento delle macchine

Ad oggi, la strada per la realizzazione di macchine intelligenti ha portato allo sviluppo di molteplici modalità di apprendimento, tutte efficaci, che differiscono non solo per gli algoritmi utilizzati, ma soprattutto per lo scopo a cui sono finalizzate le macchine stesse.

A seconda del tipo di algoritmo impiegato per consentire l’apprendimento alla macchina, ossia a seconda delle modalità con cui la macchina impara ed accumula dati e informazioni, possiamo suddividere le modalità di apprendimento delle macchine in 3 differenti sistemi di Machine Learning: “supervisionato“, “non supervisionato” e “per rinforzo“.

I 3 modelli di apprendimento sono utilizzati in modo differente a seconda della macchina su cui si deve operare, cercando per quanto possibile di garantire la massima prestazione e il miglior risultato possibile di risposta agli stimoli esterni.

Apprendimento automatico supervisionato

L’apprendimento supervisionato consiste nel fornire al sistema informatico della macchina una serie di nozioni specifiche e codificate, ossia di modelli ed esempi che consentono alla macchina di costruire un vero e proprio database di informazioni ed esperienze.

L’apprendimento supervisionato generalmente inizia con una serie stabilita di dati e una certa comprensione di come i dati siano classificati. Questo tipo di apprendimento è finalizzato a trovare modelli nei dati che possono essere applicati a un processo di analytics. Questi dati hanno funzioni etichettate che definiscono il significato dei dati stessi. con l’apprendimento automatico supervisionato è possibile creare un’applicazione di Machine Learning in grado di distinguere milioni di animali sulla base di immagini e descrizioni scritte.

Gli algoritmi coinvolti nell’apprendimento supervisionato vengono utilizzati in numerosi settori, da quello medico a quello di identificazione vocale: essi hanno infatti la capacità di effettuare ipotesi induttive, ovvero ipotesi che possono essere ottenute scansionando una serie di problemi specifici per ottenere una soluzione idonea ad un problema di tipo generale.

Apprendimento automatico non supervisionato

L’apprendimento non supervisionato (o senza supervisione) prevede invece che le informazioni inserite all’interno della macchina non siano codificate, ossia la macchina ha la possibilità di attingere a determinate informazioni senza avere alcun esempio del loro utilizzo e, quindi, senza avere conoscenza dei risultati attesi a seconda della scelta effettuata.

Sarà la macchina stessa a catalogare tutte le informazioni in proprio possesso, e dovrà essere in grado di organizzarle e di apprenderne il significato, le possibili applicazioni, e soprattutto il risultato a cui esse portano.

In linea generale, l’apprendimento automatico non supervisionato viene utilizzato quando il problema richiede una quantità enorme di dati non etichettati.

Gli esempi più famosi tra le applicazioni di social media sono Twitter, Instagram e Snapchat, questi social dispongono infatti di grandi quantità di dati non etichettati.

Comprendere il significato dietro a questi dati richiede algoritmi che classifichino i dati in base ai modelli o ai cluster rilevati. L’apprendimento senza supervisione conduce un processo iterativo, analizzando i dati senza intervento umano. Viene utilizzato ad esempio con la tecnologia di rilevamento di spam nelle email.

L’apprendimento senza supervisione offre maggiore libertà di scelta alla macchina che dovrà organizzare le informazioni in maniera intelligente e imparare quali sono i risultati migliori per le situazioni che si presentano.

Apprendimento automatico per rinforzo

L’apprendimento automatico per rinforzo rappresenta il sistema di apprendimento più complesso, in quanto prevede che la macchina sia dotata di sistemi e strumenti in grado di migliorare il proprio apprendimento e, soprattutto, di comprendere le caratteristiche dell’ambiente circostante.

L’apprendimento per rinforzo è un modello di apprendimento considerato “comportamentale”.

L’algoritmo riceve un feedback dall’analisi dei dati, guidando l’utente al miglior risultato. L’apprendimento per rinforzo differisce dagli altri tipi di apprendimento supervisionato, perché il sistema non è addestrato con il dataset di esempio.

Possiamo quindi concludere che il sistema impara attraverso la prova e l’errore. Quindi, una sequenza di decisioni di successo determinerà il rafforzamento del processo, perché riesce subito a risolvere il problema al meglio.

Questo tipo di apprendimento è tipico delle auto a guida autonoma, che tramite un complesso sistema di sensori di supporto sono in grado di percorrere strade cittadine e non, riconoscendo eventuali ostacoli e seguendo le indicazioni stradali.

Statistica e Machine Learning

L’apprendimento automatico e la statistica sono discipline strettamente collegate. Secondo Michael I. Jordan, scienziato americano e professore preso l’Università della California, le idee alla base dell’apprendimento automatico, dai principi metodologici agli strumenti teorici, sono state sviluppate prima in statistica.

Jordan ha anche suggerito il termine “data science” come nome con cui chiamare campo di studi.

Successivamente, Leo Breiman, statistico dell’Università della California, ha distinto 2 paradigmi statistici di modellazione: modello basato sui dati e modello basato sugli algoritmi, dove “modello basato sugli algoritmi” indica approssimativamente il complesso di algoritmi di apprendimento automatico come ad esempio la “foresta casuale”.

Ottimizzazione e Machine Learning

Oltre che alla statistica, l’apprendimento automatico è anche legato all’ottimizzazione: molti problemi di apprendimento sono formulati attraverso la minimizzazione di una qualche funzione di costo su un insieme di esempi di apprendimento.

Un concetto apparentemente difficile, ma cerchiamo ora di chiarire: la minimizzazione è semplicemente la presentazione riduttiva di un fatto, di cui si cerca di limitarne l’importanza o la gravità, la funzione di costo (o funzione di perdita) rappresenta invece la discrepanza tra le previsioni del modello che si sta addestrando e le richieste del problema reale.

Le differenze tra i 2 campi (l’apprendimento automatico e l’ottimizzazione) hanno origine dall’obiettivo della generalizzazione: mentre gli algoritmi di ottimizzazione devono minimizzare la perdita su un insieme di apprendimento, l’apprendimento automatico si preoccupa di minimizzare la perdita su campioni mai visti dalla macchina.

L’apprendimento automatico nella vita di tutti i giorni

Il senso comune spesso ci suggerisce che termini come ad esempio “Intelligenza Artificiale” o in questo caso “Machine Learning”, siano campi specifici in settori di ricerca della scienza e della medicina, dell’ingegneria spaziale o di altri rami ancora.

L’apprendimento automatico presenta, invece, moltissime applicazioni anche di uso quotidiano.

Per fare un esempio, un’applicazione classica di machine learning è quella del riconoscimento vocale di cui sono dotati molti smartphone e che permettono di attivare comandi tramite la propria voce. Ancora, molto comuni sono gli strumenti intelligenti che fanno uso di riconoscimento vocale per le diverse applicazioni di domotica, e che imparano nuovi vocaboli o modi di dire seguendo i comandi vocali che vengono impartiti.

Un altro utilizzo dell’apprendimento automatico legato al comune utilizzo dei computer e della rete, è relativo all’impiego che quest’ultimo trova tra i grandi inserzionisti, l’apprendimento automatico infatti permette alle aziende di realizzare inserzioni pubblicitarie sempre più ottimizzate e performanti attraverso il tracciamento e la raccolta dati di inserzioni già pubblicate.

Ormai tutti sappiamo che a seconda dell’utente di internet, vengono effettuate proposte pubblicitarie strettamente collegate agli interessi dell’utente stesso; le sue necessità e i suoi gusti vengono riconosciuti tramite l’analisi delle ricerche maggiormente effettuate in rete.

Veicoli a guida autonoma

Tra gli esperimenti di grande successo ci sono i veicoli a guida autonoma.

Molte case automobilistiche ( come ad esempio Tesla e NIO ) hanno realizzato prototipi di auto in grado di guidare anche a velocità sostenuta su strade trafficate: queste auto fanno uso di un gran numero di sensori, telecamere, sistemi di localizzazione e molto altro che permettono di realizzare un sistema di apprendimento per rinforzo, sempre più specifico e raffinato, e che col passare del tempo e quindi dell’utilizzo, consente di prendere decisioni su eventuali frenate, sterzate e sulle differenti modalità di guida a seconda delle condizioni della strada e delle situazioni in cui si trova l’auto stessa.

Infine va sottolineato che sistemi di Machine Learning vengono regolarmente testati e rilasciati per realizzare partite di grande complessità in giochi come gli scacchi e il backgammon.

Machine Learning - Tesla Model S - Veicoli a guida autonoma
Tesla Model S – Veicoli a guida autonoma

Futuro dell’apprendimento automatico

Negli ultimi anni la ricerca ha fatto passi da gigante per quanto riguarda le forme di apprendimento intelligente, ma come in tutti i settori tecnologici, l’innovazione mai si arresta e infatti anche in questo caso, l’ottimizzazione di alcuni elementi, di determinati algoritmi e di strutture tecniche, permetterà alle macchine un apprendimento sempre più efficace e preciso.

Le possibilità di sviluppo futuro sono pressappoco infinite, ma sono perlopiù collegate a diversi settori di applicazione, non solo scientifici o riguardanti la ricerca, ma anche di uso comune, come la domotica, l’Internet delle cose, le applicazioni che ogni giorno utilizziamo e i servizi online di cui usufruiamo.

Articoli correlati:

Intelligenza Artificiale: cos’è e come funziona

Potrebbero interessarti:

Storia della Robotica: origini e sviluppi

Le 3 leggi della Robotica

La quarta generazione di intelligenza artificiale

Fonte: Data science e machine learning – ibm.com

Lascia un commento