Jigsaw falling into place

The greatest shortcoming of the human race is our inability to understand the exponential function.Al Bartlett


Avrei altre 100 cose da fare, e si vede da quanto trascuro questo blog, ma qualcosa oggi devo scriverla per forza.

Quando l’acqua di congela, a livello microscopico non lo fa in modo istantaneo. Alcune molecole si agganciano alle altre formando dei piccoli cristalli, che poi ne agganciano altri, la dimensione media dei cristalli cresce prima lentamente, poi in modo esponenziale e quasi con uno strappo l’intero volume e’ diventato ghiaccio. Questo e’ il modello tipico di tutte le transizioni di “fase” dei sistemi complessi (e non).

La Stanley Robotics sta costruendo dei robot parcheggiatori: agganciano la macchina dal davanti e la mettono al posto giusto. E anche i lavori d’ufficio cominciano a saltare.

Alla CMU hanno sviluppato un touch screen spray: per rendere “touch” qualunque oggetto basta spruzzarci su una vernice e attaccare qualche filo.

Il progettista dell’Xbox e’ stato incaricato di lavorare sulla commercializzazione del quantum computing per conto di Microsoft. Che gia’ viene venduto da D-Wave.

La battaglia per hardware sempre piu’ specializzato per il training di reti neurali e’ aperta.

Cos’hanno in comune questi frammenti? Apparentemente nulla, sono in singoli piccoli cristalli che si stanno formando.

Non ritrovo il link ma si sta passando a reti neurali di traduzione indipendenti dalla lingua. Ad oggi la logica era di fare un software che traducesse da inglese a cinese, al massimo anche il contrario, e poi lo stesso per ogni coppia di lingue. Adesso si lavora sul tradurre da una lingua ad una rappresentazione astratta comune che poi traduco in una lingua a scelta. In questo modo ogni lingua puo’ essere aggiunta e combinata in modo indipendente. Questo significa forse iniziare a “capire” cosa si sta traducendo?

Reti neurali di “super-risoluzione” delle immagini hanno reso la famosa scena di Blade Runner, e di 100 altri telefilm, una realta’:

Il software parte dalla prima immagine a sinistra e ricostruisce quella nella terza colonna (al momento ha qualche problema con gli occhiali e i profili). La quarta colonna e’ l’immagine originale, fornita come confronto (la seconda colonna e’ quello che si riesce a fare con tecnologie tradizionali).

Il cosiddetto “transfer learning” e’ la next big thing nel mondo del machine learning. In pratica come riutilizzare le cose che una rete neurale ha imparato in diversi contesti:

Quanto, come sia riutilizzabile e’ una cosa che sinceramente non so, ma i grandi nomi ne sono convinti.


Questo e’ un frammento un po’ tecnico: una critica spesso fatta al mondo dell’intelligenza artificiale, dai non addetti ai lavori, e’ che non c’e’ vero apprendimento perche’ comunque un essere umano ha scritto il programma. Non approfondisco qui come mai trovi questa visione profondamente sbagliata, ma accenno solo al fatto che si stia iniziando a lavorare sul livello di meta-apprendimento, cioe’ ad imparare il modo in cui si impara. In ogni algoritmo si intelligenza artificiale ci sono effettivamente parti fisse, cosi’ come nel nostro cervello ci sono i neuroni, ma diversi altri elementi possono essere resi parte del processo di apprendimento. In pratica il software impara il modo migliore di imparare in base alle caratteristiche dei dati che sta studiando, che siano molto omogenei o con molte eccezioni significative e cosi’ via.

E’ il passo successivo arriva al solito da DeepMind con un’intera architettura di calcolatore modellata come rete neurale. La rete neurale ha a disposizione una memoria che puo’ “scegliere” di utilizzare come meglio crede (lettura/scrittura, sequenziale, scegliere quali banchi usare, ecc.) per risolvere il task che le viene proposto (distinguere immagini, analisi testuale di un testo, giocare a Pac-Man, guidare una macchina, ecc.). E tanta piu’ corda si da’ alla rete neurale, in termini di utilizzo della memoria, di scelta e fine tuning degli algoritmi, tanto piu’ i risultati migliorano. Questo permette di creare reti che apprendono piu’ task distinti: riconoscimento del parlato, linguaggio, immagini e scelta del percorso migliore in un’unica rete con un unico training.

Insomma, avete presente la frase: computer che imparano a migliorare se stessi sempre piu’ velocemente? Quello. E la mia sensazione e’ che la cosa non sia lineare (come raramente e’): quando metto assieme tutti questi miglioramenti tutti i livelli coinvolti ne beneficiano, fosse anche solo nel tempo richiesto per addestrare una rete o nella qualita’ di risultati ottenuti o nella quantita’ di dati di addestramento richiesti.

Ma adesso immaginate di andare allo stadio e fare una foto con un buon cellulare di tutte le gradinate. Adesso sempre dal telefono spedite la foto ad un servizio di riconoscimento volto con super-risoluzione in grado di dirvi il nome di ognuna delle 10mila persone che compaiono nella vostra foto. La tecnologia e’ quella linkata prima, open source, non fantascienza. Paura eh? :)

Ieri AlphaGo ha battuto Ke Jie, il campione del mondo in carica di Go (versione orientale della dama, molto piu’ complessa). Che a giudicare dalle interviste ne e’ uscito maluccio, definendo AlphaGo un “dio del Go” (oggi e dopo domani le altre due partite). La cosa piu’ interessante e’ che AlphaGo e’ stato addestrato per vincere, non per stra-vincere, per cui tende a vincere tutte le partite di mezzo punto, il minimo indispensabile. Efficientissimo. Disumano.

Il prossimo target e’ StarCraft II, video gioco di strategia in tempo reale. I campioni del mondo al momento sono spavaldi, come lo era Ke Jie, ma gia’ cominciano a mettere le mani avanti: “affinche’ l’incontro sia equilibrato bisogna mettere un limite a quanti comandi al secondo il software puo’ dare alle sue truppe”… La mia personale previsione e’ che verranno battuti non oltre il 2020.


Il discorso di fondo e’ questo: nel momento in cui ho algoritmi molto veloci che mi permettono di individuare il contenuto di ogni fotogramma di un video posso passare ad imparare modelli di interazione a partire dagli infiniti video caricati su youtube (150 ore caricate ogni secondo). Dall’analisi del testo e la relazione tra le parole e i verbi le reti neurali sono gia’ oggi in grado di stabilire che cani e gatti appartengono ad una stessa categoria visto che compaiono in contesti simili: “devo dar da mangiare al cane/gatto”, “ho portato il cane/gatto dal veterinario” e cosi’ via.

Quanto manca prima che tutti questi cristalli si uniscano in…qualcos’altro?