Module 1 : Introduction, réseau linéaire, fonctions d'activation Flashcards

1
Q

Nommer une fonction d’activation qui a participé à la renaissance des réseaux profonds.

A

ReLu

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

C’est quoi le problème du vanishing gradient?

A

Un problème qui arrive lors de la descente du gradient. Les dérivées partielles utilisées pour calculer le gradient à mesure qu’on entre dans le réseau. Puisque les gradients contrôlent à quel point le réseau apprend pendant le training, si les gradients sont très petits ou nuls, alors il y a peu ou pas d’apprentissage qui se passe, ce qui mène à de mauvaises performances prédictives.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Nommer les 3 causes de la renaissance des réseaux profonds.

A
  • Nouvelles fonctions d’activations
  • Grands jeux de données
  • Puissance de calcul via GPU
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

C’est quoi un tenseur?

A

C’est la structure de données utilisée par les systèmes d’apprentissage automatique. C’est un conteneur de données numériques, plus précisément une matrice à plus de deux dimensions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Vrai ou faux? Plus un réseau est profond, plus il est efficace.

A

Vrai. Deeper is better.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

A-t-on toujours besoin de beaucoup de données?

A

Non, il est possible de passer par des réseaux pré-entraînés.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Nommer certaines des lacunes théoriques en DL.

A
  • Vide théorique autour des performances des réseaux profonds
  • Difficile de les certifier
    En gros: on comprends pas trop comment ça marche, mais ça marche. On peur obtenir des performances incontournables en vision numérique, langage naturel, etc.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Nommer certains exemples d’applications du DL.

A
  • Reconnaissance de caractères
  • Reconnaissance d’images
  • Détection d’objets
  • Description d’images
  • Génération d’images
  • Reconnaissance et génération de voix
  • Traduction automatique
  • Transfert de style
  • Apprentissage visuomoteur
  • Générations d’images à partir de texte
  • Génération de vues
    pis 45 milliards d’autres affaires mais un moment donné ça va faire les exemples
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

C’est quoi qu’il y a dans le jeu de données MNIST?

A

Plein d’images de chiffres écrits à la main

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

C’est quoi un classifieur linéaire?

A

Un classifieur linéaire prend des décisions de classification basées sur la valeur de la combinaison linéaire des caractéristiques des objets (feature values)
J’explique ça pas mal merdiquement donc si vous avez une meilleure explication changez-la pls

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

C’est quoi une fonction d’activation?

A

Une fonction d’activation est une fonction mathématique utilisé sur un signal. Elle va permettre (ou non!) le passage d’information si le seuil de stimulation est atteint. Concrètement, elle décide si on active ou non une réponse du neurone.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Nommer les rôles d’une fonction d’activation

A
  • Apporte une non-linéarité dans le réseau
  • Située à l’interne, ou en sortie
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

On utilise la fonction d’activation sigmoïde si on désire une sortie entre quoi et quoi?

A

Si on désire une sortie entre 0 et 1 (prédiction binaire)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Décrire la fonction d’activation tanh.

A

Elle sert à obtenir une sortie entre -1 et 1.
Elle donne une sortie centrée à 0 (préférable au 0.5 de la sigmoïde)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Pourquoi le ReLU permet de réduire le vanishing gradient?

A

Réduit le vanishing gradient, car pente = 1 dans la partie active

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Expliquer c’est quoi Leaky ReLU.

A
  • Gradient = 0 signifie impossibilité d’entraîner
  • Pente très légère dans la partie négative : leaky ReLU
  • Si un paramètre a (entraînable) par neurone/couche, on obtient la PReLU
  • Donne des distributions de sorties plus centrées à 0 que ReLU

jkonpran po. c koi une distribution de sortie et pk on veut que ça soit centré sur 0?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Expliquer c’est quoi softmax

A
  • Fonction d’activation utilisée en sortie, prédiction multiclasse
  • Manière d’indiquer au réseau de chercher l’appartenance EXCLUSIVE à une seule classe i
  • Version continue, douce de max([…])
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Pour quoi on utilise softmax?

A
  • Sortie du réseau pour prédiction multiclasse
  • M.canisme d’Attention douce (images, transformers)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Est-ce qu’on peut avoir plus qu’un softmax en sortie?

A

Oui.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

c’est quoi le but d’un réseau feedforward (MLP)?

A

D’approximer une fonction f*.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Pourquoi on appelle ça un réseau de neurones à propagation avant (feedforward)?

A

Ces modèles sont appelés feedforward parce que l’information circule à travers la fonction évaluée à partir de x, à travers les calculs intermédiaires utilisés pour définir la fonction f, et enfin vers la sortie y.

Il n’y a pas de connexions de rétroaction dans lesquelles les sorties du modèle sont réinjectées dans lui-même.

En d’autres mots, la sortie d’une cellule ne peut pas influencer son entrée. L’information se déplace dans une seule direction, vers l’avant, sans cycles ou boucles.

22
Q

Comment on appelle les réseaux pour lesquels la sortie d’une cellule peut influencer son entrée?

A

Des réseaux de neurones récurrents.

23
Q

Comment définit-on la profondeur d’un modèle à propagation avant?

A

Par la longueur de la chaîne de fonctions qui forment le réseau.

Si on a trois fonctions f(1), f(2) et f(3), elles peuvent être connectées en chaîne pour former f(x) = f⁽³⁾(f⁽²⁾(f⁽¹⁾(x))), donc un réseau de 3 couches.

24
Q

Pourquoi les réseaux neuronaux à propagation avant sont-ils appelés réseaux?

A

Il s’agit d’un réseau puisqu’ils sont généralement représentés en composant ensemble de nombreuses fonctions différentes.

Ces fonctions forment un graphe acyclique (qui ne comporte pas de cycles ni de boucles) qui décrit comment les fonctions sont composées ensembles.

25
Q

Comment appelle-t-on la dernière couche d’un réseau de neurones?

A

La couche de sortie.

26
Q

Prenons l’exemple d’un classifieur; y = f*(x), qui fait correspondre une entrée x à une catégorie y.

Les données d’entraînement spécifient ce que quelle couche doit faire pour chaque point x? Quelle doit être la valeur obtenue?

A

Les données d’entraînement spécifient directement ce que la couche de sortie doit faire pour chaque point x. La couche de sortie doit produire des valeurs qui sont proches de y.

27
Q

Le comportement de quelle couche est directement influencé par les données d’entraînement?

A

La couche de sortie.

28
Q

Comment appelle-t-on les couches dont le comportement n’est pas directement spécifié par les données d’entraînement?

A

Les couches cachées.

Les données d’entraînement montrent seulement la sortie désirée pour la couche de sortie; l’algorithme d’apprentissage doit décider comment utiliser les autres couches pour produire la sortie appropriée. Puisque les données d’entraînement ne montrent pas la sortie désirée pour chacune de ces autres couches, elles sont appelées couches cachées.

29
Q

Pour quoi sont utilisées les fonctions d’activation?

A

Elles sont utilisées pour calculer les valeurs des couches cachées.

30
Q

Que fait la fonction train?

A

Elle entraîne le réseau

31
Q

Que fait la fonction validate?

A

Elle estime la performance de notre modèle au fur et à mesure de l’optimisation

32
Q

Que fait la fonction test?

A

Elle estime la performance de notre modèle sur des données jamais observées.

33
Q

Que se passe-t-il pour chaque epoch?

A

La fonction train passe au travers de toutes les données du jeu de données dans un ordre aléatoire et met à jour les poids du réseau selon la perte calculée.

34
Q

(PyTorch) Généralement, chaque élément d’un dataset va être un tuple (x, y). à quoi correspondent les termes x et y?

A

Le terme x correspond à notre exemple.

Le terme y correspond à notre étiquette (ou label, target) sous forme d’index (par exemple, on pourrait avoir 0 pour chien et 1 pour chat si on cherchait à différencier des images de chats et de chien).

Donc pour MNIST, x sera les pixels de l’image et y sera le chiffre à classifier.

35
Q

Quels sont les 3 hyperparamètres que la fonction doit recevoir pour entraîner le réseau?

A
  1. Le nombre d’epochs
  2. La taille de la batch
  3. Le taux d’apprentissage
36
Q

Le nombre d’epochs indique quoi?

A

Le nombre d’epochs indique combien de fois toutes les images du jeu de données seront observées.

37
Q

La taille de la batch indique quoi?

A

La taille de la batch indique combien d’images (ou de whatever quel format de données) seront traitées à la fois.

38
Q

Le taux d’apprentissage détermine quoi?

A

Le taux d’apprentissage détermine la vitesse à laquelle chaque poids du réseau sera modifié.

39
Q

Que se passe-t-il si le nombre d’epochs est trop petit?

A

Ça équivaut à arrêter l’entraînement de manière prématurée. Donc, si on arrête l’entraînement après seulement 2 epochs par exemple, on voit clairement que notre modèle n’a pas été entraîné à son plein potentiel.

On parle ici de sous-apprentissage.

40
Q

Que se passe-t-il si le nombre d’epochs est trop grand?

A

Ça donne du surapprentissage.
En surapprentissage, le réseau de neurones est capable de mémoriser les exemples d’entraînement.

Dans la courbe de la fonction de perte, on peut voir que la perte en entraînement est très basse alors qu’en validation, elle descend au début de l’entraînement et monte sans cesse par la suite. Similairement, de manière plus subtile, l’exactitude en validation monte en premier et décroit tranquillement par la suite.

41
Q

Sur quoi est-ce que la taille de la batch semble avoir le plus d’impact?

A

Niveau mémoire GPU, la taille de la batch a une grande importance. Pour une batch très petite, peu de mémoire sera utilisée et pour une batch très grande, une grande quantité sera nécessaire.

Au niveau de l’utilisation des coeurs du GPUs, plus la taille de la batch est grand, plus grande l’utilisation des coeurs sera. Une plus grande batch peut donc mener à une utilisation plus efficace des ressources de calcul qui sont limités.

Par contre, il faut aussi prendre en compte que la taille de la batch a un impact sur les performances.

42
Q

Est-ce que la taille de la batch impacte les performances?

A

Oui.
Si l’on va dans les extrêmes, les performances sont dégradées d’une manière ou d’une autre. Dépendamment du réseau et de son initialisation, ceci peut prendre la forme d’un apprentissage qui ne s’effectue simplement pas, un apprentissage plus lent ou bien à un grand surapprentissage.

Ceci est du au fait que les réseaux de neurones ne sont pas des modèles dits convexes et donc ont besoin d’un certain niveau de stochaïsticité (c’est-à-dire de l’aléatoire) pour être capable de les entraîner.

La taille de la batch est donc un hyperparamètre important pour avoir un apprentissage effectif.

43
Q

Que peut-on conclure sur la taille de batch optimale?

A

La taille de batch optimale est un compromis entre l’utilisation optimale des ressources du GPUs et sur les performances obtenues.

On peut donc tenter d’augmenter la taille de la batch tout en obtenant des performances optimales.

44
Q

Que se passe-t-il si le taux d’apprentissage est trop grand?

A

D’une manière similaire aux impacts de la taille de la batch, si le taux d’apprentissage au trop grand, les performances sont dégradées d’une manière ou d’une autre.

Dépendamment du réseau et de son initialisation, ceci peut prendre la forme d’un apprentissage qui ne s’effectue simplement pas ou d’un apprentissage très instable.

Le taux d’apprentissage est donc aussi un hyperparamètre important pour avoir un apprentissage effectif.

45
Q

Que se passe-t-il si le taux d’apprentissage est trop petit?

A

Si le taux d’apprentissage est trop petit, l’apprentissage se fera d’une manière très lente et parfois il ne se fera pas étant donné la stochaïsticité de l’entraînement.

46
Q

Est-ce que la ReLU est parfois négative?

A

Jamais

47
Q

La ReLU a-t-elle une limite supérieure?

A

Non, la ReLU n’a pas de limite supérieure.

48
Q

La ReLU est-elle souvent utilisée en sortie de réseau?

A

Non. La ReLU est rarement utilisée en sortie de réseau.

49
Q

Quelle est la plus populaire fonction d’activation comme non-linéarité?

A

ReLU

50
Q

La ReLU se calcule-t-elle rapidement?

A

Oui.

51
Q

La ReLU permet-elle d’accélérer l’entraînement des réseaux?

A

Oui.

52
Q

Que veut-on dire par le fait que la ReLU résulte en des activations parcimonieuses?

A

Certains neurones sont à 0. Parfois des neurones vont mourir, particulièrement si le elarning rate est trop grand.