La macchina che impara

fluid-img

Il concetto di intelligenza artificiale è nato ben prima che si sviluppassero le AI: il suo senso è, come dice il nome stesso, di indicare tutti i possibili tipi di comportamento intelligente attuati da macchine. Ciò lo rende abbastanza vago e indefinito, proprio perché i comportamenti intelligenti sono molti e diversi (anche se sappiamo bene che, per ogni comportamento intelligente ce ne sono almeno 10 stupidi).

Comunque, siamo tutti d’accordo sul fatto che un segno inequivocabile di intelligenza sia la capacità di imparare. Quando parliamo di machine learning intendiamo proprio questo: macchine che sono in grado di valutare le esperienze fatte e correggersi. Dobbiamo la definizione formale di questo processo a Tom M. Mitchell, direttore del dipartimento di Machine Learning alla Carnegie Mellon University di Pittsburgh. Nel 1986, infatti, Mitchell ha chiarito definitivamente la questione:

Si dice che un programma apprenda dall’esperienza E con riferimento ad alcune classi di compiti T e con misurazione della performance P, se le sue performance nel compito T, come misurato da P, migliorano con l’esperienza E.

In altre parole, un programma apprende quando le esperienze fatte lo portano a sviluppare soluzioni migliori. D’accordo, ma come riesce a farlo? In molti modi, tutti basati sul modello della rete neurale: in altre parole, una serie di strati operativi, ognuno dei quali svolge una fase di un processo complesso che comincia da un input e termina in un output. L’input di uno strato può essere l’output di un altro, e viceversa. Così, ogni input viene elaborato per produrre numerosi output, tra cui si scelgono quelli più soddisfacenti. In questo modo, ogni volta che si trova di fronte a un problema nuovo, l’AI ne confronta ogni elemento con quelli che ha risolto in precedenza, per scegliere la risposta ottimale.

Come dicevo, ci sono diversi modi di organizzare il processo di apprendimento, con cui la macchina impara a scegliere la soluzione migliore. Questi modi sono essenzialmente quattro: l’apprendimento supervisionato, in cui il computer riceve i dati completi. Così la macchina ha a disposizione tutti i possibili input e output e deve scegliere quelli migliori, sui quali riceve un feedback. Si tratta di un sistema molto solido, ma che ovviamente funziona solo in campi a variabili chiuse, in cui i problemi sono molto ben definiti. nel caso di apprendimento non supervisionato, è l’algoritmo a dover ricostruire la struttura degli input. Il computer impara a identificare schemi in un sistema aperto e poco formalizzato, per esempio nel caso dei motori di ricerca che devono interpretare molte query diverse. c’è poi l’apprendimento per rinforzo, in cui il sistema è dotato di apparati che ne migliorano l’apprendimento interagendo con l’ambiente esterno. Si tratta di un modello particolarmente complesso, adatto a contesti dinamici e caratterizzati da molte variabili, come la guida autonoma dei veicoli. infine, esiste anche il modello di apprendimento semi supervisionato, in cui la macchina apprende sotto la supervisione di un controllore, ma con dati relativi solo all’input e non all’output atteso. Questo modello ibrido assomiglia molto all’apprendimento umano, nel quale vengono descritti i problemi ma non le soluzioni. Il tema del machine learning è molto affascinante proprio perché ci ricorda il modo in cui noi stessi abbiamo imparato le cose che sappiamo. In alcuni casi ci è stato detto cosa fare, in altri abbiamo imparato da soli, in altri ancora siamo stati messi di fronte a situazioni concrete con un formatore, oppure ci siamo trovati a interpretare direttamente le conseguenze delle nostre azioni. E proprio come noi, anche le macchine non smettono mai di imparare.