Application de l'intelligence artificielle et de l'apprentissage profond à quelques domaines de la biologie
biochimej Flux RSS

1. Préambule

2. Introduction

a. Généralités
b. Les processeurs et les puces
c. Environnements pour développer des programmes d'apprentissage profond 

3. Eléments de vocabulaire et concepts

4. Les différents types d'apprentissage en intelligence artificielle

5. Neurone artificiel : les principes de base

a. Le neurone formel - McCulloch & Pitts
b. Règle de Hebb et poids synaptique entre les neurones
c. Le Perceptron - Frank Rosenblatt

6. L'apprentissage profond ("deep-learning")

a. Introduction
b. Principe de fonctionnement et architectures des réseaux de neurones
c. Exemple d'apprentissage supervisé d'un réseau de neurones qui classe des images
 
d. Les fonctions d'activation
e. Les fonctions objectif

7. Apprentissage profond et structure des protéines

a. Apprentissage profond appliqué à la représentation statistique des protéines
b. Apprentissage profond appliqué à la prédiction de la structure des protéines
c. Cartes de distances et de contacts pour la prédiction de la structure des protéines
d. Apprentissage profond, langage naturel et prédiction de la structure des macromolécules

8. IA et données de génomique et de transcriptomique

9. IA et quelques exemples en médecine

a. Généralités
b. Découvertes de médicaments
c. Illustration : recherche de nouveaux antibiotiques

10. Apprentissage profond, langage naturel et dépense énergétique

11. Liens Internet et références bibliographiques

 

1. Préambule

L'intelligence artificielle ou IA a de multiples facettes :

  • Certaines, clairement énoncées et prouvées de longues dates, sont le support de nouvelles applications dans la vie quotidienne.
  • D'autres échappent à l'objectivité scientifique : en effet, l'intelligence artificielle est un sujet dont la société s'est emparée avec une couverture médiatique récurrente qui parfois privilégie le sensationnel à la description analytique.

Récente (dans ses applications) donc encore en gestation, mal connue des non spécialistes, l'IA fait l'objet de "fantasmes", par exemple dans le domaine de la médecine personnalisée ou de la sécurité des êtres humains (voir les mises en garde de S. Hawking, B. Gates, E. Musk et d'autres personnes).

L'IA et l'éthique

L'IA et les systèmes d'aide sont confrontés aux biais conscients et inconscients du jugement humain : les données des jeux d'entraînement, les algorithmes et certains choix conceptuels à l'origine des systèmes d'IA peuvent refléter et amplifier les préjugés et les inégalités sociales, culturelles. Il en existe des exemples : reconnaissance vocale qui n'entend pas les femmes, modèles de langage naturel qui font des associations stéréotypées, limite floue entre reconnaissance faciale dans un but de sécurité et atteinte à la vie privée…

Lorsque l'apprentissage automatique est intégré dans des systèmes sociaux complexes tels que la justice, les diagnostics de santé, les admissions académiques, l'embauche et la promotion, il peut renforcer les inégalités existantes.

Définition "simple" de l'IA

L'association des mots "intelligence" et "artificielle" est en soi un élément qui génère un débat et amène chacun à les (re)définir (en particulier, le premier).

Une vision relativement "simple" de l'IA pourrait être :

  • C'est le résultat d'un processus effectué par une machine (terme "artificielle") en suivant une logique (terme "intelligence"), toutes deux émanant de l'homme.
  • Chaque fois que la machine exécute ce processus elle enrichit son "savoir", augmentant ainsi graduellement sa capacité à effectuer de manière autonome ce processus.

biochimej Retour haut de page

2. Introduction

a. Généralités

L'IA est une science dans laquelle les modèles mathématiques et l'informatique sont omniprésents (quel que soit le domaine d'application). Dans le cas de la biologie, l'IA s'appuie largement sur les ressources et les techniques de la bioinformatique.

De plus en plus d'applications de l'IA sont développées, en particulier en robotique, en électronique, en communication et surtout dans le traitement de texte (exemple, Wikipedia ORES) et dans la reconnaissance et l'analyse d'images et de la voix (exemple, Google Duplex).

Dans les domaines liés aux sciences biomédicales, on observe une augmentation constante du nombre d'articles de recherche axés sur les applications assistées par l'IA dans des domaines tels que la découverte de médicaments, l'imagerie, le diagnostic, la génétique, la psychologie et les sciences cognitives. Les applications cliniques encourageantes de l'apprentissage automatique pour la prédiction ou le diagnostic de maladies (cancer, maladies cardiovasculaires, rénales ou troubles génétiques) permettent d'envisager un apport très significatif de l'IA.

Un nouveau journal de la série des journaux de la collection Nature a vu le jour en janvier 2019 : Nature Machine Intelligence.

Nature artificial intelligence artificielle apprentissage profond deep learning machine biochimej

Source : Nature

Certaines sources mentionnent une augmentation des investissements de plus de 17 milliards de dollars depuis 2009 qui devrait atteindre 36,8 milliards de dollars d'ici 2025.

Les principales sociétés biopharmaceutiques ont établi des collaborations avec des sociétés spécialisées dans l'IA. Par exemple :

  • Pfizer utilise le système d'apprentissage automatique IBM Watson pour ses recherches de médicaments immuno-oncologiques.
  • Sanofi utilise la plateforme d'IA de société Exscientia pour la recherche de traitements des maladies métaboliques.
  • Genentech (filiale de Roche) utilise le système d'IA de Aitia pour la recherche des traitements anti-cancéreux.

Enfin, en regard des promesses de profits et s'appuyant sur les jeux de données sans équivalent dont elles disposent, les entreprises majeures du Web se sont emparées de ce domaine et proposent, par exemple, de nombreux services d'analyse d'apprentissage profond ("deep-learning").

biochimej Retour haut de page

b. Les processeurs et les puces

Figure ci-dessous

  • Le processeur Sycamore de Google est un processeur à qubits supraconducteurs programmables qui crée des états quantiques sur 53 qubits, ce qui correspond à un espace d'états de calcul de dimension 253 (environ 1016).
  • Environ 200 secondes sont nécessaires à ce processeur pour échantillonner un million de fois une instance d'un circuit quantique. Cette vitesse spectaculaire illustre expérimentalement la puissance de l'approche quantique pour ce type de calcul spécifique.

Sycamore processeur quantique processor qubit quantum artificial intelligence artificielle apprentissage profond deep learning machine biochimej

Source : Arute et al. (2019)

  • En 2021, une équipe chinoise a publié un article décrivant un processeur quantique supraconducteur programmable bidimensionnel appelé "Zuchongzhi" composé de 66 qubits fonctionnels (Wu et al., 2021).

  • Novembre 2022 : IBM a dévoilé un processeur quantique appelé "433 qubit Osprey" composé de 433 qubits.

Figures ci-dessous : les puces informatiques neuromorphes sont censées imiter l'architecture de réseau des neurones des cerveaux biologiques.

  • La puce neurosynaptique d'IBM inspirée par le cerveau (appelée "TrueNorth") contient 1 million de neurones programmables et 256 millions de synapses programmables avec une densité de puissance de 20 milliwatts par centimètre carré.
  • Les 4 096 cœurs neurosynaptiques de cette puce englobent l'ensemble du progiciel informatique - mémoire, calcul et communication.

TrueNorth puce neuromorphe qubit ordinateur quantique cerveau neurosynaptic artificial intelligence artificielle apprentissage profond deep learning machine biochimej

Source : puce neurosynaptique de IBM

Neuromorphe neuromorphic computer  puce qubit ordinateur quantique cerveau neurosynaptic artificial intelligence artificielle apprentissage profond deep learning machine biochimej

Source : comparaison des architectures von Neumann et neuromorphe (Schuman et al., 2022).

Figure ci-dessous

  • En configurant des canaux ioniques individuels de neurones à l'état solide ("solid-state neuron") à partir d'enregistrements électrophysiologiques, la dynamique complète des neurones de l'hippocampe (zone du cerveau responsable de la mémoire) et des neurones régulant la respiration a été transférée dans une puce de silicium contenant l'équivalent de 120 neurones artificiels d'environ 100 μm.
  • Cette approche offre un moyen de réparer des biocircuits et d'imiter leur fonction avec des implants biomédicaux, notamment pour le traitement de l'insuffisance cardiaque.

puce neuromorphe solid state neuron implant chronic disease cardiaque artificial intelligence artificielle apprentissage profond deep learning machine biochimej

Source : Abu-Hassan et al. (2019) & University of Bath

biochimej Retour haut de page

c. Environnements pour développer des programmes d'apprentissage profond

De tels environnement permettent à toute personne ayant des notions de programmation dans tel ou tel langage - Python étant privilégié - d'écrire des scripts pour l'analyse de ses jeux de données.

  • Voir l'exemple du didacticiel interactif pour la création d'un réseau de neurones de convolution permettant de découvrir des motifs de liaison à l'ADN.
  • Voir un apprentissage graduel (cours en ligne) : à chaque étape sont proposés un rappel théorique, un script d'application sur des jeux de données "simples", l'affichage des résultats et leur analyse, l'utilisation de la bibliothèque libre Python "Scikit-Learn".

Certaines infrastructures logicielles ("frameworks") sont développés par les GAFAM qui obtiennent ainsi gratuitement des jeux de données d'apprentissage colossaux fournies "volontairement" par les internautes.

et sont des infrastructures logicielles ("frameworks") pour écrire des programmes dédiés à l'apprentissage machine.

  • TensorFlow (Google) : plate-forme d'apprentissage automatique distribuée à grande échelle.
  • PyTorch (Facebook) : cadre d'apprentissage automatique pour la transition du prototypage en recherche à la production.
  • OpenAI (énorme investissement de Microsoft) : société de recherche et de développement d'intelligence artificielle.
  • Les GAFAM sont les plus gros acquéreurs d'entreprises impliquées dans le développement d'IA.

biochimej Retour haut de page

3. Eléments de vocabulaire et concepts

Réseau de neurones ("neural network") : modèle qui contient au moins une couche dite "cachée". Un réseau de neurones profond contient plusieurs couche cachées.

Neurone artificiel ("artificial neuron") : fonction mathématique simple qui prend en entrée un vecteur de valeurs réelles et calcule la moyenne pondérée de ces valeurs suivie d'une transformation non linéaire.

Poids ("weight") : ce sont les paramètres du neurone qui pondèrent les valeurs.

  • L'étape d'apprentissage ("training") permet de déterminer les valeurs des poids optimaux d'un modèle.
  • L'étape d'inférence ("inference") utilise ces valeurs de poids apprises pour effectuer une prédiction.

Apprentissage profond ("deep learning") : réseaux de neurones avec plusieurs couches de neurones artificiels. La sortie d'une couche (la sortie d'un neurone) est introduite en entrée dans la couche suivante (un autre neurone) pour obtenir une plus grande flexibilité.

  • Réseau de neurones "feed-forward" : classe de réseaux de neurones la plus flexible, dans laquelle chaque neurone peut avoir des poids arbitraires.
  • Réseau de neurones convolutifs ("Convolutional Neural Network", CNN) : classe de réseaux de neurones dans laquelle des groupes de neurones artificiels sont examinés à travers la matrice d'entrée pour identifier des modèles invariants.
  • Réseau de neurones récurrent ("Recurrent Neural Network", RNN) : architecture de réseaux de neurones avec des cycles pouvant traiter des entrées de différentes longueurs.
  • Mémoire à court et long terme ("Long-Short Term Memory", LSTM) : architecture de RNN qui peut traiter des données ponctuelles uniques (par exemple une image) et des séquences complètes de données (par exemple la parole ou la vidéo).

Validation croisée : stratégie d'apprentissage automatique où l'ensemble des données est fractionné plusieurs fois en jeux de données d'entraînement ("training dataset") et de validation. La performance de validation moyenne des multiples groupes est utilisée pour sélectionner le modèle final.

Rétro-propagation ("back propagation") : algorithme pour former un réseau de neurones en mettant à jour ses paramètres (ses poids) en utilisant la dérivée de la performance du réseau par rapport aux paramètres.

Fonction de regroupement ("pooling") : elle substitue la valeur de sortie d'un réseau à un endroit donné par une valeur statistique des sorties voisines (le plus souvent la valeur maximale, moyenne et médiane).

Auto-encodeur : classe de réseaux de neurones qui effectue une réduction de dimensionnalité non linéaire.

Sur-ajustement ("overfitting") : le modèle correspond à l'ensemble d'apprentissage mais n'est pas généralisable aux données non montrées. C'est souvent le cas des modèles flexibles avec de nombreux paramètres libres contrairement à ceux qui ont moins de paramètres que le jeu de données d'apprentissage.

Filtres : ce sont les paramètres d'une couche convolutive ("convolutional layer"). Dans la première couche d'un réseau convolutif de séquences (de nucléotides par exemple), elles peuvent être interprétées comme des matrices de pondération de position de ces nucléotides.

Fonction d'activation : fonction mathématique qui calcule la valeur de sortie d'un neurone artificiel.

Fonction sigmoïde : exemple d'une fonction d'activation de certains réseaux de neurones. Elle permet la conversion de valeurs brutes issues d'une régression logistique ou multinomiale en probabilité.

Transformateur ("transformer") : modèle d'apprentissage profond qui utilise le processus d'auto-attention. Ce type de modèle pondère différemment l'importance de différentes parties des données en entrée : il améliore ainsi certaines parties et en diminue d'autres. Il est trés utilisé dans le traitement du langage naturel (exemple : ProteinBERT).

Voir un glossaire très complet du "Machine learning".

biochimej Retour haut de page

4. Les différents types d'apprentissage en intelligence artificielle

Intelligence artificielle : discipline scientifique qui tire ses racines principalement de la philosophie, de la psychologie, des mathématiques et de l'informatique et qui vise à comprendre et à développer des systèmes affichant les "propriétés de l'intelligence".

Artificial intelligence artificielle apprentissage profond deep learning machine supervised reseau neurone neural network convolutional natural language langage naturel biochimej

Apprentissage machine ("machine learning") : sous-discipline de l'IA où des algorithmes apprennent des associations à partir de jeux de données qui leur servent de jeux de données d'apprentissage.

Artificial intelligence artificielle apprentissage profond deep learning machine supervised reseau neurone neural network convolutional natural language langage naturel biochimej

Source : Walsh et al. (2021)

Apprentissage profond ("machine learning") : il repose sur plusieurs couches de représentation de très grands jeux de données avec des transformations successives.

  • Ces transformations amplifient les caractéristiques des données en entrée qui les discriminent et atténuent leurs variations.
  • L'apprentissage profond peut être supervisé ou non supervisé.

Apprentissage automatique : apprentissage supervisé, apprentissage non supervisé et apprentissage par renforcement.

Artificial intelligence artificielle apprentissage profond deep learning machine supervised reseau neurone neural network convolutional natural language langage naturel biochimej

Source : Sapoval et al. (2022)

Quelques théoriciens de l'apprentissage automatique :

  • David McKay : du point de vue de la théorie de l'information.
  • Chris Bishop : du point de vue bayésien.
  • Jerry Friedman, Trevor Hastie et Rob Tibshirani : du point de vue statistique.
  • Simon Haykin : du point de vue du traitement du signal.
  • Peter Dayan et Larry Abbott : appliqué aux neurosciences.

Apprentissage par renforcement ("reinforcement learning") : le système apprenant est dans un environnement donné et il apprend à prendre des décisions, de manière autonome, à partir des expériences antérieures afin d'optimiser une récompense quantitative qui évolue.

Apprentissage supervisé ("supervised learning") : programme d'apprentissage des associations entre les données en entrée et en sortie par l'analyse des sorties qui présentent un intérêt défini par un superviseur (généralement humain). C'est l'un des domaines prépondérant de l'apprentissage automatique avec de nombreuses applications dans le domaine de la santé.

Exemple d'apprentissage supervisé : créer un système qui reconnaisse et classe des images contenant une maison, une voiture ou un animal.

  • 1ère étape : créer un grand jeu de données de ce type d'images. Chaque image est associée à une indication de la catégorie à laquelle elle appartient.
  • 2ème étape - la formation / l'entraînement ("training") : une image est "montrée à la machine", ce qui produit un résultat sous forme d'un vecteur de scores pour chaque catégorie. La catégorie de l'image considérée doit obtenir le score le plus élevé (peu probable avant l'entraînement).
  • 3ème étape : calcul d'une fonction objectif (moyennée sur tous les éléments du jeu d'apprentissage) qui mesure la distance (l'erreur) entre ces scores de sortie et le modèle de scores souhaité. La machine (l'algorithme / le programme) modifie ensuite ses paramètres ajustables internes pour minimiser cette distance.

Ces paramètres ajustables (appelés poids) sont des nombres réels : il peut y avoir des centaines de millions de catégories et de poids ajustables à partir desquels la machine (l'algorithme / le programme) est entrainée.

Pour ajuster correctement le vecteur de poids, l'algorithme d'apprentissage calcule un vecteur de gradient qui, pour chaque poids, indique de quelle valeur augmente ou diminue l'erreur si le poids est légèrement modifié. Le vecteur de poids est ensuite ajusté dans la direction opposée au vecteur de gradient.

Apprentissage non supervisé ("unsupervised learning") : programme qui apprend les associations à partir de jeux de données sans qu'on lui fournisse de définition de ces associations. L'apprentissage non supervisé est capable d'identifier des prédicteurs inconnus.

Voir un glossaire très complet du "Machine learning".

biochimej Retour haut de page

5. Neurone artificiel : les principes de base

a. Le neurone formel - McCulloch & Pitts

L'article fondateur de la théorie de neurone formel a été publié en 1943 par le neurophysiologiste Warren McCulloch (neurophysiologiste) et le logicien Walter Pitts.

L'activité de ce neurone formel suit la loi de "tout ou rien" (Edgar Adrian, Prix Nobel de physiologie ou médecine en 1932) : la force avec laquelle un nerf répond à un stimulus est indépendante de la force de ce stimulus.

Ce comportement est parfaitement compatible avec une logique binaire puisque :

  • Si le stimulus dépasse un potentiel seuil, la fibre nerveuse répond, sinon, il n'y a pas de réponse.
  • Le neurone est donc un système à seuil activé si la somme des signaux d'entrée dépasse ce seuil.
  • Il existe 2 types de connexions synaptiques : activatrice ou inhibitrice.

Artificial intelligence artificielle apprentissage profond deep learning machine reseau neurone neural network fonction activation inhibition layer couche perceptron binaire biochimej

  • Ensemble des activations en entrée : [ax = 1 à j] avec des valeurs 0 ou 1
  • Ensemble des inhibitions en entrée : [iy = 1 à k] avec des valeurs 0 ou 1

Le signal de sortie est une fonction de (ax, iy) :

  • f(ax, iy) = signe [∑x = 1 à j (ax - seuil)] si ∑y = 1 à k iy = 0
  • f(ax, iy) = 0 si ∑y = 1 à k iy ≠ 0

biochimej Retour haut de page

b. Règle de Hebb et poids synaptique entre les neurones

Le neuropsychologue Donald Hebb a mis en évidence l'effet du couplage entre synapses dans le processus d'apprentissage.

Règle de Hebb ("A neurophysiological postulate", p 62, 1949) : "Lorsqu'un axone de la cellule A est suffisamment proche pour exciter une cellule B et qu'elle participe de manière répétée ou persistante au déclenchement de B, un processus de croissance ou un changement métabolique a lieu dans l'une ou dans les deux cellules, de sorte que l'efficacité de A à déclencher B est augmentée."

En ce qui concerne les neurones artificiels, la règle de Hebb permet de déterminer comment modifier les poids entre 2 neurones (neurone j -> neurone i) : Δwi,j = xi.yj

  • Le paramètre wi,j est le poids synaptique de la connexion entre le neurone j (activité yj) en entrée et le neurone i (activité xi) en sortie.
  • Le poids augmente si les 2 neurones s'activent simultanément et il diminue s'ils s'activent séparément.

La règle d'apprentissage la plus simple est : wi,j(t+1) = wi,j(t) + η.xi(t).yj(t)

  • wi,j(t) est le poids synaptique de la connexion entre le neurone j et le neurone i à l'instant t
  • η est le taux d'apprentissage ou pas d'apprentissage. Sa valeur est entre 0 et 1 et on la fait souvent varier au cours de l'apprentissage.

Si on initialise les poids à 0 et le pas d'apprentissage à 1, après k exemples d'apprentissage on obtient : wi,j = ∑k xi,k.yj,k

biochimej Retour haut de page

c. Le Perceptron - Frank Rosenblatt

C'est le premier modèle de réseau capable d'apprendre. Il a été créé en 1958 par le psychologue Frank Rosenblatt.

L'organisation d'un photoperceptron (Perceptron répondant à des motifs optiques sous forme de stimuli) est la suivante :

Artificial intelligence artificielle apprentissage profond deep learning machine supervised reseau neurone neural network convolutional natural language langage naturel biochimej

Source : Rosenblatt, F. (1958)

  • a. Les stimuli touchent la rétine des unités sensorielles ("S-points") supposées avoir une réponse "tout ou rien" dans certains modèles ou avoir une réponse avec une amplitude ou une fréquence proportionnelle à l'intensité du stimulus dans d'autres modèles.
  • b. Les impulsions sont transmises à un ensemble de cellules d'association ("A-units") dans une "zone de projection" (AI). Cette zone de projection peut être omise dans les modèles où la rétine est connectée directement à la zone d'association (AII).
  • c. Des unités de réponse ("R-units") (cellules ou ensemble de cellules) engendrent un signal de sortie (une réponse). Les "R-units" sont des entités binaires : "on" / "off" ou "neutre" en absence de signal et dans ce cas le système ne délivre aucune sortie.
  • d. Les connexions vont des "S-points" vers les "A-units" puis vers les "R-units". Les poids synaptiques des "S-points" vers les "A-units" sont fixes et ceux des "A-units" vers les "R-units" peuvent varier dans le temps.

Les "A-units" et les "R-units" sont des neurones formels de type McCulloch – Pitts mais leurs synapses sont variables et s'adaptent en conséquence selon la règle de Hebb.

Cependant la règle de Hebb :

  • Renforce les poids synaptiques, ce qui induit des gains élevés.
  • Ne tient pas compte de la différence entre les valeurs de sortie souhaitées (xs) et les valeurs de sortie réelles (xi).

Le Perceptron est constitué :

  • d'une couche d'entrée contenant n neurones avec une fonction d'activation linéaire
  • d'une couche de sortie contenant 1 ou plusieurs neurones avec une fonction d'activation "plus ou moins" ou "tout ou rien"

La règle du Perceptron est : wi,j(t+1) = wi,j(t) + η.(xs - xi(t)).yj

Voir : "19-line Line-by-line Python Perceptron".

biochimej Retour haut de page

d. Théories et modèles plus récents

De nombreuses théories ont ensuite été développées (essentiellement à partir des années 1980). Elles ont aboutit à des règles ou des modèles qui décrivent les propriétés des différents types d'apprentissage (supervisé, non supervisé, ...).

Par exemple :

chronology artificial intelligence artificielle apprentissage profond deep learning machine supervised reseau neurone neural network convolutional biochimej

Source : "Bioengineering Community" (Nature)

biochimej Retour haut de page

6. L'apprentissage profond ("deep-learning")

a. Introduction

L'apprentissage profond permet aux modèles informatiques composés de plusieurs couches de traitement d'apprendre des représentations des données avec plusieurs niveaux d'abstraction.

L'apprentissage profond permet de découvrir des "structures complexes" au sein de grands ensembles de données en utilisant la rétro-propagation (par exemple) qui dicte à la machine comment celle-ci doit modifier ses paramètres internes pour calculer la représentation de chaque couche à partir de la représentation de la couche précédente.

Figure ci-dessous : chronologie du développement des algorithmes d'apprentissage profond et d'apprentissage automatique.

Artificial intelligence artificielle apprentissage profond deep learning machine supervised reseau neurone neural network convolutional chronologie biochimej

Source : Cao et al. (2018)

NN : "Neural Network", réseau de neurones - BP : "back propagation" - DBN : "deep belief network" - SVM : "support vector machine" (machine à vecteurs de support) - AE :"auto-encoder" - VAE :"variational auto-encoder" - GAN : "generative adversarial network" - WGAN : "Wasserstein GAN".

biochimej Retour haut de page

b. Principe de fonctionnement et architectures des réseaux de neurones

Un réseau de neurones permet de résoudre de nombreux problèmes d'intelligence artificielle. Schématiquement, le fonctionnement est le suivant :

  • Les neurones sont organisés en couches successives : chaque neurone reçoit une information (une entrée) issue des neurones de la couche qui précéde.
  • Chacune de ces information est pondérée : elle est multipliée par une valeur qui lui confère un "poids" particulier.
  • Les entrées ainsi pondérées sont additionnées.
  • Elles sont traitées par une fonction objectif dont le but est d'adapter la valeur de sortie à une plage de valeurs.
  • La valeur de sortie issue de cette fonction constitue l'entrée de l'ensemble des neurones de la couche suivante.

Les architectures des réseaux de neurones peuvent être classés selon leurs systèmes de connectivité et de partage des paramètres :

Artificial intelligence artificielle apprentissage profond deep learning machine supervised reseau neurone neural network convolutional natural language langage naturel biochimej

Source : Eraslan et al. (2019)

Figure ci-dessus :

  • Les mêmes couleurs indiquent les paramètres partagés et les flèches indiquent le flux d'informations.
  • Les lignes pleines indiquent un ordre ou des relations spécifiques entre les entités représentées sous forme de nœuds.

a. Les couches entièrement connectées ("fully connected layers") supposent que les entités en entrée n'ont pas d'ordre particulier. Elles appliquent donc des paramètres différents pour différentes entités en entrée.

b. Les couches convolutives ("convolutional layers") ou réseaux convolutifs supposent que des sous-ensembles locaux d'entités en entrée (par exemple, les nucléotides consécutifs dans une séquence d'ADN) représentent des motifs. Un réseaux de neurones convolutif ("Convolutional Neural Network" - CNN) utilise la convolution à la place d'une multiplication de matrices dans les couches cachées ("hidden layers"). Un CNN typique est constitué de couches denses entièrement connectées et de couches convolutives.

c. Les couches récurrentes ("recurrent layers") supposent que les entités en entrée doivent être traitées séquentiellement et que l'élément de séquence dépend de tous les éléments de séquence précédents. La même opération est appliquée à chaque élément de séquence (flèches bleue et orange dans la figure ci-dessus) et les informations de l'élément de séquence suivant sont incorporées dans la mémoire (flèches orange) et reportées.

d. Les graphes convolutifs supposent que la structure des entités en entrée suit celle d'un graphe connu. Le même ensemble de paramètres est utilisé pour traiter tous les nœuds et impose ainsi une invariance à la commande des nœuds.

biochimej Retour haut de page

c. Exemple d'apprentissage supervisé d'un réseau de neurones qui classe des images des chiffres 0 à 9

Artificial intelligence artificielle apprentissage profond deep learning machine supervised reseau neurone neural network fonction activation function layer couche ponderation weight pixel biochimej

Source : Yamashita et al. (2018)

Couche d'entrée (n = 1) de ce réseau simple (figure ci-dessous) :

  • Chaque neurone i = 1 à k possède un niveau d'activation xi(1) dont la valeur est comprise entre 0 et 1.
  • Ce niveau d'activation correspond aux niveaux de gris d'un pixel de l'image.
  • k est le nombre de pixels (matrice 0 ŕ 255 - ci-dessus à droite) qui traduit à la luminosité de l'image (ci-dessus à gauche).

Les couches de sortie (n = 2, 3, ...) sont constituées de neurones yj avec j = 0 à 9, les 10 chiffres correspondant aux images du jeux de données d'entraînement.

Artificial intelligence artificielle apprentissage profond deep learning machine supervised reseau neurone neural network fonction activation function layer couche ponderation weight biochimej

Source : "Deep-learning pas à pas" (SQLI)

Les niveaux d'activation des neurones sont calculés de manière récursive, couche par couche : ceux de la couche de neurones n+1 sont calculés avec une fonction d'activation φ sur la base des niveaux d'activation des neurones de la couche n pondérés par un poids wi,j.

La somme est effectuée sur tous les neurones i de la couche n connectés au neurone j de la couche n+1 :

xj=0,9(n+1) = φ [ ∑i=1,k (wi,j . xi(n)) ]

  • L'entraînement du réseau de neurones consiste à déterminer des valeurs de poids wi,j qui permettent à la couche de sortie de classer précisément les images de l'ensemble d'entraînement.
  • L'algorithme de rétro-propagation est fréquemment utilisé pour l'entraînement.

biochimej Retour haut de page

d. Les fonctions d'activation

  • Elles permettent que chaque couche d'un réseau de neurones fonctionne de manière non linéaire.
  • Il en existe un très grand nombre et elles peuvent être combinées.
  • Une combinaison judicieuse de fonctions d'activation appropriées des couches de l'entrée vers la sortie améliore l'extraction des caractéristiques.

Exemples de fonctions d'activation (représentées par g(x) avec x = valeur de la couche d'entrée) :

Sigmoïde

  • g(x) = 1/(1 + e-x)
  • Une fonction sigmoïde transforme les variables en valeurs allant de 0 à 1 et elle est couramment utilisée pour générer une distribution de Bernoulli.

Tangente hyperbolique

  • g(x) = tanh(x) = (ex - e-x)/(ex + e-x)
  • La dérivée g' = (1 - g2) facilite la procédure avec les algorithmes de rétro-propagation.
  • Elle est couramment utilisée dans la couche de sortie.

Softmax

  • g(x) = exi / ∑i exi
  • La sortie Softmax peut être considérée comme une distribution de probabilité sur les catégories.
  • Elle est couramment utilisée dans la couche de sortie.

Unité linéaire rectifiée ("Rectified Linear Unit", ReLU)

  • g(x) = max(0, x) <=> 0 si x < 0 et x si x ≥ 0
  • Cette fonction d'activation (et ses variantes) est fréquemment utilisée en apprentissage profond.
  • Fonction utilisée pour les couches cachées ("hidden layers") des réseaux de neurones.
  • Avantages et inconvénients :
    • Coût de calcul faible et fonction facile à optimiser.
    • Convergence plus rapide que sigmoïde ou tanh.
    • Améliore la propagation du gradient.
    • Si x < 0 => poids non actualisés => pas d'apprentissage.
    • Non différentiable à zéro.
    • Pas centrée en zéro et non bornée.

Variantes de ReLU

  • Softplus ou SmoothReLU : g(x) = log (1 + ex)
  • Autres variantes de ReLU : Leaky ReLUs, Noisy ReLUs, PReLUs ("Parametric ReLUs"), ELUs ("Exponential Linear Unit")

Maxout

  • gi(x) = maxi(bi + wi · x)
  • La matrice de pondération de cette fonction est un tableau à 3 dimensions dans lequel la 3ème dimension correspond à la connexion entre couches voisines.

Artificial intelligence artificielle apprentissage profond deep learning machine supervised reseau neurone neural network fonction activation function layer couche ponderation weight sigmoid ReLU tanh maxout biochimej

Source : Towards Data Science

Voir un large éventail de fonctions d'activation et leurs caractéristiques.

biochimej Retour haut de page

e. Optimisation et fonction objectif (fonction de perte)

Les réseaux de neurones sont formés par un processus d'optimisation nécessitant une fonction de perte qui calcule l'erreur du modèle : cette fonction mesurent la différence entre la sortie du réseau (obtenue avec les paramètres du modèle f(x|θ)) et le résultat attendu.

Exemple de résultat attendu : les étiquettes de classe "VRAI" dans les tâches de classification ou le niveau réel dans les tâches de prédiction.

  • La plupart des réseaux de neurones utilisent l'entropie croisée entre les données d'apprentissage et la distribution du modèle comme fonction de perte.
  • Une autre fonction fréquemment employée est l'erreur quadratique moyenne : perte = 1/n . ∑i = 0 à n (Yi - Yprédit i)2
import numpy as np
def Erreur_Quadratique_Moyenne(y_predit, y):
           Carre_Erreur = (y_predit - y)**2
           Somme_Carre_Erreur = np.sum(Carre_Erreur)
           ErrQuadMoyen = Somme_Carre_Erreur / nombreY
return(ErrQuadMoyen)

Perte d'entropie croisée ("Cross Entropy Loss")

La perte d'entropie croisée mesure les performances d'un modèle de classification. La sortie est une valeur de probabilité comprise entre 0 et 1. La perte d'entropie croisée augmente à mesure que la probabilité prédite diverge de l'étiquette réelle.

  • Par exemple, prédire une probabilité de 0,012 pour une étiquette d'observation réelle de 1 est un mauvais résultat qui entraîne une valeur de perte élevée.
  • Un modèle parfait a une perte = 0.
  • Perte d'entropie croisée = - [y . log(p) + (1 - y) . log(1 - p)] où y est un indicateur binaire (0 ou 1) si l'étiquette de classe observée correspond à la classe correcte et p est la probabilité prédite.

Exemple de code Python pour le calcul de la perte d'entropie croisée :

import numpy as np
predictions = np.array([[0.25,0.25,0.25,0.25],[0.01,0.01,0.01,0.96]])
targets = np.array([[0,0,0,1],[0,0,0,1]])
     def cross_entropy(predictions, targets, epsilon=1e-10) :
             predictions = np.clip(predictions, epsilon, 1. - epsilon)
             N = predictions.shape[0]
             ce_loss = -np.sum(np.sum(targets * np.log(predictions + 1e-5)))/N
     return ce_loss
cross_entropy_loss = cross_entropy(predictions, targets)
print ("Cross entropy loss is: " + str(cross_entropy_loss))

Exemples d'autres scripts.

biochimej Retour haut de page

7. Apprentissage profond et structure des protéines

a. Apprentissage profond appliqué à la représentation statistiques des protéines

Le modèle de représentation unifiée UniRep ("Unified Representation") a été élaboré :

  • A partir de 24 millions de séquences d'acides aminés (jeu de données UniRef50 au sein duquel 2 séquences quelconques ont au plus 50% d'identité).
  • Les protéines de plus de 2000 acides aminés ont été enlevées du jeu de données d'apprentissage.

Le modèle a été construit sur la base d'une architecture mLSTM - RNN (multiplicative Long-Short-Term-Memory Recurrent Neural Network) :

  • Au fur et à mesure qu'elle parcourt une séquence de caractères dans un ordre donné (une séquence en acides aminés par exemple), cette architecture apprend.
  • Elle essaye ainsi de prédire le caractère suivant (en minimisant la perte d'entropie croisée) sur la base du résumé dynamique interne du modèle de la séquence qu'elle a vu au préalable (c'est-à-dire son état caché, "hidden state").
  • Au cours de l'entraînement, le modèle révise la manière dont il construit son état caché afin de maximiser la précision de ses prédictions : cela se traduit par une représentation statistique de la séquence en acides aminés qui est progressivement améliorée.

Une fois entraîné, le modèle génère (sans données liées à la structure ou à l'évolution) un seul vecteur de longueur fixe représentant la séquence d'acides aminés en entrée.

protein acide amine sequence prediction artificial intelligence artificielle apprentissage profond deep learning machine supervised reseau neurone neural network multiplicative long-short-term-memory recurrent LSTM RNN biochimej

Source : Alley et al. (2019)

biochimej Retour haut de page

b. Apprentissage profond appliqué à la prédiction de la structure 3D des protéines

Depuis 1994, des biologistes spécialisés en calcul informatique participent à une expérience communautaire mondiale visant à évaluer les techniques de prédiction de la structure des protéines.

Ce concours, appelé CASP ("Critical Assessment of protein Structure Prediction"), a lieu tous les 2 ans et aboutit à une conférence plénière.

  • Pendant plusieurs mois, ces biologistes tentent de prédire la structure 3D de protéines inconnues à partir d'une séquence d'acides aminés choisie par les organisateurs de CASP.
  • Des évaluateurs indépendants comparent les prédictions (anonymes) avec une structure "étalon" déterminée par une méthode expérimentale (résolue avant le concours mais non dévoilée).
  • Le score total du test de distance globale ("Global Distance Test - Total Score", GDT_TS) est la métrique établie par CASP pour évaluer les performances des prédictions.

protein structure acide amine sequence prediction artificial intelligence artificielle apprentissage profond deep learning machine supervised reseau neurone neural network casp critical assessment alphafold biochimej

Source : Swiss Institute of Bioinformatics

  • Les techniques d'apprentissage automatique combinées aux méthodes de prédiction de contacts basées sur la co-évolution ont contribué à un accroissement considérable des prédictions aux cous des dernières années.
  • Le programme AlphaFold A7D (DeepMind, Google) a dominé le classement du concours CASP13 en 2018 suivi par d'autres groupes de recherche employant également des méthodes d'apprentissage profond.

CASP permet donc de faire le point sur l'état actuel de la prédiction de la structure des protéines, en identifiant les progrès accomplis au cours des deux années écoulées et en soulignant les domaines dans lesquels les efforts futurs pourraient être les plus productifs.

Les développements récents incluent, par exemple, les réseaux adverses génératifs ("Generative Adversarial Network", GAN, réseaux non-supervisés), qui apprennent à imiter toute distribution de données pour créer des représentations réalistes de l'objet d'intérêt, telles que les conformations locales d'une structure protéique.

biochimej Retour haut de page

c. Cartes de distances et de contacts pour la prédiction de la structure 3D

L'analyse de co-évolution ("residue-residue coevolutionary") est basée sur l'observation selon laquelle 2 résidus d'acides aminés en contact (ou proches dans l'espace selon un seuil de distance, par exemple 8 Å) doivent co-évoluer pour maintenir ce contact. En d'autres termes, si un acide aminé est muté en résidu chargé positivement, l'acide aminé avec lequel il est en contact doit être muté en résidu chargé négativement.

Depuis le concours CASP11 et CASP12, les scores de co-évolution sont de plus en plus utilisés comme entrées des méthodes d'apprentissage automatique afin d'améliorer la prédiction des contacts et des distances ("inter-residue contacts and distances").

Voir un script Python pour le calcul et la réprésentation d'une carte de contacts entre 2 structures protéiques.

Exemples d'outils de prédiction de la structure 3D des protéines
Outils Principe
CASP13 Les prédicteurs ont calculé la topologie de repliement de la chaîne polypeptidique avec une résolution < 3 Å par rapport à la structure déterminée expérimentalement.
AlphaFold

Conceptuellement, AlphaFold était à l'origine un réseau de neurones pour prédire les distances probables entre les paires d'acides aminés et les angles de chaque liaison peptidique reliant les résidus d'acides aminés. Ces 2 prédictions ont ensuite été intégrées à un score avec le "score2" du logiciel de modélisation Rosetta.
AlphaFold utilise la distribution entière des distances 2 à 2 entre résidus d'acides aminés comme une fonction potentielle statistique (spécifique de la protéine) qui est directement minimisée par la descente de gradient pour obtenir le repliement de la protéine.
Le programme AlphaFold est au coeur de la base de données (système de prédiction) AlphaFold DB.

  • AlphaFold prédit la structure de plus de 98% des protéines du protéome humain avec une très haute précision.
  • AlphaFold DB (DeepMind - Uniprot) contient plus de 200 millions de structures de protéines issues de centaines de milliers d'espèces.
RaptorX - Contact Serveur Web qui applique un réseau de neurones convolutifs ultra-profond pour la prédiction des cartes de contacts et la prédiction de matrices de distances de séquences protéiques sans l'utilisation de modèles.
RaptorX utilise uniquement la moyenne et la variance de la distribution prédite.
iFeature Package Python et un serveur Web pour l'extraction et la sélection de caractéristiques à partir de séquences de protéines et de peptides.
iLearn Plate-forme intégrée et "méta-apprenant" pour l'ingénierie des caractéristiques, l'analyse par apprentissage automatique et la modélisation des données de séquences d'ADN, d'ARN et de protéines.
DESTINI (a) Les caractéristiques 1D (bulles jaunes en haut à gauche, figure ci-dessous) et 2D (bulles verts) de la séquence de la protéine analysée ("Target sequence") sont extraites à partir des données génomiques et structurales.
(b) Ces caractéristiques constituent les entrées ("Input features") d'un réseau convolutif composé de plusieurs blocs résiduels identiques (le détail de l'architecture est décrit dans la bulle bleue claire).
(c) La couche de sortie du réseau est une couche d'activation Softmax qui génère le score de probabilité ("Output P") pour chaque paire de résidus de la séquence cible.
(d) La sortie est affichée sous forme d'une carte de contacts prédits ("Contact map") avec les scores de probabilité (partie gauche - haute de la carte) et une comparaison des contacts prédits (P > 0,5) avec les contacts véritables (partie droite - basse).
(e) Les contacts prédits sont ensuite utilisés pour générer le modèle 3D de la protéine analysée. Les couleur des contacts entre les hélices α et les brins β sont identiques à celles de la carte des contacts (d).

protein structure acide amine sequence prediction artificial intelligence artificielle apprentissage profond deep learning machine supervised reseau neurone neural network casp critical assessment alphafold biochimej

Source : Gao et al. (2019)

MULTICOM Il s'appuie sur 3 concepts principaux : (i) la prédiction de la distance de contacts avec des réseaux de neurones convolutifs; (ii) la modélisation sans modèle (ab initio) dirigée par la distance; (iii) le classement du modèle de la protéine renforcé par l'apprentissage profond et la prédiction des contacts.
SPIDER2 Prédiction des erreurs dans les valeurs prédites des angles de torsion de la chaîne polypeptidique, de l'accessibilité au solvant, des contact .
Early Folding Residue Predictor Le repliement des protéines est un processus qui s'effectue par étapes : certains résidus d'acides aminés semblent initier ce processus ("early folding residues"). Certaines données expérimentales concernant ces résidus sont fournies par la base de données Start2Fold mais pour la plupart des structures protéiques, aucune donnée n'est disponible.
Early Folding Residue Predictor prédit ("Generalized Matrix Learning Vector Quantization") la position de ces résidus à partir de structures protéiques (PDB).

Autres outils : UniCon3D (CASP11) - DNCON2 (CASP 12) - MetaPSICOV2 (CASP 12, utilise les données de PDB70 et Uniref100) - DeepCov, ...

biochimej Retour haut de page

d. Apprentissage profond, langage naturel et prédiction de la structure des macromolécules biologiques

Un modèle de langage naturel large ou statistique ("large language model") est basé sur un réseau de neurones d'apprentissage profond (exemple de l'architecture "Transformer" - voir ci-dessous) et formé à partir d'un corpus de données textuelles gigantesque (des centaines de milliards de mots et/ou de phrases).

  • Ce type de modèle génère des sorties pour le traitement du langage naturel ("natural language processing") comme la création de texte, les réponses à des questions ou la traduction automatique.
  • Ce type de modèle est donc apte à "comprendre" la structure d'un langage naturel et repérer des significations et des relations entre les mots.
Programme Création Entreprise Paramètres
(milliards)
Divers
WuDao 2.0 2021 Beijing Academy of Artificial Intelligence 1750 -----
MT-NLG 2022 Nvidia 530 "Megatron-Turing Natural Language Generation model"
Bloom 2022 BigScience 176 "BigScience Large Open-science Open-access Multilingual Language Model"
GPT-3 2020 OpenAI 175 Transformer
"Generative Pre-Trained"
LaMDA 2021 Google 137 -----
ESMFold ("Evolutionary Scale Modeling") 2022 Meta AI 15 "ESM Metagenomic Atlas" : plus de 600 millions de structures tridimensionnelles de protéines.
Voir le code source (GitHub)
BERT 2018 Google 0,34  

Les méthodes basées sur l'apprentissage profond et le langage naturel sont désormais appliquées à la détermination de la structure des ARN : voir Pearce et al., 2022.

EpiCas-DL : programme de prédiction par apprentissage profond de l'activité de l'ARN guide simple ("single guide RNA") pour l'édition de l'épigénome médiée par CRISPR.

scMDC ("Single Cell Multimodal Deep Clustering") : méthode d'apprentissage profond pour le regroupement de données multi-omiques unicellulaires ("single-cell multi-omics data clustering"). L'architecture réseau de scMDC utilise un auto-encodeur multimodal.

biochimej Retour haut de page

8. IA et données de génomique et de transcriptomique

Voir un ensemble de cours sur la génomique et la protéomique.

Exemples d'outils pour l'analyse de données issues de certains domaines en omique
Outils But
Deepnet-rbp Cadre d'apprentissage profond pour modéliser les préférences de fixation des protéines de liaison à l'ARN ("RNA-binding proteins") en intégrant la séquence primaire, les profils de structures secondaires et de structures tertiaires prédits des sites cibles.
DeepBind Prédiction des sites de fixation des protéines de liaison à l'ADN et à l'ARN.
DeepRibo Réseau de neurones pour l'annotation de gènes de procaryotes basé sur une combinaison de profils signature des ribosomes et de profils de sites de fixation.
PEDLA Apprentissage profond pour l'identification des régions cis-régulatrices.
LeNup Réseau de neurones convolutif pour l'apprentissage du positionnement des nucléosomes à partir de séquences d'ADN.
DNN-HMM Identification de novo des régions d'initiation et de terminaison de l'ADN qui se répliquent plus tôt ou plus tard ("early or late replication domain") que leurs voisines en amont et en aval ("up or down transition zone").
Réseaux de neurones et Modèle de Markov caché.
Basset Réseau de neurones convolutif qui, sur la base d'un seul séquençage d'un type de cellule, permet :
  • De connaître le code d'accessibilité de la chromatine de cette cellule (épigénétique).
  • D'annoter chaque mutation du génome selon son incidence sur l'accessibilité et le potentiel latent d'accessibilité.
DeepCpG Prédiction des méthylations de l'ADN (épigénomique).
deepTarget Réseau de neurones récurrent pour la prédiction de cible de miRNA (interférence ARN).
DeepMirTar Réseau de neurones récurrent pour la prédiction de cible de miRNA de l'homme.
Interactomique Prédiction des interactions protéine-protéine par intégration d'un modèle de classement de type forêt d'arbres décisionnels par rotation des caractéristiques sélectives ("Feature-selective rotation forest classifier" - FSRF) à un réseau de neurones convolutifs. La démarche contient 3 étapes :
  • La conversion de la séquence en acides aminés d'une protéine en matrice PSSM ("Position-Specific Scoring Matrix").
  • L'extraction d'une représentation précise des caractéristiques de la séquence protéique sur la base d'un réseau de neurones convolutifs.
  • Ces caractéristiques alimentent un modèle de classement de type FSRF pour prédire les interactions protéine-protéine.
DN-Fold Système de reconnaissance du repliement des protéines.
MusiteDeep Prédiction des sites de phosphorylation généraux et spécifiques des kinases.
DeepLoc Prédiction de la localisation subcellulaire des protéines.
biovec 0.2.7 Méthodes d'extraction des caractéristiques des séquences biologiques et méthodes de représentation des séquences biologiques utilisées dans les applications d'apprentissage profond en génomique et en protéomique :
  • BioVec (vecteurs biologiques) : séquences biologiques en général
  • GeneVec (vecteurs gènes) : séquences de gènes
  • ProtVec (vecteurs protéines) : séquences d'acides aminés
EnzyNet Prédiction de la classification E.C ("Enzyme Commission") des enzymes avec des réseaux de neurones convolutifs.
DeepCSeqSite Prédiction des résidus d'acides aminés impliqués dans la liaison protéine-ligand avec des réseaux neuronaux convolutifs.

biochimej Retour haut de page

9. IA et quelques exemples en médecine

a. Généralités

Les progrès des technologies biologiques et médicales nous fournissent des volumes colossaux de données biologiques et physiologiques (images médicales, électro-encéphalographie, séquences de génomes, de protéines, ... ). Apprendre de ces données augmente la compréhension des maladies donc de la santé humaine.

Développés à partir de réseaux de neurones artificiels, les algorithmes basés sur l'apprentissage profond et l'optimisation des modèles sont prometteurs pour l'extraction de caractéristiques et de modèles d'apprentissage à partir de données complexes. Ces méthodes peuvent être appliquées à la classification d'images médicales, à l'analyse de génomes, à la prédiction de la structure des protéines, ...

L'IA peut être utilisée de différentes manières en médecine. En voici 4 exemples :

Outil d'annotation des données cliniques : environ 80% des données de soins sont non structurées. Or les méthodes d'IA peuvent lire des données non structurées via leur aptitude à "comprendre" (traiter) le langage naturel. Ces méthodes peuvent donc lire des textes cliniques de n'importe quelle source puis identifier, catégoriser et coder des concepts médicaux et sociaux.

Informations sur les données des patients : l'IA peut identifier des problèmes dans l'historique des dossiers médicaux des patients (texte structuré et non structuré). Certaines méthodes résument l'historique des soins liés à ces problèmes en un document cognitif des données d'un patient.

Similitude de patient : l'IA peut mesurer la "similarité clinique" entre patients. Cela permet aux chercheurs de créer des cohortes dynamiques de patients plutôt que des cohortes statiques et cela permet de déterminer le protocole de soins le mieux adapté à un groupe de patients donné.

Hypothèses médicales : les technologies d'IA permettent aux chercheurs de trouver des informations dans des publications médicales non structurées et d'identifier les documents liés sémantiquement à toute combinaison de concepts médicaux.

Le registre AIME : plateforme communautaire pour l'IA en biomédecine qui a pour but d'améliorer l'accessibilité, la reproductibilité et la convivialité des modèles d'IA biomédicale. Il permet des révisions futures par la communauté.

Domaines médicaux d'application de l'apprentissage profond
Domaine Données en entrée Exemples de thèmes de recherches
Domaines en "omique"
  • Régulation de la transcription des gènes
  • Jonction d'épissage
  • Variants génétiques affectant l'épissage
  • Propriétés structurales et prédiction de la structure des protéines
  • Évaluation de la qualité des modèles de structure
  • Classification des protéines
  • Classification : famille et super-famille de protéines
  • Identification des interactions protéines - protéines et ARN - protéines
  • Localisation subcellulaire
Imagerie médicale
  • Image de résonance magnétique (IRM)
  • Image radiographique
  • Tomographie par émission de positrons
  • Image d'histopathologie
  • Image de microscopie électronique volumétrique
  • Image rétinienne
  • Image d'hybridation in situ
  • Profil de transcription des gènes
  • Cancer, maladie d'Alzheimer, schizophrénie
  • Reconnaissance des tumeurs cérébrales
  • Noyaux des cellules, structure cellulaire et structure neuronale
  • Cartographie des vaisseaux
  • Articulation du doigt
  • Décodage de l'anatomie du cerveau
  • Comportement
Traitement du signal biomédical
  • ECoG, ECG, EMG, EOG
  • Electro-encephalogramme (brut, ondelette, fréquence, entropie différentielle)
  • Caractéristiques extraites de l'électro-encephalogramme
  • Décroissance normalisée
  • Variation maximale
  • Décodage du comportement du cerveau
  • Comportement
  • Classification des anomalies d'émotion
  • Maladie d'Alzheimer
  • Stades du sommeil
Source : Min et al. (2017)

biochimej Retour haut de page

b. Découverte de médicaments

La recherche classique de médicaments commence par le test de milliers de petites molécules pour n'en retenir que quelques unes, parmi lesquelles une seule réussit, éventuellement, les essais cliniques sur des patients humains.

La découverte de médicaments nécessite donc :

  • d'énormes ressources (notamment humaines et matérielles)
  • des moyens financiers considérables (0,5 - 2,6 milliards de dollars)
  • des délais de l'ordre de 10 à 20 ans

L'IA promet de réduire considérablement les délais et les coûts en facilitant l'identification rapide des composés.

Les modèles génératifs profonds sont des techniques d'apprentissage automatique qui utilisent des réseaux de neurones qui peuvent générer des objets dotés de certaines propriétés, telles que l'activité vis-à-vis d'une cible donnée : ces modèles sont donc adaptés à la découverte de médicaments.

Un système d'IA appelé apprentissage par renforcement tensoriel génératif ("Generative Tensorial Reinforcement Learning", GENTRL) a permis de concevoir 6 nouveaux inhibiteurs de l'enzyme DDR1 en 21 jours (Zhavoronkov et al., 2019):

  • 4 composés se sont avérés actifs dans des analyses biochimiques
  • 2 composés ont été validés avec des analyses cellulaires
  • 1 composé a démontré une pharmacocinétique favorable chez la souris.

La validation in vitro puis in vivo n'aura nécessité que 46 jours.

L'enzyme DDR1 ("Epithelial discoidin domain-containing receptor 1") est une tyrosine kinase, récepteur à la surface cellulaire du collagène fibrillaire. Elle régule la fixation des cellules à la matrice extracellulaire, le remodelage de cette matrice, la migration cellulaire, la différenciation, la survie et la prolifération cellulaire.

Exemples d'outils informatiques basés sur l'IA pour la découverte de médicaments
Outils But
Chemputer Format normalisé pour rapporter une procédure de synthèse chimique
DeepChem Outil Python pour des tâches de découverte de médicaments
DeepNeuralNet-QSAR Prédiction d'activité moléculaire
DeepTox Prédiction de toxicité
DeltaVina Une fonction de scores pour ré-évaluer l'affinité de la liaison protéine-ligand
Hit Dexter Modèles pour la prédiction de molécules susceptibles de répondre à des essais biochimiques
Neural Graph Fingerprints Prédiction des propriétés de nouvelles molécules
ODDT Boîte à outils pour la chimio-informatique et la modélisation moléculaire
ORGANIC Outil pour créer des molécules avec des propriétés souhaitées
PotentialNet Prédiction de l'affinité de la liaison de ligands basée sur des graphes de réseau de neurones convolutifs
PPB2 Prédiction polypharmacologique
QML Boîte à outils Python pour l'apprentissage profond quantique
REINVENT Conception moléculaire de novo utilisant un réseau de neurones récurrent ("recurrent neural network") et l'apprentissage par renforcement ("reinforcement learning")
SCScore Fonction de scores pour évaluer la complexité de la synthèse d'une molécule
Source : Chan et al. (2019)

biochimej Retour haut de page

c. Illustration : recherche de nouveaux antibiotiques

Un réseau de neurones a été créé pour apprendre à reconnaître les particularités structurales des molécules qui inhibent la croissance d'Escherichia coli BW25113 en utilisant une collection de 2335 molécules à activité anti-croissance bactérienne connue, dont environ 300 antibiotiques et 800 produits naturels d'origine végétale, animale et microbienne (Stokes et al., 2020).

  • Le modèle d'apprentissage en profondeur fait passer des "messages" le long des liaisons qui codent des informations sur les atomes voisins et les liaisons voisines.
  • Cette opération est répétée plusieurs fois et le modèle construit ainsi des messages de liaison de niveau supérieur qui contiennent des informations sur des sous-structures chimiques plus grandes.
  • Les messages de liaison de plus haut niveau sont ensuite combinés en un vecteur continu représentant la molécule entière.

protein antibiotique antibiotic research discovery chemical space artificial intelligence artificielle apprentissage profond deep learning machine reseau neurone neural network biochimej

Source : Stokes et al. (2020)

Ce modèle a ensuite été utilisé pour analyser plus de 100 millions de molécules de la bibliothèque "Drug Repurposing Hub" (entre autres molécules, cette bibliothèque contient environ 6000 molécules à l'étude pour des maladies chez l'homme) : 120 molécules à activité anti-croissance bactérienne ont été sélectionnées pour des tests.

Une molécule (étudiée pour un éventuel traitement du diabète) s'est avérée un antibiotique puissant : l'halicine ("c-Jun N-terminal kinase inhibitor", SU3327), dénommée ainsi d'après HAL (l'ordinateur du film "2001: A Space Odyssey").

  • L'halicine possède des activités antibiotiques contre un large éventail d'agents pathogènes, notamment une souche de Clostridioides difficile et une souche d'Acinetobacter baumannii "pan-résistante" contre laquelle de nouveaux antibiotiques sont nécessaires de toute urgence.
  • Les antibiotiques agissent via divers mécanismes (par exemple, le blocage des enzymes impliquées dans la biosynthèse de la paroi cellulaire, la réparation de l'ADN ou la synthèse des protéines).
  • Cependant, le mécanisme de l'halicine n'est pas conventionnel : il perturbe le flux de protons par dissipation sélective de la composante ΔpH de la force motrice (potentiel transmembranaire de la bactérie).

Puis plus de 107 millions de structures de molécules de la base de données ZINC15 (base de données gratuite de près d'un milliard de composés disponibles dans le commerce pour le criblage virtuel) ont été analysées : 23 molécules candidates ont été découvertes et testées et 8 molécules ont une une activité antibactérienne. En particulier, deux d'entre elles ont une activité contre un large éventail d'agents pathogènes et contre des souches d'Escherichia coli résistantes aux antibiotiques.

biochimej Retour haut de page

10. Apprentissage profond, langage naturel et dépense énergétique

Les avancées matérielles et théoriques de la [formation / entraînement] de réseaux de neurones permettent d'entraîner des modèles d'apprentissage profond avec des volumes de données gigantesques (par exemple, le corpus Wikipedia).

Cependant, l'entraînement et la mise au point de tels réseaux nécessite des ressources très importantes :

  • Ces modèles sont donc particulièrement coûteux en temps d'entraînement et en temps de mise au point pour leur développement.
  • Ils le sont également financièrement : coût d'achat du matériel informatique, factures d'électricité ou de location de temps informatique pour le traitement sur des serveurs distants ("cloud computing, "cloud-based platforms" d'Amazon, Google, Microsoft et autres GAFAM ... par exemple).
  • Enfin ils ont un coût environnemental énorme en raison des émissions de CO2 liées au fonctionnement de ces ressources.

Quatre modèles parmi les plus performants dans le domaine du traitement du langage naturel ont été comparés : Transformer, ELMo, BERT et GPT-2.

  • Transformer (A. King) : plate-forme en ligne d'apprentissage automatique. Elle s'appuie sur le modèle de langage GPT-2 ("Generalized Language Models", OpenAI) qui génère des paragraphes cohérents de texte, mot à mot.
  • ELMo (Allen Institute for AI) : représentation de mots contextualisée qui modélise les caractéristiques complexes de l'utilisation des mots (syntaxe et sémantique) et qui modélise la manière dont ces utilisations varient d'un contexte linguistique à un autre (polysémie).
  • BERT ("Bidirectional Encoder Representations from Transformers" - Google) : architecture basée sur Transformer. Elle permet de créer des représentations contextuelles similaires à ELMo, mais elle est entraînée avec un objectif de modélisation du langage qui est différent. BERT améliore la précision des tâches nécessitant des représentations au niveau de la phrase, par exemple la réponse à une question et l'inférence en langage naturel.

Chacun de ces modèles a été entraîné avec une seule unité de traitement graphique ("Graphics Processing Unit" - GPU, NVIDIA) pendant une journée au maximum puis la consommation électrique a été mesurée. Le nombre d'heures d'entraînement du modèle indiqué dans les documents originaux a servi de base pour calculer l'énergie totale consommée tout au long du processus d'entraînement.

Ce nombre a été converti en livres ("pounds", mesure anglo-saxonne) d'équivalent CO2 sur la base du bouquet énergétique moyen aux États-Unis.

Processus Consommation en livres ("pounds") d'équivalent CO2
Vol d'1 passager AR New-York - San Francisco 1984
"1 année moyenne" de la vie d'un être humain 11.023
"1 année moyenne" de la vie d'un américain 36.156
Côut énergétique de la vie moyenne d'une voiture (carburant inclu) 126.000
Traitement par BERT 1438
Traitement par Transformer 192
Traitement par Transformer avec processus de mise au point (recherche d'architecture neuronale) 626.155
Source : Strubell et al. (2019)

Les résultats montrent que :

  • Les coûts informatiques et environnementaux de l'entraînement augmentent de manière proportionnelle à la taille du modèle.
  • Ces coûts augmentent également quand des étapes de mise au point supplémentaires sont nécessaires pour accroitre la précision finale du modèle.

En particulier, le processus de mise au point appelé recherche d'architecture neuronale ("neural architecture search"), qui optimise un modèle en modifiant progressivement la conception d'un réseau de neurones par essais et erreurs exhaustifs, a un coût très élevé pour une performance faible : par exemple, sans ce processus l'entraînement de Transformer prend 84 heures et avec ce processus, il prend plus de 270.000 heures (soit 3000 fois plus d'énergie et des mois d'entraînement).

 

11. Liens Internet et références bibliographiques

"Réseaux Neuronaux" J.-P. Rennard (2006) Vuibert, Paris - ISBN : 2-7117-4830-8

"Cancers, vers une révolution thérapeutique ?" Barbet et al. (2019) ISTE Editions Ltd - ISBN : 978-1-78405-622-3

The European Lab for Learning and Intelligent Systems

Python : Machine Learning

Keras : The Python Deep Learning library

Towards Data Science

Ellis

Aller aux cours

Keras

Aller au site

Quantum : Google AI

OpenAI

Glossaire du "Machine learning"

"The AIMe registry for artificial intelligence in biomedical research"

Quantum

Aller au site

Glossaire

AIMe

Les technologies digitales décryptées par SQLI

The Library of Integrated Network-Based Cellular Signatures Program

SQLI

LINCS

AlphaFold DB : système de prédiction de la structure des protéines du protéome humain et de environ 50 autres organismes clés, basé sur l'intelligence artificielle.
C'est une initiative de DeepMind et de EMBL European Bioinformatics Institute (EMBL-EBI).

Code source de Alphafold (GitHub)

AlphaFold DB

Code source

Algorithms in Nature

Didacticiel interactif pour la création d'un réseau de neurones de convolution permettant de découvrir des motifs de liaison à l'ADN

Bengio Y., Hinton G.E. & LeCun Y. : "ACM A.M. Turing Award" 2018

GDB-13 : base de données d'environ 1 milliard de structures de molécules organiques contenant jusqu'à 13 atomes de C, N, O, S et Cl.

Aller au site

Didacticiel

ACM A.M. Turing Award

GDB-13

McCulloch & Pitts (1943) "A Logical calculus of ideas immanent in nervous activity" Bull. Math. Biophys. 5, 115 - 133

Hebb D.O. (1949) "The organization of behavior : a neuropsychological theory" New York : Wiley & Sons

Rosenblatt F. (1958) "The perceptron : a probabilistic model for information storage and organization in the brain" Psychol. Rev. 65, 386 - 408

Widrow B. (1960) "An adaptative "Adaline" neuron using chemical "memistors"" Stanford Electronics Lab. Tech. Report 1553-2

Widrow & Hoff, Jr. (1960) "Adaptive switching circuits'' IRE WESCON Convention Record 4, 96 - 104

Article

Livre Hebb

Article

Document

Article

Hochreiter & Schmidhuber (1997) "Long Short-Term Memory" Neural Comput. 9, 1735 - 1780

Hinton G.E. (2011) "Machine learning for neuroscience" Neural Syst. Circuits 1, 12

LeCun Y., Bengio Y. & Hinton G.E. (2015) "Deep learning" Nature 521, 436 - 444

Article

Article

Article

Chakraborty et al. (2017) "Artificial Intelligence in Biological Data" J. Inform. Tech. Softw. Eng. 7, 4

Min et al. (2017) "Deep learning in bioinformatics" Brief. Bioinform. 18, 851 - 869

Article

Article

Panch et al. (2018) "Artificial intelligence, machine learning and health systems" J. Glob. Health 8, 020303

Chouldechova et al. (2018) "A case study of algorithm-assisted decision making in child maltreatment hotline screening decisions" Proceed. 1st Conf. Fairness, Accountability & Transparency, PMLR 81, 134 - 148

Cao et al. (2018) "Deep Learning and Its Applications in Biomedicine" Genomics Proteomics Bioinformatics 16, 17 - 32

Yamashita et al. (2018) "Convolutional neural networks: an overview and application in radiology" Insights Imaging 9, 611 - 629

Article

Article

Article

Article

Mazo et al. (2018) "Transfer learning for classification of cardiovascular tissues in histological images" Comput. Methods Programs Biomed. 165, 69 - 76

Grapov et al. (2018) "Rise of Deep Learning for Genomic, Proteomic, and Metabolomic Data Integration in Precision Medicine" OMICS 22, 630 - 636

Heckmann et al. (2018) "Machine learning applied to enzyme turnover numbers reveals protein structural correlates and improves metabolic models" Nat. Commun. 9, 5252

Article

Article

Article

Chan et al. (2019) "Advancing Drug Discovery via Artificial Intelligence" Trends Pharmacol. Sci. 40, 592 - 604

Zou et al. (2019) "A primer on deep learning in genomics" Nat. Genet. 51, 12 - 18

Eraslan et al. (2019) "Deep learning: new computational modelling techniques for genomics" Nat. Rev. Genet. 20, 389 - 403

Arute et al. (2019) "Quantum supremacy using a programmable superconducting processor" Nature 574, 505 - 510

Article

Article

Article

Article

Ham et al. (2019) "Deep learning for multi-year ENSO forecasts" Nature 573, 568 - 572

Alley et al. (2019) "Unified rational protein engineering with sequence-based deep representation learning" Nat. Methods doi: 10.1038/s41592-019-0598-1

AlQuraishi M. (2019) "AlphaFold at CASP13" Bioinformatics doi: 10.1093/bioinformatics/btz422

Gao et al. (2019) "DESTINI: A deep-learning approach to contact-driven protein structure prediction" Sci. Rep. 9, 3514

Article

Article

Article

Article

Strubell et al. (2019) "Energy and Policy Considerations for Deep Learning in NLP" arXiv:1906.02243

Wang et al. (2019) "Predicting Protein-Protein Interactions from Matrix-Based Protein Sequence Using Convolution Neural Network and Feature-Selective Rotation Forest" Sci. Rep. 9, 9848

Zhavoronkov et al. (2019) "Deep learning enables rapid identification of potent DDR1 kinase inhibitors" Nat. Biotechnol. 37, 1038 - 1040

Abu-Hassan et al. (2019) "Optimal solid state neurons" Nat. Commun. 10, 5309

Zou et al. (2019) "A primer on deep learning in genomics" Nat. Genet. 51, 12 - 18

Article

Article

Article

Article

Article

Senior et al. (2020) "Improved protein structure prediction using potentials from deep learning" Nature 577, 706 - 710

Vandans et al. (2020) "Identifying knot types of polymer conformations by machine learning" Phys. Rev. E 101, 022502

Stokes et al. (2020) "A deep learning approach to antibiotic discovery" Cell 180, 688 - 702

Article

Article

Article

Tunyasuvunakool et al. (2021) "Highly accurate protein structure prediction for the human proteome" Nature 596, 590 - 596

Walsh et al. (2021) "DOME: recommendations for supervised machine learning validation in biology" Nat. Methods 18, 1122 - 1127

Jumper et al. (2021) "Highly accurate protein structure prediction with AlphaFold" Nature 596, 583 - 589

Wu et al. (2021) "Strong Quantum Computational Advantage Using a Superconducting Quantum Processor" Phys. Rev. Lett. 127, 180501

Bepler & Berger (2021) "Learning the Protein Language: Evolution, Structure and Function" Cell Syst. 12, 654 - 669

Article

Article

Article

Article

Article

Vaishnav et al. (2022) "The evolution, evolvability and engineering of gene regulatory DNA" Nature 603, 455 - 463

Schuman et al. (2022) "Opportunities for neuromorphic computing algorithms and applications" Nat. Comput. Science 2, 10 - 19

Chowdhury et al. (2022) "Single-sequence protein structure prediction using a language model and deep learning" Nat. Biotechnol. 40, 1617 - 1623

Pearce et al. (2022) "De Novo RNA Tertiary Structure Prediction at Atomic Resolution Using Geometric Potentials from Deep Learning" bioRxiv

Sapoval et al. (2022) "Current progress and open challenges for applying deep learning across the biosciences" Nat. Commun. 13, 1728

Article

Article

Article

Article

Article

Hekkelman et al. (2023) "AlphaFill: enriching AlphaFold models with ligands and cofactors" Nat. Meth. 20, 205 - 213 Article

biochimej Retour haut de page

Valid XHTML 1.0 Transitional