Inventer des molécules dans l’espace latent

WikiImages / Pixabay

La découverte de nouvelles molécules est une activité importante notamment dans le domaine des médicaments. Autrefois, l’alliance de calculs complexes de mécanique quantique et de l’expérience du chimiste permettaient d’imaginer des structures que l’on pourrait synthétiser. Avec l’essor des technologies d’intelligence artificielle, et notamment des autoencodeurs variationnels, une approche nouvelle est en développement depuis deux ou trois ans. Dans cet article, nous présentons cette approche sur une molécule explosive: le TNT.

L’espace latent

Un réseau de neurones artificiel profond met en relation des données complexes avec des effets complexes. Par exemple une photo de chat sous forme graphique avec le mot ‘chat’ sous forme littéraire. Cela est possible par l’empilement de couches de neurones. Mais que se passe-t-il si au lieu de l’entraîner en lui montrant des entrées et des sorties différentes, l’entrée et la sortie sont identiques.

Apparemment, il est peu intéressant de faire prédire à un réseau de neurones ce qu’on lui a donné en entrée. Un peu comme si on lui montrait une photo de chat et qu’il vous sortait la même photo de chat, légèrement altérée. Or, ce qui nous intéresse, c’est ce qui se passe au milieu, dans les couches de neurones profonds qui correspondent à l’espace latent. Là, aucune image n’est présente, car ils contiennent une « représentation abstraite » de l’entrée.

Fin 2016, une publication intitulée « Automatic chemical design using a data-driven continuous representation of molecules » propose d’appliquer cette technique à l’élaboration automatique de molécules.

Nous avons refait cette expérience en considérant des molécules nitrées, avec toutefois moins de succès que ce que présente la publication. Malgré cela les résultats sont intéressants et laissent augurer des développements possibles, ainsi qu’une réflexion stratégique sur ce qui va immanquablement se produire: une révolution technologique majeure.

Exemple du TNT

Le TNT est une molécule aromatique nitrée bien connue et emblématique. Pour interroger le réseau de neurones, il est nécessaire de représenter cette molécule sous une forme alphabétique appelée SMILES. Dans notre cas, ce SMILES, disponible dans les bases de données, est la forme ‘CC1=C(C=C(C=C1[N+](=O)[O-])[N+](=O)[O-])[N+](=O)[O-]’.

Après que cette forme ait été soumise au réseau de neurones, nous récupérons à l’intérieur de l’espace latent un vecteur de 292 dimensions:

[-.17 -.07 .12 -.04 -.01 -.05 -.08 -.08 -.05 -.20 -.14 -.04 .03 -.07 -.18 .24 -.08 .02 -.01 -.08 .20 -.20 -.02 -.07 -.19 -.05 .16 -.15 -.37 .26 -.11 -.07 -.11 -.00 -.15 -.10 .01 .25 -.07 -.04 .01 .04 .24 .13 .17 .01 .22 .15 .21 .15 .02 .03 -.18 .13 .00 .16 .16 .09 -.06 -.15 -.02 -.08 -.24 -.15 .01 -.30 -.15 .13 .00 -.08 .29 -.19 .05 -.15 .10 -.16 .13 .25 -.03 -.16 -.25 -.17 -.04 .08 .10 -.13 -.31 -.02 .05 -.11 -.34 -.08 -.16 -.28 -.14 .19 .01 -.03 -.02 .06 .09 .06 .08 .06 .07 .05 -.16 -.04 -.28 -.08 .07 .13 .17 -.06 .23 .10 -.11 -.03 -.07 .05 -.04 .08 .10 .17 .01 -.11 -.13 -.10 .08 .29 -.12 .08 .05 .20 -.08 .02 .13 -.09 -.17 -.09 .16 -.12 .12 .11 .07 .13 -.16 -.06 -.02 .14 .17 .11 -.18 -.29 -.14 -.08 -.16 -.03 .02 -.03 -.09 -.02 -.12 .08 -.20 -.24 -.28 .06 .05 .00 .00 .06 -.03 -.09 .15 -.06 .06 -.20 -.11 -.27 .00 -.13 .06 -.03 .12 -.18 -.02 .05 .02 -.20 -.07 -.02 .09 -.10 .17 .06 .06 .06 .01 .07 -.05 .27 .27 -.21 -.03 .06 .01 .05 -.09 -.02 -.04 -.44 .18 .04 -.22 -.25 -.10 .17 .07 .09 -.14 .12 .17 -.03 .06 .13 -.23 .04 -.04 .02 .01 -.14 .15 .19 .01 -.14 -.12 .05 .00 .06 .20 -.01 .14 -.15 .17 .03 .03 .05 -.04 .00 .05 .22 .06 .04 .12 -.12 .01 -.11 -.09 -.08 .20 -.02 .09 -.09 -.20 -.04 .05 -.16 .25 -.10 .21 -.04 -.00 .22 -.07 -.19 .06 -.18 -.15 -.15 .09 -.20 -.12 .10 -.07 -.03 -.07 .01 .12 .20 .29 -.26 ] 

Ce vecteur est une représentation abstraite de la molécule. Logiquement, si on refait passer ce vecteur dans le réseau de neurones, pour continuer le processus, on devrait retrouver la représentation de la molécule.

Ce n’est pas tout à fait le cas:

Forme originale Forme restaurée
CC1=C(C=C(C=C1[N+](=O)[O-])[N+](=O)[O-])[N+](=O)[O-] C1=CC(=CCC=C1[N+](=O)[O-])[N+](=O)[O-])[N+](=O)[O-]

Bien que très proches, ces deux formes sont légèrement différentes (le SMILES restauré est même syntaxiquement faux). L’apprentissage du réseau de neurones donnait une précision de 99%. Toutefois, les autoencodeurs sont de mauvais compresseurs de données. En simplifiant la représentation de la molécule, on perd donc en précision. Mais ils ont bien d’autres avantages qui compensent leur inefficacité en stockage de données.

Inventer des molécules

Les autoencodeurs ont de multiples applications dans le domaine de la créativité. Dans un article récent, nous en présentions une appliquée aux brevets.

En fait les vecteurs imprécis du l’espace latent présentent des propriétés intéressantes d’addition et plus généralement de représentation de l’espace de connaissance. Ainsi, il est possible de rechercher quelles molécules plausibles existent à proximité de notre molécule de référence:

Structures proches du TNT dans l'espace latent
SMILES
C\\C1C(C=N\\C=N\\[N+](=O)[O-])[O+]C(=O)NCC1[N+](=O)[O-]
COC1CC(=C(C(C1)NCP(=O)[O-])NCCP(=O)[O-])[S+](=O)[O-]
CC1=C(N=C(C=C1[N+](=O)[O-])[N+](=O)[O-])[N+](=O)[O-]
CC1=CC(=C(CCC1[N+](=O)[O-])[N+](=O)[O-])[N+](=O)[O-]
CC1=C(N=C(CSC1[S+](=O)[O-])[N+](=O)[O-])[N+](=O)[O-]
CC1=C(N=C(C=C1[N+](=O)[O-])[N+](=O)[O-])[N+](=O)[O-]
NC1=C(C=NC(=C1[N+](=O)[O-])[N+](=O)[O-])[N+](=O)[O-]
CCC1(\\N=CC(CC1[N+](=O)[O-])[N+](=O)[O-])[N+](=O)[O-]
CCOC1(N=C(CCN1[N+](=O)[O-])[N+](=O)[O-])[N+](=O)[O-]
CC1=NC(=C(CCN1[N+](=O)[O-])[N+](=O)[O-])CNCC(=O)[O-]
CC1=C(N=C(C=C1[N+](=O)NCCC)[N+](=O)[O-])[N+](=O)[O-]
NC1=NCC(C(CNC1[N+](=O)[O-])[N+](=O)[O-])[N+](=O)[O-]
CC1=C(C(=NC=C1[N+](=O)[O-])[N+](=O)[O-])[S+](=O)[O-]
CC1=CCN=C(N(C1[S+](=O)[O-])[N+](=O)[O-])[N+](O)[N-]
CC1=CC(=C(CCC1[S+](=O)[O-])[N+](=O)[O-])[N+](=O)[O-]
CC1=C(N=C(C=C1[N+](=N)[O-])[N+](=O)[O-])[N+](=O)[O-]

Il est également possible d’imaginer des chemins entre deux molécules et ainsi générer des idées de synthèse, même si cette approche n’est pas la plus prometteuse actuellement.

Conclusion

L’objet de cet article n’est pas d’expliquer « comment » faire mais « pourquoi » faire. Comme souvent, les outils d’intelligence artificielle sont d’autant plus performants qu’ils sont mis en œuvre en collaboration entre humain et machine. Les autoencodeurs demeurent aujourd’hui un des meilleurs vecteurs de « creativity enhancement », surtout s’ils sont associés à la prédiction de propriétés physiques, chimiques ou pharmacologiques.

Un des points perturbant les scientifiques est la nature proprement scandaleuse de l’efficacité de ces technologies alors qu’elles ne reposent sur aucune connaissance ni savoir du domaine qu’elles décrivent. Alors que le chercheur qui souhaite travailler à la découverte de molécules nouvelles pour une application donnée doit utiliser des logiciels (MOPAC,GAUSSIAN) qui approchent les complexes équations de la mécanique quantique, les réseaux de neurones en ignorent tout, mais sont tout de même capables de prédire des candidats, et cela à très bas coût.

D’un point de vue stratégique, cela implique plusieurs points clefs pour l’industrie chimique:

  1. De nouveaux entrants, éventuellement des non-chimistes ou des non-pharmaciens, peuvent inventer des molécules et conquérir des marchés. IBM, qui a d’intéressantes actions dans ce domaine, pourrait-il devenir un producteur de médicaments à haute valeur ajoutée? De nombreuses startups sont sur ce créneau, telle que HEALX. Des milliards de dollars s’investissent en ce moment même et il est évident que le prochain antibiotique ou le prochain antinflammatoire aura été conçu par une IA.
  2. Il y a quelques années, un « moment imagenet » s’est produit. Un réseau de neurones disponible pour tout le monde et capable de comprendre les images et les vidéos est apparu. Il a déclenché de multiples applications: reconnaissance des cancers, analyse des expressions … Au moment où cet article est écrit, fin 2018, un moment imagenet pour le texte est en train d’advenir, notamment autour des technologies ELMO. Le moment imagenet de la chimie est probablement pour dans quelques mois et cela va changer considérablement ce secteur industriel.
  3. La chimie sera probablement un des domaines dans lequel l’hybridation entre humain et IA sera efficace. La chimie est le domaine par excellence de la complexité et se prête particulièrement bien à ces collaborations.

Au-delà de l’industrie chimique, les autoencodeurs nous réservent sans doute, avec les GAN, bien des surprises. Si ce n’est déjà fait, il est temps de préparer votre roadmap IA.

 

Pour ce projet, nous avons utilisé les modules RDKIT et KERAS.

Télécharger cet article au format PDF ou ePub

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.