Passa ai contenuti principali

Deep learning, intelligenza artificiale, programmazione e addestramento.


Fino a qualche anno fa, una delle attività che definivano il computer e l'informatica era la scrittura del codice.
L'informatica, fin dai primi momenti, sembrava il modello giusto con cui interpretare la realtà.
Ad esempio: il cervello veniva visto come un computer in cui l'hardware era influenzato dai geni, mentre il software era influenzato dalla nostra esperienza, il dna era un linguaggio di programmazione con cui creare macchine biologiche.

Come se la realtà fosse fatta non più di oggetti, ma di regole e le regole definissero la realtà.

Ora non vorrei proporre un'equazione superficiale, ma per un certo tipo di aziende, il codice  sorgente non solo definiva l'azienda, ma era l'azienda.
Ad esempio per Google, per la Microsoft, per la Sun, per l'open source e così via.
Il loro software era la loro identità.
E quel software cosa conteneva? Conteneva regole!
Ok la programmazione procedurale prima e ad oggetti poi, era sicuramente uno strumento in bianco e nero, se paragonato ai nuovi strumenti di intelligenza artificiale e machine learning.
Ma tanto bastava.
Il programmatore, specie nella fase in cui la globalizzazione non si era fatta sentire, era una figura importante e ben pagata.
Appartenere a quella casta, voleva dire essere al riparo dai dissesti dell'automazione.
Scrivendo codice e procedendo sulla via dell'automazione, molte figure professionali si sono estinte, gli uffici si sono snelliti, il lavoro è diminuito.
Fino ad oggi esiste ancora una relazione stretta tra bisogno di automazione (taglio dei costi e ottimizzazione dei processi) e ricerca di programmatori.

Ma tutto questo sta finendo, vediamo di capire come.

La vecchia idea di intelligenza artificiale era semplice, se inserisco in un computer un certo numero  di regole, quel computer sarà in grado di interpretare il mondo.
Oggi l'idea di regola e quindi di controllo, sta lasciando il passo all'idea di addestramento, che nei prossimi anni diventerà sinonimo di programmazione.
Questo cambiamento è enorme, perché fin'ora, se si verificava un errore, bastava andare sul codice sorgente, trovare la routine responsabile e modificarla.
Con l'intelligenza artificiale il codice sorgente non esiste,  o meglio esiste esiste un programma che spiega alla macchina come migliorarsi, ma non c'è un sorgente come l'abbiamo inteso fin'ora, che sintetizza i processi appresi.
L'ingegnere, dopo aver addestrato la macchina, non potrà leggere il codice che esprime quel miglioramento, le regole che la macchina impara tramite l'esperienza, non sono visibili.
Non si può sapere come fa la macchina a scegliere, ma si riesce, con la ripetizione a migliorare la sua capacità di scelta. E' lo stesso motivo per  cui noi,  quando pensiamo, non possiamo guardare nella nostra testa e cercare il codice sorgente che ha prodotto un certo pensiero.

Al momento la sintesi  che il codice sorgente rappresenta, è un meccanismo di auto-osservazione troppo raffinato per un algoritmo di intelligenza artificiale, quindi si potrà addestrare, ma non saprà spiegarlo. Sarà come un bambino di un anno che impara a camminare, lo fa, ma non sa spiegare come. Lo stato attuale dell'intelligenza artificiale è questo.

Quindi se voglio far riconoscere ad una macchina un gatto, non scriverò le regole con cui riconoscerlo, ma farò vedere alla macchina migliaia di foto di gatti, e così facendo, la macchina memorizzerà quella forma.
Se la macchina dovesse confondere un gatto con una volpe, dovrò avviare un ulteriore addestramento con immagini di volpi, e la capacità di riconoscerle migliorerà.

Quindi il passaggio è significativo, non devo spiegare cosa fare, ma devo mettere la macchina nelle condizioni di imparare a fare.

Questo approccio è stato disponibile per decenni, ma oggi gli ingegneri lo stanno usando sempre di più. Vuoi l'enorme quantità di dati disponibili, e quindi l'enorme possibilità di addestramento, vuoi i computer che diventano giorno dopo giorno sempre più potenti.

Già Facebook utilizza questi meccanismi per decidere quale news mostrarti, stessa cosa Google foto utilizza questi processi per categorizzare le foto, o per tradurre i testi.
Per non parlare dello stesso algoritmo di ricerca di Google che con il tempo si sta poggiando sempre più su un meccanismo di Intelligenza artificiale.

Quindi volendo chiudere, nella programmazione si passerà da un modo lento ma fondato su regole certe, a un modo veloce ma non conoscibile. Col tempo sono sicuro migliorerà, ma per ora questo è lo stato.

Per approfondimenti:
https://www.wired.com/2016/05/the-end-of-code/


Commenti

Post popolari in questo blog

Mike Marcum e la macchina del tempo

Il 18 aprile del 1996 la ribalta della pseudoscienza venne solleticata da un personaggio interessante e schivo. Il suo nome è Michael Marcum per gli amici Mike. ( In giro su internet troverete molti post che con ostinazione copincollano lo stesso testo e lo duplicano fino allo sfinimento nervoso.) Il nostro, proprio in quella data , con la disinvoltura di un rocker, si presentò al programma mattutino Coast to Coast e con la cavillosità meticolosa che ci si aspetta dai geni o forse dai pazzi, descrisse dettagliatamente il funzionamento della sua nuova opera: in breve parlò di come costruire una macchina del tempo. In genere la gente quando ascolta quel tipo di argomenti o scoppia a ridere oppure si siede e sospesa in una bolla di possibilità dilatata all’inverosimile, comincia a immaginare le molteplici possibilità offerte da quello strumento tanto magnifico quanto inesistente. Mike Marcum  con la sua macchina del tempo aprì una fantastica breccia nel cuore di molti sogn...

La Coperta di Linus dell'Anima

  Quando l'Io Diventa una Virtual Reality Interna Tutti noi portiamo dentro una strana contraddizione. Da una parte sentiamo di essere unici, irripetibili, dotati di un "io" solido e definito. Dall'altra, se ci guardiamo con onestà, ci accorgiamo di essere incredibilmente simili agli altri: fragili, duplicabili nelle nostre paure e nei nostri desideri, molto meno originali di quanto vorremmo credere. L'Invenzione Necessaria Forse è proprio questa fragilità che ci spinge a inventarci un'identità. L'io diventa una specie di "coperta di Linus" psicologica: da fuori può sembrare buffa, illusoria, ma da dentro è essenziale per il nostro senso di sicurezza. Senza questa costruzione mentale, dovremmo affrontare a viso aperto l'angoscia di essere creature temporanee e vulnerabili in un universo che non sembra preoccuparsi molto di noi. Il Buddha, venticinque secoli fa, aveva intuito qualcosa di simile. La sua Prima Nobile Verità parla della soffe...

La vera resistenza tecnologica: oltre l'illusione della democratizzazione

Il nuovo luddismo non distrugge le macchine Nel 1811, gli artigiani tessili inglesi presero a martellate i telai meccanici delle fabbriche dello Yorkshire. La storia li ricorda come luddisti, simbolo di una resistenza irrazionale al progresso. Ma il loro errore non fu opporsi alle macchine. Fu accettare che quelle fossero le uniche macchine possibili. Oggi commettiamo lo stesso errore, solo in modo più sofisticato. Parliamo di "democratizzare" l'intelligenza artificiale, di rendere "inclusive" le piattaforme digitali, di garantire "accesso per tutti" alle nuove tecnologie. Ma ci stiamo ponendo la domanda sbagliata. Non dovremmo chiederci come democratizzare queste tecnologie, ma se siano democratizzabili per design. Parte I: L'illusione della democratizzazione Il cavallo di Troia della tecnologia gratuita Prendiamo due esempi celebrati come successi della democratizzazione tecnologica. Zipline, l'azienda americana di droni medici, serve 49 ...