DeepMind svela PonderNet, per favore non chiamatelo 'ponderazione'

0
114

Tiernan Ray

Di Tiernan Ray | 13 agosto 2021 — 14:31 GMT (15:31 BST) | Argomento: Intelligenza artificiale

Se hai intenzione di seguire le notizie sull'intelligenza artificiale, è meglio che tu abbia con te una copia di un dizionario inglese e forse anche un paio di dizionari etimologici.

Le forme di intelligenza artificiale odierne di deep learning stanno proliferando nell'uso di parole ordinarie che possono essere potenzialmente profondamente fuorvianti. Ciò include suggerire che la macchina sta effettivamente facendo qualcosa che una persona fa, come pensare, ragionare, sapere, vedere, chiedersi.

L'ultimo esempio è un nuovo programma di DeepMind, l'unità AI di Google con sede a Londra. Giovedì i ricercatori di DeepMind hanno svelato quello che chiamano PonderNet, un programma che può scegliere se esplorare le possibilità di un problema o arrendersi.

DeepMind definisce questo esercizio da parte del computer come “meditare”, ma in realtà potrebbe anche essere chiamato “riduci le perdite” o “fermati e prendi fuoco”, visto che in realtà ha ha molto poco a che fare con la riflessione nel senso umano del termine, e molto di più con il modo in cui un computer completa un'attività.

Il programma, descritto dagli scienziati Andrea Banino, Jan Balaguer e Charles Blundell, risiede in un'interessante intersezione tra progettazione di reti neurali e ottimizzazione del computer.

Il programma è incentrato sull'efficienza del calcolo e sul compromesso tra efficienza e precisione. Come lo descrivono gli autori, PonderNet è “un nuovo algoritmo che impara ad adattare la quantità di calcolo in base alla complessità del problema in questione”.

Anche: Supermodel di Google: DeepMind Perceiver è un passo verso una macchina AI in grado di elaborare qualsiasi cosa

PonderNet acquisisce la capacità di ridurre il suo sforzo di calcolo se sembra che lo sforzo fino a un certo punto nel tempo sia sufficiente affinché la rete neurale faccia una previsione accettabile. Al contrario, può estendere i suoi calcoli se così facendo può produrre risultati migliori.

Il programma bilancia l'obiettivo del deep learning dell'accuratezza nei test di benchmark, da un lato, con un'ipotesi probabilistica che un ulteriore sforzo non farà davvero molta differenza.

Banino e colleghi si sono basati sul lavoro di numerosi ricercatori nel corso degli anni in aree come il calcolo condizionale. Ma la loro influenza più diretta sembra essere il lavoro del loro collega di Google Alex Graves.

Graves ha accumulato una serie di ricerche interessanti all'intersezione tra la progettazione di reti neurali e il funzionamento dei computer. Ad esempio, alcuni anni fa lui e colleghi hanno proposto una “macchina di Turing neurale” in cui la selezione della memoria da un file di registro sarebbe il risultato di un calcolo di rete neurale.

Nel caso di PonderNet, Banino e il team stanno sviluppando il lavoro di Graves nel 2016 su quello che viene chiamato Adaptive Computation Time. L'intuizione in quel documento è nel regno del ragionamento umano, l'affermazione e la soluzione dei problemi sono asimmetriche. A volte un problema può richiedere pochissimo sforzo per essere espresso, ma molto tempo per essere risolto. È più facile aggiungere due numeri che dividerli, anche se la nozione di simbolo sembra quasi identica, ad esempio.

L'esempio classico, secondo Graves, è l'ultimo teorema di Fermat, come i matematici chiamano la nota che Pierre de Fermat scrisse a margine di un libro che in seguito gli scienziati impiegarono tre secoli per dimostrarlo.

Così, Graves ha escogitato un modo per consentire a un computer di calcolare per quanto tempo dovrebbe “considerare” un problema di previsione data la complessità del problema.

Anche: AlphaFold 2 di DeepMind rivela: le convoluzioni sono fuori, l'attenzione è dentro

Ciò che in realtà significa è quanti strati di una rete neurale dovrebbero essere consentiti per il calcolo di una previsione. Un programma di rete neurale è una macchina di trasformazione: trova automaticamente un modo per trasformare l'input in output. Il numero di strati di neuroni artificiali attraverso i quali l'input deve essere passato per essere trasformato con successo in un output accurato è un modo per misurare lo sforzo di calcolo.

Ponderare, quindi, significa variare il numero di livelli di rete, e quindi il calcolo della rete, decidendo quanto presto il computer dovrebbe arrendersi.

Come scrive Graves,

Nell'interesse sia dell'efficienza computazionale che della facilità di apprendimento, sembra preferibile variare dinamicamente il numero di passaggi per i quali la rete 'medita' ciascuno input prima di emettere un output. In questo caso la profondità effettiva della rete ad ogni passo lungo la sequenza diventa una funzione dinamica degli input ricevuti finora.

Il modo in cui lo ha fatto Graves è quello di collegare alla fine di una rete neurale quello che viene chiamato un “costo di ponderazione”, una quantità di tempo di calcolo che si cerca di minimizzare. Il programma quindi prevede la migliore quantità di calcolo alla quale interrompere il calcolo della sua previsione.

Rifacendosi alla famosa teoria di Alan Turing del “problema dell'arresto”, che ha dato il via all'era dell'informatica, Graves ha etichettato la parte del programma che calcola quando fermarsi in base al costo “unità di arresto”. ”

Flash forward a PonderNet. Banino e il team affrontano la ricerca di Graves e il loro contributo principale è reinterpretare il modo in cui pensare a quell'ultima parte, l'unità di arresto. Banino e il team notano che l'obiettivo di Graves è eccessivamente semplicistico, in quanto guarda semplicemente all'ultimo livello di rete neurale e dice “basta”, che è un modo non molto sofisticato per valutare i costi di calcolo.

Quindi, i ricercatori escogitano quello che chiamano un approccio probabilistico. Invece di aggiungere semplicemente un costo al programma che lo incoraggia ad essere più efficiente, lo sviluppo di PonderNet utilizza il cosiddetto Markov Decision Process, un modello di stato in cui ad ogni livello di elaborazione della rete, il programma calcola quale sia la probabilità che è ora di smettere di calcolare.

Anche: AI in sessanta secondi

La risposta a questa domanda è un po' equilibrata: la probabilità zero di arresto potrebbe essere l'impostazione predefinita, se gli strati iniziali di una rete neurale non sono mai stati un punto di arresto efficace; ma un po' più vicino a quello se l'esperienza passata indica che è stata superata una soglia alla quale più calcolo porterà a rendimenti decrescenti.

Come lo definiscono gli autori, “Alla valutazione, la rete campiona gradualmente dalla variabile casuale di Bernoulli che si ferma […] per decidere se continuare o fermarsi”.

La prova è nel budino. Banino e colleghi applicano l'apparato a una varietà di tipi di reti neurali per una varietà di compiti. L'approccio, scrivono, può essere utilizzato per numerosi tipi di programmi di apprendimento automatico, da semplici reti neurali feed-toward ai cosiddetti programmi di auto-attenzione come Transformer di Google e i suoi discendenti.

Nei loro esperimenti, scoprono che il programma cambia effettivamente la sua quantità di calcolo per ottenere risultati migliori in un test. Di nuovo tornano a Graves. Quel documento proponeva quello che viene chiamato un test di parità. Immettere al programma un gruppo di cifre costituito da un assortimento casuale di zero, uno e uno negativo e prevedere quale sia il loro output. Una rete neurale molto semplice, una con un singolo strato di neuroni artificiali, fornirà fondamentalmente risposte accurate al cinquanta e cinquanta, un lancio di una moneta.

Con la capacità di aumentare il calcolo, il programma che Graves e colleghi avevano creato ha funzionato molto meglio. E Banino e colleghi scoprono che il loro programma funziona anche meglio di quello. In particolare, dato un numero maggiore di cifre casuali, PonderNet procede per arrivare alla somma corretta con elevata affidabilità, rispetto a ciò che inizia ad essere un'ipotesi casuale di Graves e del programma del team.

“PonderNet è stato in grado di ottenere una precisione quasi perfetta su questo difficile compito di estrapolazione, mentre ACT [Adaptive Computation Time] è rimasto a livello casuale”, scrivono.

728px-edgar-allan-poe-circa-1849-restored-squared-off.jpg

Edgar Allan Poe non ha suggerito l'ottimizzazione quando ha scritto in The Raven “C'era una volta a mezzanotte triste, mentre riflettevo, debole e stanco.”

Autore sconosciuto; Restaurato da Yann Forget e Adam Cuerden

Puoi vedere un cambiamento di chiave in corso. Graves e il team hanno cercato di imporre un limite, una quantità di budget di calcolo efficiente che un programma dovrebbe cercare di non superare. Banino e il team in un certo senso vanno nella direzione opposta, l'impostazione dei livelli di calcolo di un programma può saltare ripetutamente sulla strada per una maggiore precisione.

Il risultato di tutta questa affascinante scienza è che potrebbe aggiungere un importante strumento al deep learning, la capacità di applicare condizioni, in modo rigoroso, a quanto lavoro dovrebbe fare un programma per arrivare a una risposta .

Gli autori notano l'importanza di rendere le reti neurali più efficienti. Il crescente budget di calcolo per l'IA è stato citato come una questione etica chiave per il settore, dato il suo rischio di esacerbare il cambiamento climatico. Gli autori scrivono: “Le reti neurali […] richiedono molto tempo, hardware costoso ed energia per l'addestramento e l'implementazione.

“PonderNet […] può essere utilizzato per ridurre la quantità di calcolo ed energia al momento dell'inferenza , il che lo rende particolarmente adatto per piattaforme con risorse limitate come i telefoni cellulari.”

Gli autori suggeriscono anche in modo interessante che PonderNet porta l'apprendimento automatico nella direzione di “comportarsi più come algoritmi e meno come mappature “piatte”. Questo cambiamento potrebbe “aiutare a sviluppare i metodi di deep learning per il loro pieno potenziale”, sostengono, in modo un po' criptico.

Per quanto promettente possa sembrare PonderNet, non dovresti essere fuorviato dal nome. Questo non è un vero meditare. Il dizionario Merriam Webster definisce la parola ponder come “pesare nella mente”. Vengono offerte anche le definizioni “riflettere” e “pensare”.

Qualunque cosa accada agli umani quando fanno queste cose, non sembra implicare una funzione di costo da ottimizzare. Né un essere umano soppesa la probabilità di successo quando riflette, almeno non nel modo in cui un programma può essere fatto per farlo.

Certo, qualcuno potrebbe entrare nella stanza, vederti alla tua scrivania, immerso nei tuoi pensieri, e chiederti, un po' esasperato, “stai ancora pensando a questo?” Altre persone attribuiscono una funzione di costo e calcolano la probabilità che tu stia sprecando il tuo tempo. Il meditatore riflette e basta.

Il poeta Edgar Allan Poe ha catturato alcune delle misteriose qualità dell'atto di ponderare – una cosa che è molto più un'esperienza che un processo, una cosa senza traccia di ottimizzazione – nella linea di apertura del suo poesia The Raven: “C'era una volta a mezzanotte triste, mentre riflettevo, debole e stanco.”

da leggere

Ethics of AI: benefici e rischi dell'intelligenza artificiale

Etica dell'IA: vantaggi e rischi dell'intelligenza artificiale

La scala crescente dell'IA sta alzando la posta in gioco per importanti questioni etiche.

Ulteriori informazioni

Argomenti correlati:

Developer Digital Transformation CXO Internet of Things Innovation Enterprise Software Tiernan Ray

Di Tiernan Ray | 13 agosto 2021 — 14:31 GMT (15:31 BST) | Argomento: Intelligenza artificiale