Machine Learning

Che cos’è il machine learning?

Machine LearningQuando si parla di machine learning (in italiano apprendimento automatico), si parla di una particolare branca dell’informatica che può essere considerata una parente stretta dell’intelligenza artificiale. Definire in maniera semplice le caratteristiche e le applicazioni del machine learning non è sempre possibile, visto che questo ramo è molto vasto e prevede differenti modalità, tecniche e strumenti per essere realizzato. Inoltre, le differenti tecniche di apprendimento e sviluppo degli algoritmi danno vita ad altrettante possibilità di utilizzo che allargano il campo di applicazione dell’apprendimento automatico rendendone difficile una definizione specifica. Si può tuttavia dire che quando si parla di machine learning si parla di differenti meccanismi che permettono a una macchina intelligente di migliorare le proprie capacità e prestazioni nel tempo. La macchina, quindi, sarà in grado di imparare a svolgere determinati compiti migliorando, tramite l’esperienza, le proprie capacità, le proprie risposte e funzioni. Alla base dell’apprendimento automatico ci sono una serie di differenti algoritmi che, partendo da nozioni primitive, sapranno prendere una specifica decisione piuttosto che un’altra o effettuare azioni apprese nel tempo.

Un po’ di storia

Alan Turing

Anche se oggi parlare di apprendimento automatico, di intelligenza artificiale, di computer e macchine intelligenti sembra quasi la normalità, per arrivare ai risultati odierni la strada è stata molto complessa, perché divisa tra sperimentazioni e scetticismo. Le prime sperimentazioni per la realizzazione di macchine intelligenti risalgono agli inizi degli anni Cinquanta del Novecento, quando alcuni matematici e statistici iniziarono a pensare di utilizzare i metodi probabilistici per realizzare macchine che potessero prendere decisioni proprio tenendo conto delle probabilità di accadimento di un evento. Il primo grande nome legato al machine learning è sicuramente quello di Alan Turing, che ipotizzò la necessità di realizzare algoritmi specifici per realizzare macchine in grado di apprendere. In quegli stessi anni, anche gli studi sull’intelligenza artificiale, sui sistemi esperti e sulle reti neurali vedevano momenti di grossa crescita alternati da periodi di abbandono, causati soprattutto dalle molte difficoltà riscontrate nelle possibilità di realizzazione dei diversi sistemi intelligenti, nella mancanza di sussidi economici e dallo scetticismo che circondava spesso chi provava a lavorarci. A partire dagli anni Ottanta, una serie di interessanti risultati ha portato alla rinascita di questo settore della ricerca: una rinascita che è stata resa possibile da nuovi investimenti nel settore. Alla fine degli anni Novanta l’apprendimento automatico trova nuova linfa vitale in una serie di innovative tecniche legate ad elementi statistici e probabilistici: si trattava di un importante passo che permise quello sviluppo che ha portato oggi l’apprendimento automatico ad essere un ramo della ricerca riconosciuto e altamente richiesto.

I diversi apprendimenti di una macchina

La strada per realizzare macchine intelligenti è stata lunga, ma ha portato, oggi, ad avere differenti modalità di apprendimento, tutte efficaci, che differiscono non solo per gli algoritmi utilizzati, ma soprattutto per lo scopo per cui sono realizzate le macchine stesse.
A seconda del tipo di algoritmo utilizzato per permettere l’apprendimento alla macchina, ossia a seconda delle modalità con cui la macchina impara ed accumula dati e informazioni, si possono suddividere tre differenti sistemi di apprendimento automatico: supervisionato, non supervisionato e per rinforzo.
I tre modelli di apprendimento sono utilizzati in maniera differente a seconda della macchina su cui si deve operare, garantendo così sempre la massima performance e il migliore risultato possibile per la risposta agli stimoli esterni.

L’apprendimento supervisionato consiste nel fornire al sistema informatico della macchina una serie di nozioni specifiche e codificate, ossia di modelli ed esempi che permettono di costruire un vero e proprio database di informazioni e di esperienze. In questo modo, quando la macchina si trova di fronte ad un problema, non dovrà fare altro che attingere alle esperienze inserite nel proprio sistema, analizzarle, e decidere quale risposta dare sulla base di esperienze già codificate. Questo tipo di apprendimento è, in qualche modo, fornito già confezionato e la macchina deve essere solo in grado di scegliere quale sia la migliore risposta allo stimolo che le viene dato.
Gli algoritmi che fanno uso di apprendimento supervisionato vengono utilizzati in molti settori, da quello medico a quello di identificazione vocale: essi, infatti, hanno la capacità di effettuare ipotesi induttive, ossia ipotesi che possono essere ottenute scansionando una serie di problemi specifici per ottenere una soluzione idonea ad un problema di tipo generale.

Apprendimento automaticoL’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. Dovrà essere la macchina stessa, quindi, a catalogare tutte le informazioni in proprio possesso, organizzarle ed imparare il loro significato, il loro utilizzo e, soprattutto, il risultato a cui esse portano. 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 differenti situazioni che si presentano.

L’apprendimento per rinforzo rappresenta probabilmente il sistema di apprendimento più complesso, che 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. In questo caso, quindi, alla macchina vengono forniti una serie di elementi di supporto, quali sensori, telecamere, GPS eccetera, che permettono di rilevare quanto avviene nell’ambiente circostante ed effettuare scelte per un migliore adattamento all’ambiente intorno a loro. Questo tipo di apprendimento è tipico delle auto senza pilota, che grazie a un complesso sistema di sensori di supporto è in grado di percorrere strade cittadine e non, riconoscendo eventuali ostacoli, seguendo le indicazioni stradali e molto altro.

Utilizzo dell’apprendimento automatico nella vita quotidiana

Quando si parla di machine learning, spesso si pensa solo ad applicazioni in campi super-specifici, in settori di ricerca della scienza e della medicina, dell’ingegneria spaziale o di altri rami non comunemente compresi dalle persone comuni. Si tratta di un errore molto comune visto che l’apprendimento automatico presenta, invece, moltissime applicazioni di uso quotidiano. Naturalmente, per quotidiano si intende comunque un utilizzo legato alla tecnologia: un’applicazione classica di machine learning, ad esempio, è 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, ad esempio, è quello che permette alle aziende di realizzare pubblicità traccianti. Questo significa che, a seconda dell’utente di internet, vengono effettuate proposte pubblicitarie strettamente collegate agli interessi dell’utente stesso, le cui necessità e gusti vengono riconosciuti tramite l’analisi delle ricerche maggiormente effettuate in rete.

Auto senza pilotaTra gli esperimenti maggiormente di successo di apprendimento artificiale, ma tuttavia ancora in fase sperimentale e non in commercio vi sono i veicoli senza pilota. Molte case automobilistiche hanno realizzato prototipi di auto in grado di guidare anche a velocità mediamente 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, che permette di prendere decisioni su eventuali frenate, sterzate e sulle differenti modalità di guida a seconda dei contesti in cui si trova l’auto.
Infine, per quanti amano il gioco, va sottolineato che sistemi di machine learning vengono regolarmente testati e rilasciati per realizzare partite di grande complessità in giochi specifici, in particolare scacchi e backgammon.

Dall’apprendimento automatico al data mining: i limiti tra settori della ricerca

Machine learning - ApprendimentoUna delle principali caratteristiche del machine learning è la sua stretta correlazione con altri rami dell’informatica, della statistica, dell’ottimizzazione e di molti altri settori delle moderne scienze intelligenti. Spesso diventa difficile comprendere il reale limite tra gli utilizzi dei diversi mezzi matematici, informatici, statistici e altri che vengono utilizzati per realizzare macchine intelligenti. Incursioni nei diversi campi e settori, infatti, sono molto comuni e anche fondamentali per poter realizzare strutture in grado di risolvere i più differenti problemi che permettono ad una macchina di apprendere secondo le tre differenti modalità tipiche dell’apprendimento intelligente.
Ad esempio, quando si parla di data mining, si parla sempre di una forma di apprendimento, ma limitata al solo apprendimento non supervisionato. Il data mining, infatti, punta all’estrazione di informazioni e dati per il miglioramento delle conoscenze della macchina. Molto spesso, anche se l’utilizzo di tecniche può essere simile, quello che differenzia i rami legati all’apprendimento automatico, all’intelligenza artificiale, al data mining e ad altri sistemi intelligenti, è lo scopo per il quale tali sistemi sono stati realizzati. Se, infatti, l’apprendimento non supervisionato è parte integrante sia del machine learning che del data mining, cose rende differenti questi due rami della ricerca? Fondamentalmente la differenza principale è proprio nello scopo: il data mining punta esclusivamente a far migliorare la macchina tramite conoscenze sempre nuove mentre il machine learning ha come scopo quello di un apprendimento sempre più profondo, che prende in considerazione non solo la possibilità di nuove conoscenze, ma anche quella di riproduzione delle conoscenze effettuate, con lo scopo di un miglioramento sempre più avanzato della macchina per utilizzi sempre più specifici.
Similmente, anche con altri rami della ricerca del machine learning si possono avere accavallamenti e sovrapposizioni di metodologie e risultati. Tra questi, ad esempio, vi è l’ottimizzazione, ossia il miglioramento dell’efficienza del sistema che permette di ottenere risultati in maniera più rapida e meno dispersiva. Anche in questo caso, spesso i limiti tra i due settori sono labili, e sono soprattutto definiti dall’obiettivo che caratterizza i due rami.

L’evoluzione futura del machine learning

Futuro delle Machine LearningSe negli ultimi anni la ricerca ha fatto passi da gigante per quanto riguarda le forme di apprendimento intelligente, è anche vero che ancora molto deve essere fatto per poter perfezionare una serie di elementi, di algoritmi e strutture tecniche. Le possibilità di sviluppo futuro di questo ramo sono ancora molte, soprattutto sono legate a diversi settori di applicazione, non solo scientifici e legati alla ricerca, ma anche di uso comune. Se la domotica ha già fatto uso di alcuni dei più semplici sistemi di apprendimento automatico, va specificato che molti altri settori potranno avvantaggiarsi dall’uso di macchine in grado di effettuare scelte intelligenti. Probabilmente, l’unico fattore limitante al pieno utilizzo di strumenti in grado di imparare da soli è il timore dell’uomo che le macchine possano diventare troppo intelligenti, togliendogli facoltà di scelta e libertà. Un timore che, come afferma il professore Pedro Domingos dell’Università di Washington, esperto di machine learning e data mining non esiste visto che “la gente ha paura che i computer diventino troppo intelligenti e dominino il mondo, ma il vero problema è che pur essendo ancora troppo stupidi lo hanno già conquistato”.