La guida non tecnica all'apprendimento automatico

Ti ritrovi ad un altro incontro di avvio, appoggiato al bancone e sorseggiando il tuo drink. Stasera è la notte, pensi a te stesso. Stasera, ho fatto un po 'di rete.

E poi lo senti. Un frammento di conversazione ti galleggia nelle orecchie:

"... sono sicuramente le startup di machine learning da guardare."

No…

"Non usano comunque la PNL statistica? Le reti neurali ricorrenti sembrano la via da seguire ... "

Non di nuovo…

E come un virus, si diffonde. Guardi con orrore come, in pochi minuti, tutti al bar parlano di apprendimento automatico.

Hai sentito il termine prima, ovviamente. Chi non l'ha fatto? L'apprendimento automatico è la strada da percorrere, il futuro dell'intelligenza artificiale. Ovviamente è.

Il problema è che non hai una dannata idea di cosa significhi.

Abbassi il tuo drink. Sarà una lunga notte.

La fine del mondo

Innanzitutto, sentiamo che i robot di machine learning stanno accettando i nostri lavori.

Quindi, scopriamo che neanche i lavori con colletti bianchi sono sicuri.

Rassegnati al nostro futuro senza lavoro, scopriamo che i robot stanno parlando alle nostre spalle.

Pettegolare su noi pigri disoccupati umani, probabilmente.

Si parla di machine learning in così tanti contesti diversi che può essere difficile capire esattamente di cosa si tratta. Lo guardi e ottieni spiegazioni teoriche astratte, parole Scrabble ad alta potenza e un muro di matematica e codice.

Vuoi solo sapere cos'è esattamente l'apprendimento automatico, perché è un grosso problema e forse un po 'su come funziona. Onestamente, vuoi solo dare un senso a tutte le parole d'ordine che vengono lanciate in giro, come parolacce in un'aula della scuola media: tutti le stanno usando, ma hai la sensazione che nessun altro sappia cosa significhino.

Immergiamoci

Quindi, l'apprendimento automatico. È come ... AI?

Questo è un buon punto di partenza. Sappiamo tutti cosa significa intelligenza artificiale. Voglio dire, stiamo tutti pensando a cose diverse, ma sicuramente è il pensiero che conta.

L'intelligenza artificiale (AI) è lo studio di sistemi di costruzione che possono prendere decisioni "intelligenti".

In sostanza, se un computer fa qualcosa che sembra in qualche modo intelligente, lo etichettiamo come intelligenza artificiale.

Facciamo un esempio che potresti aver trovato. I giochi per computer spesso presentano personaggi nemici che sembrano intelligenti. Ci seguono e agiscono in modi che rendono il gioco una sfida. Questo è un esempio di AI.

Lo sviluppatore del gioco ha raggiunto questo obiettivo dando all'AI un insieme di regole. Segui il giocatore. Se il giocatore sta sparando, trova una copertura. Se il giocatore smette di sparare, prova a sparare al giocatore. Più di queste regole ci sono, più il gioco sembra intelligente.

Il fatto è che un gioco per computer è di solito piuttosto limitato. Il giocatore può eseguire solo alcune azioni specifiche e il livello è stato interamente progettato dallo sviluppatore. Quindi, gli sviluppatori possono escogitare regole per grandi personaggi di intelligenza artificiale che sembrano davvero intelligenti.

Beh, abbastanza intelligente.

Non tutti i problemi possono essere risolti con le regole

Supponiamo che vogliamo che un computer rilevi se questa è la foto di un cane.

Come potremmo persino iniziare a definire le regole per questa attività?

No davvero. Prova a pensare al tipo di regole di cui abbiamo bisogno.

I cani hanno quattro zampe?

I cani sono di colore bianco?

I cani hanno la pelliccia?

Questo sa già

I problemi di visione artificiale, come il riconoscimento di un oggetto, sono davvero complessi. Ma il nostro cervello li risolve in modo quasi intuitivo. Quindi, è davvero difficile per noi elaborare regole esplicite.

Inserisci l'apprendimento automatico

Non costruiamo un sistema che riconosca i cani. Costruiamo un sistema che può imparare a riconoscere i cani.

Le forniamo migliaia di immagini, alcune contenenti cani e altre no. Il sistema apprende le regole che definiscono l'immagine di un cane.

L'apprendimento automatico è lo studio di sistemi di costruzione che possono imparare a prendere decisioni intelligenti.

La parola chiave "imparare" è ciò che distingue l'apprendimento automatico da altri tipi di intelligenza artificiale.

“Hai detto che la macchina può imparare le regole. Quindi, chiaramente, le regole esistono. Non ci stiamo sforzando abbastanza per trovarli ".

Hai assolutamente ragione. Se ci provassimo abbastanza, probabilmente potremmo sviluppare un capolavoro di rilevazione del cane basato su regole. Avrebbe migliaia di regole che coprono ogni possibile scenario e sarebbe una cosa di bellezza.

E se ora desideriamo che il sistema rilevi immagini contenenti alimenti? Bene, buttiamo via tutto e ricominciamo da zero. Nessuna di queste regole si applicherebbe.

Un sistema che può imparare a riconoscere gli oggetti può essere addestrato per riconoscere il cibo semplicemente usando le immagini del cibo invece dei cani.

Questo è il potere dell'apprendimento automatico. Invece di un insieme fisso di regole, abbiamo una macchina flessibile che può imparare e adattarsi.

Mantenerlo reale

Ora, ho fatto sembrare totalmente che abbiamo costruito un essere vivente, imparando e gli abbiamo insegnato a riconoscere i cani lasciandolo giocare con i cuccioli. Quindi gli insegniamo il significato della carineria e il significato dell'amore, e speriamo che lo convinciamo a non sollevarci e ucciderci tutti. Destra?

La realtà è molto meno complicata. Vogliamo che la macchina impari a prendere decisioni, di solito basate su previsioni. Quindi cominciamo chiedendo questo: in che modo gli umani fanno previsioni?

Ecco un esempio di come facciamo previsioni. Avresti anche potuto fare qualcosa del genere durante le lezioni di Scienze alle medie.

Di 'che conduci un esperimento. Raccogli dati e li traccia su un grafico.

Esperimento → Dati → Traccia

L'asse x è il valore che hai modificato e l'asse y è il risultato che hai misurato. Quindi tracciare una linea di tendenza (o linea più adatta) sul grafico.

Questa è la linea che modella meglio i dati.

Ora che hai questa linea, puoi fare previsioni. Puoi scegliere un peso che non hai mai misurato prima, cercarlo sull'asse xe leggere l'asse y per prevedere quale sarà la lunghezza della molla.

Hai usato i dati, creato un modello e usato per fare una previsione.

Se hai scritto un programma in grado di eseguire questi passaggi, congratulazioni: è l'apprendimento automatico.

No davvero. Trovare il modello lineare e usarlo per fare previsioni: questa è totalmente una tecnica di apprendimento automatico, chiamata regressione lineare.

Non potremmo semplicemente programmare il modello nel sistema? Il sistema potrebbe quindi fare previsioni su questa primavera. Ma non è possibile fare previsioni su altre fonti senza che noi scriviamo un nuovo codice.

Se invece insegniamo al programma come eseguire la regressione lineare stessa e apprendere il modello, questo è l'apprendimento automatico.

Non forniamo il modello. Lasciamo che la macchina apprenda il modello.

Hocus Pocus

Se c'è una cosa che toglie da questo esempio, è questa:

L'apprendimento automatico non è magico.

Non stiamo costruendo un essere autocosciente che può imparare tutto. Il programma del modello primaverile non imparerà mai a riconoscere i cani.

Anche tu, Slinky.

Abbiamo creato un sistema in grado di apprendere un particolare tipo di modello. Tutto ciò che abbiamo lasciato fuori è quello che è il modello.

Quasi ogni sistema di apprendimento automatico esegue una versione di quanto segue:

Il sistema ci fornisce un output basato sul modello. Valuta quell'output per determinare quanto è stato male. Quindi aggiorna il modello per migliorare leggermente gli output futuri.

L'apprendimento automatico è l'arte di costruire un sistema in grado di eseguire questo ciclo per un problema specifico.

L'output può essere molto diverso a seconda del problema. Potrebbe essere una risposta testuale da un chatbot. Oppure potrebbe essere una decisione se premere o meno i freni in un'auto a guida autonoma.

Il modello attuale potrebbe essere lineare come nel nostro problema di primavera. Potrebbe essere un modello più complesso basato su statistiche e probabilità. Oppure, potrebbe essere una rete neurale, progettata per emulare il modo in cui funziona il cervello umano:

Qualunque siano i dettagli, quasi tutti i sistemi di apprendimento automatico eseguono questo ciclo. Ad ogni ciclo, il sistema migliora leggermente. Dopo migliaia o addirittura milioni di cicli, possiamo ottenere sistemi che hanno imparato a svolgere meglio in quel compito di qualsiasi essere umano.

La grande varietà di applicazioni e le tecniche necessarie per risolverle è il motivo per cui l'apprendimento automatico si interseca con così tanti altri campi. È anche il motivo per cui l'apprendimento automatico è un argomento così eccitante in questo momento.

Eccoci

Costruire un sistema di apprendimento automatico può essere complicato, ma non è necessario comprendere l'apprendimento automatico.

Quindi, vai a conquistare quell'incontro di avvio. Butta fuori alcune di quelle nuove parole d'ordine ritrovate. Rete il diavolo da quella stanza. Devi solo farlo per qualche altro anno, davvero. A quel punto, sono sicuro che avremo robot che possono farlo anche per te.

Se lo hai trovato interessante, dai un'occhiata alla mia guida di 1 minuto alle reti neurali!

Iscriviti per essere informato sul mio prossimo articolo:

Questa storia è pubblicata in The Startup, dove 260.100 persone si uniscono per leggere le principali storie di Medium sull'imprenditoria.

Iscriviti per ricevere le nostre storie migliori qui.