J.A.R.V.I.S

Facebook AI: un traduttore automatico di matematica

FacebookAI è il gruppo di ricerca di intelligenza artificiale dell’azienda Facebook che si occupa dello sviluppo di sistemi con un livello di intelligenza “umano”.

I loro primi lavori risalgono al 2009 con 3 pubblicazioni:

  • Hive: un framework per la riduzione delle mappe.
  • Feed Me: per valutare l’esperienza degli utenti nelle prime 2 settimane successive all’iscrizione nel social network.
  • Gesundheit!: per lo studio delle catene di diffusione attraverso il social network Facebook.

Col tempo la loro attività di ricerca si è ampliata verso il deep learning, computer vision, l’elaborazione del linguaggio naturale, del parlato e del ragionamento. Queste tecniche sono utilizzate nelle ricerche teoriche, studi di algoritmi, applicazioni, infrastrutture software e hardware.

Matematica e reti neurali

Per risolvere le equazioni il gruppo di ricerca ha sviluppato un modo di rappresentarle come se fosse un linguaggio naturale. Per la rete neurale è stato quindi un problema di traduzione da sequenza a sequenza (seq2seq). Il sistema sviluppato è in grado di risolvere problemi di ingrazione ed equazioni differenziali di primo e secondo ordine.

Con l’approccio della traduzione matematica come se fosse una nuova lingua, utilizzando le tecniche di traduzione automatica neurale (NMT). Per applicare questa tecnica è stato però necessario suddividere l’espressione matematica con regole grammaticali e sintattiche e generare un dataset di oltre 100 milioni di equazioni con relative soluzioni.

Esempio di traduzione tra due lingue

Alcuni dettagli implementativi

I sistemi NMT, come Google Translate, lavorano con modelli da sequenza a sequenza. Il loro input è infatti una serie di parole (una sequenza) in una certa lingua che, dopo un’appropriata elaborazione, è trasformato in un’altra sequenza (frase) in una lingua diversa.
Per applicare il metodo NMT alle espressioni matematiche è stato necessario suddividere il lavoro in due parti. Inizialmente si utilizzava una decompressione per disporre la sequenza dell’equazione in una struttura ad albero. Tale struttura è facilmente esandibile per il modello a sequenza.

Nel caso delle espressioni matematiche nelle foglie si trovano le costanti e le variabili matematiche mentre ogni nodo rappresenta una funzione o operatori colleganti i vari rami dell’albero (ovvero i vari termini dell’espressione). Effettuando un’analogia col metodo NMT applicato al linguaggio naturale, i numeri e le variabili sono i sostantivi mentre funzioni e operandi sono i verbi.
La fase successiva alla decompressione consiste nell’addestrare il modello con i vari alberi relativi agli esempi e le relative soluzioni appurate.

Dimensione del training set e lunghezza delle espressioni (in tokens) dei diversi dataset

Il dataset è stato creato dallo stesso gruppo di ricerca in un’impresa un po’ insolita. Anziché utilizzare dei problemi con le relative soluzioni, sono state create le soluzioni e successivamente cercato il rispettivo problema, applicando la logica dietro il concetto di derivata.

Utilizzando una rete neurale composta da 8 attention heads e 6 layer, si sono ottenuti grandiosi risultati con un test di 5000 espressioni. Il modello ha ottenuto un punteggio (su 100) di accuratezza pari a 99.7 nei problemi di integrazione, 94 nelle equazioni differenziali del primo ordine e 81 nelle equazioni differenziali di secondo ordine con un tempo di risposta di meno di 0.5 secondi. Tali risultati sono di gran lunga migliori rispetto ad altri sistemi di calcolo come Mathematica e Matlab.

Accuratezza del sistema Facebook (in basso) confrontato con le accuratezze di Mathematica, Matlab e Maple per integrazione, equazioni differenziali di primo e secondo ordine (prima, seconda e terza colonna rispettivamente).

Published by
Silvia Sanna