Utilizzo dei Computer Analogici nell’Intelligenza Artificiale (IA)

Computer Analogici nell'IA

I calcolatori analogici sono una classe di dispositivi in cui grandezze fisiche come la tensione elettrica, i movimenti meccanici o la pressione dei fluidi sono rappresentate in modo che siano analoghe alla quantità corrispondente nel problema da risolvere.

Ecco un semplice esempio di un calcolatore analogico.

Fonte: https://www.youtube.com/watch?v=IgF3OX8nT0w&t=763s 

Se giriamo le ruote bianche e nere di una certa quantità, la ruota grigia mostra la somma delle due rotazioni.

Uno dei primi calcolatori analogici fu il Meccanismo di Antikythera, costruito intorno al 100-200 a.C. Coinvolgeva una serie di ingranaggi di bronzo interconnessi in modo tale che il movimento di certi quadranti fosse analogo al movimento del sole e della luna. Era anche in grado di prevedere eclissi decenni in anticipo.

  Fonte: https://arstechnica.com/science/2021/03/scientists-solve-another-piece-of-the-puzzling-antikythera-mechanism/

Vantaggi e svantaggi dei calcolatori analogici

Per aggiungere due numeri a otto bit, sono necessari circa 50 transistor. Con un calcolatore analogico, invece, possiamo sommare due correnti semplicemente collegando due fili. Allo stesso modo, per moltiplicare due numeri, ci servono migliaia di transistor. Al contrario, possiamo far passare una corrente (I Ampere) attraverso una resistenza (R Ohm), e la caduta di potenziale tra le due estremità del filo sarebbe I*R, cioè il prodotto dei due numeri.

I calcolatori analogici sono potenti, veloci ed efficienti dal punto di vista energetico. Tuttavia, i calcolatori digitali li hanno sostituiti perché sono monouso e imprecisi, e poiché gli input sono continui, è difficile ripetere esattamente il processo.

Calcolatori analogici e intelligenza artificiale.

Nell’IA, i calcolatori analogici venivano utilizzati per varie attività, tra cui il riconoscimento di pattern, la presa di decisioni e il controllo. Ad esempio, venivano utilizzati per addestrare reti neurali, che sono modelli di apprendimento automatico ispirati alla struttura e alla funzione del cervello umano. I calcolatori analogici venivano anche utilizzati per implementare sistemi di intelligenza artificiale basati su regole che utilizzano regole specifiche per prendere decisioni o intraprendere azioni.

Nonostante il loro ampio utilizzo in passato, i calcolatori analogici non sono più comuni nell’IA e nell’apprendimento automatico, principalmente a causa dell’avvento dei calcolatori digitali. I calcolatori digitali sono molto più veloci e affidabili dei calcolatori analogici e possono memorizzare e elaborare quantità di dati molto più grandi. Inoltre, i calcolatori digitali sono più facili da programmare e mantenere, il che li ha resi la scelta preferita per la maggior parte delle applicazioni di IA e di apprendimento automatico.

L’aumento dell’uso dei calcolatori analogici nell’IA

C’è una tendenza crescente verso l’uso di reti neurali sempre più grandi nelle applicazioni di apprendimento automatico e intelligenza artificiale. Questa tendenza è guidata dalla necessità di migliorare le prestazioni su compiti sempre più complessi e dalla disponibilità di dati, hardware e algoritmi per supportare l’addestramento di reti più grandi. Tuttavia, ci sono determinate sfide associate a questa crescente domanda.

  • Allenare una grande rete neurale richiede una quantità di energia equivalente al consumo medio annuo di circa tre famiglie.
  • Ogni computer moderno memorizza i dati in memoria e li accede quando necessario. Ma quando le reti neurali richiedono enormi moltiplicazioni di matrici, la maggior parte dell’energia viene impiegata nel recupero del valore dei pesi anziché nell’esecuzione dei calcoli.
  • Secondo la legge di Moore, il numero di transistor su un chip raddoppia tradizionalmente ogni due anni. Tuttavia, ci stiamo avvicinando al punto in cui la dimensione di un transistor si avvicina alla dimensione di un atomo, il che presenta notevoli sfide fisiche per ulteriori miniaturizzazioni.

All’avvicinarsi dei limiti dei computer digitali, le reti neurali hanno guadagnato una popolarità diffusa, con gran parte delle loro funzionalità incentrate sulla moltiplicazione di matrici. Inoltre, le reti neurali non richiedono calcoli precisi come i computer digitali, poiché una confidenza del 98% o del 95% nella classificazione di un’immagine come cane è sufficiente. Questi fattori offrono un’opportunità ideale per i computer analogici di assumere un ruolo molto più importante nell’IA.

Studio di caso: Mythic AI

Mythic AI è una startup di calcolo analogico che crea chip analogici per eseguire reti neurali. Diversi algoritmi di intelligenza artificiale, come il rilevamento del movimento, la stima della profondità, la classificazione degli oggetti, ecc., vengono eseguiti nel dominio analogico.

Mythic ha modificato le celle di memoria flash digitali per rendere ciò possibile. Queste celle sono tipicamente utilizzate per la memorizzazione dei dati e possono contenere uno o zero. L’applicazione di una tensione positiva al gate di controllo consente agli elettroni di passare attraverso una barriera isolante e di rimanere intrappolati sul gate galleggiante. La tensione può quindi essere rimossa e gli elettroni rimarranno sul gate galleggiante per molto tempo, impedendo il passaggio di corrente attraverso la cella.

Fonte: https://www.youtube.com/watch?v=GVsUOuSjvcg&t=1128s

Il valore memorizzato può essere determinato applicando una piccola tensione. Se ci sono elettroni sul gate galleggiante, non passerà corrente, indicando uno zero. Se non ci sono elettroni, invece, passerà corrente, indicando un uno.

Fonte: https://www.youtube.com/watch?v=GVsUOuSjvcg&t=1128s

L’idea di Mythic è utilizzare queste celle non come interruttori on/off, ma come resistenze variabili. Fanno ciò mettendo un numero specifico di elettroni su ciascun gate galleggiante anziché tutto o niente. Maggiore è il numero di elettroni, maggiore è la resistenza del canale. Applicando una piccola tensione, la corrente che fluisce è uguale a V/R. Ma è anche possibile pensare a questo come tensione per conduttanza, dove la conduttanza è semplicemente il reciproco della resistenza. Quindi una singola cella flash può essere utilizzata per moltiplicare due valori insieme, tensione per conduttanza.

Per utilizzare ciò per eseguire una rete neurale artificiale, prima scrivono tutti i pesi nelle celle flash come conduttanza di ciascuna cella. Successivamente, inseriscono i valori di attivazione come tensione sulle celle. E la corrente risultante è il prodotto di tensione per conduttanza, che è attivazione per peso. Le celle sono collegate in modo che la corrente di ogni moltiplicazione si sommi, completando la moltiplicazione di matrici.

Fonte: https://www.youtube.com/watch?v=GVsUOuSjvcg&t=1128s

Il loro chip può eseguire 25 trilioni di operazioni matematiche al secondo con un consumo di soli 3W di potenza. Al contrario, i nuovi sistemi digitali possono eseguire da 20 a 100 trilioni di operazioni matematiche al secondo, ma sono costosi (migliaia di dollari) e consumano da 50 a 100W di potenza.

Sono state avanzate proposte per utilizzare circuiti analogici negli altoparlanti intelligenti per il rilevamento di parole di attivazione come “Alexa” o “Siri”. Questo approccio richiederebbe meno potenza e permetterebbe l’attivazione rapida e affidabile dei circuiti digitali nel dispositivo.

In sintesi, non è certo se i computer analogici diventeranno altrettanto diffusi dei computer digitali. Tuttavia, sono più adatti a una varietà di compiti attuali che vogliamo che i computer eseguano, e forse potremmo far sì che le macchine raggiungano una vera intelligenza attraverso la potenza dell’analogico.