GNN al Contrario: Svelato il Segreto per Creare Molecole su Misura!
Ciao a tutti, appassionati di scienza e scoperte! Oggi voglio parlarvi di una cosa che mi sta particolarmente a cuore e che, credetemi, ha del rivoluzionario. Immaginate di poter disegnare molecole come fareste con un programma di grafica, specificando le proprietà che desiderate, e vederle materializzarsi. Fantascienza? Non proprio! Stiamo parlando di come stiamo riuscendo a usare i predittori di proprietà basati su Reti Neurali Grafiche (GNN) come veri e propri generatori di molecole. Sì, avete capito bene: invece di dare una molecola alla GNN per farci dire le sue proprietà, le diciamo le proprietà che vogliamo e lei ci “disegna” la molecola!
Il Sogno di Ogni Scienziato dei Materiali
Da sempre, uno degli obiettivi principali nella scienza dei materiali computazionale è quello di scovare rapidamente strutture e composizioni materiali promettenti, con caratteristiche specifiche, per dare una mano ai nostri colleghi sperimentali e ai laboratori automatizzati. Pensate a campi come la farmaceutica o i materiali per l’energia e la sostenibilità: lì il tempo è oro! Per decenni, ci siamo affidati a database enormi e calcoli complessi (come la teoria del funzionale della densità, o DFT) per scoprire nuovi materiali. Metodi efficaci, certo, ma con due grossi limiti: sono lenti e costosi, e coprono solo una piccola fetta dell’universo di materiali possibili.
L’Intelligenza Artificiale ci Dà una Mano (ma con qualche Trucco)
Qui entra in gioco l’apprendimento automatico (ML). I modelli di ML, e in particolare le GNN, sono diventati strumenti potentissimi per predire le proprietà dei materiali, spesso con un’accuratezza che rivaleggia con quella della DFT, ma in una frazione del tempo. Il problema? Anche i migliori modelli di ML a volte faticano a generalizzare: vanno alla grande sui dati simili a quelli su cui sono stati addestrati, ma tentennano un po’ quando si trovano di fronte a molecole “aliene”, mai viste prima. E se invece di predire, potessimo generare? Ecco l’idea!
Invertire la Rotta: da Predittori a Generatori
La bellezza delle reti neurali è che sono “differenziabili”. Questo termine un po’ tecnico significa, in soldoni, che possiamo capire come piccole modifiche all’input influenzino l’output. E se usassimo questa caratteristica al contrario? Invece di aggiustare i “pesi” interni della rete per migliorare le predizioni, teniamo i pesi fissi (quelli di un modello già bravo a predire!) e modifichiamo l’input – cioè la molecola stessa – per raggiungere una proprietà desiderata. È un po’ come scalare una montagna al contrario: partiamo dalla cima (la proprietà target) e cerchiamo il sentiero (la molecola) che ci porta lì. Questo approccio, a volte chiamato ascesa del gradiente o ottimizzazione dell’input, non è nuovissimo in altri campi, ma applicarlo alle GNN per le molecole è la vera svolta.
La sfida, ovviamente, è che se lasciassimo fare tutto alla matematica senza regole, potremmo ottenere grafi molecolari senza senso, che non rispettano le leggi fondamentali della chimica (come la valenza degli atomi: un carbonio non può fare cinque legami, per capirci!). Ed è qui che sta il cuore del nostro lavoro: abbiamo trovato il modo di imporre vincoli strutturali e chimici tali per cui gli input ottimizzati possano essere solo molecole valide. E la cosa fantastica è che non serve un addestramento aggiuntivo specifico per la generazione; usiamo il predittore di proprietà così com’è!
Mettiamolo alla Prova: Gap Energetici su Misura
Una delle prime cose che abbiamo provato a fare è stato generare molecole con un preciso gap energetico tra l’orbitale molecolare occupato più alto (HOMO) e quello non occupato più basso (LUMO). Questo HOMO-LUMO gap è super interessante perché è cruciale per un sacco di applicazioni, come i materiali per i diodi organici a emissione di luce (OLED), ed è abbastanza costoso da calcolare con metodi tradizionali.
Abbiamo addestrato una GNN semplice sul dataset QM9 (un database bello grosso di piccole molecole) e poi abbiamo usato la nostra procedura di “design inverso” per generare molecole con gap energetici specifici: 4.1 eV (basso), 6.8 eV (medio) e 9.3 eV (alto). E i risultati? Beh, le molecole generate dal nostro metodo, che abbiamo chiamato DIDgen (Direct Inverse Design generator), avevano gap energetici calcolati con DFT molto vicini ai target, con una distribuzione che si sovrapponeva poco tra i diversi obiettivi.
Abbiamo confrontato DIDgen con JANUS, un algoritmo genetico potenziato con ML, considerato allo stato dell’arte. Sapete una cosa? Il nostro approccio ha eguagliato o superato l’algoritmo genetico in quasi tutte le metriche, generando molecole “in target” in tempi paragonabili o inferiori (parliamo di secondi per molecola!) e, soprattutto, producendo un insieme di molecole significativamente più vario. E la diversità, amici miei, è fondamentale!
Ancora un Test: il Coefficiente di Partizione Ottanolo-Acqua (logP)
Non contenti, ci siamo cimentati con un’altra proprietà: il coefficiente di partizione ottanolo-acqua, o logP. Questo valore è importantissimo nella scoperta di farmaci, perché dà un’idea di come una molecola riesca a passare attraverso le membrane cellulari. La maggior parte dei farmaci commerciali ha un logP tra 0 e 5.
Abbiamo addestrato un’altra GNN, “CrippenNet”, su un sottoinsieme del dataset ZINC e su QM9, e poi via con la generazione! Abbiamo puntato a due intervalli di logP: [-2.5, -2] e [5, 5.5]. Anche qui, DIDgen ha brillato, generando le molecole più diverse rispetto a tutti gli altri metodi con cui ci siamo confrontati. E quando si tratta di tassi di successo usando un modello “proxy” (come il nostro CrippenNet) invece del modello empirico “oracolo” (più preciso ma non sempre utilizzabile per l’ottimizzazione diretta), DIDgen ha mostrato le performance più alte.
Certo, i metodi che usano direttamente l’oracolo possono avere tassi di successo maggiori, ma questo non è sorprendente. Il punto è che molte proprietà rilevanti per le applicazioni sono costose da calcolare, quindi un oracolo non è sempre disponibile o praticabile. In questi casi, un proxy ML diventa indispensabile, e la capacità di DIDgen di lavorare bene con i proxy è un enorme vantaggio.
Perché la Diversità è la Chiave del Successo?
Ve l’ho accennato prima: la diversità delle molecole generate è un asso nella manica. Perché? Semplice: quando si progetta un nuovo materiale o un farmaco, non c’è mai una sola proprietà da ottimizzare. Una molecola per un display OLED deve emettere luce di un certo colore, certo, ma deve anche essere sintetizzabile, stabile, economica, sicura, solubile… e chi più ne ha più ne metta! Generare un insieme di candidati più vario aumenta drasticamente le possibilità che almeno una di quelle molecole soddisfi tutti questi criteri, spesso non modellizzabili contemporaneamente.
Imparare dai Propri Errori (o da Quelli della GNN)
Un aspetto affascinante del nostro metodo è che, invertendo un modello predittivo, possiamo anche scoprirne i punti deboli. Ad esempio, nel compito del gap energetico, abbiamo notato che molte molecole generate per cui il modello proxy era meno accurato contenevano un legame Ossigeno-Ossigeno (O-O). Questa è un’informazione preziosissima! Significa che potremmo usare il nostro metodo in un ciclo di “active learning”: generiamo molecole, identifichiamo dove il modello fa cilecca, e poi riaddestriamo il modello su quei dati “difficili” per renderlo ancora più robusto e generalizzabile.
E a proposito di dati, per convalidare il nostro framework, abbiamo creato un dataset di 1617 nuove molecole con le loro proprietà calcolate tramite DFT. Questo dataset potrebbe essere una miniera d’oro per testare e affinare altri modelli ML addestrati, ad esempio, su QM9, perché rappresenta dati “fuori distribuzione”.
Un Metodo Flessibile e Promettente
La procedura di inversione che abbiamo sviluppato può essere applicata, in linea di principio, a qualsiasi architettura GNN che utilizzi grafi molecolari 2D (simili a quelli rappresentati dalle stringhe SMILES). Certo, richiede qualche modifica per usare una rappresentazione esplicita della matrice di adiacenza, il che potrebbe significare riaddestrare il modello. Ma per facilitare le cose, abbiamo implementato e testato il nostro approccio su 5 GNN comunemente usate (GIN, GAT, GraphSAGE, GCN, CGCNN), oltre alla nostra GNN per il gap energetico e CrippenNet. I risultati sono incoraggianti e mostrano la versatilità del metodo.
In conclusione, abbiamo dimostrato che, con un’attenta gestione dei vincoli sulla rappresentazione molecolare, un predittore di proprietà GNN può trasformarsi in un generatore condizionale diversificato, senza bisogno di ulteriore addestramento. È un’implementazione letterale del paradigma del “design inverso”: inserisci le proprietà, ottieni i materiali, andando a ritroso in una pipeline costruita per fare l’opposto. Può sembrare un approccio “ingenuo”, ma i risultati parlano chiaro: rivaleggia con modelli molto più complessi. La speranza, ovviamente, è che tutto questo possa accelerare la progettazione e la scoperta di materiali funzionali che possano migliorare il nostro mondo. E io, da parte mia, non vedo l’ora di vedere cosa riusciremo a “inventare” dopo!
Fonte: Springer