2018 02 RCP209correction
2018 02 RCP209correction
2018 02 RCP209correction
Vérifiez que vous disposez bien de la totalité des pages du sujet en début d’épreuve et
signalez tout problème de reprographie le cas échéant.
1. Entre les procédures de validation croisée leave one out et k-fold, laquelle est la plus
coûteuse ? Laquelle a le plus fort biais et pourquoi ? (2 points)
Correction : K-fold est moins coûteuse car seulement k N modèles sont appris
et non N. K-fold a aussile plus fort
biais car l’apprentissage se fait à chaque fois sur
N ( k −1) N ( k −1)
k données k < N−1 .
4. SVM Lineaires (2 points). Dans le cas des données non séparables linéairement,
expliquez le rôle de la constante C dans le problème d’optimisation dual.
Correction : C est une variable de pénalisation des points mal classés faisant un
compromis entre la largeur de la marge et les points mal classés. Dans le problème
dual elle définit les conditions d’admissibilité duale C ≥ αi ≥ 0, i = 1, . . . , n. Elle
joue donc le rôle d’une constante de régularisation (la régularisation est d’autant
plus forte que C est proche de 0).
2
un autre espace de dimension plus grande et ensuite appliquer l’algorithme linéaire
sur les données projetées. Par la théorème de Mercer, si K est un noyau défini positif
K : Rd × Rd → R alors K ( x, y) = hφ( x ), φ(y)i ou φ : Rd → H, x → φ( x ) est une
transformation de Rd vers un espace de Hilbert H qu’on n’a pas besoin d’expliciter :
tout algorithme qui utilise seulement des produits scalaires entres les échantillons
de données peut tout de suite s’appliquer dans l’espace H via le produit scalaire
hφ( x ), φ(y)i = K ( x, y).
Correction :
(a) Pas de différence fondamentale dans l’architecture macroscopique / CNN des
années 80 : alternance de couches convolution / pooling puis couches com-
plètement connectées. Simplement des réseaux avec plus de couches et plus
de neurones / filtres par couches (60000 vs 60 M paramètres). Des différences
micro : ReLU, dropout.
(b) En empilant plusieurs convolutions 3x3, on peut modéliser des convolutions
plus larges que 3x3, tout en limitant le nombre de paramètres
(c) Module Inception, on a le loss qui apparaît à différents niveaux de profondeur
du réseau, réseau complètement convolutif.
(d) Connexion résiduelle qui permet de plus facilement modéliser l’identité ⇒ on
peut apprendre des réseaux plus profonds.
7. Transfert (3 points)
On souhaite mettre en place un système de diagnostic médical basé sur des tech-
niques d’apprentissage profond, afin de reconnaître les trois classes suivantes dans
les images : pancréas, estomac, tumeur. On dispose d’une base avec 500 images
scanner étiquetées par classes, dont certaines sont montrées dans la figure 1.
— Est-il possible d’entraîner des réseaux convolutifs modernes (e.g. VGG, ResNet)
« from scratch » sur ces données ? Si oui, décrire la méthodologie. Sinon, justifier.
— Est-il possible d’utiliser des réseaux convolutifs modernes (e.g. VGG, ResNet)
pré-entraînés sur ImageNet sur ces données ? Si oui, décrire la méthodologie.
Sinon, justifier.
3
a) Pancréas b) Estomac c) Tumeur
F IGURE 1 – Base d’images médicales annotée en trois classes : pancréas, estomac, tumeur.
Correction :
— 1pt Non, il n’y a pas de assez de données annotées, on est dans un régime de
sur-apprentissage extrême avec des réseaux ayant ∼ 107 − 108 paramètres.
— 2pts Oui, on peut faire du transfert, ce qui consiste à prendre un réseau pré-
entraîné sur ImageNet, supprimer la couche des classes d’ImageNet et ajouter
une couche correspondant aux 4 classes de la base cible. Dans ce contexte de
transfert, on apprendra uniquement les paramètres de la dernière couche, les
autres seront gelés. On peut également essayer de fine-tuner, mais le risque de
sur-apprentissage est important étant donné le faible nombre d’exemples.
11 −5 1 −2
0
1 3 0 0 5
C=
8 4 15 −10 4
8 6 5 3 7
3 0 −2 9 3
— Si on fait subir une translation à l’image d’entrée, quel va être l’impact sur la
carte C ? Comment s’appelle cette propriété ?
— On considère maintenant la région 3 × 3 encadrée de la carte C centrée au neu-
rone de valeur 15. On effectue un pooling de type max dans cette région. Quel
va être la sortie du pooling pour une version translatée de un pixel de l’image
d’entrée I ?
Correction :
4
— La translation va être répercutée directement sur la carte C ⇒ équivariance (on
peut commuter translation et convolution).
— Le max va être inchangé ∀ translation (t x , ty ) ∈ ±1 px ⇒ invariance.
9. Prédiction structurée (1 point). Quelle est la différence entre les méthodes d’appren-
tissage structuré et les méthodes de classification ? (3-4 lignes max).
Correction : La prédiction structurée permet d’entraîner des modèles à prédire des
sorties discrètes quelconques, beaucoup plus générales que les méthodes de classifi-
cation (limitées à prédire une classe en sortie). En particulier, l’intérêt est de pouvoir
modéliser la corrélation entre les variables de sortie.