Berkouk Nassima

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 82

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

UNIVERSITE MOULOUD MAMMERI DE TIZI-OUZOU

FACULTE DE GENIE ELECTRIQUE ET INFORMATIQUE

DEPARTEMENT D’INFORMATIQUE

Mémoire

Présenté en vue de l’obtention du diplôme de Master 2 en Informatique


Option: Réseaux, mobilité et systèmes embarqués

Thème

Prédiction de flux de trafic routier à l’aide


de l’apprentissage profond

Présenté devant le jury : Réalisé par :


Président : Mr M.DAOUI Mlle BERKOUK Nassima

Examinatrice : Mme M.BELKADI Mlle DRIOUCHE Saïda

Examinatrice : Mme S.BELLATAF

Promotrice : Mme R.AOUDJIT

Année universitaire: 2018/2019


Remerciements

Nous tenons tout d’abord à remercier Allah le tout puissant et miséricordieux, qui
nous a donné la force et la patience d’accomplir ce Modeste travail.

En second lieu, nous tenons à remercier notre promotrice Mme : (AOUDJIT


Rachida), pour ses précieux conseils et son aide durant toute la période
du travail.

Nos vifs remerciements vont également aux membres du jury pour l’intérêt qu’ils
ont porté à notre recherche en acceptant d’examiner notre travail et de l’enrichir
par leurs propositions.

Enfin, nous tenons également à remercier toutes les personnes qui ont participé
de près ou de loin à la réalisation de ce travail.
Dédicaces

Je dédie cet ouvrage

A ma chère maman, quoi que je fasse ou que je dise, je ne saurai point te remercier comme
se doit. Ton affection me couvre, ta bienveillance me guide, ta présence et tes prières tout au
long de mes études sont ma source de force,

A mon cher père, merci pour tous ses efforts et son soutien. Que ce travail traduit ma
gratitude et mon affection ,

A mes chères sœurs : Hanane, Feriel , Werda et Nabila pour leurs encouragements
permanents, et leur soutien moral,

A mes chers oncles : Ahmed, Karim, Nabil et Hamza pour leur appui et leur encouragement,

A ma grand-mère, pour tout ce qu'elle donne toujours pour nous et ses prières qui nous
suivent partout où nous sommes ,

A mes chères tentes : Hayat, Malika et Samira , ma chère tata Malika et mes cousins et
cousines maternels ,

A mes chères amies : Ouiza, Ania, Souhila, Kahina, Malha, Sonia, Hesni, Ghania et Tinhinane
pour leurs encouragements et leur soutien moral,

A ma binôme Saïda ma sœur d'une autre mère, mon bras droit qui a été compréhensive et
présente dans chaque moment,

A toute personne qui m'est très chère, à toute ma famille et amis pour leur soutien tout au
long de mon parcours, que ce travail soit l’accomplissement de vos vœux tant allégués, que
dieu vous donne santé, bonheur et réussite .

Merci d’être toujours là pour moi.

Nassima
Dédicaces
Je dédie ce travail

A ma chère maman, pour tous ses sacrifices, son amour, sa tendresse, son
soutien et ses prières tout au long de mes études,

A mon cher père, merci pour tous ses conseils et sa présence à mes côtés,

A mes chères sœurs : Souhila et Naima pour leurs encouragements permanents,


et leur soutien moral,

A mes chers frères, Mohamed, Sofiane, Karim et Yazid pour leur appui et leur
encouragement,

A mes chers nièces et neveux : Houda, Hanane, Yousra, Med-Amine et Rayan

A mes chères amies : Dihia, Hayet, Ryma, Safia et Yousra pour leurs
encouragements permanents, et leur soutien moral,

A ma binôme Nassima qui a été compréhensive et coopérante et une sœur avant


tout,

A mon cher ami Sohaϊb qui m’a toujours soutenu et il m’a toujours remonté le
moral,

A toute ma famille et amis pour leur soutien tout au long de mon parcours
universitaire,

Que ce travail soit l’accomplissement de vos vœux tant allégués, et le fuit de


votre soutien infaillible,

Merci d’être toujours là pour moi.

Saϊda
1

Résumé

Dans les derniers temps, les systèmes informatiques se sont penchés sur l’utilisation des nou-
velles technologies et techniques d’intelligence artificielle dans les différents domaines, d’où l’ap-
parition du terme “SMART” comme : Smart Cities, Smart Farm, Smart Health et Smart Trans-
portation. Le transport étant considéré comme un pilier essentiel du développement d’une ville
intelligente, ce mémoire s’intéresse à un des sujets les plus cruciaux dans les systèmes de transport
intelligent qui est “La Prédiction De Flux De Trafic Dans une ville” en s’appuyant sur une des plus
récentes technologies inspirée du raisonnement humain ” le deep learning ”.
1

Abstract

In recent times, computer systems have focused on the use of new technologies and techniques
of artificial intelligence in different fields, the reason of the appearance of the term ”SMART”
as : Smart Cities, Smart Farm, Smart Health and Smart Transportation. Since transportation is
considered to be a key pillar of smart city development, this paper focuses on one of the most
crucial topics in intelligent transportation systems that is ”The Prediction of Traffic Flow in a
City” based on one of the most recent technologies inspired by human reasoning ” deep learning ”.
‫ملخص‬

‫في الونة الخأيرة‪ ،‬ركزتا أنظمة الكمبيوتر على استخدام تقنياتا جديدة للذكاء الصاطناعي في مجالتا مختلفة‪ ،‬ومننن هنننا‬
‫ظهور مصطلح "‪ "SMART‬كن‪ :‬المدن الذكية‪ ،‬المزرعة الذكية‪ ،‬الصحة الذكية والنقل الذكي‪.‬‬
‫ونظن ررا لهمينة النقنل واعتبنناره ركيننزة أساسنية لتنمينة المندن الذكيننة‪ ،‬فنإن هنذه الطأروحنة تركننز علنى واحندة منن أكننثر‬
‫الموضوعاتا أهمية في أنظمة النقل الذكية وهي "التنبؤ بتدفق حركة المرور فني مدينننة" بحنند ذاتهننا‪ .‬باسننتخدام واحنندة مننن‬
‫أحدث التقنياتا مستوحاة من المنطق البشري "التعلم العميق"‪.‬‬
Table des matières

I Introduction Générale 7

II Généralités sur les systèmes de transport intelligent et l’ap-


prentissage automatique 9
1 Les systèmes de transport intelligent (STIs) 10
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2 Définition des STIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3 Catégories et domaines d’application des STIs . . . . . . . . . . . . . . . . . 13
1.3.1 Catégorisation des applications relatives aux STIs : . . . . . . . . . . 13
1.3.2 Domaines d’application des STIs . . . . . . . . . . . . . . . . . . . . 14
1.3.3 Gestion et contrôle du trafic : . . . . . . . . . . . . . . . . . . . . . . 15
1.4 L’évolution et l’architecture des STIs . . . . . . . . . . . . . . . . . . . . . . 16
1.4.1 L’évolution des STIs . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.2 L’architecture des STIs . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.3 Quelques projets d’STI récents . . . . . . . . . . . . . . . . . . . . . 18
1.5 Fonctionnement et apports des STIs . . . . . . . . . . . . . . . . . . . . . . . 20
1.5.1 Fonctionnement des STIs . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5.1.1 Fonctions des composants des STIs . . . . . . . . . . . . . . 20
1.5.1.2 Facteur humain . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.5.2 Les avantages des STIs . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.5.3 Les enjeux et défis des STIs . . . . . . . . . . . . . . . . . . . . . . . 23
1.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2 Apprentissage automatique 25

1
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2 Définition et source de l’apprentissage automatique . . . . . . . . . . . . . . 26
2.2.1 Types d’apprentissage automatique . . . . . . . . . . . . . . . . . . . 28
2.2.1.1 Apprentissage supervisé (Supervised Learning) : . . . . . . 28
2.2.1.2 Apprentissage non-supervisé (Unsupervised Learning) : . . . 29
2.2.1.3 Apprentissage semi-supervisé : . . . . . . . . . . . . . . . . 30
2.2.1.4 Apprentissage par renforcement (Reinforcement Learning) : 30
2.2.1.5 Apprentissage en profondeur : . . . . . . . . . . . . . . . . . 31
2.2.2 Quelques algorithmes . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3 L’apprentissage profond (DEEP LEARNING) . . . . . . . . . . . . . . . . . 37
2.3.1 Définition : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.3.2 Réseaux de neurones approfondis ( Deep Neural Networks ) . . . . . 39
2.3.2.1 Définition de réseau de neurones : . . . . . . . . . . . . . . . 39
2.3.2.2 Les types de réseaux de neurones . . . . . . . . . . . . . . . 41
2.3.3 Algorithmes d’apprentissage . . . . . . . . . . . . . . . . . . . . . . . 45
2.4 Domaines d’application et apports des réseaux de neurones . . . . . . . . . . 46
2.4.1 Domaines d’application . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.4.2 Avantages et inconvénients des RNs . . . . . . . . . . . . . . . . . . 47
2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

III Conception et Réalisation 49


3 Conception 50

2
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.2 Collecte et prétraitement de données . . . . . . . . . . . . . . . . . . . . . . 51
3.2.1 Collecte de données : . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.2.2 Analyse et nettoyage des données . . . . . . . . . . . . . . . . . . . . 51
3.2.3 Répartition de jeu de données ( Datasets ) . . . . . . . . . . . . . . . 52
3.3 Entrainement et mise en production du modèle . . . . . . . . . . . . . . . . 52
3.3.1 Choix d’un réseau de neurones . . . . . . . . . . . . . . . . . . . . . . 52
3.3.2 Apprentissage du réseau de neurones et entrainement du modèle . . . 53
3.3.3 Évaluation et déploiement du modèle en production . . . . . . . . . . 54
3.4 Outils d’implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.4.1 Les langages de programmation utilisés . . . . . . . . . . . . . . . . . 55
3.4.2 Les frameworks et bibliothèques . . . . . . . . . . . . . . . . . . . . 57
3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4 Réalisation 60
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.2 Collecte et prétraitement de données . . . . . . . . . . . . . . . . . . . . . . 61
4.2.1 Collecte des données : . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.2.2 Analyse et nettoyage des données . . . . . . . . . . . . . . . . . . . . 63
4.2.3 Répartition des données . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.3 Entrainement et mise en production du modèle . . . . . . . . . . . . . . . . 65
4.3.1 Choix d’un réseau de neurones . . . . . . . . . . . . . . . . . . . . . . 65
4.3.2 Apprentissage et entrainement du réseau de neurones . . . . . . . . . 67
4.3.3 Évaluation et déploiement du modèle . . . . . . . . . . . . . . . . . . 68
4.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

IV Conclusion Générale 71

3
Table des figures

1.1 Les aspects cibles des systèmes de transport intelligent . . . . . . . . . . . . 12


1.2 L’évolution des STIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3 Exemple de l’architecture des communication entre les éléments STIs au Canada 18
1.4 Portes de quai verticales - Espagne . . . . . . . . . . . . . . . . . . . . . . . 20
1.5 Chaı̂ne d’information d’un STI . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.1 Schèma général du Machine Learning . . . . . . . . . . . . . . . . . . . . . 27


2.2 Processus d’apprentissage supervisé . . . . . . . . . . . . . . . . . . . . . . 29
2.3 Processus général de l’apprentissage non-supervisé . . . . . . . . . . . . . . . 29
2.4 Différentes étapes d’un processus semi-supervisé . . . . . . . . . . . . . . . . 30
2.5 Processus d’apprentissage par renforcement . . . . . . . . . . . . . . . . . . . 31
2.6 Réseau de neurones profond . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.7 Régression linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.8 Régression logistique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.9 Machine à verteur de support . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.10 Formule de Naı̈ve Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.11 Détection d’anomalie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.12 L’arbre de décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.13 Architecture d’un réseau de neurones . . . . . . . . . . . . . . . . . . . . . . 36
2.14 K-Mean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.15 AI-ML-DL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.16 Apprentissage profond Vs apprentissage automatique . . . . . . . . . . . . . 38
2.17 Réseau de neurones simple Vs réseau de neurones profond . . . . . . . . . . 39
2.18 Correspondance Neurone Biologique-Neurone Artificiel . . . . . . . . . . . . 40
2.19 Fonctions d’activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.20 réseau feedforward VS réseaux récurrents Hopfield . . . . . . . . . . . . . . . 42
2.21 Classification des réseaux de neurones selon la topologie . . . . . . . . . . . . 42
2.22 Perceptron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.23 Perceptron multi-couches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.24 La carte de Kohenen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.25 Réseau de neurones de Hopfield à 3 noeuds . . . . . . . . . . . . . . . . . . 45

3.1 Les cas possibles du modèle d’apprentissage . . . . . . . . . . . . . . . . . . 52


3.2 Phase d’apprentissage du réseau de neurones . . . . . . . . . . . . . . . . . . 54
3.3 Phase de mise en production ( prédiction ) . . . . . . . . . . . . . . . . . . . 54
3.4 Frameworks du deep learning . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.1 Boucles d’induction magnétiques . . . . . . . . . . . . . . . . . . . . . . . . 61


4.2 Capteurs météo-routiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.3 Une vue sur la Dataset-London objet de notre étude . . . . . . . . . . . . . . 62
4.4 Les colonnes de valeurs non numériques à omettre (en jaune) . . . . . . . . 64
4.5 Récupération et préparation de données à utiliser . . . . . . . . . . . . . . . 64

4
4.6 Paramétrages du réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.7 Aperçue d’architecture du réseau de neurones pour CarsTaxis . . . . . . . . 66
4.8 Capture d’entrainement du réseau de neurones . . . . . . . . . . . . . . . . . 67
4.9 Plots de régression des différents ensembles de données train , test et validation 68
4.10 Amélioration de performance par entrainement répété 3 fois . . . . . . . . . 69
4.11 Graphe de comparaison entre les données prédites et les données cibles . . . 69
4.12 Graphe de comparaison entre les données prédites et les données cibles des
nouvelles entrées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5
Liste des tableaux

4.1 Les différents champs de la dataset . . . . . . . . . . . . . . . . . . . . . . . 63

6
Première partie

Introduction Générale

7
Le domaine des STIs est l’un des domaines où la recherche sur les nouvelles données
est associée à la synthèse de l’intelligence artificielle (AI) qui a commencé à montrer des
résultats intéressants. Les STIs consistent à fournir des services innovants et avancés dans
les domaines suivants : modes de transport et de gestion du trafic, et comment permettre aux
utilisateurs de faire des choix plus judicieux lors de l’utilisation des réseaux de transport. Ceci
influence directement à l’efficacité des infrastructures dans les villes intelligentes urbaines. De
nombreux facteurs entrent en jeu dans l’évolution du trafic quotidien. Y a-t-il un match de
football dans le stade local ? Y a-t-il des sites de construction actifs qui causent la redirection
du trafic ? La liste des situations possibles modifiante le flux de trafic s’allonge. Avoir un
système capable de prédire raisonnablement ces changements de trafic est de grande valeur
pour le gouvernement, l’industrie et les citoyens.
Dans ce travail on s’intéresse à répondre à la problématique : “ comment utiliser l’ap-
prentissage profond pour prédire le flux de trafic routier dans une ville ?” un plan est élaboré
et suivi.
Nous allons parler, en premier lieu, dans la partie théorique des Systèmes de transport
intelligent en citant l’évolution ainsi que les projets STIs les plus récents, dans le deuxième
chapitre on abordera la technologie la plus récente et la plus répondue dans le développent
des STIs et à la prédiction du trafic routier qui est bien l’apprentissage automatique et plus
précisément l’apprentissage en profondeur qui utilise les réseaux de neurones approfondis.
Dans la partie conception et réalisation qui est une partie consacrée en premier lieu
pour la procédure de développement d’un réseau de neurones ainsi que les outils utilisés,
le chapitre réalisation contiendra notre cas d’étude et toutes les étapes qu’on a suivi pour
mettre en place un système de prédiction. En fin on termine par une conclusion illustrant
les perspectives liées à ce travail.

8
Deuxième partie

Généralités sur les systèmes de


transport intelligent et l’apprentissage
automatique

9
Chapitre 1

Les systèmes de transport intelligent


(STIs)

10
1.1 Introduction
Les Systèmes de Transport Intelligent (STIs) font l’avenir des services liés à tous les
modes de transport actuels. Ils permettent d’apporter des réponses à certaines probléma-
tiques majeures de notre société comme l’amélioration de la sécurité routière ou encore la
diminution de la pollution des transports. Les transports de demain seront guidés automa-
tiquement, ne rejetteront plus de gaz à effet de serre dans l’atmosphère et seront donc plus
ergonomiques pour les conducteurs et leur environnement. Les infrastructures sont aussi
concernées : des informations entre les véhicules et les infrastructures seront échangées afin
d’éviter les congestions de trafic, de fluidifier les intersections et de prévenir ou signaler des
accidents. De plus, le modèle de la voiture individuelle pourrait disparaitre au profit de parcs
de voitures disponibles pour tous les utilisateurs. Toutes ces options peuvent paraitre uto-
pistes, c’est pourtant ce que proposent les entreprises qui travaillent dans le domaine des
STI. Il s’agit donc d’un sujet qui nous concerne tous et auquel nous portons un intérêt en
tant que futurs ingénieurs. En effet, il est important de comprendre les phénomènes auxquels
notre société doit faire face.
Ces technologies STI visent à fournir des services innovants liés aux différents modes de
transport et à la gestion du trafic et permettent aux utilisateurs d’être mieux informés et de
rendre l’utilisation des réseaux de transport plus sure et plus intelligente.

1.2 Définition des STIs


Le transport intelligent, application verticale clé de l’internet des objets. Son importance
vient du fait que ces technologies STI (ou ITS en anglais) permettent aux utilisateurs de
mieux utiliser le réseau de transport et ouvrent la voie au développement d’une infrastructure
plus intelligente pour répondre aux demandes futures et rendre les villes intelligentes encore
plus intelligentes. Donc, comment peut-on désigné un système donné comme STI ! ?

Définition : système interactif de collecte, de traitement et de diffusion d’information


appliqué aux transports, basé sur l’intégration des technologies de l’information et de la
communication aux infrastructures et aux véhicules utilisés, de manière à améliorer la gestion
et l’exploitation des réseaux de transport et des services aux utilisateurs qui y sont associés.
[31]

Un système de transport intelligent crée des liens de communication entre ses divers élé-
ments (l’infrastructure, le véhicule, le conducteur utilisateur) au moyen d’un centre de gestion
qui les relie en temps réel, ou encore directement d’un véhicule à l’autre. Il existe plusieurs
types de systèmes de transport intelligent, classés notamment selon les genres de services
qu’ils rendent et les technologies auxquelles ils ont recours. L’intégration de ces systèmes à
l’intérieur d’une architecture de STI implique leur interopérabilité. En effet, en permettant
aux différents éléments du système de communiquer entre eux, selon un processus et des
éléments de communication normalisés, un STI peut ajuster en temps réel les interventions
sur le réseau selon les informations échangées.
Les systèmes de transport intelligent couvrent surtout le réseau modal de transport rou-
tier, tout en incluant les services et les processus d’interface avec les autres modes de trans-
port (aérien, maritime et ferroviaire).

11
Figure 1.1: Les aspects cibles des systèmes de transport intelligent

Selon l’Intelligent Transportation Society of America, la technologie ITS permet de [28] :


— Utiliser un système de navigation pour trouver le meilleur itinéraire en fonction des
conditions en temps réel.

— Alerter les conducteurs des situations potentiellement dangereuses à temps pour éviter
les accidents.

— Être guidé vers un espace de stationnement vide par un panneau intelligent.

— Prendre un bus prioritaire aux intersections gérées par feu tricolore qui passe au feu
vert dès l’approche.

— Détecter et réagir rapidement aux incidents de la circulation.

— Réorienter le trafic en réponse aux conditions routières ou aux urgences météorolo-


giques.

— Fournir aux voyageurs des rapports en temps réel sur la circulation et la météo.

— Permettre aux conducteurs de gérer leur consommation de carburant.

12
— Ajuster les limites de vitesse et la synchronisation du signal en fonction des conditions
réelles.

— Améliorer le suivi du fret, l’inspection, la sécurité et l’efficacité.

— Rendre les transports en commun plus pratiques et fiables .

— Surveiller l’intégrité structurelle des ponts et autres infrastructures .

Le but principal des STIs est alors d’aider la prise de décisions par les exploitants du
réseau de transport et les autres utilisateurs. Souvent effectuées en temps réel, ces opérations
améliorent les conditions de vie de chacun.

1.3 Catégories et domaines d’application des STIs


1.3.1 Catégorisation des applications relatives aux STIs :

Les STIs peuvent être catégorisés selon les taches assurées et la bronche d’utilisation,
ci-dessous on a cité quelques catégories des STIs [18] :

— Information pour les voyageurs : informations de préparation au voyage, infor-


mations durant le voyage pour le conducteur, information durant le voyage dans les
transports publics, informations routières, localisations, etc.

— Gestion du trafic : contrôle du trafic, gestion des accidents, gestion des flux, gestion
de maintenance des infrastructures, planification des infrastructures, etc...

— Véhicule : amélioration de la couverture visuelle, fonctionnement automatisé du


véhicule, évitement des collisions (latérales et longitudinales), sécurité, maintenance
du véhicule, etc.

— Véhicule commercial : pré-dédouanement des véhicules utilitaires, procédures ad-


ministratives des véhicules utilitaires, inspection automatique de la sécurité routière,
surveillance de la sécurité à bord des véhicules utilitaires, gestion du parc automobile,
systèmes de diagnostic automatisés, etc.

— Transport public : gestion des transports publics, gestion des transports à la de-
mande, gestion du transport partagé, gestion des horaires, localisation, etc.

— Gestion des urgences : avis d’urgence et sécurité personnelle des voyageurs, gestion
des véhicules d’urgence, gestion du transport des matériaux dangereux et notification
d’incidents, etc.

— Paiement électronique : opérations financières électroniques (péages).

— Sécurité : sécurité publique des voyages, amélioration de la sécurité pour les usagers,
jonctions intelligentes, etc.

13
L’utilisation des STIs s’inscrit également dans une volonté de développement durable. En
effet, les STI amènent à une utilisation mieux coordonnée de la route grâce à l’utilisation de
données. L’information est alors primordiale pour connaitre l’état actuel d’un réseau ou en
planifier l’usage.

1.3.2 Domaines d’application des STIs

Les STIs apparaissent comme une réponse possible à un certain nombre de défis spéci-
fiques au domaine de la mobilité. Plus généralement, les STIs pourraient contribuer à l’amé-
lioration des performances de transports au regard des critères du développement durable,
que ce soit sur le plan environnemental, sécuritaire, gestion de la congestion, productivité et
efficacité, voire même dans le cadre de l’information des voyageurs et de leurs confort [3, 4].

— Surveillance et protection de l’environnement

À l’échelle mondiale, l’utilisation de véhicules motorisés ne semble toujours pas diminuer


et la circulation routière continue de s’accroitre. Par conséquent, l’impact des émissions et
du bruit sur l’environnement a continué de s’aggraver. Il est clair qu’il est urgent que le
secteur du transport prenne des mesures pour améliorer l’environnement, en particulier pour
réduire les émissions de dioxyde de carbone (CO2) et d’oxydes d’azote (NOx) et mieux gérer
la circulation urbaine et interurbaine.

— Sécurité et sûreté

Les services des STIs peuvent rendre le transport plus sûr et plus sécuritaire. Ils peuvent
maximiser sa capacité à contrôler et à réduire les impacts des désastres, tant naturels que
d’origine humaine. Grâce à une planification bien pensée, les STIs aide à la réduction des
délais d’intervention des services d’urgence, et à la création d’itinéraires d’évacuation en
cas de désastre et à l’établissement de la priorité d’accès à ceux-ci. Ils peuvent favoriser
une réduction durable du nombre d’accidents et de la gravité de ceux-ci en signalant les
conditions et les situations dangereuses aux voyageurs.

— Gestion de congestion

La congestion constitue un problème majeur pour tous les réseaux de transport, et aug-
menter l’efficacité des systèmes de transport existants est un des principaux objectifs des
programmes des STIs partout dans le monde. Il est possible de réduire la congestion en
dotant les réseaux d’instruments qui permettront d’améliorer leur exploitation en temps réel
comme les capteurs qui permettront alors de contrôler ces systèmes.

— Productivité et efficacité

Les STI peuvent accroitre l’efficacité des opérations de transport. Les systèmes qui gèrent
les parcs de véhicules peuvent réduire les coûts administratifs, l’exploitation et l’amélioration
considérable de la productivité, en permettant de calculer de façon fiable les temps de dépla-
cement et d’effectuer la livraison juste à temps. L’utilisation des technologies de localisation

14
et de communication permet d’affecter le plus efficacement possible les conducteurs et les
véhicules.

— Information des voyageurs

Dans le domaine de l’information des voyageurs, un service peut être qualifié d’ambiant,
s’il renseigne le voyageur en fonction de son environnement direct. Il s’agit donc de services
capables d’adapter l’information en fonction des spécificités de l’utilisateur, de sa localisa-
tion et selon ses besoins afin de l’aider à réaliser son voyage dans les meilleures conditions
possibles.

— Facteurs de confort

Les usagers de tout système de transport doivent se sentir à l’aise, confortable et en


confiance. Le contrôle des vitesses, la régulation des accès, les alertes préalables d’incidents et
les instructions sur les itinéraires de substitution peuvent faciliter les déplacements routiers et
les rendre moins stressants. Les installations comme les systèmes multimédias qui fournissent
à la fois des services de divertissement et de navigation peuvent en faire autant. Les usagers
des transports en commun s’attendent aussi à des standards élevés de confort, de commodité
et de services.

1.3.3 Gestion et contrôle du trafic :

Pour une utilisation optimal des routes et des services routiers, il ne suffit pas d’avoir des
véhicules intelligents, si les routes elles même sont mal entretenues ou même peu fluide. Les
embouteillages mènent au blocage partiel ou entier des routes devant tout type de transport
modal. Les systèmes de transport intelligent participent pleinement à la gestion du trafic
routier au travers des moyens et équipements dynamiques utilisés par les postes de contrôle
de circulation sur les réseaux routiers et autoroutiers. Ils représentent également un atout
majeur pour l’information des usagers et plus généralement pour l’exploitation de la route
[19]. Pour cela, il est le domaine que nous avons choisi pour prendre l’objet de notre étude.

Connaissance du trafic :

La connaissance des trafics est un élément essentiel en temps réel pour l’exploitation
du réseau routier (et notamment pour alimenter les systèmes d’aide à la gestion du trafic)
comme en temps différé pour éclairer les politiques publiques et disposer de statistiques sur
le secteur.

L’utilisation des données de trafic :


Citons par exemple l’utilisation des données de trafic pour :

— élaborer la politique de gestion, d’exploitation et d’entretien du réseau routier natio-


nal.

15
— suivre la politique des transports et notamment l’évolution du trafic routier et son
impact environnemental.

— optimiser l’utilisation des infrastructures existantes pour atteindre les objectifs affichés
dans le Grenelle de l’Environnement et le Schéma National des Infrastructures de
Transport.

— élaborer et suivre les effets de la politique publique de réduction de l’insécurité rou-


tière.

— élaborer les prévisions de trafic à court terme, à moyen terme (calendrier Bison Futé)
ou à long terme avec l’alimentation des modèles de prévision de trafic pour l’évaluation
ex-ante des projets d’infrastructures...

Les utilisateurs de ces données :


Les utilisateurs de ces données sont multiples et variés :

— En interne au ministère :

— Directions d’Administration Centrale,

— Directions Interdépartementales des Routes (DIR),

— Directions Régionales de l’Environnement, de l’Aménagement et du Logement,

— Organismes du Réseau Scientifique et Technique.

— Gestionnaires routiers hors État :


— Conseils départementaux,

— Métropoles...

— Bureaux d’études...

1.4 L’évolution et l’architecture des STIs


L’historique d’un type de système et son évolution au fil du temps sont deux éléments
reliés l’un à l’autre. Pour bien se situer dans un domaine il est nécessaire de revoir ces deux
éléments qui donnent non seulement une vue sur l’existant mais aussi une vue plus loin vers
l’avenir.

1.4.1 L’évolution des STIs

16
Les STIs sont apparus à la fin des années 60 et au début des années 70 avec notamment
le système CACS (Comprehensive Automobile Traffic Control System) au Japon ou l’ERGS
(Electronic Route Guidance System) en Allemagne et aux États-Unis[18].

Figure 1.2: L’évolution des STIs

L’avenir des STIs

La concrétisation de la vision future des STIs exige un engagement de la part de nombreux


intervenants à l’égard d’initiatives visant à préparer le terrain et à ouvrir la voie à de grands
progrès selon trois axes [20] :

— Défis non techniques : les exigences de l’environnement concernant le transport


entrainent des changements dans la culture des fournisseurs et des utilisateurs des
services. Ces changements laissent entendre que la culture change actuellement pro-
fondément, passant d’un environnement dominé par l’ingénierie vers la dotation mul-
tidisciplinaire.

— Rôles, relations et financement du secteur public : les organismes du secteur


privé reconnaissent à la fois la possibilité économique offerte par un marché solide et
la possibilité sociale d’améliorer le bien-être des citoyens. Toutefois, pour qu’il soit
possible de concrétiser ces possibilités dans le secteur du transport, il faut améliorer
la collaboration entre les secteurs public et privé. Les relations traditionnelles entre
les entreprises et le gouvernement doivent donc être redéfinies.

— Facteurs humains : les facteurs humains ne concernent pas seulement les mesures
visant à éviter la surcharge d’information, ils consistent également à fournir l’informa-
tion d’une manière plus efficace, dans les meilleurs délais et à concevoir des moyens
de contrôle et d’affichage des véhicules dans des centres de contrôle qui doivent êtres
intuitifs, cohérents, et faciles à utiliser.

1.4.2 L’architecture des STIs


L’architecture des STI est élaborée à partir d’un ensemble d’exigences fonctionnelles,
fondé sur les besoins et services des utilisateurs. Cette dernière permet donc d’assurer la
mise en œuvre de STI adaptés aux besoins de tous les intervenants.
C’est aussi la conception d’un système dont l’interaction de ses composantes soit cohé-
rente. En effet, elle permet de définir la façon dont les systèmes doivent interagir, clarifier

17
les rôles des acteurs et à mieux cerner la cible. C’est pour cela, qu’elle doit reposer sur une
analyse solide et rigoureuse [3, 5].

Figure 1.3: Exemple de l’architecture des communication entre les éléments STIs au Canada

1.4.3 Quelques projets d’STI récents

L’évolution des systèmes de transport intelligent fournit un nombre croissant de solutions


technologiques aux gestionnaires de transport qui cherchent à exploiter et à entretenir les
systèmes plus efficacement et à améliorer leurs performances. Dans cette partie, nous allons
citer quelques projets les plus récents associés à ce domaine des STIs mais tout d’abord,
donnons une vue générale sur ces projets.
Les technologies utilisées dans les systèmes de transport intelligent varient, allant de sys-
tèmes de gestion basiques comme la navigation automobile, les systèmes de gestion des feux,
les systèmes de gestion des conteneurs, les panneaux à messages dynamiques, les radars au-
tomatiques ou la vidéo-surveillance aux applications plus avancées qui intègrent des données
en temps-réel avec retours d’informations de nombreuses sources, comme les informations
météorologiques, les systèmes de dégivrage des ponts, etc. De plus, les techniques prédictives
sont développées pour permettre une modélisation avancée et une comparaison avec une base
regroupant des données historiques de référence.
Passons maintenant à des exemples de grands projets STI un peu partout dans le monde :

L’Autriche :

L’Autriche est un exemple des avantages de la mise en œuvre de technologies de transport


intelligent. En effet, ASFiNAG (”Autobahnen- und Schnellstraßen -Finanzierungs- Aktienge-
sellschaft” en Allemand et ”Autobahn et Highway Financial Stock Corporation ” en Anglais)
se sont tournés vers les solutions Connected Roadways de Cisco pour intégrer ” l’internet

18
des objets ” à ses capteurs en bordure de route. Le résultat est une autoroute conçue pour
se surveiller elle-même, envoyer des informations aux conducteurs et prévoir le trafic pour
s’assurer que les voies ne sont pas encombrées.
L’entreprise de transport utilise le Connected Roadway de Cisco, un système conçu pour
créer une infrastructure de réseau convergé afin de connecter en toute sécurité des systèmes
de transport intelligent disparates afin d’améliorer la circulation, de réduire les incidents en
bordure de route et de fournir une vue centralisée des systèmes routiers. Cette vue inclut les
informations sur l’état des routes, la circulation, la construction et le transit. Si le système
détecte un trafic lent, il peut réduire la limite de vitesse sur les routes avant que les voitures
ne s’ajoutent à la congestion.
L’autoroute connectée d’ASFiNAG utilise des capteurs pour collecter des données sur
la route, la circulation et les conditions météorologiques, et transmet ces informations aux
conducteurs [27].

Maroc :

Un système de transport intelligent pour le réseau du Tramway de Rabat-Salé au Maroc,


nommé Navineo, a été développé par Engie Ineo ( qui fait partie du groupe français Engie).
Conçu pour offrir une meilleure expérience aux voyageurs, Navineo transmettra en direct au
Centre de Supervision la localisation, la ponctualité et la qualité de service des 66 rames de
tramway des lignes 1 et 2 (ainsi que la nouvelle extension) ce qui facilitera la régulation de la
flotte en temps réel. Un dispositif de comptage va également enregistrer la fréquentation des
voyageurs pour mieux adapter l’offre de transport aux usages révélés par les 51 millions de
trajets effectués par les citoyens de l’agglomération de Rabat Salé chaque année. Ce dispositif
sera mis en place pour l’horizon 2020.
Les voyageurs seront informés en temps réel des horaires de passage aux arrêts calculés
par Navineo : 22 nouvelles bornes d’information complèteront le parc existant pour afficher
les numéros de lignes, les destinations et temps d’attente. Pour une meilleure accessibilité,
les informations défileront en arabe et en français [7] .

Canada :

Le projet ayant décroché la première place au Top 5 des projets du congrée international
des STI (ITS World Congress ) est ” le pont intelligent de Montréal géré et illuminé grâce aux
capteurs de collection de données installés partout dans sa structure ”. Le pont Jaques Cartier
de Montréal complété en 1930 devient aujourd’hui “ un pont intelligent” avec 5 voies doté de
capteurs en sa structure. 55 millions de véhicule le traversent chaque année. Les opérateurs
utilisent les données de trafic du pont - collectées par les boucles intrusives, capteurs et les
vecteurs radar à grande définition - pour gérer l’ouverture et fermeture sécurisée des voies,
prévenir les conducteurs des congestions en avant, et contrôler les feux de détresse. L’éclairage
était fait le jour de son 375ème anniversaire avec 2 400 LED intelligentes changeants [8].

L’Espagne :

De nouvelles portes à plate-forme verticale ont été installées à Barcelone à la gare de Can
Cuiàs. C’est une première sur un réseau de métro et est expérimenté depuis mai 2019.
Les portes de quai verticales (VPSD) consistent en une structure verticale fixe avec des
glissières dans lesquelles deux panneaux rigides transparents glissent avec un fonctionnement
similaire à celui d’un store : elles sont déployées vers le bas pour établir une barrière physique

19
d’environ 160 cm de hauteur entre le train et le bord du quai, ou se replient vers le haut
pour laisser les passagers entrer et sortir du train, conçus pour une conduite automatique et
leur fonctionnement est synchronisé avec les trains.
Comparés aux portes coulissantes horizontales, les VPSD offrent l’avantage d’offrir des
zones de passage beaucoup plus grandes, elles ont les mêmes dimensions que l’espace qu’elles
occupent et ne créent donc pas de problèmes de congestion sur la plate-forme. Pour cette
raison, ils conviennent à une grande variété de lignes, même à celles combinant des trains
de séries différentes, comme dans certaines stations de métro de Barcelone. De plus elles ont
leurs propres avantages : elles sont rapides et faciles à installer car elles nécessitent moins
de renforcement structurel. Elles ont également un coût d’entretien inférieur, vu qu’elles
comportent moins d’éléments mécaniques [9].

Figure 1.4: Portes de quai verticales - Espagne

1.5 Fonctionnement et apports des STIs


L’apparition et la création d’un système vient pour régler une problématique ou un
besoin, c’est pour cela, il est nécessaire de connaitre son fonctionnement et ce qu’il apporte
de nouveaux et de biens à ses utilisateurs finaux à fin de décider sa compatibilité au problème.

1.5.1 Fonctionnement des STIs

Les STIs fonctionnent au moyen de technologies d’information et de contrôle qui re-


présentent leur noyau technique et qui permettent d’en assurer les principales fonctions,
néanmoins les facteurs humains sont également d’une importance vitale, et peuvent être très
complexes.

1.5.1.1 Fonctions des composants des STIs

20
Les STIs sont le fruit de la révolution des technologies d’information et de la communica-
tion qui marque l’ère numérique. Ils comprennent un vaste éventail de fonctions de soutien
aux utilisateurs, allant de simples alertes d’information jusqu’aux systèmes de contrôle hau-
tement perfectionnés, nous allons les citer ci-après réparties selon des taches : [20].

— Obtention d’information et traitement de données : L’information sur la cir-


culation peut être obtenue de plusieurs façons et à partir de nombreuses sources
simultanément. Il faut donc, traiter les données, vérifier l’exactitude, corriger les ren-
seignements contradictoires, organiser ces données dans des formats compatibles, et
les combiner aux données provenant d’autres organismes.

— Utilisation de l’information : Au niveau infra-structurel ça représente la détection


des incidents, la gestion de la demande et la surveillance de la congestion, mais au
niveau des véhicules c’est des systèmes évolués d’aide aux conducteurs.

— La communication : Regroupe les solutions de télécommunications qui permettent


de collecter l’information, de la transmettre et de la diffuser à distance. Au niveau
infra-structurel, elle se fait soit au moyen des liens micro-ondes fixes ou des réseaux à
fibre optique. Mais au niveau des véhicules, elle s’effectue grâce à des récepteurs tels
que ceux des téléphones cellulaires.

— Diffusion de l’information :Les ressources d’information aux utilisateurs peuvent


être des panneaux à messages dynamiques ou bien des combinés et assistants numé-
riques personnels.

Essentiellement, les services des STIs peuvent être considérés comme une chaı̂ne d’infor-
mation expliquée par la figure ci-dessous :

Figure 1.5: Chaı̂ne d’information d’un STI

1.5.1.2 Facteur humain

21
Pour que les STI fonctionnent correctement, l’aspect humain doit être pris en compte,
en attachant plus d’importance à l’interface entre l’homme et la machine (IHM). Les êtres
humains font partie des STIs, non seulement en tant que conducteurs, mais aussi en tant
que planificateurs, voyageurs et autres, en utilisant divers modes de transport ou même en
étant leurs contrôleurs.

1.5.2 Les avantages des STIs

Les avantages des STIs sont variés et permettent d’augmenter la rapidité et la fiabilité
des services. Dans ce qui suit, un certain nombre d’avantages et apports génériques sont
présentés [20] :

1. Avantages en matière de sécurité : deux mesures communes visent à améliorer la


sécurité, la réduction des collisions et la réduction du délai d’intervention. Le STI qui
réduit la vitesse des véhicules est également susceptible d’atténuer les conséquences
des accidents. La mesure de la réduction des délais d’intervention n’est pas un indi-
cateur direct de la sécurité, mais il est possible de la mesurer au moyen d’un essai de
fonctionnement. Les avantages que les STIs offrent en matière de sécurité vont au-
delà des accidents quantifiables. Il a été démontré que les systèmes d’avertissement
de danger installés sur les autoroutes améliorent les perceptions des conducteurs ainsi
que la qualité des déplacements.
2. Avantages en matière d’efficacité : l’amélioration de l’efficacité constitue un des
objectifs importants de tous les programmes des STIs partout dans le monde. Les
STIs peuvent favoriser des gains en matière de temps, de déplacement et de certitude.
L’information fournie aux voyageurs avant les déplacements peut être avantageuse
pour l’établissement du budget des voyages et la réalisation d’économies en temps de
déplacement. Ceci en chaı̂ne avec un des principaux arguments de vente des STIs, à
savoir : la confiance, l’amélioration de la certitude des déplacements et autres.
3. Avantages en matière de productivité et de réduction des coûts : Les STIs
offrent d’importants avantages sur le plan de l’offre en matière de gestion des auto-
routes. La gestion des voies constitue l’une des réussites exceptionnelles des STIs. Elle
comprend les voies réservées aux véhicules multi-occupants, les voies à sens réversible,
les limites de vitesse variables et les systèmes de contrôle de sanction.
4. Avantages sur le plan de l’environnement : le transport est une source impor-
tante d’émissions de gaz à effet de serre, et les STIs peuvent aider à les réduire en
assurant la fluidité de la circulation. Il est aussi possible de gérer et de surveiller les
zones environnementales par le biais des STIs. Ils peuvent être utilisés pour signaliser
les zones infectées ou même pour surveiller la qualité de l’air.
5. Avantages pour les personnes ayant des problèmes de mobilité : les STIs
peuvent offrir des avantages considérables aux personnes ayant des problèmes de mo-
bilité, cela, en améliorant l’accès au transport en commun, en rendant la conduite
plus facile et plus sécuritaire, faciliter les déplacements en simplifiant les systèmes
de paiement et de transmettre des instructions vocales afin d’aider les voyageurs à
s’orienter.
6. Avantages pour l’exploitation du réseau routier : du point de vue des ex-
ploitants routiers, de nombreux produits et services de STI améliorent l’efficacité, en

22
optimisant l’utilisation des installations et des emprises existantes. Grâce à ces amélio-
rations, il est possible de satisfaire les exigences en matière de mobilité, de commerce
et de réduire la nécessité d’agrandir les installations existantes ou d’en construire de
nouvelles.
(a) Avantages du contrôle du trafic : le contrôle du trafic a un rôle important
dans l’exploitation du réseau. Les systèmes avancés font appel à des technologies
de communication avancées et à des logiciels en temps réel, en vue d’accroitre la
sécurité et d’améliorer le débit de la circulation. Parmi les solutions, nous men-
tionnons la régulation des bretelles d’accès, le contrôle de la vitesse, le contrôle
adaptatif des feux de circulation et le guidage routier collectif et individuel.
(b) Avantages de l’information des voyageurs : les services d’information des
voyageurs complètent les fonctions de régulation du trafic et de l’exploitation du
réseau. Ils ont pour objet de fournir des renseignements détaillés, en temps réel, de
haute qualité, sur les conditions d’exploitation du réseau de transport, y compris
les conditions météorologiques, afin que les voyageurs individuels puissent décider
de façon éclairée s’ils doivent effectuer un déplacement, du moment où il convien-
drait de l’effectuer, du mode de transport à utiliser et du parcours à emprunter.
(c) Avantages de la synergie : un des vrais avantages à long terme des STIs tient
au fait qu’un système peut en soutenir un autre. Une fois que les camions, les
autobus et les fourgonnettes sont dotés de dispositifs de localisation automatique,
il est possible de les utiliser à titre de sources mobiles de données sur les temps
de déplacement, la congestion et sur les conditions météorologiques localisées en
temps réel.

Une fois qu’on connait les avantages des STIs et qu’on est motivé de ses apports, on passe
à la recherche des défis et difficultés que l’on doit prendre en considération.

1.5.3 Les enjeux et défis des STIs

Les formidables évolutions des STIs posent de multiples défis : humains, technologiques,
scientifiques, commerciaux et économiques. Sans omettre ceux, probablement plus difficiles,
d’ordre social, institutionnel et politique [10].

— Homme et machine

La majorité des STIs embarqués qui procurent un avantage en sécurité peuvent également
introduire un élément de risque. L’importance de la sécurité des interfaces homme-machine
des systèmes embarqués d’information et de communication a été soulignée à maintes reprises
dans les résolutions, opinions et conclusions de différentes institutions européennes.

— Intégration et interopérabilité

Un enjeu majeur qui engage fortement l’avenir des STIs est celui de l’intégration de
différents systèmes mono-fonctionnels. Ce qui oblige ces systèmes à passer par une plateforme
ouverte et commune, partagée par de nombreux partenaires, publics et privés.

— Protection de la vie privée

23
Le développement des STIs doit se réaliser dans le respect des libertés individuelles et
sans déresponsabiliser le conducteur. Mais la protection de la vie privée risque d’être mise à
mal, par exemple par la localisation précise des véhicules.

— Sécurité et fiabilité des informations

Au moment que l’information constitue la base de la majorité des STIs, il faudra donc
garantir une extrême fiabilité des serveurs d’informations, qui devront résister aux pannes,
virus et autres piratages informatiques.

— Adaptation du conducteur

De nombreuses fonctions des STIs sont conçues pour faciliter et sécuriser la tâche de
conduite, mais les interrogations demeurent sur l’acceptabilité des STIs par les conducteurs
et sur les modifications des comportements qu’ils risquent d’engendrer.

1.6 Conclusion
Les projets STIs nécessitent des interconnexions entre les systèmes informatiques, des
échanges de données entre les différents organismes producteurs ou consommateurs d’infor-
mation. C’est pourquoi il est indispensable de prendre en compte ces notions de dialogue
le plus en amont possible. Il est à signaler, dans ce domaine, que le projet national Actif
doit déterminer une architecture cadre qui fournira à chacun, dans son domaine, l’outil lui
permettant de construire un système cohérent avec son environnement actuel et futur. C’est-
à-dire un système qui puisse facilement dialoguer avec des systèmes conçus par d’autres.
Enfin, il ne faut pas perdre de vue que tous ces systèmes ne constituent que des outils au
service d’une politique destinée au bien-être du citoyen et qu’au bout du compte, l’objectif
est de satisfaire ses besoins au meilleur coût, dans l’intérêt de l’usager comme dans celui du
contribuable.

24
Chapitre 2

Apprentissage automatique

25
2.1 Introduction

L’humain cherche toujours à automatiser les différentes tâches et problèmes qu’il ren-
contre quotidiennement, et ce se fait en se basant sur son expérience et savoir faire. Les
systèmes informatiques à présent varient en terme de complexité et domaines d’application :
on trouve des cas où les solutions sont faites grâce à des algorithmes et fonctions bien dé-
terminés que l’on implémente et reste à l’ordinateur d’exécuter ces instructions ; tandis que
dans d’autre cas, cette méthode dite traditionnelle ne peut être utilisée et on préfère plutôt
l’introduction de l’intelligence artificielle et plus exactement, celle de d’apprentissage auto-
matique pour permettre à l’ordinateur d’appendre à résoudre des problèmes comme l’humain
le fait tout seul. Vu la complexité des systèmes de prédiction, il est évident de se référer aux
techniques d’apprentissage automatique qu’à celles de programmation traditionnelle. Quelles
sont donc les techniques d’apprentissage automatique ? et quelle est la technique et l’approche
à adapter à notre cas d’étude : la prédiction de flux de trafic ?

2.2 Définition et source de l’apprentissage automatique


Du moment que l’apprentissage automatique soit inspiré de l’apprentissage chez les hu-
mains, on commence par clarifier cette fonction humaine pour qu’ensuite pouvoir faire la
projection sur l’objet de ce chapitre : l’apprentissage automatique .

Source de l’apprentissage automatique

Le terme apprentissage dans la langue courante est ambigu. Il désigne aussi bien l’ap-
prentissage “par cœur” d’une poésie, que l’apprentissage d’une tâche complexe telle que la
lecture. Clarifions la distinction [20] :

– Le premier type d’apprentissage correspond à une simple mémorisation. Or les ordi-


nateurs contemporains, avec leurs mémoires de masse colossales, n’ont aucune difficulté à
mémoriser une encyclopédie entière, sons et images inclus.

– Le second type d’apprentissage se distingue fondamentalement du premier en cela qu’il


fait largement appel à notre faculté de généraliser. Ainsi pour apprendre à lire, on doit être
capable d’identifier un mot écrit d’une manière que l’on n’a encore jamais vue auparavant.

L’apprentissage de l’être humain se compose de plusieurs processus qu’il est difficile à


décrire précisément. Les facultés d’apprentissage chez l’humain lui ont conféré un avantage
évolutif déterminant pour son développement [19] .

Par ” faculté d’apprendre ” on entend un ensemble d’aptitudes comme :


— L’obtention de la capacité de parler en observant les autres.

— L’obtention de la capacité de lire, d’écrire, d’effectuer des opérations arithmétiques et


logiques avec l’aide d’un tuteur.

— L’obtention d’habilités motrices et sportives en s’exerçant.

26
Définition de l’apprentissage automatique :

L’apprentissage automatique (” machine learning ”) est une méthode utilisée en intel-


ligence artificielle. Il s’agit des techniques qui analysent un ensemble de données afin de
déduire des règles qui constituent de nouvelles connaissances permettant d’analyser de nou-
velles situations.[32] C’est une technique qui sort un “modèle” à partir des “données” pouvant
être selon plusieurs formats ( des images , des sons ,des vidéos, des valeurs numériques ou
des signaux). Le concept de “ l’apprentissage” apparait dans le fait que la technique analyse
les données en entrée et trouve le modèle par soi-même au lieu d’avoir un humain pour le
lui faire. On l’appelle apprentissage car la procédure ressemble à être entrainé avec les don-
nées (appelées données d’entrainement, jeu de données ou Training Data en anglais) pour
résoudre le problème de trouver un modèle, qui à son tour sera utilisé pour traiter d’autres
données jamais vu avant. La figure suivante schématise le processus du machine learning.

Figure 2.1: Schèma général du Machine Learning

Le modèle est donc le résultat attendu de l’apprentissage, par exemple si le problème était
de faire un système de filtrage des e-mails spam le modèle résultat sera le filtre de spam,
et donc l’ensemble de règles déduites en entrainement utilisées pour résoudre le problème
donné.

Cependant, le machine learning n’est pas la seule technique de modélisation ( utilisant


des modèles ) existante, on trouve aussi dans le même domaine de l’intelligence artificielle,
les “systèmes experts” qui sont des systèmes de résolution de problèmes avec des modèles
mathématiques faits à base de savoir et savoir faire des experts et travaillant comme eux grâce
aux lois et les séries d’équations mathématiques. L’utilisation du machine learning résout les
problèmes à aspect difficile à être traduit en lois et équations, ou le raisonnement logique
sont peu fiable pour la modélisation ; à savoir les problèmes où on invoque l’utilisation de
l’intelligence, par exemple la reconnaissance des images et discours, traitement du langage
naturel, ...etc.

On résume donc que le machine learning est créé pour résoudre les problèmes pour lesquels
les modèles analytiques sont difficilement trouvés. Son idée principale est d’atteindre un
modèle en utilisant les données d’entrainement quand les équations et les lois sont peu
prometteuses.

27
Domaines d’applications de l’apprentissage automatique

L’apprentissage automatique s’applique à un grand nombre d’activités humaines et convient


en particulier au problème de la prise de décision automatisée.
Il s’agira, par exemple :

— D’établir un diagnostic médical à partir de la description clinique d’un patient ;

— De donner une réponse à la demande de prêt bancaire de la part d’un client sur la
base de sa situation personnelle ;

— De déclencher un processus d’alerte en fonction de signaux reçus par des capteurs ;

— De la reconnaissance des formes ;

— De la reconnaissance de la parole et du texte écrit ;

— De contrôler un processus et de diagnostiquer des pannes.

2.2.1 Types d’apprentissage automatique

Une première grande distinction à faire en “machine learning” est la différence entre les
méthodes d’apprentissage :

2.2.1.1 Apprentissage supervisé (Supervised Learning) :

C’est une méthode très similaire à l’apprentissage chez les humains. Le modèle prend en
entrée les données et leurs sorties correctes ( classes ou libellés cibles ) et en s’entrainant
pour les atteindre il ” apprend ” pour que l’algorithme devient capable, une fois entraine, de
prédire cette cible sur de nouvelles données non annotées [19].

Ce type d’apprentissage automatique est basé sur l’utilisation de données pour l’ancien
algorithme d’apprentissage. Les données sont identifiées comme entrées avec leurs sorties
essentielles qui peuvent être décrit comme un signal de supervision. Le mécanisme d’appren-
tissage est décrit comme supervisé depuis la sortie correcte et l’algorithme d’apprentissage
tente de prédire ittérativement cette sortie et corrige ses paramètres pour réduire l’écart de
variation entre sa production prévue et la production réelle. L’analyse du format des données
permet de classer l’apprentissage supervisé en algorithme pour une fonction appelée classi-
fication si la sortie était discrète, et une fonction de régression si la sortie était continue (
nombres réels ) [27]. La figure ci-dessous résume le processus de l’apprentissage supervisé.

28
Figure 2.2: Processus d’apprentissage supervisé

2.2.1.2 Apprentissage non-supervisé (Unsupervised Learning) :

C’est dans le cas où l’entrainement du modèle repose sur l’utilisation des données non
libellées en entrée. L’algorithme d’entrainement s’applique dans ce cas à trouver seul les si-
milarités et distinctions au sein de ces données, et à regrouper ensemble celles qui partagent
des caractéristiques communes. Donc, contrairement à l’apprentissage supervisé, cette mé-
thode utilise un jeu de données en entrée sans sorties étiquetées pour entraı̂nner l’algorithme
d’apprentissage. Il n’y a pas de sortie correcte ou fausse sur chaque objet d’entrée et au-
cune intervention humaine pour corriger ou ajuster comme dans l’apprentissage supervisé.
L’objectif principal de l’apprentissage non supervisé est de savoir plus sur les données en
identifiant les structures fondamentales ou les modèles de distribution qui se trouvent dans
les données elles-mêmes. Apprend par lui-même, l’algorithme tente de représenter un motif
d’entrée particulier tout en le reflétant sur la structure globale d’entrée. Ainsi, les différents
entrées sont regroupées en groupes en fonction des fonctionnalités et caractéristiques ex-
traites de chaque objet d’entrée. Bien que l’algorithme n’attribue pas de noms aux résultats,
il peut encore en produire, les différencier et utiliser certains d’entre eux pour assigner les
nouveaux exemples. Cette approche repose sur les données d’entrée et peut bien fonctionner
quand il y a suffisamment de données disponibles pour l’utilisation. La figure suivante résume
et montre le processus de ce type d’apprentissage [2, 6].

Figure 2.3: Processus général de l’apprentissage non-supervisé

29
2.2.1.3 Apprentissage semi-supervisé :

Cette méthode se situe entre le supervisé et non supervisé : méthode d’apprentissage


où nous avons une grande quantité de données d’entrée, dont certaines sont étiquetées et
les autres ne le sont pas. Beaucoup de problèmes d’apprentissage de la vie réelle relèvent
de ce domaine d’apprentissage automatique. La raison en est que semi-supervisé nécessite
moins d’intervention humaine, car il utilise très peu de données étiquetées et une grande
quantité de données non étiquetées car ces ensembles de données étiquetées sont très difficiles
à collecter ainsi que coûteux et peuvent nécessiter accès aux experts du domaine. Les jeux de
données non étiquetés de l’autre part sont moins chers et plus faciles à accéder. Les techniques
d’apprentissage supervisé et non supervisé peuvent être utilisées pour former l’algorithme
d’apprentissage en apprentissage semi-supervisé.
Des techniques d’apprentissage non supervisé peuvent être utilisées pour déplier les struc-
tures et les modèles cachés dans le jeu de données en entrée, tandis que les techniques d’ap-
prentissage supervisé peuvent être utilisées pour faire des prédictions sur les données non
étiquetées, nourrir les données de retour à l’algorithme d’apprentissage en tant que données
d’apprentissage et utilisation pour l’acquisition de connaissances pour faire des prédictions
sur de nouveaux ensembles de données. Ainsi, on peut dire que les données non étiquetées
sont utilisées pour modifier ou redonner la priorité de prédiction ou l’hypothèse obtenue à
partir de données étiquetées [9].

La figure ci-dessous illustre les différentes étapes d’un processus semi-supervisé.

Figure 2.4: Différentes étapes d’un processus semi-supervisé

2.2.1.4 Apprentissage par renforcement (Reinforcement Learning) :

Dans ce cas, l’agent d’apprentissage prend en entrée les données, quelque sorties (état
de l’environnement), et des observation de l’environnement pour ses sorties (actions). Il est
utilisé généralement dans les cas où une interaction optimale est requise, comme dans le cas
des jeux. L’apprentissage par renforcement c’est apprendre en interagissant avec l’environne-
ment problématique. Un agent ( algorithme ) d’apprentissage par renforcement apprend de
ses propres actions plutôt que d’être spécifiquement enseigné sur que faire. Il sélectionne les
actions en cours en fonction des expériences passées (exploitation) et nouveaux choix (explo-
ration). Ainsi, il peut être décrit comme un processus d’apprentissage par essais et erreurs.

30
Le succès d’une action est déterminé par un signal reçu par l’agent d’apprentissage de ren-
forcement sous la forme d’une valeur numérique de récompense. L’agent cherche à apprendre
à sélectionner des actions qui maximisent la valeur de la récompense numérique. Les agents
d’apprentissage ont généralement des objectifs et ils peuvent détecter, dans une certaine
mesure, l’état de l’environnement dans lequel ils se trouvent et donc prendre des mesures
qui affectent l’état et le rapprocher de l’ensemble buts. L’apprentissage par renforcement est
différent du supervisé dans la manière dont chaque méthode acquiert des connaissance. La
méthode d’apprentissage supervisé apprend à partir des exemples fournis par un supervi-
seur externe, alors que l’apprentissage par renforcement utilise des interactions directes avec
l’environnement du problème pour gagner connaissance [2, 6]. La figure suivante illustre le
principe du processus de ce type d’apprentissage automatique.

Figure 2.5: Processus d’apprentissage par renforcement

2.2.1.5 Apprentissage en profondeur :

L’apprentissage profond (plus précisément ” apprentissage approfondi ” en anglais deep


learning, deep structured learning, hierarchical learning) est un ensemble de méthodes d’ap-
prentissage automatique tentant de modéliser avec un haut niveau d’abstraction des données
grâce à des architectures articulées de différentes transformations non linéaires Deep Lear-
ning se réfère à Deep Neural Networks ( réseau de neurones profond ) : La partie ”profonde”
de l’apprentissage en profondeur fait référence à la création de réseaux de neurones profonds.
Il s’agit d’un réseau de neurones artificiels comportant un grand nombre de couches - avec
l’ajout de plus de poids et de biais, le réseau de neurones améliore sa capacité à approcher des
fonctions plus complexes. C’est donc grâce aux réseaux de neurones profonds qu’on trouvent
des associations entre un ensemble d’entrées et de sorties du système. Ce type est utilisé
essentiellement pour traiter les grandes masses de données.

31
Figure 2.6: Réseau de neurones profond

Les approches plus connues et utilisées sont le supervisé et non-supervisé. Pour décider
entre eux deux c’est simple : dans le cas où vous avez un problème où vous pouvez annoter
précisément pour chaque observation la cible que vous voulez en sortie, vous pouvez utiliser
l’apprentissage supervisé ;dans le cas contraire et que vous essayez de mieux comprendre votre
dataset ou d’identifier des comportements intéressants, vous pouvez utiliser l’apprentissage
non supervisé.

Une autre distinction qui aidera dans le choix d’un algorithme de machine learning est
le type de sortie que l’on attend du programme : est-ce une valeur continue (un nombre) ou
bien une valeur discrète (une catégorie) [19].

2.2.2 Quelques algorithmes

L’apprentissage automatique utilise différents algorithmes pour réaliser la tache souhai-


tée et chaque algorithme à des caractéristiques et des paramètres différents, donc c’est à
l’utilisateur de choisir l’algorithme qui convient au problème.
Donnons une vue sur les plus fréquents : [23]

1. La régression linéaire : Les algorithmes de régression linéaire modélisent la relation


entre des variables prédictives et une variable cible. La relation est modélisée par une
fonction mathématique de prédiction. Le cas le plus simple est la régression linéaire
uni-variée. Elle va trouver une fonction sous forme de droite pour estimer la relation.
La régression linéaire multivariée intervient quand plusieurs variables explicatives in-
terviennent dans la fonction de prédiction.

32
Figure 2.7: Régression linéaire

2. La régression logistique : La régression logistique est une méthode statistique


pour effectuer des classifications binaires. Elle prend en entrée des variables prédictives
qualitatives et/ou ordinales et mesure la probabilité de la valeur de sortie en utilisant la
fonction sigmoı̈d (représentée dans la photo). On peut effectuer la classification multi-
classes (par exemple classifier une photo en trois possibilités comme moto, voiture,
tramway). En utilisant la régression logistique et la méthode un-contre-tous ( One-
Versus-All classification ).

33
Figure 2.8: Régression logistique

3. Machine à Vecteurs de Support : (SVM) est lui aussi un algorithme de classifica-


tion binaire. Tout comme la régression logistique. Si on prend l’image ci-dessus, nous
avons deux classes ( imaginons qu’il s’agit de e-mails, et que les mails Spam sont en
rouge et les non spam sont en bleu). La régression logistique pourra séparer ces deux
classes en définissant le trait en rouge. le SVM va opter à séparer les deux classes par
le trait vert. Sans entrer dans les détails, et pour des considérations mathématiques,
le SVM choisira la séparation la plus nette possible entre les deux classes (comme le
trait vert). C’est pour cela qu’on le nomme aussi classificateur aux marges larges (
Large Margins classifier ).

Figure 2.9: Machine à verteur de support

4. La classification Naı̈ve Bayésienne (Naı̈ve Bayes) : est un classifieur assez intui-


tif à comprendre qui se base sur le théorème de Bayes des probabilités conditionnelles.
L’image ci-dessus est la formule du théorème de Bayes. Naı̈ve Bayes assume une hypo-
thèse forte (naı̈ve). En effet, il suppose que les variables sont indépendantes entre elles.

34
Cela permet de simplifier le calcul des probabilités. Généralement, le Naı̈ve Bayes est
utilisé pour les classifications de texte (en se basant sur le nombre d’occurrences de
mots).

Figure 2.10: Formule de Naı̈ve Bayes

5. Détection d’anomalie ( Anomaly Detection ) : est un algorithme d’apprentissage


automatique pour détecter des patterns anormaux. Imaginez par exemple que vous
receviez dans votre compte en banque 2000¿ mensuellement et que un jour vous
déposiez 10 000¿ d’un coup. L’algorithme détectera cela comme une anomalie. Cet
algorithme est très utile pour la détection de fraudes dans les transactions bancaires,
et les détections d’intrusions.

Figure 2.11: Détection d’anomalie

6. L’arbre de décision ( Decision Tree ) : L’arbre de décision est un algorithme qui


se base sur un modèle de graphe (les arbres) pour définir la décision finale. Chaque

35
nœud comporte une condition, et les branchements sont en fonction de cette condition
(Vrai ou Faux). Plus on descend dans l’arbre, plus on cumule les conditions. L’image
ci-dessus illustre ce fonctionnement.

Figure 2.12: L’arbre de décision

7. Les réseaux de neurones ( Neural Networks ) : Les réseaux de neurones sont


inspirés des neurones du système nerveux humains. Ils permettent de trouver des
patterns complexes dans les données. Ces réseaux de neurones apprennent une tâche
spécifique en fonction des données d’entrainement. Les réseaux de neurones se com-
posent de nœuds (les cercles dans l’image). Dans ces réseaux, on retrouve le tiers
d’entrée (Input Layer) qui va recevoir les données d’entrées. La couche d’entrée (In-
put Layer) va propager les données par la suite aux tiers cachés (Hidden Layers).
Finalement le tiers de sortie (le plus à droite) permet de produire le résultat de clas-
sification. Chaque tiers du réseau de neurones est un ensemble d’interconnexions des
nœuds d’un tiers avec ceux des autres tiers.

Figure 2.13: Architecture d’un réseau de neurones

8. K-Moyenne ( K-Means ) : K-Means est un algorithme de regroupement (clus-


tering) en apprentissage non-supervisé. On lui donne un ensemble d’éléments (des
données), et un nombre K de groupes. K-means va segmenter en K groupes les élé-
ments. Le groupement s’effectue en minimisant la distance euclidienne entre le centre
du groupe (cluster) et un élément donné.

36
Figure 2.14: K-Mean

Les types ci-dessus sont les types basiques pour lesquels des variantes sont apparues à fin
de s’adapter mieux à des problèmes plus complexes. Notre problème de prédiction de sa part,
nécessite d’être traité par une variante des réseaux de neurones qui traite de tels problème
assez complexe : les réseaux de neurones profonds le noyau de l’apprentissage profond .

2.3 L’apprentissage profond (DEEP LEARNING)

Depuis 2006, cette classe d’apprentissage automatique a vu le jour fortement et a été


incorporée dans des centaines de recherches. Les domaines dans lesquels l’apprentissage en
profondeur a été intégré sont classés allant du traitement de l’information à l’intelligence
artificielle. La raison de la popularité de l’apprentissage en profondeur peut être résumée
ci-après : il a contribué à augmenter considérablement les capacités de traitement des puces
informatiques, il a permis le support d’une taille énorme de données de formation et c’est la
raison pour les progrès récents de l’apprentissage automatique dans le domaine de traitement
de l’information et du signal. [27].

37
Figure 2.15: AI-ML-DL

Détaillons maintenant plus ce ”buzzword” et découvrons ses concepts clés.

2.3.1 Définition :
Deep Learning peut être décrit comme un sous-domaine de l’apprentissage automatique
basé sur des algorithmes tirés de l’apprentissage multi-niveaux afin de fournir un modèle qui
représente les relations complexes entre les données pour rendre la machine capable d’ap-
prendre par elle-même pour entrainer un réseau de neurones . Il est essentiellement le point
d’intersection entre réseaux de neurones, modélisation graphique, optimisation, intelligence
artificielle, reconnaissance de formes ainsi que traitement du signal. [27]

Figure 2.16: Apprentissage profond Vs apprentissage automatique

38
Le Deep Learning s’appuie sur un réseau de neurones artificiels profond s’inspirant du cer-
veau humain. Ce réseau est composé de dizaines voire de centaines de ”couches” de neurones,
chacune recevant et interprétant les informations de la couche précédente. Le système ap-
prendra par exemple à reconnaitre les lettres avant de s’attaquer aux mots dans un texte, ou
détermine s’il y a un visage sur une photo avant de découvrir de quelle personne il s’agit.[12]

2.3.2 Réseaux de neurones approfondis ( Deep Neural Networks


)

L’élément de force de l’apprentissage en profondeur est bien les réseaux de neurones et


plus précisément les réseaux de neurones profonds. Une première vue sur l’architecture de
ces derniers est donnée par la figure suivante :

Figure 2.17: Réseau de neurones simple Vs réseau de neurones profond

2.3.2.1 Définition de réseau de neurones :

Un réseau neuronal est l’association, en un graphe plus ou moins complexe, d’objets


élémentaires, les neurones formels. Les principaux réseaux se distinguent par l’organisation
du graphe (en couches, complets. . . ), c’est-à-dire leur architecture, son niveau de complexité
(le nombre de neurones, présence ou non de boucles de rétroaction dans le réseau), par le
type des neurones (leurs fonctions de transition ou d’activation) et enfin par l’objectif visé :
apprentissage supervisé ou non, optimisation, systèmes dynamiques. [15]

Neurone formel

Un neurone biologique, de façon très réductrice, est une cellule qui se caractérise par [15] :

— Des synapses, les points de connexion avec les autres neurones, fibres nerveuses ou
musculaires.

— Des dendrites ou entrées du neurones ;

39
— les axones, ou sorties du neurone vers d’autres neurones ou fibres musculaires.

— Le noyau qui active les sorties en fonction des stimulations en entrée.

Un neurone formel (dit aussi artificiel) est essentiellement constitué d’un intégrateur qui
effectue la somme pondérée de ses entrées. Le résultat de cette somme est ensuite transformée
par une fonction non linéaire pour produire la sortie du neurone. Lorsque le niveau d’activa-
tion atteint ou dépasse le seuil b ( biais b du neurone, il s’appelle aussi le seuil d’activation
du neurone), alors l’argument de f devient évidemment positif (ou nul).

Figure 2.18: Correspondance Neurone Biologique-Neurone Artificiel

Un neurone artificiel est une fonction fj d’entrées x = (x1 ,..., xd ) pondérées par un vecteur
de poids de connexion Wj = ( Wj,1 ,..., Wj,d ), complétée par le biais de neurone bj , qui
sont associés a une fonction d’activation F , suivant la formule générale :

Yj = fj (x) = F( (wj , x ) + bj ).

La fonction d’activation :

Les fonctions d’activation, également connues sous le nom de fonctions de transfert, sont
utilisées pour mapper les nœuds d’entrée vers les nœuds de sortie d’une certaine manière.
Elles opèrent une transformation d’une combinaison affine des signaux d’entrée pondérés par
un vecteur de poids [W1, . . . , Wn] associé à chaque neurone, avec un terme constant, étant
appelé le biais du neurone. Les valeurs des poids sont estimées dans la phase d’apprentissage.
Ils constituent la mémoire ou connaissance répartie du réseau. Il existe plusieurs fonctions
d’activation, citons les plus utilisées :

— fonction identité ”id” :


F(x) = x

— fonction ” Segmoid ” :
F(x) = 1+exp(−x)
1

40
— fonction tangent hyperbolique ”tanh” :
F(x) = tanh(x) = exp(x)+exp(-x)
exp(x)-exp(-x)
= exp(2x)−1
exp(2x)+1

— fonction ”hard threshold” :


F(x) = 1X≥β

— fonction unit de rectification linéaire ”ReLU”


F(x) = max(0, x)

Les graphes correspondants aux fonctions d’activation citées ci-dessous sont représentés
dans la figure suivante :

Figure 2.19: Fonctions d’activation

Les informations entrent aux réseau de neurones et traversent ses couches en activant
certains neurones sans les autres.

2.3.2.2 Les types de réseaux de neurones

Il existe de nombreux types de réseaux neuronaux artificiels, on peut les diviser en deux
grandes catégories selon la topologie (architecture) :
[14] :

— Les réseaux feed-forward (ex : perceptron, perceptron multi-couche, . . . ) : où les


données circulent de l’entrée vers la sortie à travers les liens sans possibilité de retour
en utilisant ces mêmes liens (transmission unidirectionnelle). Dans ce cas, le réseau
est similaire à un graphe orienté.

— Les réseaux récurrents (ex : réseaux de Hopfield, machines de Boltzmann) : avec


existence des retours entre l’entrée et la sortie. Dans ce cas, le réseau est similaire à
un graphe non orienté.

41
(a) Réseau feedforward (b) Les réseaux récurrents Hopfield

Figure 2.20: réseau feedforward VS réseaux récurrents Hopfield

Dans ces deux grands types, on trouve plusieurs réseaux distincts, citons les plus connus :

Figure 2.21: Classification des réseaux de neurones selon la topologie

— Le perceptron (réseau à couches) : C’est un réseau à couche qui permet de posi-


tionner en entrées des éléments devants être appris (éléments linéairement séparables
afin de ne pas avoir de confusion). Ceux-ci tracent un chemin à travers le réseau. Une
fois l’apprentissage effectué, en repassant les mêmes éléments en entrée ils réutilisent le
même chemin et activent les mêmes neurones de sorties. Plusieurs neurones de sorties
sont activées pour chaque comparaison, les résultats ne sont pas identiques à chaque
comparaison, des approximation sont effectuées. Le perceptron peut être utilisé pour
l’apprentissage et la reconnaissance d’images.[22]

42
Figure 2.22: Perceptron

— Les perceptrons multicouches (PMC) : Ils sont une amélioration du percep-


tron comprenant une ou plusieurs couches cachées. Ils utilisent, pour modifier leurs
poids, un algorithme de rétropropagation du gradient, qui est une généralisation de
la règle de Widrow-Hoff. Il s’agit toujours de minimiser l’erreur quadratique, ce qui
est assez simple quand on utilise une fonction f dérivable (la sigmoı̈de par exemple).
On propage la modification des poids de la couche de sortie jusqu’à la couche d’en-
trée. Les PMC agissent comme un séparateur non linéaire et peuvent être utilisés
pour la classification, le traitement de l’image ou l’aide à la décision. Concrètement,
les premières couches permettront d’extraire des caractéristiques simples (comme des
contours) que les couches suivantes combineront pour former des concepts de plus en
plus complexes et abstraits : assemblages de contours en motifs, de motifs en parties
d’objets, de parties d’objets en objets, etc.[24, 22]

Figure 2.23: Perceptron multi-couches

— Kohonen : Ce réseau de neurones peut être considéré comme dynamique, des neu-
rones peuvent être détruits et crées, le réseau n’a pas de taille fixe. Généralement ce
réseau est appelée carte de kohonen, en effet ce réseau est représenté à plat comme une

43
grille rectangulaire à 1, 2, 3 ou 4 dimensions. Ces réseaux sont inspirés des observations
biologiques du fonctionnement des systèmes nerveux de perception des mammifères.
Une loi de Hebb modifiée (tenant compte de l’oubli) est utilisée pour l’apprentis-
sage. La connexion est renforcée dans le cas ou les neurones reliés ont une activité
simultanée, et diminuée dans le cas contraire. Ainsi, une loi d’interaction latérale (ob-
servée biologiquement) est aussi modélisée. Les neurones très proches (physiquement)
interagissent positivement (le poids des connexions est augmenté autour quand une
synapse est activée), négativement pour les neurones un peu plus loin, et pas du
tout pour les neurones éloignés. Les réseaux de Kohonen ont des applications dans
la classification, le traitement et compression d’images, l’aide à la décision, sélection
de données représentatives dans une grande base de données, diagnostic de pannes,
optimisation combinatoire (dont le fameux ”voyageur de commerce”, modélisation de
la cartographie des aires visuelles. [22, 24]

Figure 2.24: La carte de Kohenen

— Hopfield : Représente un réseau sans structure de couches, ni de sens de propagation,


composé de N cellules. Ce réseau ce rapproche le plus du fonctionnement du cerveau
humain. Un réseau de Hopfield réalise une mémoire adressable par son contenu. Il
s’agit d’un réseau constitué de neurones de McCulloch et Pitts (à deux états,-1 et 1
ou 0 et 1), dont la loi d’apprentissage est la règle de Hebb (1949), qui veut qu’une
synapse améliore son activité si et seulement si l’activité de ses deux neurones est
coraillée (c’est à dire que le poids Wij d’une connexion entre un neurone i et un
neurone j augmente quand les deux neurones sont activés au même temps). Pour
chaque paire de neurones, X(i) et X(j), il y a un lien appelé la synapse entre et . La
conception du filet Hopfield nécessite que Wij = Wji et Wii = 0 . La figure 7.15 a
illustre un réseau à trois nœuds.[24]

44
Figure 2.25: Réseau de neurones de Hopfield à 3 noeuds

Le choix de quelle architecture repose toujours sur le besoin et le but à atteindre avec
celle-ci. Indépendamment de la topologie, tout réseau de neurones a besoin d’algorithme
pour son apprentissage. Ces algorithmes sont aussi variés et on abordera quelque uns par la
suite.

2.3.3 Algorithmes d’apprentissage

En général, les algorithmes d’apprentissage ont en commun d’extrapoler des données de


test ou d’entrainement pour faire des projections ou créer des modèles dans le monde réel. On
considère ces algorithmes comme des outils permettant de rassembler des points de données à
partir d’une masse de données. L’essentiel est que les ingénieurs rassemblent ces algorithmes
d’apprentissage en tant que composants d’une technologie ou d’un programme particulier
visant à mieux comprendre les ensembles de données digérés[29]. Ci-dessous les algorithmes
les plus utilisés :
— Algorithme d’apprentissage du perceptron : Le perceptron est un modèle de
réseau de neurones avec algorithme d’apprentissage créé par Frank Rosenblatt.
1. Initialisation des poids et du seuil à de petites valeurs aléatoires
2. Présenter un vecteur d’entrées x() et calculer sa sortie.
3. Mettre à jour les poids en utilisant : wj(t+1) = wj(t) + (d- y) xj
Avec d la sortie désirée, w vecteur des poids est une constante positive ,qui spécifie
le pas de modification des poids.

— Algorithmes d’apprentissage par correction d’erreur :


1. Initialiser la matrice des poids au hasard.
2. Choisir un exemple en entrée.
3. Propager le calcul de cette entrée à travers le réseau.

45
4. Calculer la sortie de cette entrée.
5. Mesurer l’erreur de prédiction par différence entre sortie réelle et sortie prévue.
6. Calculer la contribution d’un neurone à l’erreur à partir de la sortie.
7. Déterminer le signe de modification du poids.
8. Corriger les poids des neurones pour diminuer l’erreur.
9. Le processus recommence ainsi, à partir du choix de l’exemple en entrée, jusqu’à
ce qu’un taux d’erreur minimal soit atteint.

— Algorithmes d’apprentissage par descente de gradient : c’est un algorithme


d’apprentissage se basant sur la minimisation d’un facteur qui est le cout d’erreur (qui
utilise 2 paramètres ).Ce dernier est un algorithme itératif qui va changer, à chaque
itération, les valeurs de θ0 et θ1 jusqu’à trouver le meilleur couple possible.l’algorithme
se décrit comme suit :
Début de l’algorithme : Gradient Descent Initialiser aléatoirement les valeurs de : θj
et θ1
répéter jusqu’à convergence au minimum global de la fonction de coût
pour j  N∧ ∀ j  {0,1}
[θj ← θj - α σθσj J(θ0 , θ1 )]
retourner θ0 et θ1
Fin algorithme

— Algorithmes d’apprentissage WIDROW-HOFF (OU ADALINE) : L’algo-


rithme de Widrow-Hoff est très souvent utilisé en pratique et donne de bons résul-
tats. La convergence est, en général, plus rapide que par la méthode du gradient. Il est
fréquent pour cet algorithme de faire diminuer la valeur de e en fonction du nombre
d’itérations comme pour l’algorithme du gradient.

L’utilisation de tel ou tel algorithme dépend fortement de la tâche à résoudre (classi-


fication, estimation de valeurs. . . ) et le réseau de neurones ne peut être prêt à utilisation
qu’après avoir effectuer les réglages et choix de ses paramètres : topologie, nombre de neu-
rones inclus, fonctions d’activation et algorithme d’apprentissage. Ainsi on pourra déployer
le réseau et en bénéficier et voir ses performance et apports.

2.4 Domaines d’application et apports des réseaux de


neurones
L’importance d’une approche ou technique est reflétée à travers ce qu’elle apporte de
nouveau, son utilisabilité et compatibilité avec plusieurs cas d’étude, sa fiabilité, ...etc. Elle
peut être aussi évaluée en se basant sur ses avantages et inconvénients.

2.4.1 Domaines d’application

Aujourd’hui, les réseaux de neurones ont de nombreuses applications dans des domaines
très variés [16] :

46
— Traitement d’image : compression d’images, reconnaissance de caractères et de
signatures, reconnaissance de formes et de motifs, cryptage, classification, ...

— Traitement du signal : traitement de la parole, identification de sources, filtrage,


classification, ...

— Contrôle : diagnostic de pannes, commande de processus, contrôle qualité, robotique,


...

— Optimisation : allocation de ressources, planification, régulation de trafic, gestion,


finance, ...

— Simulation : simulation boite noire, prévisions météorologiques.

— Classification : d’espèces animales étant donnée une analyse ADN.

— Modélisation de l’apprentissage et perfectionnement des méthodes de l’enseigne-


ment.

— Approximation d’une fonction inconnue ou modélisation d’une fonction connue


mais complexe à calculer avec précision.

Les réseaux de neurones ont marqué leur importance dans divers domaines, et comme
toute technique, elle présente des avantages qui facilite la tâche ou règle un problème, mais
aussi elle a des inconvénients qui sont objets d’autres études s’inscrivant dans la volonté du
développement de l’efficacité des RNs.

2.4.2 Avantages et inconvénients des RNs

Comme toute méthode, les réseaux de neurones ont des avantages et des inconvénients
et c’est bien de les connaitre pour se positionner mieux et pour développer les algorithmes
afin de minimiser les inconvénients [16].

Les avantages des réseaux de neurones

— Capacité de représenter n’importe quelle fonction, linéaire ou pas, simple ou complexe.

— Faculté d’apprentissage à partir d’exemples représentatifs, par ” rétro-propagation des


Erreurs ”.

— L’apprentissage (ou construction du modèle) est automatique.

— Résistance au bruit ou au manque de fiabilité des données.

— Simple à manier, beaucoup moins de travail personnel à fournir que dans l’analyse
statistique classique.

— Aucune compétence en matis, informatique statistique requise.

47
— Comportement moins mauvais en cas de faible quantité de données.

— Pour l’utilisateur novice, l’idée d’apprentissage est plus simple à comprendre que les
complexités des statistiques multi-variables.

Les inconvénients

Les inconvénients des réseaux de neurones présentent ses difficultés et ses limites. Ils sont
les suivants :

— L’absence de méthode systématique permettant de définir la meilleure topologie du


réseau et le nombre de neurones à placer dans la (ou les) couche(s) cachée(s).

— Le choix des valeurs initiales des poids du réseau et le réglage du pas d’apprentissage,
qui jouent un rôle important dans la vitesse de convergence.

— Le problème du sur-apprentissage (apprentissage au détriment de la généralisation).

— La connaissance acquise par un réseau de neurones est codée par les valeurs des poids
qui sont inintelligibles pour l’utilisateur.

2.5 Conclusion
Les réseaux de neurones artificiels, inspirés du comportement du cerveau humain, per-
mettent de créer de l’intelligence artificielle. Ils servent à prédire, à identifier et à classifier
les données. L’apprentissage, moteur essentiel du système, leur permet d’assimiler un traite-
ment d’information à travers une fonction et de le reproduire pour les données qui lui seront
ensuite présentées.

48
Troisième partie

Conception et Réalisation

49
Chapitre 3

Conception

50
3.1 Introduction

Les systèmes de circulation sur les routes sont très complexes du fait que ces change-
ments sont incertains. Dans ces systèmes les changements de flux de trafic dépendent de la
pertinence de la circulation routière adjacente. Il est donc difficile de trouver une caractéri-
sation de haute précision à l’aide d’un modèle mathématique, par conséquent, le modèle non
mathématique est utilisé pour la prédiction du flux de trafic sur les routes pour assurer plus
de précision dans les résultats.

3.2 Collecte et prétraitement de données


Avant d’attaquer le déploiement et mise en place du système, il est impératif de prépa-
rer les données à en intégrer du moment que ce sont l’élément crucial et décisif de toute
application d’apprentissage automatique.

3.2.1 Collecte de données :

L’objectif de cette étape est de recueillir des données, à la fois pour développer le réseau
de neurones et pour le tester. Dans le cas d’applications sur des données réelles, l’objectif
est de rassembler un nombre de données suffisant pour constituer une base représentative
des données susceptibles d’intervenir en phase d’utilisation du système neuronal. La fonction
réalisée résultant d’un calcul statistique, le modèle qu’il constitue n’a de validité que dans
le domaine où on l’a ajusté. En d’autres termes, la présentation de données très différentes
de celles qui ont été utilisées lors de l’apprentissage peut entrainer une sortie totalement
imprévisible [17] .

3.2.2 Analyse et nettoyage des données

Il est souvent préférable d’effectuer une analyse des données de manière à déterminer les
caractéristiques discriminantes pour détecter ou différencier ces données. Ces caractéristiques
constituent l’entrée du réseau de neurones. Notons que cette étude n’est pas spécifique aux
réseaux de neurones, quelque soit la méthode de détection ou de classification utilisée, il est
généralement nécessaire de présenter des caractéristiques représentatives. .
De manière générale, les bases de données doivent subir un prétraitement afin d’être
adaptées aux entrées et sorties du réseau de neurones. Un prétraitement courant consiste
à effectuer une normalisation appropriée, qui tienne compte de l’amplitude des valeurs ac-
ceptées par le réseau. [17]. Une étude statistique sur les données peut permettre à son tour
d’écarter celles qui sont aberrantes, incomplètes et redondantes.

Cette détermination des caractéristiques a des conséquences à la fois sur la taille du réseau
(et donc le temps de simulation), sur les performances du système (pouvoir de séparation,
taux de détection), et sur le temps de développement (temps d’apprentissage).

51
3.2.3 Répartition de jeu de données ( Datasets )

Afin de développer une application à base de réseaux de neurones, il est nécessaire de


disposer de deux bases de données : une base pour effectuer l’apprentissage et une autre pour
tester le réseau obtenu et déterminer ses performances une fois prêt. Afin de contrôler la phase
d’apprentissage, une répartition des données d’entrainement est aussi très importante à ce
stade. Pour éviter le problème de “ overfitting “, la méthode de validation consiste à diviser
la base d’entrainement à son tour en deux sous-groupes : Training set et Validation set. Elle
conserve une partie des données initiales en validation set, le modèle va les utiliser pour
contrôler ses performances, et ne sont pas utilisées dans la phase d’entrainement mais plutôt
pour vérifier si le modèle est dans le cas d’overfitting.

Figure 3.1: Les cas possibles du modèle d’apprentissage

Il n’y a pas une règle fixe pour déterminer ce partage de manière quantitatif. Il résulte
souvent d’un compromis tenant compte du nombre de données dont on dispose et du temps
imparti pour effectuer l’apprentissage.

3.3 Entrainement et mise en production du modèle


Les données bien propres peuvent maintenant commencer à être explorées. Cette étape
permet de mieux comprendre les différents comportements (et donc identifier mieux les
besoins et buts du traitement ) et de bien saisir le phénomène sous-jacent pour en décider
des choix à faire.

3.3.1 Choix d’un réseau de neurones

Il existe un grand nombre de types de réseaux de neurones, avec pour chacun des avan-
tages et des inconvénients. Le choix d’un réseau peut dépendre :

— De la tâche à effectuer (classification, association, contrôle de processus, séparation


aveugle de sources...).

52
— De la nature des données (dans notre cas, des données présentant des variations au
cours du temps),

— D’éventuelles contraintes d’utilisation temps-réel (certains types de réseaux de neu-


rones, tels que la ‘machine de Boltzmann [AZENCOTT et al., 1992], nécessitant des
tirages aléatoires et un nombre de cycles de calculs indéfini avant stabilisation du
résultat en sortie, présentent plus de contraintes que d’autres réseaux pour une utili-
sation temps-réel).

— Des différents types de réseaux de neurones disponibles dans le logiciel de simulation


que l’on compte utiliser (à moins de le programmer).

Ce choix est aussi en fonction de la maitrise ou de la connaissance que l’on a sur certains
réseaux, ou encore du temps dont on dispose pour tester une architecture prétendu plus
performante [17].

3.3.2 Apprentissage du réseau de neurones et entrainement du


modèle

Tous les modèles de réseaux de neurones requièrent un apprentissage. Plusieurs types


d’apprentissages peuvent être adaptés à un même type de réseau de neurones. Les critères
de choix sont souvent la rapidité de convergence ou les performances de généralisation.

Le critère d’arrêt de l’apprentissage est souvent calculé à partir d’une fonction de coût,
caractérisant l’écart entre les valeurs de sortie obtenues et les valeurs de références (ré-
ponses souhaitées pour chaque exemple présenté). La technique de validation croisée, qui
sera précisée par la suite, permet un arrêt adéquat de l’apprentissage pour obtenir de bonnes
performances de généralisation.

Certains algorithmes d’apprentissage se chargent de la détermination des paramètres


architecturaux du réseau de neurones. Si on n’utilise pas ces techniques, l’obtention des
paramètres architecturaux optimaux se fera par comparaison des performances obtenues
pour différentes architectures de réseaux de neurones.

Des contraintes dues à l’éventuelle réalisation matérielle du réseau peuvent être intro-
duites lors de l’apprentissage [17].

53
Figure 3.2: Phase d’apprentissage du réseau de neurones

3.3.3 Évaluation et déploiement du modèle en production

Une fois le réseau de neurones entrainé (après apprentissage), il est nécessaire de le tester
sur une base de données différentes de celles utilisées pour l’apprentissage ou la validation
croisée. Ce test permet à la fois d’apprécier les performances du système neuronal et de
détecter le type de données qui pose problème.
Si les performances ne sont pas satisfaisantes, il faudra soit modifier l’architecture du
réseau, soit modifier la base d’apprentissage (caractéristiques discriminantes ou représen-
tativité des données de chaque classe) Une fois le modèle correctement paramétré sur les
données d’entrainement, on peut ensuite le déployer afin qu’il traite de nouvelles données,
pour accomplir la tâche spécifique poursuivie (prédiction, recommandation, décision...). [17].

Figure 3.3: Phase de mise en production ( prédiction )

Une fois qu’on est satisfait de la qualité des performances de notre modèle, on va pouvoir

54
passer à l’étape suivante, qui est le rendu de nos résultats et le potentiel déploiement du
modèle en production. Appliquer donc le travail à de nouvelles données, il suffit de passer
les nouvelles entrées dans le modèle obtenu (qui est en principe bien entrainé ) afin d’obtenir
une sortie.[25] On peut même opter pour le partage des résultats en externe vers les centres
de décisions ou tout autre système et autorité intéressée.

3.4 Outils d’implémentation


pour concrétiser le travaille, quels sont les plateformes qu’on peut utiliser pour implé-
menter ce genre de systèmes tout en donnant la capacité de réaliser à la fois le prétraitement
de données et la mise en place du système d’apprentissage automatique ?

3.4.1 Les langages de programmation utilisés


Vu l’importance et la révolution des techniques de l’apprentissage automatique, plusieurs
langages et frameworks donnent la possibilité d’implémentation de ces dernières tel que :[26]

— Python

Il existe suffisamment de bibliothèques disponibles en Python. NumPy pour les opé-


rations de tenseurs. Pandas qui rend flexible l’importation des données de R à Python.
Pour le traitement du langage naturel (NLP en anglais), les bibliothèques NLTK et SpaCy
sont disponibles. Pour l’apprentissage automatique, il y a Scikit-learn. Et quand il s’agit de
l’apprentissage profond, toutes les bibliothèques actuelles (TensorFlow, PyTorch, Chainer,
Apache MXNet, Theano, etc.) sont effectivement des projets Python-first. Bref, la commu-
nauté Python travaille d’arrache-pied pour rendre l’utilisabilité du langage très flexible avec
des bibliothèques bien fournies.

— Java et ses frères

La famille de langages JVM (Java, Scala, Kotlin, Clojure, etc.) est aussi un excellent choix
pour le développement d’applications IA. De nombreuses bibliothèques disponibles pour le
traitement du langage naturel (CoreNLP), des opérations de tenseurs (ND4J) ou d’une pile
d’apprentissage profond (DL4J : DeepLearning4J) accélérée par le processeur graphique.
De plus, les développeurs bénéficient d’un accès facile aux grandes plateformes de données
comme Apache Spark et Apache Hadoop.

— Scala

Scala est récemment devenu un autre langage important pour l’analyse rapide des don-
nées. Il a gagné en popularité principalement en raison de la montée de Spark, un grand
moteur de traitement de données de choix, qui est écrit en Scala et fournit ainsi une API
native à Scala. Breeze est connue comme la principale bibliothèque pour Scala. Breeze four-
nit des manipulations rapides et efficaces avec des tableaux de données, et permet la mise
en œuvre de nombreuses autres opérations, y compris les opérations matricielles et vecto-
rielles, les probabilités et fonctions statistiques, l’optimisation, les opérations de traitement
du signal, etc.

— C/C++

55
Le choix du C/C ++ est peu probable lors du développement d’une application IA.
Mais pour ceux qui travaillent dans un environnement intégré, et qu’ils ne peuvent pas
payer le surcoût d’une machine virtuelle Java ou d’un interpréteur Python, C/C ++ est
la solution. Lorsqu’on a besoin d’exploiter les dernières performances du système, il faut
retourner dans le monde (terrifiant pour certains) des pointeurs. Mais, le C/C ++ moderne
est agréable, car offre de multiples approches. Les développeurs peuvent soit plonger au
bas de la pile, en utilisant des bibliothèques comme CUDA pour écrire leur programme qui
s’exécute directement sur le GPU, ou ils peuvent utiliser TensorFlow ou Caffe pour accéder
à des API de haut niveau flexibles.

— JavaScript

Google avait publié TensorFlow.js, une bibliothèque accélérée par WebGL qui permet de
former et d’exécuter des modèles d’apprentissage automatique dans le navigateur Web. Il
inclut également l’API Keras et la possibilité de charger et d’utiliser des modèles qui ont été
formés dans TensorFlow standard. Bien que JavaScript n’a pas actuellement le même accès
aux bibliothèques d’apprentissage automatique que les autres langages cités plus haut, les
développeurs ajouteront bientôt des réseaux de neurones à leurs pages Web avec presque la
même aisance que s’ils ajoutaient une propriété CSS. TensorFlow.js est encore à ses débuts.
Pour l’instant, cela fonctionne dans le navigateur, mais pas dans Node.js. Il n’implémente
pas encore l’API TensorFlow complète.

— R

R est le langage que les scientifiques de données aiment. Cependant, d’autres program-
meurs trouvent R un peu confus quand ils le rencontrent pour la première fois, en raison
de son approche centrée sur les données. Pour un groupe dédié de développeurs R, il peut
être judicieux d’utiliser les intégrations avec TensorFlow, Keras ou H2O pour la recherche,
le prototypage et l’expérimentation.

— Lua

Il y a quelques années, Lua montait dans le monde de l’intelligence artificielle. Avec le


framework Torch, Lua était l’un des langages les plus populaires pour le développement de
l’apprentissage profond. Et il existe toujours beaucoup de travail d’apprentissage profond
sur GitHub qui définissent les modèles avec Lua/Torch. Avec l’arrivée de frameworks tels
que TensorFlow et PyTorch, l’utilisation de Lua a considérablement diminué.

— Julia

Julia est un langage de programmation de haut niveau, performant et dynamique pour


le calcul scientifique, avec une syntaxe familière aux utilisateurs d’autres environnements de
développement similaires (MATLAB, R, Scilab, Python, etc.). Ce qui en fait un bon choix
dans le monde mathématique de l’IA. Bien que ce ne soit pas très populaire en tant que choix
de langue en ce moment. Les wrappers comme TensorFlow.jl et Mocha (fortement influencés
par Caffe) offrent un bon support d’apprentissage profond.

— Swift

56
Chris Lattner, créateur du compilateur LLVM et du langage de programmation Swift, a
annoncé Swift pour TensorFlow. Swift pour TensorFlow permet d’importer des bibliothèques
Python telles que NumPy et de les utiliser dans le code Swift presque comme avec n’importe
quelle autre bibliothèque.

— MATLAB

MATLAB rend les parties difficiles de l’apprentissage automatique faciles avec des ap-
plications ” pointer-cliquer ” pour former et comparer des modèles, des techniques avancées
de traitement du signal et d’extraction de caractéristiques, sélection des fonctionnalités pour
optimiser les performances d’un modèle, la possibilité d’utiliser le même code pour étendre
le traitement aux big data et aux clusters, etc.

3.4.2 Les frameworks et bibliothèques


il existe plusieurs frameworks utilisés pour le deep learning, la figure suivante résume les
plus connus :

Figure 3.4: Frameworks du deep learning

— Apache SINGA

Apache SINGA : est un projet Apache Incubating destiné à développer une bibliothèque
d’ apprentissage machine open source . Il fournit une architecture flexible pour une formation
distribuée évolutive, est extensible pour une vaste gamme de matériel et se concentre sur les
applications de soins de santé.

— Caffe

57
Caffe est un cadre d’apprentissage en profondeur conçu pour l’expression, la rapidité et
la modularité. Il est développé par Berkeley AI Research ( BAIR ) et par des contributeurs
de la communauté. Yangqing Jia a créé le projet lors de son doctorat à l’UC Berkeley. Caffe
est publié sous la licence BSD 2-Clause .

— CNTK

Microsoft Cognitive Toolkit ( https ://cntk.ai)) est une boı̂te à outils d’apprentissage en
profondeur unifiée qui décrit les réseaux de neurones comme une série d’étapes de calcul
via un graphe dirigé. Dans ce graphe orienté, les nœuds terminaux représentent les valeurs
d’entrée ou les paramètres réseau, tandis que les autres nœuds représentent les opérations
de la matrice lors de leurs entrées. CNTK permet aux utilisateurs de réaliser et de combiner
facilement les types de modèles courants tels que les DNN avec feed-forward, les réseaux de
convolution (CNN) et les réseaux récurrents (RNN / LSTM). Il implémente l’apprentissage
par descente de gradient stochastique (SGD, error backpropagation) avec différenciation et
parallélisation automatiques sur plusieurs serveurs graphiques et serveurs graphiques. CNTK
est disponible sous licence open source depuis avril 2015.

— Apache MXNet

Apache MXNet est une structure logicielle d’ apprentissage en profondeur open source ,
utilisée pour former et déployer des réseaux neuronaux profonds . Il est évolutif et permet
une formation rapide des modèles . Il prend en charge un modèle de programmation flexible
et plusieurs langages de programmation (notamment C ++ , Python , Julia , Matlab ,
JavaScript , Go , R , Scala , Perl et Wolfram .)

— TensorFlow

TensorFlow est une plate-forme open source de bout en bout pour l’apprentissage auto-
matique. Il offre un écosystème complet et flexible d’outils, de bibliothèques et de ressources
communautaires qui permet aux chercheurs de se familiariser avec les technologies de pointe
et aux développeurs de créer et de déployer facilement des applications utilisant ML.

— Theano

Theano est une excellente bibliothèque en termes de performances et vante sa capacité


à gérer les calculs requis pour les grands réseaux de neurones. Cependant, sa syntaxe peut
être difficile à comprendre pour les débutants et donc perdre son avantage par rapport
aux frameworks (comme Tensorflow et pytorch) qui sont faciles à comprendre et à utiliser.
Theano peut avoir une syntaxe difficile à comprendre, mais, du fait de son optimisation
optimale pour les performances, il peut être utilisé dans le backend par une autre bibliothèque
d’apprentissage en profondeur telle que Keras, qui a une syntaxe très facile à comprendre.

— Torch

Torch est une autre bibliothèque de calculs scientifiques qui prend en charge les algo-
rithmes d’apprentissage automatique. Torch est basé sur Lua , un langage de programmation
léger et multi-paradigmes. Torch est développé par Facebook et utilisé par des géants comme

58
Facebook, Twitter et Google. Torch utilise également CUDA , qui permet d’entrainer des
modèles plus rapidement sur des GPU.

3.5 Conclusion
Dans ce chapitre on a identifié les étapes essentielles pour réaliser un réseau de neurones
approfondis bien que ces étapes se sont pas spécifiques juste pour les réseaux de neurones
mais pour tout système, on a parlé aussi des outils utilisés pour l’apprentissage profond.
Maintenant que les prérequis sont prêts, on peut passer à la réalisation du système.

59
Chapitre 4

Réalisation

60
4.1 Introduction

Dans ce chapitre on reparlera des étapes de conception tout en spécifiant les choix pris
ainsi que les résultats obtenus pour un système de réseau de neurone destiné à faire une
prédiction de flux de trafic. La démarche est respectée et clarifiée en concret avec des exemples
d’application. Pour ce, on a choisi de travailler sur le logiciel MATLAB version 2018a. Il reste
donc à savoir les données utilisées, phases d’implémentation du système et ses résultats (
pour un seul flux : le flux correspondant aux véhicules et taxis “CarsTaxis” du jeu de données
présenté ci-après ) en ordre avec quelques clarifications nécessaires.

4.2 Collecte et prétraitement de données


4.2.1 Collecte des données :

La connaissance des trafics repose sur le Système d’Information Trafic (SIT) du ministère
au sein duquel il est assuré le recueil des données et l’alimentation d’une base de données
locale. Les bases locales sont ensuite ségréguées pour constituer la base nationale des trafics.
Le système de recueil de données est basé sur les stations de bases communiquant avec les
différents équipement sur la route (capteurs, caméras de surveillance, systèmes de comp-
tage,...etc ) qui équipent le réseau routier national. Avec l’émergence de nouveaux capteurs
et équipements de mesure, l’enjeu aujourd’hui est l’enrichissement du système de recueil de
données, tant en quantité qu’en qualité des mesures de trafic produites.

Figure 4.1: Boucles d’induction magnétiques

61
Figure 4.2: Capteurs météo-routiers

Les principales données pertinentes à recueillir sont : le débit tous véhicules, le taux
d’occupation et la vitesse moyenne tous véhicules. D’autres données plus détaillées peuvent
également être recueillies selon le type d’équipement : on peut citer notamment la réparti-
tion des débits par classes de longueurs, de vitesses, de silhouettes, et de poids. Différents
indicateurs de trafic sont ensuite élaborés à partir des données de trafic, notamment le trafic
moyen journalier annuel (MJA), le trafic moyen journalier mensuel (MJM), et la part du
trafic lourd (%PL).[25]
Les données utilisées dans notre étude sont dans un fichier format texte ouvert repré-
sentant des données tabulaires sous forme de valeurs séparées par des virgules ( Comma-
separated values CSV ) qu’on a représenté dans un tableau de 32980 lignes et 26 colonnes.
ces données sont disponibles sur le site [21] qui offre les statistiques du trafic routier de la
Grande Bretagne gratuitement de Londres comme exemple pour travailler dessus.
Ces datasets sont accompagnées par des fichiers pdf pour expliquer les différents champs
et paramétrés de la dataset.
Ci-dessous une capture qui illustre la dataset avec laquelle on a travaillé.

Figure 4.3: Une vue sur la Dataset-London objet de notre étude

62
4.2.2 Analyse et nettoyage des données

Une fois avoir les datasets, il faut les analyser. Pour cela on a utilisé les fichier pdfs
expliquant les fichiers CSV ainsi que quelque recherches et évidement notre propre analyse.
On a réalisé ensuite le tableau suivant qui récapitule les points importants de notre dataset :

Champs Type des valeurs Valeurs


contenues possibles
Year numérique [2000-2017]
CP numérique 6000, 6001, 6003
Estimation method et catégorique calculée /
Estimation method estimée
detailled
Region catégorique London
Local authority catégorique Barnet , Bexley
, Hounslow,...
Road catégorique M1, A1 , A2,...
Road categorie catégorique TM, TU, PU ...
Easting et Northing numérique 522170 , 520150
(coordonnées) / 189100,
194300
Start junction et End catégorique A406, 1, 2, A2
junction Amersham Rd
LinkLength miles numérique 2.45 , 104, 0.566
PedalCycles, Motorcycles, numérique les différents
CarsTaxis, BusesCoaches, flux
LightGoodsVehicles,
V2AxleRigidHGV,
V3AxleRigidHGV,
V4or5AxleRigidHGV,
V3or4AxleArticHGV,
V5AxleArticHGV,
V6orMoreAxleArticHGV,
AllHGVs ,
AllMotorVehicles

Table 4.1: Les différents champs de la dataset

Notre analyse première donne :

— Le jeu de données ne comportait aucune donnée manquante, mais plutôt des valeurs
non numériques ( dites catégoriques ) qui ne peuvent être injectées au réseau de
neurones.
— Le jeu de données donne des informations sur les différents catégories de flux ( en
moyenne annuelle journalière MAJ ) correspondants à des informations spatiotempo-
relles de la route en question.
— Les données donnent possibilité de faire une étude prédictive sur les sorties de flux
différents dans une volonté d’étude statistique à long terme vue l’intervalle de temps
( par année ).

63
Pour réaliser le système voulu il faut choisir les données pertinentes qui nous permettent
de faire un système cohérent et d’avoir des bons résultats à partir de notre dataset, et comme
connu les réseaux de neurone travaillent avec des données numériques.
Donc la première chose à faire c’est d’éliminer toutes donnée non numérique en phase de
nettoyage.

Figure 4.4: Les colonnes de valeurs non numériques à omettre (en jaune)

Après avoir terminer de cette étape on passe au choix des entrées et sorties de notre
système, et pour cela on a travaillé avec la corrélation pour déterminer la relation entre nos
données.
Une fois terminé on a donc les entrés et sortie bien définies.

Figure 4.5: Récupération et préparation de données à utiliser

4.2.3 Répartition des données

L’outil MATLAB propose des algorithmes prédéfinis assurant la séparation optimale pour
les entrées en phase d’entrainement, à savoir devideblock qui divise les jeux de données en
trois ensembles en utilisant des blocs d’indices et deviderand qui divise le jeu de données

64
en trois ensembles en utilisant des indices aléatoires. Le choix s’ajuste en fonction du type
de réseau de neurones utilisé et ses paramètres. Une fois l’entrainement lancé, on peut voir
le choix fait automatiquement. Détaillons maintenant l’algorithme utilisé dans notre cas :
Deviderand.
La syntaxe sous MATLAB :

[trainInd,valInd,testInd] = dividerand (Q,trainRatio,valRatio,testRatio)

La fonction prédéfinie sépare les cibles en trois ensembles : entrainement, validation et


test.

— prend en entrée :
— Q : Nombre de cibles à diviser.
— trainRatio : Ratio de vecteurs pour la formation. Par défaut = 0.7 c’est à dire 70%
de l’ensemble de données sera réservé dans training set.
— valRatio :Ratio de vecteurs pour validation. Par défaut = 0.15 , 15% pour valida-
tion set.
— testRatio : Ratio de vecteur à tester. Par défaut = 0.15, i.e 15% pour test set.

— retourne en sortie :
— trainInd : indices de formation ou training data (valeurs aléatoires).
— valInd : indices de validation.
— testInd : indices de test.

4.3 Entrainement et mise en production du modèle


4.3.1 Choix d’un réseau de neurones

Pour le choix du réseau de neurones on a opté pour le Feed-forward avec retro-propagation


de gradient expliqué dans le chapitre 2 (apprentissage automatique). La figure suivante
illustre les paramètres choisis en terme de fonction d’apprentissage, fonction d’optimisa-
tion et évaluation, nombre de couche et nombre de neurones de chaque couche à travers le
toolbox des réseaux de neurones “nntool”.

65
Figure 4.6: Paramétrages du réseau

Notre réseau a donc :


— comme données d’entrée : le tableau “inputcars” contenant les 15 colonnes d’entrée ;
— comme sortie cible : le vecteur “targetcars” contenant la colonne des flux réels “Cars-
Taxis”;
— comme fonction d’entrainement : la fonction “TRAINLM” qui met à jour les valeurs de
poids et de biais en fonction de l’optimisation de Levenberg-Marquardt. Il est souvent
l’algorithme de rétropropagation le plus rapide de la boı̂te à outils, il est vivement
recommandé en tant qu’algorithme supervisé de premier choix ;
— comme fonction d’apprentissage : “LEARNGDM” est la descente de gradient avec la
fonction d’apprentissage du poids en moment et des biais ;
— comme fonction de coût : Erreur quadratique moyenne “MSE” mesure la moyenne des
carrés des erreurs - c’est-à-dire la différence quadratique moyenne entre les valeurs
estimées et ce qui est estimé,
— comme fonction de transfert ( activation ) : Fonction de transfert sigmoı̈de hyperbo-
lique “TANSIG”. [30]
— le nombre des couches : 15 couches ; avec 17 neurones dans chacune.

Une fois configuré, une aperçue du réseau peut être consultée :

Figure 4.7: Aperçue d’architecture du réseau de neurones pour CarsTaxis

66
4.3.2 Apprentissage et entrainement du réseau de neurones

Tous les modèles de réseaux de neurones requièrent un apprentissage. Plusieurs types


d’apprentissages peuvent être adaptés à un même type de réseau de neurones. Les critères
de choix sont souvent la rapidité de convergence ou les performances de généralisation.

Le critère d’arrêt de l’apprentissage est souvent calculé à partir d’une fonction de coût,
caractérisant l’écart entre les valeurs de sortie obtenues et les valeurs de références (réponses
souhaitées pour chaque exemple présenté).

Certains algorithmes d’apprentissage se chargent de la détermination des paramètres


architecturaux du réseau de neurones. Si on n’utilise pas ces techniques, l’obtention des
paramètres architecturaux optimaux se fera par comparaison des performances obtenues
pour différentes architectures.

Figure 4.8: Capture d’entrainement du réseau de neurones

67
Des contraintes dues à l’éventuelle réalisation matérielle du réseau peuvent être intro-
duites lors de l’apprentissage. [17]

4.3.3 Évaluation et déploiement du modèle

Une fois le réseau de neurones entrainé (après apprentissage), il est nécessaire de le tester
sur une base de données différentes de celles utilisées pour l’apprentissage ( “sample” dans
notre cas ). Ce test permet à la fois d’apprécier les performances du système neuronal et
de détecter le type de données qui pose problème. Si les performances ne sont pas satisfai-
santes, il faudra soit modifier l’architecture du réseau, soit modifier la base d’apprentissage
(caractéristiques discriminantes ou représentativité des données de chaque classe) [17].
MATLAB permet l’accès facile aux plots de régression pour une première évaluation :

Figure 4.9: Plots de régression des différents ensembles de données train , test et validation

Les performances des réseaux de neurones peuvent être améliorées quand on refait l’en-
trainement, les plots de régression suivants sont du même réseau de neurone après 3 refaits
ou on note l’augmentation du acteur R.

68
Figure 4.10: Amélioration de performance par entrainement répété 3 fois

Pour évaluer les résultats obtenus par valeur exacte, on trace un graphe qui représente la
comparaison des valeurs de sortie obtenues par le réseau de neurones ( Predicted ) en rouge,
avec les vraies valeur qu’on doit atteindre ( Target ) en bleu pour les 100 premières lignes
de la dataset pour une bonne visibilité vu sa taille importante.

Figure 4.11: Graphe de comparaison entre les données prédites et les données cibles

Les résultats présentés jusqu’ici étaient assez satisfaisants, donc on a utilisé le réseau
“network1” obtenu pour nous faire une prédiction sur le même flux de l’année d’après :
2017 à l’aide de la commande “sim” pour “simulation” suivant la syntaxe : predicted = sim
(network1,sample), où :
predicted : représente la variable qui contiendra la sortie ;

69
network1 : représente le réseau de neurones utilisé ;
sample : représente la nouvelle entrée.
Pour vérifier ses performances on avait gardé les valeurs réelles enregistrées, qu’on a comparé
de même manière avec les sorties du réseau pour ces nouvelles valeurs. Les résultats de
comparaison sont illustrés dans le graphe suivant :

Figure 4.12: Graphe de comparaison entre les données prédites et les données cibles des
nouvelles entrées

De la même façon, on pourra interroger le réseau pour nous prédire d’autres valeurs du
future en changeant juste la variable “Year”.

4.4 Conclusion
Dans ce chapitre nous avons illustré toute les étapes de notre système de prédiction du
trafic routier dont la procédure est de développement d’un réseau de neurone démontrée et
expliquée au 3eme chapitre, nous avons aussi illustré et commenté les résultats obtenus.

70
Quatrième partie

Conclusion Générale

71
Assurer en permanence la fluidité du trafic sur les routes n’est pas une mince affaire.
D’autant plus que les centres qui en ont la charge font aujourd’hui face à des évolutions de
grande ampleur et ne sont pas toujours bien équipés pour y répondre.
On se penche alors vers des systèmes plus concrets et spécifiques aux caractéristiques
variantes des routes : des systèmes intelligents et capteurs sont utilisés pour calculer les
temps de trajets, connaitre les conditions météorologiques, détecter et résoudre les incidents,
communiquer avec les conducteurs, etc. En regroupant toutes ces données sur un seul et
même système, intégrant des analyses avancées, les différents contrôleurs disposent d’une
vision plus globale de la situation sur les routes. En automatisant les tâches routinières et
en prévoyant les changements des flux on facilite le quotidien des centres de gestion du
trafic. Beaucoup de tâches manuelles et chronophages peuvent être automatisées grâce aux
technologies. Ainsi, les opérateurs disposent de plus de temps pour prendre du recul, analyser
des tendances et approfondir leur compréhension des routes.
Dans ce travail nous avons réussi à mettre en place un modèle d’apprentissage profond
permettant la prédiction d’un facteur de contrôle de trafic qui est les flux de trafic routier
en moyenne annuelle journalière sur plusieurs segments de route. Un système prêt à prédire
ces flux pour les prochaines années.
l’idéal est permettre aux opérateurs routiers, par exemple, détecter un ralentissement,
y relier facilement des informations météorologiques, visionner les vidéos associées pour en
définir la nature, évaluer l’impact sur les temps de trajets, et être ensuite guidés dans leurs
actions correctives ( la mise à jour des panneaux d’affichage dynamique avec des itinéraires
conseillés, envoyer une dépanneuse ou les services d’urgence,...etc), avec le tout basé sur
l’état du flux de trafic de la route en question ou même les routes adjacentes, mais tout en
passant par l’élément de base, le contrôle de flux.
Ainsi la gestion du trafic nécessite de mieux relier les systèmes, les capteurs, les données. . .
mais aussi les personnes. Une plateforme ouverte permet d’améliorer la collaboration entre
les centres de gestion, la police, les premiers secours, les services de maintenance et autres.
Par ailleurs, face aux changements, les systèmes doivent être en mesure d’évoluer rapidement
en évitant les modifications nécessitant d’intervenir sur le code et de déployer une mise à
jour par une méthode longue et couteuse. Le choix d’une plateforme intelligente fluide qui
apprends par elle même, rendra beaucoup plus facile l’intégration des dernières technologies
matérielles ou logicielles et voir même les grandes masses de données.
Les réponses à apporter peuvent donc être prédites et programmées à l’avance. Le suivi
de procédures prédéfinies laisse en effet peu de place aux oublis et à l’erreur humaine, ga-
rantissant ainsi que les actions essentielles sont réalisées à temps et dans le bon ordre. D’où
l’objectif principal de la gestion du trafic est atteint grâce aux améliorations apportées par
les technologies STIs assurant un retour à la normale plus rapide après un incident.
En entrant dans le domaine des STIs et en découvrant la force, utilité et la variété des
domaines d’applications des techniques d’apprentissage automatique, une curiosité ainsi que
des volontés de travailler plus dans les STIs s’imposent. Nos perspectives liées à ce travaille
peuvent être résumées en ce qui suit :

ˆ Pouvoir mettre les systèmes de transport intelligent en Algérie en valeur à fin d’ouvrir
les études et projets associés en concurrence pour développer ce secteur vu que c’est une
piste dont l’Algérie reste retardée malgré sa nécessité ( les statistiques effrayantes enregis-
trées chaque année dans les routes algériennes en terme de morts et dégâts d’accidents, les
embouteillages, l’état des route...etc ) .

ˆ Implémenter des systèmes de prédiction de trafic routier en temps réel pour être une
base d’autres systèmes de contrôle de trafic ainsi pour la détection d’incidents puis aller en

72
avant vers les systèmes de notification associés.

73
Bibliographie

[1] https ://www.mobilite-intelligente.com/champs-applications/gestion-des-


transports/gestion-trafic-routier
[2] openclassrooms.com , chapitre : identifiez-les-differents-types-dapprentissage-
automatiques
[3] http ://road-network-operations.piarc.org/index.php ?option=comcontenttask = viewid
= 39Itemid = 71lang = fr
[4] F. Doetzer, F. Kohlmayer, T. Kosch and M. Strassberger, ”Secure communication for
intersection assistance”. In Proc. of the 2nd Int. Workshop on Intelligent Transportation,
Hamburg, Germany, March 2005
[5] A. Friedrich, T. Ma, F. Ramond et M. Rohani , ”Compléments à la présentation”, PWP
sur les ITS, 2005
[6] https ://www.researchgate.net/publication/330815113 Speech Recognition Using Deep Neural Ne
[7] https ://www.engie-ineo.fr/maroc-navineo-mis-place-tramway-de-rabat-sale/
[8] http ://viewer.zmags.com
[9] www.intelligenttransport.com
[10] OECD SCIENCE, ”Technology and industry” , OUTLOOK c OECD, 2012.
[11] https ://www.univ-tlemcen.dz/˜benmammar/IA2.pdf
[12] https ://www.futura-sciences.com/tech/definitions/intelligence-artificielle-deep-
learning-17262/
[13] http ://www-igm.univ-mlv.fr/˜dr/XPOSE2001/seguin/final/ReseauNeuro.html.
[14] https ://pdfs.semanticscholar.org/0d88/712d8c7a728cfe8962eb65f31ae8ef3714d4.pdf
[15] https ://www.math.univ-toulouse.fr/˜besse/Wikistat/pdf/st-m-app-rn.pdf
[16] https ://fr.slideshare.net/fontainefafany/expos-rseaux-des-neurones-nn-rn
[17] http ://projets.developpez.com/attachments/download/643/elie chap2 1 .pdf
[18] https ://www.ifpenergiesnouvelles.fr/article/systeme-transport-intelligent-et-mobilite-
30-definition-enjeux-et-acteurs
[19] A. Cornuéjols, L. Miclet, Y.Kodratoff, ” Apprentissage Artificiel, Concepts et algo-
rithmes ” ISBN 2-212-11020-0 , 2002
[20] P.Vincent, ” Modèles à noyaux à structure locale ”, Thèse de Phd en informatique ,
Université de Montréal,2003
[21] https ://roadtraffic.dft.gov.uk/#6/55.254/-6.053/basemap-regions-countpoints
[22] https ://dataanalyticspost.com/Lexique/reseau-de-neurones-profonds/
[23] https ://mrmint.fr/9-algorithmes-de-machine-learning-que-chaque-data-scientist-doit-
connaitre
[24] dépositu.uqat.ca/554/1/mMna Kalakh.pdf

74
[25] https ://www.mobilite-intelligente.com/champs-applications/gestion-des-
transports/gestion-trafic-routier
[26] https ://www.developpez.com/actu/213780/Sondage-quels-sont-les-meilleurs-langages-
de-programmation-pour-l-IA-Quels-sont-vos-criteres/
[27] https ://www.lemagit.fr/conseil/Machine-Learning-comment-choisir-le-bon-framework
[28] https ://enterpriseiotinsights.com/20170626/transportation/20170625transportationwhat-
smart-transportation-tag23-tag99
[29] https ://www.techopedia.com/definition/33426/learning-algorithm
[30] https ://www.mathworks.com/help
[31] www.granddictionnaire.com
[32] http ://www.psychomedia.qc.ca/lexique/definition/apprentissage-automatique

75

Vous aimerez peut-être aussi