Vous êtes sur la page 1sur 19

18/04/2022

Intelligence Artificielle
IRISI – S4. FSTG MARRAKECH.
PR.MERIEM BENHADDI.

Précédemment

1
18/04/2022

Quelques librairies

CUDA (initialement l'acronyme de Compute Unified Device Architecture3) est une technologie de GPGPU (General-Purpose
Computing on Graphics Processing Units), c'est-à-dire utilisant un processeur graphique (GPU) pour exécuter des calculs généraux à
la place du processeur central (CPU).

Quelques librairies

2
18/04/2022

Pytorch vs TensorFlow
 Il devient de plus en plus difficile de dire lequel est "meilleur"
Avant, il y avait des avantages/inconvénients évidents
Il reste très peu de différences entre les deux

Ce qui compte le plus:


Quelles sont les principales exigences de votre projet ?
Le modèle X a-t-il déjà été mis en œuvre dans pytorch/tensorflow ?
Quelle est la qualité de la mise en œuvre ? Pouvez-vous le modifier facilement ?

3
18/04/2022

Pytorch vs TensorFlow

HuggingFace
HuggingFace possède une vaste collection de modèles
pré-entrainés et ils sont compatibles avec toutes les
plateformes (tf, pytorch).
C’est une API très conviviale et implémentations utiles
de tokenizers.
Prise en charge de dizaines de langues.
Fortement recommandé pour les projets NLP.

4
18/04/2022

Vocabulaire

Comment construire mon réseau ?

5
18/04/2022

L’heure des premiers choix

Sigmoid
Déjà vu.

Utilisée pour une classification


multi-labels.

6
18/04/2022

Softmax
Softmax est une fonction mathématique qui convertit un vecteur de nombres
en un vecteur de probabilités, dont la somme est 1.
Si le réseau est configuré pour générer N valeurs, une pour chaque classe dans
la tâche de classification multi-classes, la fonction softmax est utilisée pour
normaliser les sorties, en les convertissant de valeurs de somme pondérée en
probabilités dont la somme est égale à un. Chaque valeur dans la sortie de la
fonction softmax est interprétée comme la probabilité d'appartenance pour
chaque classe.

Tanh
Tanh est aussi comme softmax. La plage de la fonction tanh est de (-1 à 1). tanh est également
sigmoïdal (en forme de s).

7
18/04/2022

Rectified Linear Unit (ReLU)


Dans le contexte des réseaux de neurones artificiels, la fonction d'activation
ReLU est définie comme la partie positive de son argument :

L’heure des premiers choix

8
18/04/2022

L’heure des premiers choix

L’heure des premiers choix


https://keras.io/
api/layers/initiali
zers/

9
18/04/2022

Fonction de coût et optimisation

Fonction de coût et optimisation


L’optimizer est une méthode responsable de corriger notre algorithme IA, pour que la fois
suivante, il donne de meilleures valeurs de prédiction.

10
18/04/2022

Fonction de coût et optimisation

Fonction de coût et optimisation


Moment (Momentum)
Le Momentum est une extension de l'algorithme d'optimisation de descente de gradient qui
permet à la recherche de créer de l'inertie dans une direction dans l'espace de recherche et de
surmonter les oscillations de gradients bruyants et de traverser des points plats de l'espace de
recherche.
Pour le présenter, nous devons d’abord saisir la notion de momentum. Par exemple, jetez un
rocher dans la pente d’une montagne : à mesure qu’il va rouler dans la même direction il va
gagner en vitesse, mais s’il tourne, sa vitesse sera réinitialisée. Pour Adam, le principe est
identique : tant que le gradient est dans la même direction que ceux précédents, on va accélérer
la vitesse (dite d’apprentissage) à laquelle on descend la courbe (i.e. on met à jour les
paramètres).

11
18/04/2022

Choix de l’optimizer

Fonction de coût et optimisation Ici, la couche d'entrée


consiste en un
vecteur de 10
éléments. La sortie
contiendra 64 valeurs.

12
18/04/2022

Choix du learning rate

Choix du learning rate

13
18/04/2022

Utilisation des mini-batchs

Evaluation des performances

14
18/04/2022

Epoch & Batch


Le nombre d'épochs est un hyperparamètre qui définit le nombre de fois que l'algorithme
d'apprentissage passera sur l'ensemble de données d'apprentissage.
La taille du batch correspond au nombre d'échantillons traités
avant la mise à jour du modèle.
Le nombre d'épochs correspond au nombre de passages
complets dans l'ensemble de données d'apprentissage.

Epoch & Batch


Supposons que vous ayez un jeu de données avec 200 échantillons (lignes de
données) et que vous choisissiez une taille de Batch de 5 et 1 000 Epochs.
Cela signifie que l'ensemble de données sera divisé en 40 Batchs, chacun avec
cinq échantillons. Les poids du modèle seront mis à jour après chaque Batch de
cinq échantillons.
Cela signifie également qu'un Epoch impliquera 40 Batchs ou 40 mises à jour
du modèle.
Avec 1 000 époques, le modèle sera exposé ou traversera l'ensemble de
données 1 000 fois. Cela représente un total de 40 000 Batchs pendant tout le
processus de formation.

15
18/04/2022

TP 1 : Travailler avec la base MNIST


La base de données MNIST pour Modified ou Mixed National Institute of Standards and
Technology, est une base de données de chiffres écrits à la main. C'est un jeu de données très
utilisé en apprentissage automatique.

La base MNIST est devenue un test standard.


Elle regroupe 60000 images d'apprentissage et 10000
images de test, issues d'une base de données antérieure,
appelée simplement NIST.

Ce sont des images en noir et blanc, normalisées centrées


de 28 pixels de côté.

Chaque pixel a son code de couleur unique ayant une valeur maximale de 255. Pour
effectuer l'apprentissage automatique, il est important de convertir toutes les valeurs de 0
à 255 pour chaque pixel en une plage de valeurs de 0 à 1. Le moyen le plus simple consiste
à diviser la valeur de chaque pixel par 255 pour obtenir les valeurs comprises entre 0 et 1.

Convertir les vecteurs des classes en des matrices de


classes binaires.

16
18/04/2022

Le réseau prendre comme input


un vecteur de 784 (28 x28)
éléments

La fonction d’erreur binary cross-entropy est utilisé quand on fait une classification binaire.

17
18/04/2022

Au total : 60 000/128 x 10 => 4688 itération

18
18/04/2022

19

Vous aimerez peut-être aussi