Réseaux de neurones : modèles et applications à la finance

Réseaux de neurones : modèles et applications à la finance

Réseaux de neurones : modèles et applications à la finance 375 240 Quanteam

Plus anciens qu’on ne le pense, les réseaux de neurones nous façonnent ces dernières années en matière de tâches de reconnaissance et traitement des données. Inspirés des structures du cerveau humain et initialement développés dans le milieu universitaire, leurs modes opératoires se simulent directement du fonctionnement des neurones, par conséquent générant des modèles extrêmement puissants mais également difficiles à interpréter et à analyser.

L’utilisation des réseaux de neurones a permis un changement radical dans la puissance de l’intelligence artificielle, leur intérêt au sein des établissements financiers continue de croître. Les premières preuves ont donné des résultats prometteurs. En effet, ils sont particulièrement adaptés à automatiser des processus, des décisions de plus en plus complexes et qui peuvent en fin de compte réduire les coûts, améliorer la précision, l’expérience client et donner un avantage concurrentiel.

Cet article vise à faire part de l’usage des modèles de neurones dans le domaine de la finance. D’abord une réponse est apportée à la question : qu’entend-on par réseaux de neurones ? Ensuite, le fonctionnement des réseaux de neurones, les différents types de modèles et algorithmes sont exposés. Enfin, quelques exemples d’application dans l’univers de la finance sont présentés.

Qu’entend-on par réseaux de neurones ?

Les réseaux de neurones sont un ensemble de modèles qui puisent leurs inspirations du vivant, et plus précisément du cerveau tel que nous le rencontrons chez les êtres humains. Robustes lors de l’apprentissage, tolérants aux fautes, flexibles dans leurs capacités d’apprentissage et d’adaptation, ils sont mêmes capables de gérer l’information incomplète. Contrairement à ce que l’on pourrait penser, leurs véritables forces ne résident pas forcément dans leurs capacités de calcul, mais dans leurs capacités à paralléliser les calculs et les opérations. Les premiers modèles de neurones datent des années 50.

Fonctionnement des réseaux de neurones

Les réseaux de neurones sont composés de plusieurs parties qui interagissent et répondent chacune à un objectif de modélisation. Cette interconnexion permet de répondre à des problématiques qui étaient jusqu’à maintenant trop lourdes en calculs avec les algorithmes existants, ou tout simplement trop difficiles à résoudre avec des systèmes plus anciens.

Les réseaux de neurones artificiels peuvent être décrits comme des systèmes composés de trois couches :

  1. La couche d’entrée qui correspond aux entrées qui seront données au réseau. On donne des données et ces dernières sont représentées par des vecteurs dont le nombre de composantes sera la taille de cette première partie du réseau. En somme, on donne au réseau une liste de valeurs, ou plus précisément un ensemble d’exemples sous forme de matrices.
  2. Les couches cachées correspondent à des empilements de neurones de manière horizontale et verticale. Elles sont appelées des couches intermédiaires «hidden layers ». Plus le problème à résoudre est complexe, plus le réseau de neurones comporte de couches, d’où l’appellation Deep Learning. Ces couches cachées agrègent l’information par une suite ordonnée d’opérations matricielles.
  3. La couche de sortie quant à elle permet d’obtenir la réponse du réseau de neurones à une tâche donnée. S’il s’agit d’une classification, on aura les probabilités de chacune des classes. Dans le cas de la génération de texte, on aura une séquence de mots, et ainsi de suite…

En venant à une visualisation formelle du modèle, on obtient un schéma qui est à la base de tous les systèmes basiques et avancés du fonctionnement des neurones:

Si l’on regarde le schéma ci-dessous, on retrouve le neurone tel qu’il existe dans nos cerveaux. Par analogie, la couche d’entrée correspond à nos dendrites, les couches cachées correspondent à des interconnexions de neurones et d’axones, et la couche de sortie correspond à celles d’autres dendrites.

Source image : futura-science

Chaque couche est différente de l’autre, mais les deux fonctions : combinaison et activation sont toujours les mêmes.

La fonction de combinaison permet de faire une équation toute simple qui ajoute le poids et la valeur de chaque entrée pour déterminer si ce résultat passera la fonction d’activation et permettra au perceptron de s’activer ou non (le perceptron est l’élément le plus simple lorsque vient le temps de représenter une “intelligence artificielle”).

La fonction d’activation a pour objectif de prendre le résultat de la fonction de combinaison et de déterminer si le neurone se déclenchera. Il existe plusieurs types de fonctions d’activation, dont les mérites sont souvent discutés et comparés afin d’améliorer la précision d’un réseau de neurones. La plus utilisée est la fonction Sigmoïde :

  • La fonction Sigmoïde : produit une courbe caractéristique non-linéaire en forme de S, qui transforme les valeurs comprises entre 0 et 1. Un exemple courant de fonction sigmoïde est la fonction logistique.

Elle est symétrique par rapport au point (0,1/2), appelé point d’inflexion, qui vérifie :

Par le graphique ci-dessus on peut interpréter que :

Si la valeur de X va à l’infini positif, la valeur prédite deviendra 1

Si la valeur de X va à l’infinitif négatif, la valeur prédite deviendra 0

D’autres fonctions d’activation existent :

  • La fonction de tangente hyperbolique (tanh) : Il s’agit d’une fonction qui a moins de défauts que la Sigmoïde mais elle est plus lente à converger. Elle est de nature non linéaire, si bien que nous pouvons empiler des couches ! Elle est liée à plage (-1,1), donc pas de soucis d’activation qui explose. Elle ressemble beaucoup à la sigmoïde.

En fait, c’est une fonction sigmoïde mise à l’échelle !

  • La fonction dite unité linéaire rectifiée (ReLu) : Cette fonction converge plus rapidement, optimise et produit la valeur souhaitée plus rapidement. C’est de loin la fonction d’activation la plus populaire utilisée dans les couches cachées. Elle permet d’effectuer un filtre sur nos données. En fait, elle laisse passer les valeurs positives dans les couches suivantes du réseau de neurones.

Elle donne une sortie x si x est positif et 0 sinon. Autrement dit, c’est le maximum entre x et 0.

  • La fonction Softmax : une fonction d’activation utilisée dans la couche de sortie car elle réduit les dimensions et peut représenter une distribution catégorique. En fait, elle permet de transformer un vecteur réel en vecteur de probabilité.

Par cette fonction, chaque vecteur est traité indépendamment. On l’utilise souvent dans la couche finale d’un modèle de classification notamment pour les problèmes de multiclasses pour une classification non binaire.

Différents types de réseaux de neurones

Il existe plusieurs types d’architectures neuronales qui sont couramment utilisées dans diverses applications en Machine Learning. On peut les classer en deux segments : les modèles d’apprentissage traditionnels dits populaires et les modèles d’apprentissages profonds dits avancés. Regardant les modèles réseaux de neurones d’apprentissage traditionnels, nous pouvons citer les deux modèles ci-dessous :

Réseau de neurones récurrent – Recurrent Neural Network (RNN)

Ce sont des réseaux de neurones spécialisés qui utilisent le contexte des entrées lors du calcul de la sortie. Ainsi, les RNN conviennent aux applications où les informations historiques sont importantes. Ces réseaux nous aident à prévoir les séries chronologiques dans les applications commerciales et à prévoir les mots dans les applications de type chatbot. Ils peuvent fonctionner avec différentes longueurs d’entrée et de sortie et nécessitent une grande quantité de données.

Réseau de neurones de convolution – Convolution Neural Network (CNN) :

Ces réseaux reposent sur des filtres de convolution (matrices numériques). Les filtres sont appliqués aux entrées avant que celles-ci ne soient transmises aux neurones. Ces réseaux de neurones sont utiles pour le traitement et la prévision d’images.

Regardant les modèles réseaux neurones avancés, plusieurs modèles d’apprentissage profonds ont eu du succès. Bien que certaines soient limitées par des considérations informatiques, leur potentiel est assez important. Si on peut citer un, le modèle de réseaux de neurone GAN (Generative Adversarial Netwoks). Les réseaux GAN agissent comme un modèle de génération de données à partir d’un jeu de donnée initial en utilisant une technique de jeu contradictoire. L’un correspond à un générateur et l’autre à un discriminateur. Le générateur prend le bruit gaussien comme entrée et produit une sortie, qui est un échantillon généré, c’est à dire les données créées. Le discriminateur est typiquement un classificateur probabiliste comme la régression logistique dont son travail est de distinguer les deux échantillons : l’échantillon de l’ensemble de données d’un jeu de données distinctement des données de l’échantillon généré. Le générateur tente de créer des échantillons aussi réalistes que possible; son travail est de tromper le discriminateur, alors que le travail du discriminateur est d’identifier les faux échantillons indépendamment de la façon dont le générateur essaie pour le tromper. Le problème peut être compris comme un jeu opposé entre le générateur et discriminateur, et le modèle d’optimisation formel est un problème d’apprentissage minimax (théorie des jeux) et l’équilibre de Nash « Nash equilibrium », de ce jeu un modèle final est formé. Ces méthodes peuvent créer des échantillons réalistes à l’aide d’un ensemble de données de base. Ils sont utilisées généralement dans le domaine de l’image. Par exemple, si l’approche est formée à l’aide d’un ensemble de données contenant des images de chambres, il produira des chambres à la recherche réaliste qui ne sont pas en fait une partie des données de base. D’autres types d’applications telles que la traduction de texte en image et d’image en image.

Le potentiel des GAN est énorme, car ils peuvent apprendre à imiter toute distribution de données. Autrement dit, les GAN peuvent apprendre à créer des mondes étrangement similaires au nôtre dans n’importe quel domaine. Ce sont des robots artistes dans un sens, et leur production est impressionnante même poignante. Mais ils peuvent également être utilisés pour générer de faux contenus multimédias et sont la technologie qui sous-entend Deepfakes.

Entrainement des réseaux de neurones avec l’algorithme backpropagation

L’algorithme dit de rétropropagation aide les réseaux de neurones à auto-apprendre, à les rendre plus intelligents et par conséquent à améliorer leur précision.

Pour les réseaux de neurones monocouche (single-layer neural network), le processus d’entrainement est relativement simple car l’erreur ou la fonction de perte peut être calculée en fonction des poids, et cela entraîne le calcul d’un gradient stochastique facile. Dans le cas des réseaux multicouches (multi-layer networks), le problème est que la perte (l’erreur) est une fonction de composition compliquée des poids des couches antérieures. Le gradient d’une fonction de composition est calculé à l’aide de l’algorithme de rétropropagation. Ce dernier exploite la règle de chaîne du calcul différentiel qui calcule l’erreur gradient en termes de sommations de produits de gradient locaux sur les différents chemins à partir d’un nœud à la sortie.

Bien que cette sommation ait un nombre exponentiel de composants (chemins), on peut la calculer efficacement en utilisant la programmation dynamique. Elle contient deux phases principales, désignées respectivement comme phases avant et arrière (Forward & Backward). La phase Forward est requise pour calculer les valeurs de sortie et les dérivées locales à différents nœuds, et le Backward est nécessaire pour accumuler les produits de ces valeurs locales sur tous les chemins du nœud à la sortie :

  • Phase forward : dans cette phase, les entrées d’une instance d’entraînement sont introduites dans le réseau de neurone. Il en résulte une cascade de calculs à travers les couches, en utilisant l’ensemble actuel de poids. La sortie finale prévue peut être comparée à celle de l’instance d’apprentissage et la dérivée de la fonction de perte par rapport à la sortie calculée. La dérivée de cette perte doit maintenant être calculée par rapport au poids dans toutes les couches dans la phase backward.
  • Phase backward : l’objectif principal de la phase est d’apprendre au gradient de la fonction de perte par rapport aux différents poids en utilisant la règle en chaîne du différentiel calcul et ensuite ces gradients sont utilisés pour mettre à jour les poids. Cet apprentissage est un processus à séquence d’unités cachées.

Cinq étapes pour entrainer des réseaux de neurones avec cette méthode de backpropagation et calculer le gradient d’une fonction de perte par rapport à tous les poids du réseau :

  1. Etape 1 : entrées X (données d’entrée explicatives)
  2. Etape 2 : modélisation des entrées à l’aide des poids réels (W), généralement choisis au hasard
  3. Etape 3 : calcul de la sortie (prédiction) pour chacun des neurones ayant passé par la couche d’entrée, aux couches cachées, à la couche de sortie
  4. Etape 4 : calcul de l’erreur dans la sortie (fonction de perte)
  5. Etapes 5 : Ajustement et optimisation du calcul de l’erreur par un mécanisme inverse, de la couche de sortie aux couches cachées, et continuez à répéter le processus jusqu’à ce que le résultat souhaité soit atteint. C’est à dire une prédiction avec une erreur minimale.

Les avantages de la backpropagation sont :

  • Rapide, simple et facile à programmer
  • Pas de paramètres à régler en dehors du nombre d’entrées
  • Une méthode standard et flexible car elle ne nécessite pas de connaissances préalables sur le réseau

Application des réseaux de neurones

L’utilisation des réseaux de neurones se multiplie dans plusieurs domaines et le secteur de la finance n’est pas épargné. Si par le passé leur application n’était pas aussi évaluable, à présent avec l’évolution des métiers autour de la donnée, plus particulièrement autour de la data science, ils constituent un des éléments qui suscitent un plus grand intérêt. Ci-après quelques uns qui ont été développés au sein des établissements financiers ces dernières années.

Analyse des chèques bancaires

Avec des avancés considérables sur le Deep Learning et l’utilisation des réseaux de neurones, il est désormais possible de construire un système capable d’analyser le montant souscrit sur un chèque et reconnaître les nombres manuscrits. Ce travail est rendu possible par Yann LeCun avec l’invention des réseaux convolutifs. La prédiction des chiffres manuscrits sur un chèque est rendue possible et cela sous prétexte qu’il s’agit de la lecture, reconnaissance d’images. Rappelons qu’une image est représentée de manière à mimer le fonctionnement de notre rétine et de la visualisation des couleurs telles que nous les percevons à travers les cônes présents sur notre rétine; ces derniers capables de percevoir le rouge, le bleu et le vert différemment. Les images sont composées de pixels contenant une seule valeur entre 0 et 255, soit la valeur d’un octet, ou trois d’entre-elles formant trois canaux lorsque l’on a affaire à des images en couleurs, les fameux RGV/RGB. En effet, pour une image en couleur, celle-ci a trois dimensions, reparties en 3 couleurs primaires : Rouge, Vert et Bleu.

La procédure la plus facile pour la reconnaissance d’image avec un réseau de neurones consiste à transformer l’image en lecture matricielle de dimension, correspondant à la largeur et la hauteur de l’image, chaque pixel de l’image va donc représenter une variable de la matrice qui est comprise entre 0 et 1. Ensuite, ces valeurs sont normalisées et passées en entrée du réseau. On considère d’abord l’entrée du réseau, qui sera assignée à travers la couche d’entrée. Ici, il s’agit d’images de chiffres manuscrits. Tous les neurones de la couche cachée seront alors connectés à tous les pixels de l’image. Les couches cachées usent d’opérations matricielles suivies des fonctions d’activation pour mimer l’activation des neurones comme dans le cerveau humain. La couche de sortie indique la réponse du réseau. A la sortie dix neurones ou pour chacun est affecté une étiquette (classe) de 0 à 9, la première est pour le chiffre 0, la seconde pour 1. Et ainsi de suite. Le mécanisme est de faire passer l’échantillon des chèques sur dix réseaux et observer la sortie.

Si le premier neurone se déclenche, c’est à dire qu’il a une sortie égale à 1, cela indiquera que le réseau pense que le chiffre est 0. Si le deuxième neurone se déclenche, cela indique que le réseau de neurone pense que le chiffre est 1. Et ainsi de suite.

Avec l’utilisation de la descente de gradient stochastique et les données d’entraînement MINST, le recours aux RN constitue un pari gagnant pour un grand nombre d’établissements bancaires.

Anticipation du départ d’un client au sein d’une agence bancaire

Les banques de détails vivent un tournant important ces dernières années avec l’ère du numérique et du digital. La maîtrise de l’attrition clients (taux de départ, appelé “Churn” par les Anglo-saxons) est donc devenue primordiale! Afin de mettre en place un plan d’action « anti-Churn », il est donc nécessaire de pouvoir détecter les clients sur le départ. L’utilisation des algorithmes de réseaux de neurones pour prédire avec précision quels clients sont à risque et prendre des mesures pour empêcher cette attrition a été une bonne solution pour faire face à la concurrence.

Prédiction de l’insolvabilité et la faillite des banques

Cet exercice a été rendu possible grâce au travail de Qeethara Al-Shayea, Ghaleb A El-Refae, Shorouq Eletter et Al –Zaytoonah. L’application des réseaux de neurones artificiels pour prédire la détresse financière sur la base de ratios financiers sélectionnés (exemple de ratios de liquidité, capacité d’autofinancement, le bénéfice par rapport à divers éléments du bilan, flux de trésorerie et dettes) cela a montré la capacité des réseaux à apprendre les modèles correspondant à la détresse financière de la banque et avec des signaux d’alerte précoce pour une meilleure surveillance de la solvabilité.

Calcul des prix des options et Grecs en un temps record

L’utilisation des modèles stochastiques pour estimer les prix des options nécessitait des millions de simulations et des temps longs. Premièrement, nous avons besoin de trouver un algorithme pour calculer les prix des options. Ensuite, nous avons besoin d’un algorithme qui produit des paramètres de modèle cohérents avec les prix du marché. Avec l’utilisation des réseaux de neurones pour évaluer, calibrer et tester des modèles stochastiques cela peut être réalisé à un temps très réduit et avec précision. Par exemple, en supposant pour calculer les prix des options, tester un modèle qui recalibre quotidiennement plus de mille actifs et vingt ans de données aurait pris plus de 2 mois. Maintenant, cela prendrait moins d’un jour avec les RNN. De plus, ces calculs rapides peuvent aider à surveiller les risques. Il est possible de suivre en temps réel l’exposition d’un portefeuille d’options vanille avec des paramètres de modèle. En fait, il est facile de combiner et utiliser les paramètres estimés du modèle comme point de départ de leur étalonnage. Une telle rapidité peut être cruciale pour estimer le risque dans les scénarios de tension du marché, où la surveillance de plusieurs modèles à la fois peut être nécessaire. De plus, il est envisageable d’ajuster rapidement la surface de volatilité implicite après un mouvement du marché. Ceci est particulièrement utile autour des événements économiques, où nous observerions généralement un bond de la volatilité implicite.

En conclusion…

Bien que les réseaux de neurones puissent être considérés comme une simulation des processus d’apprentissage. Une compréhension plus directe des réseaux de neurones se fait sous forme de graphes informatiques à travers une composition récursive de fonctions plus simples afin d’apprendre des fonctions plus complexes. Les types les plus simples de réseaux de neurones sont souvent des modèles d’apprentissage automatique de base comme la régression des moindres carrés. La véritable puissance des réseaux de neurones est libérée en utilisant plus de combinaisons complexes des fonctions sous-jacentes. Les paramètres de ces réseaux sont conçus en utilisant la méthode de programmation dynamique appelée rétropropagation.

Il existe plusieurs défis associés à l’apprentissage des modèles de réseaux de neurones, tels que le surajustement et l’instabilité de l’entrainement. Ces dernières années, de nombreuses avancées algorithmiques ont réduit ces problèmes. La conception de méthodes d’apprentissage en profondeur dans des domaines spécifiques tels que le texte et les images nécessite des architectures soigneusement conçues. Des exemples de telles architectures incluent des réseaux de neurones récurrents et réseaux de neurones convolutifs. Concernant les paramètres dynamiques dans lesquels une séquence de décisions doit être prise par un système, des méthodes comme l’apprentissage par renforcement est plus avantageux.

un article rédigé par…

Nicolas PANNIRSELVAME,

Consultant Manager

Adel TAMART,

Consultant Expert

Aller plus loin

Autres actualités en
Finance Quantitative

    Préférences de confidentialité

    Lorsque vous visitez notre site Web, il peut stocker des informations via votre navigateur à partir de services spécifiques, généralement sous la forme de cookies. Ici, vous pouvez modifier vos préférences de confidentialité. Il est à noter que le blocage de certains types de cookies peut avoir une incidence sur votre expérience sur notre site Web et sur les services que nous sommes en mesure d’offrir.

    Pour des raisons de performance et de sécurité, nous utilisons Cloudflare
    required
    Activer / désactiver le code de suivi Google Analytics dans le navigateur
    Activer / désactiver l'utilisation des polices Google dans le navigateur
    Activer / désactiver l'intégration de vidéos dans le navigateur
    Politique de confidentialité Préférences de confidentialité
    Notre site internet contient des services tiers pour son bon fonctionnement. Définissez vos préférences et/ou agréments pour notre utilisation de cookies.