QCM : MLP, gradients et fonctions de perte — 11 questions

Questions et réponses du QCM

1. Quel mécanisme décrit le mieux le fonctionnement d’Autograd lors du calcul des dérivées de tenseurs ?

Il remplace les tenseurs par des paramètres symboliques indépendants.
Il calcule les dérivées sans conserver les opérations intermédiaires.
Il construit dynamiquement un graphe des opérations tensorielles effectuées.
Il charge un graphe statique défini avant l’exécution des opérations.

Il construit dynamiquement un graphe des opérations tensorielles effectuées.

Explication

Autograd construit le graphe au fur et à mesure des opérations tensorielles afin de déterminer automatiquement les gradients. L’idée d’un graphe statique prédéfini correspond à la confusion signalée et ne décrit pas ce fonctionnement dynamique.

2. Un tenseur xx intervient dans une opération avec un autre tenseur dont requires_grad=True\texttt{requires\_grad}=\texttt{True}. Quelle valeur prend le champ requires_grad\texttt{requires\_grad} du résultat de cette opération ?

Il conserve la valeur de l’opérande placé en première position.
Il prend la valeur False, car le résultat n’est pas un tenseur feuille.
Il prend la valeur True, car un opérande demande le suivi des gradients.
Il dépend du type entier ou flottant du tenseur placé en entrée.

Il prend la valeur True, car un opérande demande le suivi des gradients.

Explication

Le résultat possède requires_grad=True\texttt{requires\_grad}=\texttt{True} dès qu’au moins un de ses opérandes porte cette valeur. Le fait qu’un tenseur ne soit pas une feuille ne désactive pas le suivi des opérations.

3. Quelle structure caractérise un perceptron multicouche ?

Une succession de transformations affines suivies de fonctions d’activation.
Une combinaison de paramètres de poids sans transformation des représentations.
Une suite de fonctions d’activation appliquées directement aux entrées brutes.
Une cascade de transformations affines dépourvues de paramètres de biais.

Une succession de transformations affines suivies de fonctions d’activation.

Explication

Un perceptron multicouche enchaîne des transformations affines et des fonctions d’activation pour produire une sortie à partir de l’entrée, des poids et des biais. Retirer les activations ou les paramètres de biais ne décrit donc pas la structure générale d’un MLP.

4. Dans un MLP, quelle expression calcule la représentation hkh_k de la couche kk ?

hk=σ(WkThk−1+bk)h_k = \sigma(W_k^T h_{k-1}+b_k)
hk=WkThk+σ(bk−1)h_k = W_k^T h_k+\sigma(b_{k-1})
hk=Wkhk−1+σ(bk)h_k = W_k h_{k-1}+\sigma(b_k)
hk=σ(Wkhk+bk−1)h_k = \sigma(W_k h_k+b_{k-1})

$$h_k = \sigma(W_k^T h_{k-1}+b_k)$$

Explication

Chaque couche applique d’abord la transformation affine WkThk−1+bkW_k^T h_{k-1}+b_k, puis la fonction d’activation σ\sigma. Les autres expressions utilisent une représentation de la mauvaise couche ou placent l’activation sur un terme incorrect.

5. Qu'est-ce que l'autograd dans le contexte de PyTorch ?

L'autograd est une fonction qui normalise les données d'entrée avant l'entraînement.
L'autograd est une technique pour optimiser manuellement les paramètres du modèle.
L'autograd est une méthode pour initialiser aléatoirement les poids d'un réseau de neurones.
L'autograd construit dynamiquement un graphe des opérations tensorielles pour calculer automatiquement les gradients.

L'autograd construit dynamiquement un graphe des opérations tensorielles pour calculer automatiquement les gradients.

Explication

L'autograd dans PyTorch construit dynamiquement un graphe des opérations tensorielles pour permettre le calcul automatique des gradients. Contrairement aux méthodes manuelles, il facilite la rétropropagation en automatisant le dérivé des opérations.

6. Selon Paszke et al., en 2017, que construit automatiquement l'autograd dans PyTorch pour permettre le calcul des gradients ?

Un ensemble de fonctions d'activation prédéfinies
Une base de données de modèles pré-entraînés
Le graphe des opérations tensorielles
Un algorithme d'optimisation automatique

Le graphe des opérations tensorielles

Explication

L'autograd construit dynamiquement le graphe des opérations tensorielles pour calculer automatiquement les gradients. La construction d'une base de données ou d'un algorithme d'optimisation n'est pas directement liée à cette fonctionnalité.

7. Quel est le rôle principal des fonctions d’activation dans un perceptron multicouche (MLP) ?

Rendre le réseau capable d'apprendre des fonctions non linéaires.
Simplifier le calcul des gradients lors de l'entraînement.
Augmenter la vitesse de convergence en réduisant le nombre de paramètres.
Assurer que la sortie du réseau soit toujours comprise entre 0 et 1.

Rendre le réseau capable d'apprendre des fonctions non linéaires.

Explication

Les fonctions d’activation permettent au MLP de modéliser des relations non linéaires, augmentant ainsi sa capacité d'apprentissage. Une activation linéaire ne permettrait pas cette expressivité.

8. Quand le théorème d’approximation universelle a-t-il été initialement formulé pour les réseaux à une couche cachée ?

Au début des années 1990, lors des travaux de Leshno et al.
En 2017, dans la publication de Hornik.
Au milieu des années 2000, avec la montée en puissance des réseaux profonds.
Dans les années 1980, avec la formalisation par Cybenko.

Dans les années 1980, avec la formalisation par Cybenko.

Explication

Le théorème d’approximation universelle a été initialement formulé dans les années 1980 par George Cybenko. Les travaux de Leshno et al. en 1993 ont ensuite étendu la généralisation aux activations non polynomiales.

9. En quoi la sortie d’un réseau utilisant une activation linéaire diffère-t-elle d’un réseau avec une activation non linéaire comme ReLU ou sigmoïde ?

La sortie d’un réseau linéaire reste une transformation affine de l’entrée, tandis qu’un réseau non linéaire peut modéliser des fonctions complexes.
Un réseau avec activation linéaire ne peut pas apprendre de relations non linéaires, contrairement à un réseau avec ReLU ou sigmoïde.
Les réseaux linéaires ont une capacité d’apprentissage limitée, alors que les réseaux non linéaires peuvent approximer toute fonction continue.
Les réseaux avec activation linéaire sont plus rapides à entraîner que ceux avec activation non linéaire.

La sortie d’un réseau linéaire reste une transformation affine de l’entrée, tandis qu’un réseau non linéaire peut modéliser des fonctions complexes.

Explication

Un réseau avec une activation linéaire produit une sortie qui est une transformation affine de l’entrée, ce qui limite sa capacité à modéliser des relations complexes. En revanche, une activation non linéaire permet au réseau d'apprendre des fonctions plus complexes et non linéaires.

10. Qui est crédité de la formulation du concept d’activation softmax dans le contexte de la classification multi-classes ?

Cédric Villani
Geoffrey Hinton
John N. Tsitsiklis
Yoshua Bengio

Geoffrey Hinton

Explication

Yoshua Bengio, ainsi que d’autres chercheurs, ont contribué à populariser la fonction softmax pour la classification multi-classes. Geoffrey Hinton a également travaillé sur des modèles de réseaux neuronaux, mais la formulation spécifique du softmax est attribuée à des travaux de Bengio et ses collègues.

11. Quelles sont les conséquences de l'augmentation de la profondeur d'un réseau neuronal sur la propagation des gradients lors de l'apprentissage ?

Les gradients oscillent de manière imprévisible, rendant l'entraînement difficile.
Les gradients deviennent très petits, ce qui peut ralentir ou bloquer l'apprentissage.
Les gradients restent constants, assurant une convergence stable.
Les gradients tendent à s'amplifier, ce qui peut causer des instabilités dans l'entraînement.

Les gradients deviennent très petits, ce qui peut ralentir ou bloquer l'apprentissage.

Explication

L'augmentation de la profondeur d'un réseau peut entraîner une disparition des gradients, car la règle de la chaîne multiplie plusieurs dérivées bornées, ce qui réduit exponentiellement la magnitude du gradient. Une conséquence courante est le ralentissement ou l'arrêt de l'apprentissage.

Révisez avec les flashcards

Mémorisez les réponses avec 11 flashcards sur MLP, gradients et fonctions de perte.

Qu'est-ce qu'Autograd selon Paszke et al., 2017 ?

Autograd construit dynamiquement le graphe des opérations tensorielles pour calculer automatiquement les gradients.

Que fait Tensor.backward() dans PyTorch ?

Il calcule les gradients et les accumule dans le champ grad des tenseurs feuilles.

Qu'est-ce qu'un perceptron multicouche ?

Une cascade de transformations affines suivies de fonctions d’activation.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur MLP, gradients et fonctions de perte.

Voir la fiche →

Cours similaires

Crée tes propres QCM

Importe ton cours et l'IA génère des QCM avec corrections en 30 secondes.

Générateur de QCM