Académique Documents
Professionnel Documents
Culture Documents
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
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.
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 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
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.
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
artificiel
La couche qui contient les sorties du réseau est connue sous le nom de couche de sortie et les couches restantes
Ces différentes couches sont généralement classées en fonction de leur architecture. Nous avons ainsi :
Dans de nombreux cas, elles sont également classées en fonction du type d'apprentissage qu'elles réalisent. Ainsi,
L'apprentissage supervisé, où l'on utilise un ensemble déterminé de données d'entrée et de sortie pour ajuster les
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
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
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.
Notre série de données concerne les valeurs moyennes annuelles de la précipitation prélevées dans la station
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
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
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é
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
L’explication détaillée du fonctionnement d’un GRU n’étant pas l’objet de cet article, on présentera le
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.
On commencera d’abord par visualiser les données de précipitation au cours du temps, qui sera
représentée ci-dessous
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
Ce test confirme donc que notre échantillon est adéquat à une utilisation de la loi de Gumbel, étant donné l’allure
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
Le réseau de neurones artificiels qu’on utilisera sera de type récurrent utilisant les fonctions GRU, d’une
A Noter que notre série qui servira à l’entrainement de notre algorithme sera introduite à l’algorithme valeur par
La fonction de réduction de l’erreur utilisée est la méthode des moindres carrés, l’optimiseur pour la propagation
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
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
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
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
2 Daniell, T.: Neural networks. applications in hydrology and water resources engineering. In: National
3 Sivakumar, B.: Forecasting monthly streamflow dynamics in the western united states: a nonlinear
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.
5 Kingma, D., Ba, J.: Adam: A method for stochastic optimization. arXiv preprint arXiv:1412:6980
(2014)
neurones.html