KULT Underground

una della più "antiche" e-zine italiane – attiva dal 1994

Cose che un computer apprende (quasi) da solo – per curiosi senza conoscenze nel settore (1)

4 min read

Ok, il titolo poteva anche essere Machine Learning for Dummies ma il taglio che vorrei dare a questa sequenza di brevi articoli è ancora più divulgativo – anche a costo di rinunciare un po’ alla precisione – e vorrei, nel limite, ridurre al minimo anche l’uso di termini tecnici o settoriali.

Quindi, se dell’argomento avete già letto altro e l’avete capito, questo non è il posto giusto per voi.

Se invece siete solo curiosi di capire come funzionano un po’ di cose dietro a quanto chiamano “intelligenza artificiale” (AI per gli amici), raccontate in modo estremamente semplice, forse questi articoli potrebbero interessarvi.

Vi anticipo che parleremo di cose abbastanza diverse, passando da come funzionano semplici giochi a come interpretare, a vari livelli, il linguaggio, ma che nulla di quello che dirò vi servirà in pratica. Questo, per intenderci, non è un corso di programmazione. Anzi, mi aspetto che una buona parte di voi non abbia neanche un’idea precisa di cosa sia o a che cosa serva un corso di programmazione. Siete qui per imparare qualcosa da usare per due chiacchiere con gli amici (o i figli, o i genitori), utile quanto un aneddoto sulla vita dei contadini della Mesopotania.

Ci siete ancora?

Ok, ottimo. Allora partiamo con qualche premessa:

  • per quello che ci interessa, computer e cellulari sono la stessa cosa. 
  • app o programmi sono la stessa cosa. I programmi sono strumenti.
  • qualcuno fa programmi con cui interagite (uno screensaver, per darvi un idea banale), altri fanno programmi con cui fate cose precise (questi sono la maggior parte, ma un esempio chiaro è per dire una calcolatrice ma anche whatsapp è uno di questi). 
  • ci sono poi programmi con cui fate più cose, e che vi permettono di farne altre (Excel, per esempio, dove inserite i vostri numeri, e dove, se siete in grado, usate formule per ottenere grafici o dati derivati)
  • altri programmi servono per fare altri programmi (ovvero che hanno proprio lo scopo di farvi fare altre cose, vostre, usandoli) questo magari vi è meno comune. Ma fanno parte di questa categoria ad esempio i motori per fare videogiochi (se avete figli in età scolare, magari avete sentito parlare di Scratch), o alcuni sistemi per controllare gli apparecchi della vostra casa, che vi permettono di impostare condizioni ed eventi per creare caratteristiche non già previste inizialmente, ottenute combinando tanti piccoli pezzetti già presenti.

Tutte queste cose le ha fatte qualcuno (uno o più programmatori) che ha DETTO al computer cosa fare e come. Non importa come hanno fatto, ma si sono messi lì e hanno definito ogni aspetto dell’app che usate, spiegando al computer in che modo gestire tutto.

Si parla di “computer che apprende (quasi) da solo” quando uno o più di programmatori fanno invece un “programma che serve per fare programmi” – ma invece di avere una parte che chiede a voi le istruzioni su come comportarsi in modo preciso, questo programma prova a impararlo direttamente da dati vostri o esterni e/o da vostre reazioni.

L’esempio più semplice da capire cosa intendo ce l’avete probabilmente sotto il naso ogni giorno. Il vostro programma di posta vi permette infatti sia di suddividere le mail in entrata in base al mittente (e come funziona questo aspetto direi sia facilmente comprensibile) sia come indicare che un messaggio è “spam”, aiutando il sistema a riconoscere come non desiderato il prossimo messaggio simile (e questo, se ci pensate, è decisamente meno immediato da comprendere)

Qui il significato di “apprende (quasi) da solo” vuol dire che voi gli avete detto che NON volete quel tipo di messaggi – ma che (contrariamente al mittente, dove appunto avete indicato UN mittente) non gli avete detto COME riconoscere quel messaggio dagli altri, aspettandovi che lo faccia “da solo”.

In altri casi il “(quasi) da solo” può volere dire che VOI non avete fatto assolutamente nulla (ma altri sì) per ottenere quel risultato (photos di Google o il vostro cellulare che vi permettono di cercare le immagini indicando come testo qualcosa che la descrive – esempio “festa di compleanno” si basano su miliardi di dati che persone hanno indicato a mano), oppure che nessuno ha davvero fatto nulla per quel preciso problema, se non fornire dati che il programma ha letto, e con i quali (per sue capacità derivanti da un lavoro con contributo precedente o meno) ha eleborato. E parte dei sistemi più semplici che generano testi possono ad esempio finire sotto questa categoria.

Vi sentite confusi? Tenendo conto che la maggior parte di questi sistemi funzionano grazie a proprietà della statistica / matematica non è strano nè preoccupante.

Vi sarà tutto, in parte, più chiaro, quando inizieremo a vedere qualche esempio. E il primo, nel prossimo articolo, riguarderà un gioco che la maggior parte di noi ha fatto con carta e penna più volte da piccoli: il tris.

Commenta