Vous êtes sur la page 1sur 12

Implémentation des réseaux de neurones récurrents

pour la prévision hydrologique de la pluviométrie de

la wilaya de Annaba avec Tensorflow

Rafik Feraoun ENP Alger, 10 Rue des Frères OUDEK, El-Harrach 16200

email : rafik.feraoun@gmail.com

Résumé Les réseaux de neurones artificiels (RNA) constituent une nouvelle méthode d’approximation de

systèmes complexes. Leur utilisation s’est vu croire exponentiellement ces dernières années avec l’explosion de

l’ère informatique et l’arrivée d’ordinateurs de plus en plus performants. Une famille de modèle RNA appelée

réseau de neurones artificiels récurrents notamment est privilégiée pour la prévision des phénomènes

hydrologiques. Dans cette étude, nous présentons un modèle de réseaux de neurones artificiels récurrents (RNN)

implémenté avec l’API open source de Google appelée Tensorflow en utilisant le langage open source Python,

pour la prévision de la pluviométrie de la wilaya d’Annaba. La création de ce modèle a nécessité plusieurs étapes

pendant lesquelles nous avons pu déterminer les différents composants nécessaires à la réalisation de ce modèle.

Ce modèle a démontré sa flexibilité et sa puissance de prévision sur un horizon de dix ans des précipitations dans

cette région. Ces résultats confirment que les réseaux de neurones artificiels peuvent jouer un rôle important dans

la prévision et leur adaptation efficace pour ce type de phénomène hydrologique.

Abstract Artificial Neural Networks (ANN) is a new method of approximating complex systems. Their use

has been seen exponentially in recent years with the explosion of the computer age and the arrival of more and

more powerful computers. A family of ANN model called recurrent neural networks in particular is preferred for

the prediction of hydrological phenomena. In this study, we present a model of recurrent artificial neural

networks (RNN) implemented with Google's open source API called Tensorflow using Python, for the rainfall
forecast of the Annaba city. The creation of this model required several stages during which we were able to

determine the different components necessary for the realization of this model. This model has demonstrated its

flexibility and predictive power over a ten-year horizon of rainfall in this region. These results confirm that

artificial neural networks can play an important role in prediction and their effective adaptation for this type of

hydrological phenomenon.

Mots clés Réseaux de neurones artificiels. Pluviométrie. Annaba. RNN. Tensorflow.

1 Introduction

Les précipitations sont constituées des chutes de pluie, de grêle ou de neige provenant de la condensation, dans

des conditions météorologiques particulières, de la vapeur d'eau atmosphérique. Elles constituent l'unique

« entrée » des principaux systèmes hydrologiques continentaux que sont les bassins versants.

Elles sont mesurées par leur hauteur rapportée à un intervalle de temps. Cette hauteur est définie comme

l'épaisseur de la lame d'eau qui s'accumulerait sur une surface horizontale pendant cet intervalle de temps si

toutes les précipitations, éventuellement après fonte, y étaient immobilisées. L'instrument de mesure de base est

le pluviomètre.

Dans l’établissement du bilan hydrique, les précipitations sont l’élément le plus important parce qu’elles reflètent

la circulation des eaux de surface et souterraines. De plus, toute étude climatologique nécessite une analyse bien

détaillée des précipitations, car la pluie est un facteur qui conditionne l’écoulement saisonnier et par conséquent,

le régime des cours d’eaux ainsi que celui des nappes.

2 Contexte Climatique de la wilaya de Annaba

Le climat de Annaba est un modèle de régime méditerranéen. C'est un climat chaud : les moyennes mensuelles

hivernales descendent rarement sous les 10°. Les étés sont chauds, et même ponctuellement torrides, avec des

moyennes estivales proches de 25°, mais restent tout de même en deçà des valeurs tropicales pures.

Le régime de précipitations est très contrasté, avec une saison sèche de trois mois (juin, juillet, août) et des

valeurs voisines de 10 mm, et le reste de l'année assez arrosé, notamment lors des maximas hivernaux.

La précipitation moyenne annuelle pour la wilaya de Annaba est estimée à 633.8 mm de la période entre 1960 et

2009.
3 Les réseaux de neurones artificiels

3.1 Description

Les réseaux de neurones artificiels constituent une technique d'apprentissage et de traitement automatique qui

s'inspire du fonctionnement du cerveau humain. Les réseaux de neurones artificiels peuvent être définis comme

une structure de traitement parallèle massif constituée de plusieurs unités très simples (que l'on appelle des

neurones), qui sont capables de stocker des connaissances expérimentales et de les rendre utilisables.

Les réseaux de neurones artificiels sont similaires aux réseaux de neurones biologiques sur plusieurs points :

1. Les neurones sont des éléments simples et fortement connectés (même si les neurones artificiels sont

beaucoup plus simples).

2. Les connexions entre les neurones permettent de déterminer la fonction du réseau. Ces connexions, connues

sous le nom de « poids » (poids synaptiques), servent à stocker les connaissances acquises.

3. Les connaissances sont extraites de leur environnement via un processus d'apprentissage.

3.2 Architecture des réseaux de neurones artificiels

L'architecture (également appelée topologie) du réseau désigne la disposition des neurones dans ce réseau. Les

neurones sont organisés en couches, le réseau de neurones peut donc être constitué d'une ou plusieurs couches de

neurones.

Chaque neurone reçoit un ensemble d'entrées multipliées par leur interconnexion (poids), qui sont ensuite

additionnées et calculées par une fonction de transfert (ou fonction d'activation), avant d'être transmises à la

couche suivante ou de former la sortie du réseau.

Architecture d’un réseau de neurone

artificiel
La couche qui contient les sorties du réseau est connue sous le nom de couche de sortie et les couches restantes

sont appelées couches cachées.

Ces différentes couches sont généralement classées en fonction de leur architecture. Nous avons ainsi :

 Les réseaux à propagation avant ;

 Les réseaux à propagation arrière.

 Les réseaux à propagation double (récurrents)

3.3 Apprentissage des réseaux de neurones artificiels (Learning process)

Dans de nombreux cas, elles sont également classées en fonction du type d'apprentissage qu'elles réalisent. Ainsi,

nous pouvons distinguer différents types d'apprentissages :

 L'apprentissage supervisé, où l'on utilise un ensemble déterminé de données d'entrée et de sortie pour ajuster les

poids du réseau de manière itérative.

 L'apprentissage non supervisé, où l'on trouve uniquement des données d'entrée et une fonction de coût à réduire.

 L'apprentissage renforcé, qui se trouve à mi-chemin entre l'apprentissage supervisé et non supervisé. Dans cet

apprentissage, l'information transmise au réseau est réduite au minimum : elle indique uniquement si la réponse

du réseau est correcte ou non.

4 Présentation de l’API TensorFlow

TensorFlow est une bibliothèque de logiciels open source pour le calcul numérique utilisant des graphiques de

flux de données. Les nœuds dans le graphe représentent des opérations mathématiques, tandis que les arêtes de

graphe représentent les matrices de données multidimensionnelles (tenseurs) communiquant entre eux.

L'architecture flexible permet de déployer le calcul sur un ou plusieurs processeurs ou GPU dans un poste de

travail, un serveur ou un périphérique mobile avec une seule API. TensorFlow a été initialement développé par

des chercheurs et des ingénieurs travaillant sur l'équipe Google Brain au sein de l'organisation de recherche

Machine Intelligence de Google dans le but de conduire des recherches sur les réseaux neuraux profonds, mais le

système est assez général pour être applicable dans de nombreux autres domaines.
TensorFlow est disponible pour les langages C++ et Python. Ce dernier sera exclusivement utilisé dans toutes les

étapes de cette étude.

5 Expérimentation

Dans cette section, on décrira d'abord l'ensemble de données utilisé dans nos expériences, puis on donnera un

aperçu sur les modèles de base utilisés, et enfin on montrera nos résultats et discuterons des principales

constatations et observations.

5.1 Description du dataset

Notre série de données concerne les valeurs moyennes annuelles de la précipitation prélevées dans la station

hydrométrique située dans la ville d’Annaba (Station hydrométrique d’Annaba).

Cette série est composée de 50 observations de la période entre 1960 et 2009.Les caractéristiques détaillées de ce

dataset sont mentionnées ci-dessous

Caractéristiques de l’échantillon de données de la station hydrométrique d’Annaba


5.2 Modèle utilisé

Dans cette section, on donnera un aperçu sur le modèle de réseau de neurones artificiels utilisé ainsi que

certaines de ces caractéristiques, sans pour autant entrer dans les détails.

Dans le cadre de cette étude, on a choisi un modèle de réseau de neurones artificiels récurrents (RNN) type

Gated Recurrent Unit (GRU) mono couche contenant 400 neurones artificiels. Ce type récent de réseau de

neurones artificiels a montré sa grande flexibilité et sa puissance de prédiction pour tous type de données

séquentielles et spécialement pour les données à séquence temporelle comme celles toujours rencontrées en

hydrologie.

- Réseau de neurones récurrents RNN : c’est un réseau présentant des connexions récurrentes. Un

réseau de neurones récurrents est constitué d'unités (neurones) interconnectés interagissant non-

linéairement et pour lequel il existe au moins un cycle dans la structure. Les unités sont reliées par des

arcs (synapses) qui possèdent un poids. La sortie d'un neurone est une combinaison non linéaire de ses

entrées.

Les réseaux de neurones récurrents sont adaptés pour des données d'entrée de taille variable. Ils

conviennent en particulier pour l'analyse de séries temporelles. Ils sont utilisés en reconnaissance

automatique de la parole ou de l'écriture manuscrite - plus en général en reconnaissance de formes - ou

encore en traduction automatique. « Dépliés », ils sont comparables à des réseaux de neurones

classiques avec des contraintes d'égalité entre les poids du réseau (voir schéma à droite). Les techniques

d'entraînement du réseau sont les mêmes que pour les réseaux classiques (rétropropagation du gradient),

néanmoins les réseaux de neurones récurrents se heurtent au problème de disparition du gradient pour

apprendre à mémoriser des évènements passés. Des architectures particulières répondent à ce dernier

problème, on peut citer en particulier les réseaux Long short-term memory. On peut étudier les

comportements des réseaux de neurones récurrents avec la théorie des bifurcations, mais la complexité

de cette étude augmente très rapidement avec le nombre de neurones.

Gated Recurrent Unit GRU : Un réseau Gated Recurrent Unit (GRU), en français réseau récurrent

à portes ou plus explicitement réseau de neurones récurrents à portes, est une variante des LSTM

introduite en 2014. Les réseaux GRU ont des performances comparables aux LSTM pour la prédiction

de séries temporelles (ex : partitions musicales, données de parole). Une unité requiert moins de

paramètres à apprendre qu'une unité LSTM. Un neurone n'est associé plus qu'à un état caché (plus
de cell state) et les portes d'entrée et d'oubli de l'état caché sont fusionnées (update gate). La porte de

sortie est remplacée par une porte de réinitialisation (reset gate).

L’explication détaillée du fonctionnement d’un GRU n’étant pas l’objet de cet article, on présentera le

schéma du fonctionnement suivant

Schéma d’un GRU et ses différentes fonctions opérantes

5.3 Résultats et discussion

Disposant des données de précipitations décrites précédemment, cette étude sera entamée par un test

d’adéquation à la loi de Gumbel et le test de khi deux, qui sont déterministes pour la suite de cet article.

L’étude statistique sera effectuée avec le logiciel HyfranPlus.

On commencera d’abord par visualiser les données de précipitation au cours du temps, qui sera

représentée ci-dessous

Evolution des précipitations moyenne annuelles de la wilaya de Annaba


On voit bien que, d’après ce graphique, la précipitation moyenne annuelle de la wilaya de Annaba varie d’une

façon aléatoire entre une valeur minimum de 585 mm et un maximum de 720 mm.

Le test d’adéquation à la loi de Gumbel de notre série de données a donné les résultats suivants

Test d’adéquation de la série de précipitation moyenne annuelles de Annaba avec HyfranPlus

Ce test confirme donc que notre échantillon est adéquat à une utilisation de la loi de Gumbel, étant donné l’allure

linéaire de la courbe des précipitations sur un papier de Gumbel.

Pour le test de khi deux (chi Squared) :

L’hypothèse H0 : la série est en adéquation avec la loi de Gumbel

Hypothèse H1 : la série n’est pas en adéquation avec la loi de Gumbel

Pour un taux d’erreur α= 1%, on obtient les résultats suivants


Test de khi deux pour la série de précipitation moyenne annuelle de la wilaya de Annaba

Ceci montre bien que pour un taux d’erreur α= 1%, cette série est en adéquation avec la loi de Gumbel.

Implémentation du RNN

Dans cette étude, on se propose de prédire les valeurs des précipitations sur 10 années en partant de notre série

d’observations, pour ce, l’échantillon des 50 valeurs sera divisé en deux parties, la première, contenant les 40

premières observations, servira à l’entrainement de notre algorithme et la deuxième, contenant les 10 dernières

valeurs, sera utilisée pour valider notre modèle.

Le réseau de neurones artificiels qu’on utilisera sera de type récurrent utilisant les fonctions GRU, d’une

architecture monocouche composé de 400 cellules.

Le Learning Rate utilisé est 0.001, le nombre d’itération est 4000.

A Noter que notre série qui servira à l’entrainement de notre algorithme sera introduite à l’algorithme valeur par

valeur, c’est à dire que le batch size sera 1.

La fonction de réduction de l’erreur utilisée est la méthode des moindres carrés, l’optimiseur pour la propagation

inverse (backpropagation) qu’on utilisera est de type « AdamOpimizer »

Etant donné ces paramètres, les résultats obtenus sont les suivants :
Comparaison entre valeur réelles (en bleu) et valeurs générées par notre RNN (en orange)

D’après les résultats obtenus ci-dessus, on constate que, pour les deux premières années, notre RNN a généré des

prédictions qui sont très proches des valeurs réelles, puis l’erreur a augmenté pour la troisième année pour se

stabiliser à priori par la suite.

Ceci démontre que ce type de réseau de neurones artificiels possède un potentiel de prédiction assez conséquent

malgré la taille de l’échantillon très réduite et l’absence de données de paramètres influant la précipitation

(vitesse du vent, température …)

La fonction d’erreur générée par l’utilisation de notre algorithme pour chaque 100 itérations est présentée ci-

dessous

Evolution de l’erreur par rapport au nombre d’itérations


On voit bien que la fonction d’erreur décroit rapidement au début pour osciller ensuite d’une façon décroissante.

Ceci s’explique par l’ajustement des poids au fil des itérations, qui a pour résultat de minimiser l’erreur.

6 Conclusion

Dans cette étude, on a pu démontrer à quel point l’implantation des réseaux de neurones artificiels récurrents

étant adaptée pour la prédiction des phénomènes hydrologique. En effet, à travers les résultats de ce travail on

peut confirmer la pertinence des prédictions obtenues par les RNN pour les séries temporelles et ce, même dans

notre cas où la série de données n’était seulement composé que de 50 observations, ce qui nous conduit à dire

que le champ de l’optimisation des modèles RNN pour les phénomènes hydrologiques reste assez vaste compte

tenu des paramètres ajustables (Nombre de neurones, Nombre de couches cachées, nombre d’itérations, learning

rate, batch size …)


Références

1 Beven, K.J., et al.: Streamflow generation processes. IAHS Press (2006)

2 Daniell, T.: Neural networks. applications in hydrology and water resources engineering. In: National

Conference Publication- Institute of Engineers. Australia (1991)

3 Sivakumar, B.: Forecasting monthly streamflow dynamics in the western united states: a nonlinear

dynamical approach. Environmental Modelling & Software 18(8),721-728 (2003)

4 Kenabatho, P., Parida, B., Moalafhi, D., Segosebe, T.: Analysis of rainfall and large-scale predictors

using a stochastic model and artificial neural network for hydrological applications in southern africa.

Hydrological Sciences Journal 60(11),1943-1955 (2015)

5 Kingma, D., Ba, J.: Adam: A method for stochastic optimization. arXiv preprint arXiv:1412:6980

(2014)

6 Les réseaux de neurones avec MATLAB https://fr.mathworks.com/discovery/les-reseaux-de-

neurones.html

7 TensorFlow API site https://www.tensorflow.org/

Vous aimerez peut-être aussi