Per anni le persone hanno visto i computer come macchine in grado di eseguire operazioni matematiche a una velocità molto più rapida rispetto agli umani. Inizialmente erano visti come macchine computazionali molto simili a calcolatori glorificati. I primi scienziati pensavano che i computer non avrebbero mai potuto simulare il cervello umano. Quindi, scienziati, ricercatori e (probabilmente soprattutto) autori di fantascienza hanno iniziato a chiedere “o potrebbe farlo?” meno approssimativo. Ad esempio, come scriveremo algoritmi per queste attività:
Una canzone arriva alla radio, la maggior parte degli ascoltatori di musica può identificare rapidamente il genere, forse l’artista e probabilmente la canzone.
Un critico d’arte vede un dipinto che non ha mai visto prima, ma molto probabilmente potrebbe identificare l’era, il mezzo e probabilmente l’artista.
Un bambino può riconoscere il viso di sua madre in tenera età.
La semplice risposta è che non puoi scrivere algoritmi per questi. Gli algoritmi usano la matematica. Gli esseri umani che compiono questi compiti non potrebbero spiegare matematicamente come trassero queste conclusioni. Sono stati in grado di ottenere questi risultati perché hanno imparato a fare queste cose nel tempo. L’intelligenza artificiale e l’apprendimento automatico sono stati progettati per simulare l’apprendimento umano su un computer.
I termini Intelligenza artificiale (AI) e Machine Learning (ML) sono stati usati dagli anni ’50. A quel tempo, era vista come una parte futuristica e teorica dell’informatica. Ora, a causa dell’aumento della capacità di calcolo e dell’ampia ricerca sugli algoritmi, l’IA è ora una realtà praticabile. Tant’è che molti prodotti che utilizziamo ogni giorno hanno alcune variazioni dell’intelligenza artificiale incorporate (Siri, Alexa, filtri facciali Snapchat, filtraggio dei rumori di fondo per telefoni / cuffie, ecc …). Ma cosa significano questi termini?
In parole povere, AI significa programmare una macchina per comportarsi come un essere umano. All’inizio, i ricercatori hanno sviluppato algoritmi per provare ad approssimare l’intuizione umana. Un modo per visualizzare questo codice sarebbe come un’enorme istruzione if / else per determinare la risposta. Ad esempio, ecco alcuni pseudocodici per un chatbot di questa era:
if (input.contains (‘hello’))
response = ‘how are you’
else if (input.contains (‘problem’))
response = ‘come possiamo aiutarti con il tuo problema?’)
…
print (response)
Come puoi immaginare, questo si è rivelato un approccio incredibilmente inefficiente a causa della complessità della mente umana. Le regole sono molto rigide e molto probabilmente diventeranno obsolete quando le circostanze cambiano nel tempo. È qui che è arrivato ML. L’idea qui è che invece di provare a programmare una macchina per agire come un cervello, perché non forniamo solo un mucchio di dati in modo che possa capire da solo il miglior algoritmo?
ML si è rivelata un’idea rivoluzionaria. Al punto che oggigiorno ricercatori e sviluppatori usano i termini AI e ML quasi in modo intercambiabile. Lo vedrai spesso indicato come AI / ML, che è quello che userò per il resto dell’articolo, tuttavia, fai attenzione se incontri un tipo di Dottorato / Scienziato, poiché sicuramente ti correggeranno.
Prima di andare oltre, dobbiamo prendere in considerazione una verità globale per AI / ML. I dati di input sono sempre numerici. Le macchine non possono ascoltare musica, leggere numeri scritti a mano o guardare video. Invece, questi devono essere rappresentati in un formato digitale. Prendi questo numero scritto a mano, ad esempio:
A sinistra è l’aspetto dell’immagine quando viene rappresentata come immagine. A destra è come effettivamente visualizzato internamente dal computer. I numeri vanno da zero (bianco) a uno (nero). La chiave da asporto qui è che tutto ciò che può essere rappresentato numericamente può essere usato per AI / ML, e praticamente tutto può essere rappresentato numericamente.
Il processo di AI / ML è quello di creare un modello, addestrarlo, testarlo, quindi inferire i risultati con nuovi dati. Esistono tre tipi principali di apprendimento in AI / ML. Sono apprendimento supervisionato, apprendimento non supervisionato e apprendimento di rinforzo. Diamo un’occhiata a questi in dettaglio.
Apprendimento supervisionato
In questo caso, disponiamo di dati di input e sappiamo quale sia la “risposta” corretta. Un modo semplice per visualizzare i dati di input è una griglia di righe e colonne. Almeno una delle colonne è l ‘”etichetta”, questo è il valore che stiamo cercando di prevedere. Il resto delle colonne sono le “caratteristiche”, che sono i valori che usiamo per fare la nostra previsione. Il processo consiste nel continuare ad alimentare le funzionalità del nostro modello. Per ogni riga di dati di input, il nostro modello prenderà le funzionalità e genererà una previsione. Dopo ogni round (“epoca”), il modello confronterà le sue previsioni con l’etichetta e determinerà l’accuratezza. Quindi tornerà indietro e aggiornerà i suoi parametri per provare a generare una previsione più accurata per l’epoca successiva. Nell’ambito dell’apprendimento supervisionato, esistono numerosi tipi di modelli e applicazioni (analisi predittiva, riconoscimento delle immagini, riconoscimento vocale, previsione di serie temporali,
Apprendimento senza supervisione
In questo caso, non abbiamo alcuna etichetta, quindi la cosa migliore che possiamo fare è cercare di trovare oggetti simili e raggrupparli in cluster. Pertanto, l’apprendimento non supervisionato viene spesso definito “raggruppamento”. All’inizio, questo potrebbe non sembrare molto utile, ma risulta utile in settori quali:
Segmentazione del cliente: quali tipi di clienti stanno acquistando i nostri prodotti e come possiamo personalizzare il nostro marketing per ogni segmento
Rilevamento di frodi: supponendo che la maggior parte delle transazioni con carta di credito seguano un modello simile, possiamo identificare transazioni che non seguono tale modello e indagare su quelle per frode.
Diagnosi medica – Diversi pazienti possono cadere in diversi cluster in base all’anamnesi della malattia, allo stile di vita, alle letture mediche, ecc. Se un paziente cade da questi cluster, potremmo indagare ulteriormente per potenziali problemi di salute.
Insegnamento rafforzativo
Qui, non esiste una risposta “giusta”. Quello che stiamo cercando di fare è formare un modello in modo che possa reagire in modo da produrre il miglior risultato alla fine. L’apprendimento per rinforzo viene spesso utilizzato nei videogiochi. Ad esempio, potremmo voler addestrare un avversario Pong computerizzato. L’avversario imparerà continuando a giocare a pong e ottenendo rinforzi positivi per cose come segnare e vincere partite, e rinforzi negativi per cose come rinunciare a punti e perdere partite. Un uso molto più significativo dell’apprendimento per rinforzo è nel settore dei veicoli autonomi. Potremmo addestrare un simulatore per guidare per le strade della città e penalizzarlo quando fa qualcosa di sbagliato (incidente, eseguire segnali di stop, ecc …) e premiarlo per risultati positivi (arrivo a destinazione).
Conclusione
Se sei nuovo di AI / ML, si spera, questo articolo ti ha aiutato a ottenere una comprensione di base della terminologia e della scienza alla base. Se sei un esperto in questi settori, forse questo articolo potrebbe essere utile per spiegarlo a potenziali clienti che non ne hanno esperienza.
Rich Folsom