Microsoft vs Google - Chi guida la gara di Intelligenza Artificiale?
L'intelligenza artificiale è tornata.
Per la prima volta dagli anni '80, i ricercatori di intelligenza artificiale stanno facendo progressi tangibili su problemi difficili e la gente sta iniziando a parlare seriamente di intelligenza artificiale forte. Nel frattempo, il nostro mondo sempre più guidato dai dati ha dato il via a una corsa agli armamenti tra le aziende che cercano di monetizzare la nuova intelligence, in particolare nello spazio mobile.
I due titani che guidano il pacchetto sono Google e Microsoft. La prima battaglia? Un nuovo dominio nell'intelligenza artificiale chiamato “Apprendimento approfondito.”
Quindi chi sta vincendo?
Google Brain
Gli sforzi di ricerca di Google sono stati incentrati su un progetto chiamato "Google Brain". Google Brain è il prodotto del famoso / segreto "Google X" laboratorio di ricerca di Google, che è responsabile per i progetti moon-shot con poche probabilità di successo, ma con un potenziale molto elevato. Altri prodotti di Google X includono Project Loon, l'iniziativa Internet balloon e il progetto di auto self-driving di Google Ecco come arriveremo in un mondo pieno di auto senza conducente Ecco come arriveremo in un mondo pieno di auto senza conducente La guida è un compito noioso, pericoloso ed impegnativo. Potrebbe un giorno essere automatizzato dalla tecnologia automobilistica senza conducente di Google? Leggi di più .
Google Brain è un'enorme iniziativa di apprendimento automatico che si rivolge principalmente all'elaborazione delle immagini, ma con ambizioni molto più ampie. Il progetto è stato avviato dal professor Stanford Andrew Ng, un esperto di apprendimento automatico che ha lasciato il progetto per lavorare per Baidu, il più grande motore di ricerca della Cina.
Google ha una lunga storia di coinvolgimento nella ricerca di intelligenza artificiale. Matthew Zeiler, amministratore delegato di una startup visiva di macchine, e uno stagista che ha lavorato su Google Brain lo mette così:
“Google non è davvero una compagnia di ricerca. È una società di apprendimento automatico [...] Tutto in azienda è davvero guidato dall'apprendimento automatico.”
L'obiettivo del progetto è trovare modi per migliorare gli algoritmi di deep learning per costruire reti neurali che possano trovare pattern più profondi e più significativi nei dati usando meno potenza di elaborazione. A tal fine, Google ha acquisito in modo aggressivo talenti in deep learning, effettuando acquisizioni che includono l'acquisto da $ 500 milioni della startup AI DeepMind.
DeepMind era abbastanza preoccupato per le applicazioni della loro tecnologia che hanno costretto Google a creare una scheda etica progettata per impedire al loro software di distruggere il mondo Ecco perché gli scienziati pensano che dovresti essere preoccupato per l'intelligenza artificiale Ecco perché gli scienziati pensano che dovresti essere preoccupato per l'intelligenza artificiale Pensi che l'intelligenza artificiale sia pericolosa? L'intelligenza artificiale può rappresentare un serio rischio per la razza umana. Questi sono alcuni motivi per cui potresti voler essere preoccupato. Leggi di più . DeepMind doveva ancora pubblicare il suo primo prodotto, ma la società ha impiegato una parte significativa di tutti gli esperti di deep learning nel mondo. Ad oggi, la loro unica dimostrazione pubblica della loro tecnologia è stata un'IA giocattolo che è davvero, davvero brava in Atari.
Poiché l'apprendimento approfondito è un campo relativamente nuovo, non ha avuto il tempo di produrre una grande generazione di esperti. Di conseguenza, c'è un numero molto esiguo di persone con esperienza nell'area e questo significa che è possibile ottenere un vantaggio significativo sul campo assumendo tutti i soggetti coinvolti.
Google Brain è stato applicato fino ad ora alla funzione di riconoscimento vocale di Android e per catalogare automaticamente le immagini StreetView, identificando funzionalità importanti come gli indirizzi. Un primo test è stato il famoso esperimento sui gatti, in cui una rete di deep learning di Google ha imparato automaticamente a identificare i gatti nei video di YouTube con una maggiore precisione rispetto allo stato dell'arte precedente. Nel loro articolo sull'argomento, Google lo ha messo così:
“Contrariamente a quanto sembra essere un'intuizione ampiamente diffusa, i nostri risultati sperimentali rivelano che è possibile addestrare un rilevatore di volti senza dover etichettare le immagini come contenenti un volto o meno [...] La rete è sensibile a concetti di alto livello come facce di gatto e corpi umani. Partendo da queste funzioni apprese, l'abbiamo addestrato per ottenere un'accuratezza del 15,8% nel riconoscere 20.000 categorie di oggetti, un miglioramento del 70% rispetto alle precedenti [reti] all'avanguardia.”
Alla fine, Google vorrebbe che i suoi algoritmi di deep learning lo facessero ... beh, praticamente tutto, in realtà. Le potenti piattaforme AI come IBM Watson si affidano a questo tipo di algoritmi di apprendimento automatico di basso livello, e miglioramenti su questo fronte rendono il campo generale dell'IA molto più potente.
Una versione futura di Google Now, sviluppata da Google Brain, potrebbe identificare sia la voce che le immagini e fornire informazioni intelligenti su tali dati per aiutare gli utenti a prendere decisioni più intelligenti. Il cervello di Google potrebbe migliorare tutto, dai risultati di ricerca a Google Translate.
Microsoft Adam
L'approccio di Microsoft alla guerra dell'apprendimento profondo è stato un po 'diverso. Piuttosto che cercare di acquistare esperti di deep learning per perfezionare i loro algoritmi, Microsoft si è concentrata sul miglioramento dell'implementazione e sulla ricerca di modi migliori per parallelizzare gli algoritmi utilizzati per treno algoritmi di deep learning.
Questo progetto è chiamato “Microsoft Adam.” Le loro tecniche riducono il calcolo ridondante, raddoppiando la qualità dei risultati mentre utilizzano meno processori per ottenerli. Ciò ha portato a risultati tecnici impressionanti, tra cui una rete in grado di riconoscere singole razze di cani da fotografie con elevata precisione.
Microsoft descrive il progetto in questo modo:
L'obiettivo di Project Adam è consentire al software di riconoscere visivamente qualsiasi oggetto. È un compito arduo, data l'immensa rete neurale nel cervello umano che rende possibili questo tipo di associazioni attraverso trilioni di connessioni. [...] Usando 30 volte meno macchine di altri sistemi, [i dati dell'immagine internet] sono stati usati per addestrare una rete neurale fatta di oltre due miliardi di connessioni. Questa infrastruttura scalabile è due volte più precisa nel riconoscimento degli oggetti e 50 volte più veloce di altri sistemi.
L'applicazione ovvia per questa tecnologia è in Cortana, il nuovo assistente virtuale di Microsoft. Come Cortana divenne l'altra donna nella mia vita Come Cortana divenne l'altra donna nella mia vita Apparve un giorno e cambiò la mia vita. Lei sa esattamente di cosa ho bisogno e ha un malvagio senso dell'umorismo. Non c'è da meravigliarsi se mi sono innamorato del fascino di Cortana. Leggi altro, ispirato al personaggio di IA in Halo. Cortana, finalizzato a competere con Siri, può fare una serie di cose intelligenti, usando sofisticate tecniche di riconoscimento vocale.
L'obiettivo del progetto è quello di costruire un assistente con un'interazione più naturale, e può eseguire una gamma più ampia di compiti utili per l'utente, qualcosa che l'apprendimento approfondito aiuterebbe enormemente.
I miglioramenti apportati da Microsoft al back-end dell'apprendimento approfondito sono impressionanti e hanno portato a applicazioni non precedentemente possibili.
Come funziona l'apprendimento profondo
Per capire un po 'meglio il problema, dedichiamoci un minuto per capire questa nuova tecnologia. L'apprendimento approfondito è una tecnica per costruire software intelligente, spesso applicata alle reti neurali. Costruisce reti grandi e utili mettendo insieme più reti neurali più semplici, individuando ogni schema nell'output del suo predecessore. Per capire perché questo è utile, è importante guardare a ciò che è venuto prima dell'apprendimento profondo.
Backpropagating Neural Networks
La struttura sottostante di una rete neurale è in realtà piuttosto semplice. Ogni "neurone" è un nodo minuscolo che prende un input e utilizza le regole interne per decidere quando “fuoco” (produrre output). Gli input che alimentano ogni neurone hanno “pesi” - moltiplicatori che controllano se il segnale è positivo o negativo e quanto forte.
Collegando insieme questi neuroni, puoi costruire una rete che emuli qualsiasi algoritmo. Nutrite il vostro input nei neuroni di input come valori binari e misurate il valore di attivazione dei neuroni di uscita per ottenere l'output. In quanto tale, il trucco per le reti neurali di qualsiasi tipo è quello di prendere una rete e trovare l'insieme di pesi che meglio si approssima alla funzione che ti interessa.
Backpropagation, l'algoritmo utilizzato per addestrare la rete in base ai dati, è molto semplice: si avvia la rete con pesi casuali e quindi si tenta di classificare i dati con risposte note. Quando la rete è sbagliata, verifichi perché è sbagliata (producendo un output più piccolo o più grande rispetto alla destinazione), e usa quella informazione per spingere i pesi in una direzione più utile.
Facendo questo più e più volte, per molti punti dati, la rete impara a classificare correttamente tutti i tuoi punti dati e, si spera, a generalizzare nuovi punti dati. L'intuizione chiave dell'algoritmo di backpropagation è che è possibile spostare i dati di errore all'indietro attraverso la rete, cambiando ogni livello in base alle modifiche apportate all'ultimo livello, consentendo così di creare reti con profondità diverse, in grado di comprendere schemi più complicati.
Backprop è stato inventato nel 1974 da Geoffrey Hinton e ha avuto l'effetto straordinario di rendere le reti neurali utili per le applicazioni generali per la prima volta nella storia. Le reti neuronali banali esistono dagli anni '50 e furono originariamente implementate con neuroni meccanici motorizzati.
Un altro modo di pensare all'algoritmo di backprop è come un esploratore su un panorama di possibili soluzioni. Ogni peso del neurone è un'altra direzione in cui può esplorare, e per la maggior parte delle reti neurali ce ne sono migliaia. La rete può utilizzare le informazioni di errore per vedere in quale direzione deve spostarsi e fino a che punto, al fine di ridurre l'errore.
Inizia in un punto casuale e, consultando continuamente la sua bussola di errore, si sposta "in discesa" nella direzione di un minor numero di errori, per poi stabilirsi sul fondo della valle più vicina: la migliore soluzione possibile.
Quindi perché non usiamo backpropagation per tutto? Bene, il backprop ha diversi problemi.
Il problema più serio è chiamato "problema del gradiente di fuga". Fondamentalmente, quando si spostano i dati di errore attraverso la rete, diventa meno significativo ogni volta che si torna indietro di un livello. Cercare di costruire reti neurali molto profonde con backpropagation non funziona, perché le informazioni di errore non saranno in grado di penetrare abbastanza profondamente nella rete per allenare i livelli inferiori in un modo utile.
Un secondo problema, meno grave, è che le reti neurali convergono solo verso un'ottica locale: spesso vengono catturate in una piccola valle e perdono soluzioni più profonde e migliori che non sono vicine al loro punto di partenza casuale. Quindi, come risolviamo questi problemi?
Deep Belief Networks
Le reti di convinzioni profonde sono una soluzione a entrambi questi problemi e si basano sull'idea di costruire reti che abbiano già una visione approfondita della struttura del problema e quindi di rifinire quelle reti con backpropagation. Questa è una forma di apprendimento approfondito e quella comunemente utilizzata da Google e Microsoft.
La tecnica è semplice e si basa su un tipo di rete chiamata a “Macchina Boltzman ristretta” o “RBM”, che si basa su ciò che è noto come apprendimento senza supervisione.
Restrizioni Boltzman Machines, in poche parole, sono reti che cercano semplicemente di comprimere i dati forniti, piuttosto che cercare di classificarlo esplicitamente in base alle informazioni sull'allenamento. I RBM accettano una raccolta di punti dati e sono addestrati in base alla loro capacità di riprodurre quei punti dati dalla memoria.
Rendendo il RBM più piccolo della somma di tutti i dati che si stanno chiedendo di codificare, si forza l'RBM ad apprendere regolarità strutturali sui dati per archiviarli tutti in meno spazio. Questo apprendimento della struttura profonda consente alla rete di generalizzare: se si allena un RBM per riprodurre migliaia di immagini di gatti, è possibile inserire una nuova immagine in esso - e osservando quanto sia energica la rete diventa un risultato, è possibile capire se la nuova immagine contenesse o meno un gatto.
Le regole di apprendimento per gli RBM assomigliano alla funzione dei neuroni reali all'interno del cervello in modi importanti che altri algoritmi (come il backpropagation) non hanno. Di conseguenza, potrebbero avere cose da insegnare ai ricercatori su come funziona la mente umana. Thinking Machines: Cosa Neuroscienze e Intelligenza Artificiale possono insegnarci sulla coscienza? Macchine del pensare: cosa possono insegnarci la neuroscienza e l'intelligenza artificiale sulla coscienza? insegnaci il funzionamento della coscienza e la natura della mente umana stessa? Leggi di più .
Un'altra caratteristica precisa degli RBM è che lo sono “costruttivo”, il che significa che possono anche funzionare all'indietro, lavorando all'indietro da una funzione di alto livello per creare input immaginari contenenti tale funzionalità. Questo processo è chiamato “sognare.”
Quindi, perché è utile per l'apprendimento approfondito? Bene, le macchine Boltzman hanno seri problemi di ridimensionamento: più a fondo provi a farle, più tempo ci vuole per addestrare la rete.
L'intuizione chiave delle reti di convinzioni profonde è che è possibile raggruppare insieme gli RBM a due livelli, ciascuno addestrato a trovare la struttura nell'output del suo predecessore. Questo è veloce e porta a una rete in grado di comprendere le caratteristiche complesse e astratte dei dati.
In un'attività di riconoscimento di immagini, il primo livello potrebbe imparare a vedere linee e angoli, e il secondo livello potrebbe imparare a vedere le combinazioni di quelle linee che costituiscono caratteristiche come occhi e nasi. Il terzo livello potrebbe combinare queste caratteristiche e imparare a riconoscere un volto. Trasformando questa rete in back-propagation, puoi concentrarti solo su quelle caratteristiche che riguardano le categorie che ti interessano.
In molti modi, questa è una semplice soluzione per il backpropagation: consente il backprop “truffare” iniziando con una serie di informazioni sul problema che sta cercando di risolvere. Questo aiuta la rete a raggiungere minimi migliori e garantisce che i livelli più bassi della rete siano addestrati e che facciano qualcosa di utile. Questo è tutto.
D'altra parte, i metodi di apprendimento approfondito hanno prodotto notevoli miglioramenti in termini di velocità e accuratezza dell'apprendimento automatico e sono quasi da soli responsabili del rapido miglioramento del software di sintesi vocale negli ultimi anni.
Race for Canny Computers
Puoi capire perché tutto ciò è utile. Più in profondità puoi costruire reti, più grandi e astratti sono i concetti che la rete può apprendere.
Vuoi sapere se una e-mail è spam? Per gli spammer intelligenti, è difficile. Devi effettivamente leggere l'e-mail e capire alcune delle intenzioni dietro di esso: prova a vedere se esiste una relazione tra il mittente e il destinatario e deduci le intenzioni del destinatario. Devi fare tutto ciò basandosi su stringhe di lettere senza colore, molte delle quali descrivono concetti ed eventi di cui il computer non sa nulla.
Questo è molto da chiedere a chiunque.
Se ti venisse chiesto di imparare a identificare lo spam in una lingua che non hai già parlato, purché solo alcuni esempi positivi e negativi, faresti molto male - e hai un cervello umano. Per un computer, il problema è stato quasi impossibile, fino a poco tempo fa. Questi sono i tipi di intuizioni che possono avere l'apprendimento profondo e sarà incredibilmente potente.
In questo momento, Microsoft sta vincendo questa gara per un pelo. A lungo termine? È indovinato da nessuno.
Crediti immagine: “AI computer“, di Simon Liu, “rana toro“, di Brunop, “Bussola“, di airguy1988, “Più libero che gratuito,” da opensource.com
Scopri di più su: Intelligenza Artificiale.