Vous êtes sur la page 1sur 40

Abonnez-vous à DeepL Pro pour traduire des fichiers plus volumineu

Visitez www.DeepL.com/pro pour en savoir plus.

CHAPITRE 20

Réseaux neuronaux convolutifs


Jonas Teuwena,b, Nikita Moriakova
aCentre médical de l'université Radboud, département de radiologie et de médecine nucléaire, Nimègue, Pays-Bas
bInstitut néerlandais du cancer, Département de radio-oncologie, Amsterdam, Pays-Bas

Contenu
20.1. Introduction 481
20.2. Réseaux neuronaux 482
20.2.1 Fonction de perte 483
20.2.2 Rétropropagation 484
20.3. Réseaux neuronaux convolutifs 487
20.3.1 Convolutions 488
20.3.2 Non-linéarités 490
20.3.3 Mise en commun des couches 491
20.3.4 Couches entièrement connectées 492
20.4. Architectures CNN pour la classification 492
20.5. Méthodologie pratique 495
20.5.1 Normalisation et enrichissement des données 495
20.5.2 Optimiseurs et taux d'apprentissage 496
20.5.3 Initialisation des poids et réseaux pré-entraînés 497
20.5.4 Régularisation 498
20.6. Défis futurs 499
Références 500

20.1. Introduction
Les réseaux neuronaux convolutifs (CNN) - ou convnets, en abrégé - ont obtenu ces
dernières années des résultats qui étaient auparavant considérés comme relevant
purement du domaine humain. Dans ce chapitre, nous présentons les réseaux
neuronaux convolutifs, en commençant par les réseaux neuronaux classiques et la
manière dont ces méthodes sont entraînées. Après avoir présenté la convolution,
nous introduisons les CNN. Ils sont très similaires aux réseaux neuronaux classiques
car ils sont également constitués de neurones dont les poids peuvent être appris.
Mais, contrairement aux MLP, les CNN partent de l'hypothèse explicite que les
entrées ont une structure spécifique comme les images. Cela permet d'encoder cette
propriété dans l'architecture en partageant les poids pour chaque emplacement de
l'image et en faisant en sorte que les neurones ne réagissent que localement.

Manuel d'informatique médicale et d'intervention assistée par ordinateur Copyright © 2020 Elsevier Inc.
https://doi.org/10.1016/B978-0-12-816176-0.00025-9 Tous droits réservés. 481
482 Manuel d'informatique médicale et d'intervention assistée par ordinateur

Figure 20.1 Version schématique du neurone.

20.2. Réseaux neuronaux


Pour comprendre les réseaux neuronaux convolutifs, nous devons faire un pas en
arrière et commencer par examiner les réseaux neuronaux ordinaires. La plupart des
concepts peuvent être facilement expliqués à l'aide de ces réseaux plus simples. Le
développement initial de ces réseaux trouve son origine dans les travaux de Frank
Rosenblatt sur les perceptrons et commence par la définition d'un neurone.
Mathématiquement, un neurone est une non-linéarité appliquée à une fonction
affine. L'entrée
Les caractéristiques x = (x1 , x 2 ,..., xn ) passent par une fonction affine composée
avec une non linéarité ϕ :
ϕ³Σ '
T(x) = W xii + b = ϕ(W - x + b) (20.1)
i

avec des poids W et un biais b donnés. Cette fonction est représentée schématiquement à la figure
20.1. Une non-linéarité typique, ou fonction d'activation, est la sigmoïde définie par
1
σ ( x) = . (20.2)
1 + e-x
Il existe de nombreux choix pour ces non-linéarités, et différents choix seront donnés
lorsque nous aborderons les CNN dans la section 20.3.2.
Un tel réseau neuronal peut être modélisé comme une collection de neurones
connectés dans un graphe acyclique. En d'autres termes, les sorties de certains
neurones deviennent des entrées pour d'autres neurones, et les cycles dans
lesquels la sortie d'un neurone renvoie à une entrée intermédiaire antérieure sont
interdits. Ces neurones sont généralement organisés en couches de neurones. Un
tel réseau se compose d'une couche d'entrée, d'une ou plusieurs couches cachées
et d'une couche de sortie. Contrairement aux couches cachées, la couche de sortie
Réseaux neuronaux convolutifs 483

n'a généralement pas de


484 Manuel d'informatique médicale et d'intervention assistée par ordinateur

Figure 20.2 Réseau neuronal à trois couches avec trois entrées, deux couches cachées de
respectivement 5 et 3 n e u r o n e s , et une couche de sortie. Remarquez que dans les deux cas, il
existe des connexions entre les neurones d'une couche à l'autre, mais pas à l'intérieur d'une même
couche.

une fonction d'activation. Ces réseaux sont généralement appelés perceptrons


multilinéaires (MLP) ou, plus rarement, réseaux neuronaux artificiels (ANN). Si nous
voulons être plus explicites sur le nombre de couches, nous pouvons appeler ce
type de réseau un réseau à N couches, où N représente le nombre de couches, à
l'exception de la couche d'entrée. La figure 20.2 en donne un exemple. Pour utiliser
un réseau neuronal à des fins de prédiction, nous devons trouver les valeurs
appropriées pour les paramètres (W , b) et définir une fonction permettant
d'associer la sortie du réseau neuronal à une prédiction ; il peut s'agir, par exemple,
d'une classe (c'est-à-dire, maligne ou bénigne) ou d'une valeur réelle dans le cas d'un
problème de régression. Ces paramètres sont appelés "paramètres entraînables" et leur
nombre sert de mesure pour
la taille (ou la capacité) du réseau neuronal. Dans l'exemple de la figure 20.2, il y a
au total 8 neurones, où les couches cachées ont respectivement 3 - 5 et 5 - 3 poids, et 5
et 3 biais. La couche de sortie a 3 poids et 1 biais. Au total, ce réseau comporte 27
paramètres pouvant être appris à l'adresse . Dans les architectures de réseaux
neuronaux modernes, ces nombres peuvent atteindre des millions.
Comme nous l'avons mentionné, la couche de sortie n'a généralement pas de
fonction d'activation car elle est souvent utilisée pour représenter, par exemple, les
scores des classes par le biais d'une fonction softmax, que nous examinerons plus en
détail ci-dessous, ou une autre cible à valeur réelle dans le cas d'une régression.

20.2.1 Fonction de perte


En fonction de la tâche, les réseaux neuronaux peuvent être formés de manière
supervisée ou non supervisée. Pour les tâches les plus fréquemment rencontrées en
imagerie médicale, nous travaillons typiquement avec des modèles discriminatifs, ce
qui signifie que nous disposons de deux espaces d'objets X ("les entrées") et Y ("les
Réseaux neuronaux convolutifs 485

étiquettes") et que nous souhaitons apprendre un réseau neuronal fθ


486 Manuel d'informatique médicale et d'intervention assistée par ordinateur

avec des paramètres θ , l'hypothèse, qui produit un objet dans Y étant donné un
objet dans X, ou fθ : X → Y . Pour ce faire, nous disposons d'un ensemble i i=1
d'apprentissage de taille m (Xi , y )m où Xi est l'entrée, par exemple une image, et yi
est l'étiquette correspondante. En d'autres termes, yi est la réponse que nous
attendons du modèle gθ avec Xi comme entrée.
De manière plus formelle, nous supposons qu'il existe une distribution de probabilité conjointe
P(x, y)
sur X × Y et que l'ensemble d'apprentissage est constitué de m i i=1 de manière
échantillons (Xi , y )m indépendante
tirée de P(x, y). Sous cette forme, y est une variable aléatoire avec une probabilité
conditionnelle P(y | x). Pour formuler le problème de formation, nous supposons qu'il
existe une fonction de perte L à valeur réelle non négative qui peut mesurer la
distance entre la prédiction de l'hypothèse ypred et la valeur réelle y. Le risque associé à
l'hypothèse gθ est défini comme l'espérance
de la fonction de perte

R(gθ ) = E(X,y)∼P(x,y) [L(gθ (X), y)]. (20.3)

Le but de l'apprentissage est de trouver des paramètres θ tels que R soit minimal,
c'est-à-dire que nous voulons trouver θ∗ tel que θ∗ = arg minθ �Rm R(gθ ), où m est le
nombre de paramètres du réseau neuronal.
En général, le risque R(gθ ) ne peut pas être calculé car la distribution P(x, y) est
inconnue. Dans ce cas, nous remplaçons l'espérance par la moyenne sur l'ensemble
d'apprentissage pour obtenir le risque empirique comme approximation de
l'espérance :

m
Remp (g ) = L(g (Xi ), y ). (20.4)
θ θ i
m
i=1

Le processus de minimisation du risque empirique est appelé minimisation du risque empirique.

20.2.2 Rétropropagation
Presque tous les réseaux neuronaux rencontrés dans la pratique sont presque partout
différentiables par rapport aux paramètres θ et sont optimisés à l'aide d'une
optimisation basée sur le gradient :

θ �Remp (gθ ) =[ ∂ , ,. . . , ∂ ]Remp (gθ ). (20.5)
∂θ1 ∂θ2 ∂θM

La rétropropagation est un algorithme qui nous permet de calculer les gradients et


d'appliquer des schémas d'optimisation basés sur le gradient, tels que la descente
de gradient, qui est expliquée plus en détail dans la section 20.5.2.
La structure d'un réseau neuronal permet un calcul très efficace du gradient par
un processus appelé rétropropagation, qui peut être facilement compris en appliquant la
règle de la chaîne.
Réseaux neuronaux convolutifs 487

Pour un peu plus de détails, considérons un réseau neuronal feedforward, qui


accepte une entrée x qui est propagée dans le réseau pour produire une sortie y. Ce
processus
488 Manuel d'informatique médicale et d'intervention assistée par ordinateur

est l'étape de propagation vers l'avant et se traduit par une perte scalaire Remp . Le calcul
de la dérivée pour un tel réseau est simple, mais l'évaluation numérique d'une telle
expression n'est pas seulement coûteuse en termes de calcul, elle est également
sensible aux erreurs d'arrondi numérique, en particulier pour les réseaux plus
profonds. En utilisant l'algorithme de rétropropagation, nous pouvons évaluer cette
dérivée d'une manière efficace sur le plan du calcul, avec l'avantage supplémentaire
que les calculs peuvent être réutilisés dans les étapes suivantes. Une fois que nous
avons le gradient, nous pouvons appliquer un algorithme tel que la descente
stochastique du gradient (SGD) pour calculer les mises à jour des poids du réseau.
Pour pouvoir comprendre correctement la rétropropagation, nous introduisons le
langage des graphes de calcul. Un graphe de calcul est un graphe dirigé où chaque
nœud contient une opération, et une opération est une fonction d'une ou plusieurs
variables et renvoie soit un nombre, soit plusieurs nombres, soit un tenseur. La règle de
la chaîne peut maintenant être utilisée pour calculer les dérivées des fonctions formées
en composant d'autres fonctions avec des dérivées connues. Les algorithmes de
rétropropagation nous permettent de le faire de manière très efficace.
Avant de poursuivre, rappelons la règle de la chaîne. Pour cela, supposons que f
et g soient des fonctions à valeurs réelles. Supposons en outre que y = g(x) et z = f
(g(x)) = f (y) (c'est-à-dire deux opérations sur le graphe de calcul). La règle de la
chaîne est maintenant donnée par
dzdz dy
= .
dx dy dx

La généralisation aux dimensions supérieures est triviale. Supposons maintenant que x ∈ Rn


et y ∈ Rm ,
g : Rn → Rm , et f : Rm → R. Alors si y = g(x) et z = f (y), on a
∂z Σ ∂z ∂yj
= . (20.6)
∂xi j ∂yj ∂xi

En utilisant la règle de la chaîne (20.6), l'algorithme de rétropropagation


s'explique facilement. Avant de poursuivre, fixons quelques notations. Considérons
un MLP où le jème neurone de la 4ème couche a une sortie pondérée j (c'est-à-dire
avant la fonction d'activation ϕ) z4 et une activation
a4 := ϕ(z4 ). De même, le jème neurone de la couche 4 pondère la sortie du kème neurone
de la couche 4.
j j
le (4 - 1)e par w4 avec
kj le biais correspondant jb4 .
Comme nous avons l'intention de minimiser la fonction de risque empirique Remp par
optimisation du gradient, nous nous intéressons aux dérivées suivantes
∂Remp ∂Remp
4 et .
∂w kj ∂bj4
Ces dérivées peuvent être facilement calculées à l'aide de la règle de la chaîne (20.6) :
Réseaux neuronaux convolutifs 489

∂z4
∂Remp

Remp
k.
4 4 4
∂w kj k
∂z k ∂w kj
490 Manuel d'informatique médicale et d'intervention assistée par ordinateur

En tant que
Σ
z4 := w4 a4−1 + b4 , (20.7)
kkj jk j

la dernière dérivée est égale àj4−1 lorsque j = k et 0 sinon, donc,


∂Remp ∂Remp a4-1
= .j
∂w kj4 ∂z 4k

En utilisant à nouveau la règle de la chaîne, nous pouvons voir que


∂Remp ∂Remp
∂b4 = ∂z4 .
j j

En utilisant ces données, nous pouvons voir comment la règle de rétropropagation fonctionne en
calculant efficacement
ε4 := ∂Remp /∂z4 où nous désignerons ε4 comme l'erreur du jème nœud de la 4ème couche.
j j j
L'algorithme de rétropropagation est un moyen efficace de calculer l'erreur ε4
itérativement en utilisant l'erreur ε4+1 , nous procédons donc en calculant l'erreur de la
dernière couche L, à nouveau en utilisant la règle de la chaîne :
Σ ∂Remp ∂akL
εL = , (20.8)
j ∂aL ∂zL
k k j

et, lorsque k /= L, les termes s'évanouissent et nous obtenons :


∂aL
∂Remp
εL = ∂Remp j = ϕr (z ).L
j ∂aL ∂zL ∂aL j
j j j

Si nous pouvons dériver une règle pour calculer efficacement ε4 à partir de ε4+1 , nous avons
terminé. Cette règle peut
j j
est retrouvée, une fois encore, grâce à la règle de la chaîne :

ε4 ∂Remp Σ ∂Remp ∂zk


4+1
= = ∂z4+1
j ∂z4j k k
∂z4j
4+1
Σ
= ε4+1 ∂zk
k
.
∂z4j
k

En utilisant (20.7), nous pouvons calculer la dernière dérivée comme suit


∂z4+1
k = w4+1 ϕr (z ),4
∂z4 kj j
j
Réseaux neuronaux convolutifs 491

Ainsi, la règle de rétropropagation devient


Σ
ε4 = ε w4+14+1 ϕr (z ).4 (20.9)
j j kj j
k

En résumé, pour calculer les dérivées du risque empirique Remp par rapport aux
poids et aux biais, il suffit de calculer l'erreur ε4 . On peut le faire de manière itérative,
en calculant d'abord l'erreur pour la dernière couche par (20.8), puis en passant à
l'entrée en appliquant (20.9) pour chaque couche consécutivement.

20.3. Réseaux neuronaux convolutifs


Les réseaux neuronaux convolutifs (CNN), ou convnets en abrégé, sont un cas
particulier de réseaux neuronaux feed- forward. Ils sont très similaires aux réseaux
neuronaux présentés ci-dessus dans le sens où ils sont constitués de neurones dont
les poids et les biais peuvent être appris. La différence essentielle réside dans le fait
que l'architecture CNN part de l'hypothèse implicite que les données d'entrée sont de
type image, ce qui nous permet d'encoder certaines propriétés dans l'architecture.
En particulier, les convolutions capturent l'invariance de la traduction (c'est-à-dire que
les filtres sont indépendants de l'emplacement).
Cela rend la fonction directe plus efficace, réduit considérablement le nombre de
paramètres et rend donc le réseau plus facile à optimiser et moins dépendant de la
taille des données.
Contrairement aux réseaux neuronaux classiques, les couches des CNN
comportent des neurones organisés en quelques dimensions : canaux, largeur, hauteur
et nombre de filtres dans le cas le plus simple en 2D. Un réseau neuronal à
convolution se compose, tout comme un MLP, d'une séquence de couches, où
chaque couche transforme les activations ou les sorties de la couche précédente par
le biais d'une autre fonction différentiable. Il existe plusieurs couches de ce type
employées dans les CNN, qui seront expliquées dans les sections suivantes. Toutefois,
les blocs de construction les plus courants que vous rencontrerez dans la plupart des
architectures CNN sont : la couche de convolution, la couche de mise en commun et
les couches entièrement connectées. Essentiellement, ces couches sont des extracteurs
de caractéristiques, des couches de réduction de la dimensionnalité et des couches de
classification, respectivement. Ces couches d'un CNN sont empilées pour former une
couche de convolution complète.
Avant de passer à une vue d'ensemble des différentes couches, nous nous
arrêtons un instant sur la couche de convolution. Essentiellement, une couche de
convolution utilise un noyau de convolution comme filtre pour l'entrée. En général,
ces filtres sont nombreux.
Au cours d'une passe avant, un filtre glisse sur le volume d'entrée et calcule la
carte d'activation du filtre à ce point en calculant le produit ponctuel de chaque
valeur et en les additionnant pour obtenir l'activation au point. Un tel filtre glissant
492 Manuel d'informatique médicale et d'intervention assistée par ordinateur

est naturellement mis en œuvre par une convolution et, comme il s'agit d'un opérateur
linéaire, il peut être écrit sous la forme d'un produit-point pour une mise en œuvre
efficace.
Réseaux neuronaux convolutifs 493

Intuitivement, cela signifie que lors de l'entraînement d'un tel CNN, le réseau
apprendra des filtres qui capturent certains types d'informations visuelles telles qu'un
bord, une orientation et éventuellement, dans une couche supérieure du réseau, des
motifs entiers. Dans chacune de ces couches de convolution, nous avons un ensemble
complet de ces filtres, chacun d'entre eux produisant une carte d'activation distincte.
Ces cartes d'activation sont empilées pour obtenir la carte de sortie ou le volume
d'activation de cette couche.

20.3.1 Convolutions
Mathématiquement, la convolution (x ∗ w)(a) des fonctions x et w est définie dans
toutes les dimen- sions comme suit

(x ∗ w)(a) = x(t)w(a - t) da, (20.10)

où a est dans Rn pour tout n ≥ 1, et l'intégrale est remplacée par sa variante de


dimension supérieure. Pour comprendre l'idée derrière les convolutions, il est
intéressant de prendre comme exemple la fonction gaussienne w(a) = exp(-x2). Si
nous prenions une photo avec un appareil photo et que nous secouions un peu
l'appareil, l'image floue serait l'image réelle x convoluée avec une fonction
gaussienne w.
Dans la terminologie des réseaux neuronaux convolutifs, x est appelé l'entrée, w
est appelé le filtre ou le noyau, et la sortie est souvent appelée activation ou carte de
caractéristiques.
Notez que nous avons modélisé l'entrée et le noyau dans (20.10) comme une
fonction continue. En raison de la nature discrète des capteurs d'images, ce ne sera
pas le cas dans la pratique et il est plus réaliste de supposer que le paramètre t est
discret. Si nous supposons que c'est le cas, nous pouvons définir la convolution
discrète
Σ
(x ∗ w)(a) = x(t)w(t - a), (20.11)
a

où a s'étend sur toutes les valeurs de l'espace et peut être de n'importe quelle
dimension. Dans l'apprentissage profond, x est généralement un tableau
multidimensionnel de données et le noyau w implique des paramètres pouvant être
appris et a généralement un support fini, c'est-à-dire qu'il n'y a qu'un nombre fini de
valeurs a pour lesquelles w(a) est non nul. Cela signifie que nous pouvons mettre en
œuvre (20.11) sous la forme d'une somme finie. La définition de (20.11) est
indépendante de la dimension, mais en imagerie médicale, nous travaillerons
principalement avec des convolutions à 2 ou 3 dimensions :
ΣΣ
(I ∗ K)(i, j) = I(m, n)K(i - m, j - n), (20.12)
m n
494 Manuel d'informatique médicale et d'intervention assistée par ordinateur

ou
ΣΣΣ
(I ∗ K)(i, j, k) = I(m, n, 4)K(i - m, j - n, k - 4). (20.13)
m n 4
Réseaux neuronaux convolutifs 495

Les convolutions (20.10) et (20.11) sont commutatives, ce qui signifie que I ∗ K = K ∗ I,


de sorte que nous pouvons également écrire (20.12) comme suit
ΣΣ
(I ∗ K)(i, j) = I(i - m, j - n)K(m, n). (20.14)
m n

Comme K a un support fini, cette somme a priori infinie devient finie. Certaines
bibliothèques de réseaux neuronaux mettent également en œuvre une opération appelée
corrélation croisée, mais du point de vue de l'apprentissage profond, ces opérations sont
équivalentes, car un ensemble de poids peut être directement traduit dans l'autre.

Les convolutions en tant que prieurs infiniment forts


Une convolution étant une transformation linéaire, elle peut être écrite sous la
forme w - x + b et donc comme une couche entièrement connectée. Cependant,
comme les noyaux sont souvent beaucoup plus petits que l'entrée, seul un petit
nombre d'entrées interagira avec la sortie (ce que l'on appelle la "couche entièrement
connectée").
champ réceptif), et le tenseur de poids w sera très peu dense. En outre, le tenseur de poids
contiendra de nombreux éléments similaires, du fait que le noyau est appliqué à chaque
endroit de l'entrée. Cet effet est appelé partage des poids et, avec la rareté, cela
signifie non seulement que nous devons stocker moins de paramètres, ce qui
améliore à la fois les besoins en mémoire et l'efficacité statistique, mais aussi que nous
plaçons une priorité sur les poids : nous supposons implicitement qu'un filtre, tel
qu'un filtre de bord, peut être pertinent pour chaque partie de l'image et que la
plupart des interactions entre les pixels sont locales. Pour la plupart des images, il
s'agit d'une hypothèse raisonnable, mais elle peut s'effondrer dans le cas d'autres types
de données d'image telles que les sinogrammes de tomodensitométrie ou l'espace k
de l'IRM, où les informations locales dans le domaine de l'imagerie peuvent se
traduire par des informations globales dans l'espace d'acquisition. Parfois, nous
nous référons à cela en disant qu'une convolution est un a priori infiniment fort,
contrairement à des a priori plus faibles tels que la régularisation 4p discutée ci-
dessous.
De nombreuses recherches ont été menées pour adapter les convolutions et
imposer de nouvelles priorités fortes. Par exemple, la convolution de groupe [1] impose
en outre un certain groupe de symétrie pour l'image. Une discussion plus approfondie
de ce sujet dépasse le cadre de ce chapitre.

Équivariance
Outre l'espacement et le partage des poids, les convolutions imposent une autre
priorité aux poids du noyau sous la forme d'une équivariance de translation, ce qui
signifie que si l'on applique une translation à l'image et que l'on applique ensuite les
convolutions, on obtient le même résultat que si l'on applique d'abord la convolution et
que l'on translate ensuite la carte des caractéristiques. Plus précisément, un
496 Manuel d'informatique médicale et d'intervention assistée par ordinateur

opérateur T est dit équivariant par rapport à f si, pour chaque x, nous avons T(f (x))
= f (T(x)). L'équivariance de translation est une
hypothèse raisonnable pour les images, étant donné que les caractéristiques permettant de
détecter un objet dans l'image devraient être les suivantes
ne dépendent que de l'objet lui-même et non de sa localisation précise.
Réseaux neuronaux convolutifs 497

20.3.2 Non-linéarités
Les non-linéarités sont essentielles pour la conception des réseaux neuronaux : sans
elles, un réseau neuronal calculerait une fonction linéaire de son entrée, ce qui est
trop restrictif. Le choix d'une non-linéarité peut avoir un impact important sur la
vitesse d'apprentissage d'un réseau neuronal.
sigmoïde Cette non-linéarité est définie comme suit

1
σ ( x) = , x ∈ R. (20.15)
1 + e-x
Il est facile de montrer que σ (x) ∈ (0, 1) pour tout x ∈ R. De plus, σ est monotone
croissant, lim σ (x) = 1 et lim σ (x) = 0.
x→∞ x→-∞
La non-linéarité sigmoïde convient donc lorsque l'objectif est de produire des
résultats compris dans la plage [0, 1], tels que des probabilités ou des images
normalisées. Une
peut également montrer que lim σr (x) = lim σr (x) = 0. Ce fait implique que la sigmoïde
x→∞ x→-∞
La non-linéarité sigmoïde peut conduire à des gradients qui s'évanouissent :
lorsque l'entrée x de la sigmoïde est loin de zéro, le neurone sature et le
gradient de σ (x) par rapport à x est proche de zéro, ce qui rend les
optimisations successives difficiles. C'est la raison pour laquelle les non-
linéarités sigmoïdes sont rarement utilisées dans les couches intermédiaires
des CNN.
tanh La non-linéarité tanh est définie comme suit
ex - e-x
tanh(x) = ex + e-x , x ∈ R. (20.16)

Il est facile de montrer que tanh(x) ∈ (-1, 1) pour tout x ∈ R. De plus, tanh est mono.
augmentent, lim tanh(x) = 1 et lim tanh(x) = -1. Comme pour la sigmoïde
x→∞ x→-∞
La non-linéarité, tanh, peut conduire à des gradients qui s'évanouissent et est
rarement utilisée dans les couches intermédiaires des CNN.
498 Manuel d'informatique médicale et d'intervention assistée par ordinateur

ReLU Cette non-linéarité est définie comme suit

ReLU(x) = max(0, x), x ∈ R. (20.17)

Il est facile de voir que ReLUr (x) = 1 pour x > 0 et que ReLUr (x) = 0 pour x <
0. La non-linéarité ReLU conduit généralement à une convergence plus rapide
que les non-linéarités sigmoïde ou tanh, et elle fonctionne généralement bien
dans les CNN avec des non-linéarités bien choisies.
La stratégie d'initialisation des poids sen et le taux d'apprentissage. Plusieurs
modifications de la fonction d'activation ReLU, telles que les unités linéaires
exponentielles (ELU) [2], ont été proposées.
softmax La non-linéarité softmax est plus spécialisée que les non-linéarités
générales énumérées ci-dessus. Elle est définie comme suit
exp(xi)
softmax(x)i := , x ∈ Rn ,

n
exp(x )j
=1

et fait correspondre un vecteur x ∈ Rn à un vecteur de probabilité de longueur


n. L'intuition derrière softmax est la suivante : map x '→ exp(x) donne une
bijection préservant l'ordre entre l'ensemble des nombres réels R et
l'ensemble des nombres réels strictement positifs R>0 , de sorte que pour tout
indice i, j, nous avons xi jΣ
< xj si et seulement si exp(xi ) < exp(x ).j
n
Une division ultérieure par exp(xj ) normalise le résultat, donnant la probabilité vec-
=1
tor comme sortie. Cette non-linéarité est utilisée, par exemple, dans les tâches de
classification, après que le système d'information a été mis en place.
couche finale entièrement connectée avec n sorties dans un problème de
classification à n classes. Il convient toutefois de noter que les sorties softmax
ne modélisent pas vraiment l'incertitude de la prédiction dans le cas
d'étiquettes bruyantes (comme les segmentations bruyantes d'organes dans
l'imagerie médicale).

20.3.3 Mise en commun des couches


L'objectif d'une couche de mise en commun est de produire une statistique
récapitulative de son entrée et de réduire les dimensions spatiales de la carte des
caractéristiques (en espérant qu'elle ne perde pas d'informations essentielles). Pour
ce faire, la couche de pooling max rapporte les valeurs maximales dans chaque
voisinage rectangulaire de chaque point (i, j) (ou (i, j, k) pour les données 3D) de
chaque caractéristique d'entrée, tandis que la couche de pooling average rapporte les
valeurs moyennes. La forme la plus courante de maxpooling utilise une largeur de bande
de 2 et une taille de noyau de 2, ce qui correspond à la partition spatiale de la carte
des caractéristiques en une grille régulière de blocs carrés ou cubiques de côté 2 et
à la prise en compte des valeurs maximales ou moyennes sur ces blocs pour chaque
caractéristique d'entrée.
Réseaux neuronaux convolutifs 499

Bien que les opérations de mise en commun soient des éléments constitutifs
courants des CNN lorsque l'objectif est de réduire la dimension spatiale de la carte des
caractéristiques, il convient de noter que l'on peut atteindre un objectif similaire en
utilisant, par exemple, des convolutions 3 × 3 avec un pas de 2 si l'on travaille
avec des données en 2D. Dans ce
500 Manuel d'informatique médicale et d'intervention assistée par ordinateur

Il est également possible de doubler simultanément le nombre de filtres afin de réduire la


perte d'informations tout en agrégeant des caractéristiques de plus haut niveau. Cette
stratégie de sous-échantillonnage est utilisée, par exemple, dans l'architecture
ResNet [3].

20.3.4 Couches entièrement connectées


Une couche entièrement connectée avec n dimensions d'entrée et m dimensions de
sortie est définie comme suit. La sortie de la couche est déterminée par les paramètres
suivants : la matrice de poids
W ∈ Mm,n (R) ayant m lignes et n colonnes, et le vecteur de biais b ∈ Rm . Étant
donné le vecteur d'entrée x ∈ Rn , la sortie d'une couche entièrement connectée FC
avec la fonction d'activation f est définie comme suit

FC(x) := f (Wx + b) ∈ Rm . (20.18)

Dans la formule ci-dessus, Wx est le produit matriciel et la fonction f est appliquée


de manière globale.
Les couches entièrement connectées sont utilisées comme couches finales dans les
problèmes de classification, où quelques couches entièrement connectées (le plus
souvent une ou deux) sont attachées au sommet d'un CNN. Dans ce cas, la sortie du
CNN est aplatie et considérée comme un seul vecteur. Un autre exemple serait celui
de diverses architectures d'autoencodeurs, où des couches à connexion totale sont
souvent attachées au code latent dans les voies d'encodage et de décodage du
réseau. Lorsque l'on travaille avec un réseau neuronal convolutif, il est utile de
comprendre que pour une carte de caractéristiques à n canaux, on peut appliquer
un filtre de convolution avec un noyau de taille 1 et m canaux de sortie, ce qui
équivaudrait à appliquer une même couche entièrement connectée avec m sorties à
chaque point de la carte de caractéristiques.

20.4. Architectures CNN pour la classification


Les réseaux neuronaux convolutifs ont été introduits il y a plus de 20 ans avec le
développement de l'architecture CNN LeNet [4,5]. À l'origine, les applications des
réseaux neuronaux convolutifs étaient limitées à des problèmes relativement
simples tels que la reconnaissance de chiffres manuscrits, mais ces dernières
années, les approches basées sur les réseaux neuronaux convolutifs sont devenues
dominantes dans les tâches de classification d'images, de localisation d'objets et de
segmentation d'images. Cette popularité peut être attribuée à deux facteurs
principaux : la disponibilité des ressources informatiques (principalement des GPU) et
des données, d'une part, et les améliorations apportées aux architectures CNN,
d'autre part. Aujourd'hui, des architectures CNN ont été développées et sont très
performantes dans les tâches de classification d'images, de localisation d'objets et de
segmentation d'images/instances. Nous examinerons ci-dessous quelques
Réseaux neuronaux convolutifs 501

architectures CNN remarquables pour les problèmes de classification d'images.


Un réseau neuronal doit avoir un pouvoir d'expression suffisant, en fonction de la
tâche, pour être performant. Une approche naïve de l'augmentation de la capacité
consiste à augmenter le nombre de filtres dans les couches convolutives et la
profondeur du réseau. Cette approche a été
502 Manuel d'informatique médicale et d'intervention assistée par ordinateur

L'architecture AlexNet [6] a été la première à populariser les CNN dans le domaine de
la vision par ordinateur en remportant le défi ImageNet ILSVRC [7] en 2012. Elle
comportait 5 couches convolutives et uniquement des connexions de type feed-
forward avec un total de 60 millions de paramètres entraînables. Peu de temps
après, elle a été surpassée par
• ZF Net [8] en 2013 ;
• GoogLeNet [9], la solution gagnante de la version 2014 du défi ;
• VGG16/VGG19 [10], qui a obtenu le deuxième meilleur score dans ce défi, mais
qui a montré de meilleures performances avec un seul réseau et qui était
conceptuellement plus simple.
Le VGG19 comporte 19 couches entraînables connectées de manière ascendante,
dont 16 couches sont convolutives et reposent sur des convolutions 3 × 3 avec stride
1 et des activa- tions ReLU. Les couches convolutives sont regroupées en 2 blocs de 2
couches pour les premiers blocs convolutifs et en 3 blocs de 4 couches pour les
derniers blocs convolutifs. Le Maxpooling est
Le nombre de caractéristiques dans les blocs con- volutionnels double après chaque
opération de maxpooling. Une différence importante entre AlexNet et VGG (ainsi
qu'avec les architectures plus modernes) est la manière dont la taille du champ
réceptif efficace est créée : AlexNet a utilisé des filtres 11 × 11 dans sa couche initiale,
tandis qu'AlexNet a utilisé des filtres 11 × 11 dans sa couche initiale.
Le VGG utilise des piles de filtres 3 × 3, et il est facile de montrer que cette méthode est plus
paramétrée.
Il s'agit d'un moyen efficace d'augmenter la taille du champ réceptif. Par rapport à
VGG19, GoogLeNet a beaucoup moins de paramètres entraînables (4M pour 22
couches contre 140M pour 19 couches de VGG19), ce qui est dû à l'introduction de
ce que l'on appelle le module d'initiation, qui est un écart par rapport au modèle
feedforward standard, et qui contribue à améliorer l'efficacité des paramètres.
Cependant, toutes les architectures susmentionnées reposent encore largement
sur un flux d'informations ascendant similaire au LeNet-5 original [4,5], alors que les
avantages de ces architectures découlent principalement de leur profondeur.
L'approfondissement des architectures de type feedforward entraîne un certain
nombre de difficultés, en plus de l'augmentation du nombre de paramètres. Le
premier obstacle est le problème de l'évanouissement/explosion des gradients
[11,23,12]. Ce problème peut être largement résolu par une initialisation normalisée
des poids et des couches de normalisation intermédiaires, telles que la
normalisation par lots [13]. Un autre obstacle est le problème de la dégradation des
performances [3] : à mesure que la profondeur d'un réseau neuronal feedforward
augmente, les précisions de test et d'apprentissage sont saturées et se dégradent par la
suite. Cette dégradation des performances ne s'explique pas par un surajustement et
indique que ces réseaux sont généralement plus difficiles à optimiser. D'autres
Réseaux neuronaux convolutifs 503

architectures de réseaux neuronaux nationaux ont été proposées pour remédier à


ces inconvénients. Une caractéristique commune de ces architectures est
l'utilisation de connexions de saut, qui transmettent les informations directement
des couches précédentes aux couches suivantes sans passer par des couches
convolutives intermédiaires. Cela permet en général d'éviter que l'information ne soit
"éliminée". Cette idée générale a été mise en œuvre de plusieurs manières.
504 Manuel d'informatique médicale et d'intervention assistée par ordinateur

L'architecture ResNet [3], qui a servi de base à la


solution gagnante du concours ILSVRC 2015 [7], traite
les problèmes susmentionnés en introduisant des blocs
résiduels. Supposons que nous considérions un bloc
résiduel avec deux couches convolutives. Dans un tel
bloc, l'entrée originale x passe par la première couche
convolutive (typiquement une convolution 3 × 3), après
quoi la normalisation par lots est ap-
et la non-linéarité ReLU s'ensuit. Le résultat
est introduit dans la couche convolutive suivante, après
quoi une normalisation par lots est effectuée. On
obtient ainsi la sortie F(x), à laquelle x est ajouté
ponctuellement, puis la non-linéarité de ReLU est
appliquée. La sortie du bloc est donc égale à ReLU(F(x) + x). En général, les ResNets sont
La construction d'un nombre variable de blocs résiduels de ce type avec 2 ou 3
couches convolutives dans chaque bloc. En particulier, il est intéressant de noter que,
selon [3], l'utilisation d'une seule couche convolutive dans un bloc résiduel n'a
apporté aucun avantage par rapport à l'architecture feedforward simple sans
connexions résiduelles. Pour la réduction des cartes de caractéristiques, on utilise des
convolutions avec un pas de 2, alors que le nombre de cartes de caractéristiques est
doublé en même temps. Ce choix d'architecture permet de former des réseaux de
plus de 100 couches sans dégradation des performances, comme le montre [3]. Les
architectures basées sur ResNet sont souvent utilisées à ce jour, et plusieurs
extensions ont également été proposées [14]. En outre, ResNet est souvent utilisé
comme extracteur de caractéristiques CNN pour la détection d'objets et la
segmentation d'instances, par exemple dans Mask R-CNN [15].
Un développement plus récent est l'architecture DenseNet [16], qui est construite
à partir d'une collection de blocs denses, avec des "couches de transition" (convolutions
1 × 1 et regroupement de moyennes 2 × 2) pour réduire la taille des cartes de
caractéristiques entre les deux. L'idée principale est que chacun de ces blocs denses
consiste en quelques "couches convolutives" qui, en fonction d'une
DenseNet, sont soit un empilement d'une couche convolutive 3 × 3, d'une couche de
normalisation par lots et d'une non-linéarité ReLU, soit une couche convolutive
initiale 1 × 1 avec normalisation par lots et non-linéarité ReLU afin de réduire le
nombre de données d'entrée.
caractéristiques. Chacune de ces "couches convolutives" fournit ses caractéristiques
de sortie à toutes les couches convolutives successives du bloc, ce qui conduit à un
modèle de connectivité "dense". La sortie d'un bloc dense est la pile de toutes les
cartes de caractéristiques résultantes et des caractéristiques d'entrée, et par
Réseaux neuronaux convolutifs 505

conséquent les blocs denses successifs ont accès à ces caractéristiques et n'ont pas
besoin de les réapprendre. Cette architecture permet d'obtenir des performances
comparables ou supérieures à celles d'une architecture ResNet sur ILSVRC, tout en
utilisant beaucoup moins de paramètres. Pour plus de détails, nous nous référons à
[16].
506 Manuel d'informatique médicale et d'intervention assistée par ordinateur

20.5. Méthodologie pratique


20.5.1 Normalisation et enrichissement des données
Avant d'envoyer les données au réseau neuronal pour la formation, on procède
généralement à un prétraitement. De nombreux débutants ne parviennent pas à
obtenir des résultats raisonnables, non pas à cause des architectures ou des méthodes
ou du manque de régularisation, mais plutôt parce qu'ils n'ont tout simplement pas
normalisé et inspecté visuellement leurs données. Les deux formes les plus
importantes de prétraitement sont la normalisation des données et l'augmentation de
l'ensemble des données. Il existe quelques techniques de normalisation des données
courantes dans le domaine de l'imagerie.
• Soustraction de la moyenne. Lors de la soustraction de la moyenne, la
moyenne de chaque canal est calculée sur l'ensemble des données
d'apprentissage et ces moyennes sont soustraites, par canal, des données
d'apprentissage et de test.
• Mise à l'échelle. La mise à l'échelle consiste à calculer les écarts types par canal
dans l'ensemble des données d'apprentissage et à diviser les données d'entrée
par canal par ces valeurs afin d'obtenir une distribution dont l'écart type est égal
à 1 dans chaque canal. Au lieu de diviser par l'écart type, on peut diviser, par
exemple, par le 95e centile de la valeur absolue d'un canal.
• Méthodes spécialisées. En plus de ces méthodes génériques, il existe
également des méthodes de normalisation spécialisées pour les tâches
d'imagerie médicale, par exemple, dans le cas des radiographies du thorax, il faut
travailler avec des images provenant de différents fournisseurs et, en outre, les
tubes à rayons X peuvent se détériorer. Dans [17], la normalisation locale basée
sur l'énergie a été étudiée pour les images de radiographie thoracique, et il a été
démontré que cette technique de normalisation améliore les performances du
modèle pour les tâches de détection assistée par ordinateur supervisées. Autre
exemple, lorsqu'on travaille avec des lames histo- logiques colorées à
l'hématoxyline et à l'éosine (H&E), on peut observer des variations de couleur et
d'intensité dans les échantillons provenant de différents laboratoires et réalisés
à différents jours de la semaine. Ces variations peuvent potentiellement réduire
l'efficacité de l'analyse quantitative des images. Un algorithme de normalisation
spécialement conçu pour résoudre ce problème a été suggéré dans [18], où il a
également été montré qu'il améliore les performances de quelques tâches de
détection assistée par ordinateur sur ces images de lames. Enfin, dans certains
cas (par exemple, en travaillant directement avec des données brutes de
sinogramme pour la tomodensitométrie ou la tomosynthèse mammaire
numérique [19]), il est raisonnable de prendre la transformation logarithmique
des données d'entrée comme étape supplémentaire de prétraitement.
Les réseaux neuronaux sont connus pour bénéficier de grandes quantités de
données d'entraînement, et il est courant d'élargir artificiellement un ensemble de
données existant en y ajoutant des données dans le cadre d'un processus appelé
Réseaux neuronaux convolutifs 507

"augmentation". Nous distinguons l'augmentation au moment de la formation et


l'augmentation au moment du test, et nous nous concentrons pour l'instant sur la
première (qui est également la plus courante). Dans le cas de l'augmentation en cours
de formation, l'objectif est de fournir à l'algorithme un ensemble de données de
formation plus important. Dans un scénario d'apprentissage supervisé, nous disposons
d'un ensemble de données D constitué de paires (xj , yj ) d'un échantillon
d'apprentissage xj ∈ Rd et de l'étiquette correspondante yj . Étant donné l'ensemble
de données D,
508 Manuel d'informatique médicale et d'intervention assistée par ordinateur

il faut concevoir des transformations T1 , T 2 ,..., Tn : Rd → Rd qui préservent


l'étiquette dans le sens où pour chaque échantillon (xj , yj ) ∈ D et chaque
transformation Ti le vecteur résultant T xij ressemble toujours à un échantillon de D
avec l'étiquette yj . Des transformations multiples peuvent
sont empilés, ce qui permet d'obtenir un plus grand nombre de nouveaux
échantillons. Les nouveaux échantillons ainsi obtenus, auxquels des étiquettes ont été
attribuées de cette manière, sont ajoutés à l'ensemble de données d'apprentissage et
l'optimisation habituelle est effectuée. Dans le cas de l'augmentation du temps de
test, l'objectif est d'améliorer les performances du modèle pendant le temps de test de
la manière suivante. Pour un modèle prédictif f , étant donné un échantillon de test x ∈
Rd , on calcule les prédictions du modèle f (x), f ( T 1 x),..., f (Tn x) pour
différentes transformations d'augmentation et agrège ces prédictions d'une certaine manière
(par exemple, en calculant la moyenne de la sortie softmax de la couche de
classification [6]). En général, le choix de la transformation d'augmentation dépend
de l'ensemble de données, mais il existe quelques stratégies communes pour
l'augmentation des données dans les tâches d'imagerie :
• Retournement. L'image x est inversée dans une ou deux dimensions, ce qui
permet d'obtenir un ou deux échantillons supplémentaires. Le retournement dans
la dimension horizontale est courant, par exemple sur l'ensemble de données
ImageNet [6], tandis que sur les ensembles de données d'imagerie médicale, le
retournement dans les deux dimensions est parfois utilisé.
• Recadrage et mise à l'échelle aléatoires. L'image x de dimensions W × H est
recadrée dans une région aléatoire [x1 , x 2 ]× [y1 , y 2 ]⊆ [0, W ]× [0, H], et le
résultat est interpolé pour obtenir les dimensions originales des pixels si
nécessaire. La taille de la région recadrée doit
soit encore assez grand pour préserver un contexte global suffisant pour l'attribution correcte
des étiquettes.
• Rotation aléatoire. Une image x est tournée d'un angle aléatoire ϕ (souvent
limité à l'ensemble ϕ ∈ [π/2, π, 3π/2]). Cette transformation est utile, par exemple,
en pathologie, où l'invariance de rotation des échantillons est observée ; cependant,
elle n'est pas largement utilisée sur des ensembles de données comme ImageNet.
• Transformée Gamma. Une image x en niveaux de gris est transformée en une
image xγ pour γ > 0, où γ = 1 correspond à une transformation d'identité. Cette
transformation ajuste en fait le contraste d'une image.
• Augmentation des couleurs. Les canaux de couleur individuels de l'image sont
modifiés afin de capturer une certaine invariance de la classification par rapport
à la variation de facteurs tels que l'intensité de l'éclairage ou sa couleur. Cela
peut se faire, par exemple, en ajoutant de petits décalages aléatoires aux valeurs
des canaux individuels ; un autre système basé sur l'ACP est présenté dans [6].

20.5.2 Optimiseurs et taux d'apprentissage


Comme indiqué ci-dessus, l'objectif d'optimisation lors de la formation de réseaux
Réseaux neuronaux convolutifs 509

neuronaux est la minimisation du risque empirique Remp . Pour ce faire, on calcule


tout d'abord le gradient ∇θ Remp du risque sur un mini-ensemble de données de
formation par rapport aux paramètres θ du réseau neuronal à l'aide de la
rétropropagation, puis on actualise les poids θ du réseau neuronal en conséquence.
Cette mise à jour, dans sa forme la plus basique de descente de gradient stochastique, est
donnée par la formule suivante
510 Manuel d'informatique médicale et d'intervention assistée par ordinateur

formule

θ := θ - η - ∇θ Remp ,

où η > 0 est l'hyperparamètre appelé taux d'apprentissage. Une extension courante


de cet algorithme est l'ajout de l'élan, qui devrait en théorie accélérer la
convergence de l'algorithme sur les parties plates de la surface de perte. Dans ce
cas, l'algorithme se souvient de la direction de mise à jour précédente et la combine
avec le gradient nouvellement calculé pour déterminer la nouvelle direction de mise
à jour :

δθ := α - δθ - η - ∇θ Remp
, θ := θ + δθ.

Des variations plus récentes de la descente de gradient stochastique sont des méthodes
adaptatives telles que RMSProp et Adam [20], qui étend RMSProp en ajoutant un
élan pour les mises à jour du gradient. Toutes ces méthodes (SGD, RMSProp, Adam)
sont mises en œuvre dans des cadres d'apprentissage profond tels que Tensorflow
et PyTorch. Adam, en particulier, est un choix populaire une fois qu'un bon taux
d'apprentissage de départ est choisi. Cependant, il convient de noter que certaines
recherches récentes (voir, par exemple, [21]) suggèrent que les méthodes
adaptatives telles qu'Adam et RMSProp peuvent conduire à une moins bonne
généralisation et que SGD correctement réglé avec momentum est une option plus
sûre.
Jusqu'à présent, le choix d'un taux d'apprentissage approprié se fait
essentiellement par essais et erreurs, y compris le taux d'apprentissage pour les
optimiseurs adaptatifs tels qu'Adam. Ce choix dépend fortement de l'architecture
du réseau neuronal, les architectures telles que ResNet et DenseNet, y compris la
normalisation par lots, étant connues pour fonctionner correctement avec des taux
d'apprentissage relativement élevés de l'ordre de 10-1, et de la taille du lot, des lots
plus importants permettant un taux d'apprentissage plus élevé et une convergence
plus rapide. En général, il est judicieux de choisir une taille de lot aussi grande que
possible compte tenu de l'architecture du réseau et de la taille de l'image, puis de
choisir le taux d'apprentissage le plus élevé possible qui permette un apprentissage
stable. Si l'erreur continue d'osciller (au lieu de diminuer régulièrement), il est
conseillé de réduire le taux d'apprentissage initial . En outre, il est courant d'utiliser
un calendrier de taux d'apprentissage, c'est-à-dire de modifier le taux
d'apprentissage pendant la formation en fonction du nombre actuel d'époques
et/ou de l'erreur de validation. Par exemple, on peut réduire le taux d'apprentissage
d'un facteur 10 deux fois lorsque le nombre d'époques dépasse 50 % et 75 % du
budget total d'époques ; ou on peut choisir de réduire le taux d'apprentissage lorsque
l'erreur moyenne sur l'ensemble de données de validation cesse de diminuer au cours
du processus de formation.
Réseaux neuronaux convolutifs 511

20.5.3 Initialisation des poids et réseaux préformés


Il est facile de voir que si deux neurones (ou filtres convolutifs) situés au même
endroit d'un graphe de calcul ont exactement le même biais et les mêmes poids, alors
ils seront toujours
512 Manuel d'informatique médicale et d'intervention assistée par ordinateur

Les réseaux peuvent obtenir exactement les mêmes gradients et ne pourront donc
jamais apprendre des caractéristiques distinctes, ce qui entraînerait la perte d'une
partie du pouvoir expressif du réseau. Le lien entre l'initialisation aléatoire et le
pouvoir expressif du réseau a été explicitement examiné dans [22].
Pour " briser la symétrie " lors du démarrage à froid de la formation du réseau
neuronal, il est courant d'initialiser les poids de manière aléatoire avec une
moyenne et une variance nulles en fonction de la " taille d'entrée " du neurone
[23,24], tandis que les biais sont toujours initialisés par des zéros. La stratégie
d'initialisation [24], qui est plus récente et a été particulièrement conçue pour les
,
activations ReLU, suggère d'initialiser les poids par une gaussienne à moyenne nulle.
dont l'écart-type est égal à2 , où n est déterminéncomme suit :
• Lors de l'initialisation d'une couche entièrement connectée, n est égal au
nombre de caractéristiques d'entrée d'une couche ;
• Lors de l'initialisation, par exemple, d'une couche convolutive bidimensionnelle de dimension
k×k
avec m cartes de caractéristiques d'entrée, n est égal au produit k2 - m.
La plupart des stratégies d'initialisation pratiques, telles que l'initialisation He, sont déjà mises en
œuvre.
dans des cadres d'apprentissage profond tels que PyTorch et Tensorflow.
Une deuxième option consiste à utiliser un réseau convolutionnel pré-entraîné, à
empiler des couches entièrement connectées avec des poids initialisés de manière
aléatoire pour une tâche de classification particulière, puis à affiner le réseau résultant
sur un ensemble de données particulier. Cette stratégie est motivée par l'heuristique
selon laquelle l'ensemble de données ImageNet est assez générique, de sorte que les
caractéristiques convolutives apprises sur ImageNet devraient être utiles pour d'autres
ensembles de données d'imagerie également. Les réseaux pré-entraînés tels que les
variantes VGG, ResNet et DenseNet sont faciles à trouver en ligne. Lors de
l'ajustement d'un CNN pré-entraîné pour une tâche de classification particulière, il
est souvent judicieux de choisir un taux d'apprentissage plus faible pour les mises à
jour des couches d'extraction de caractéristiques convolutives et un taux
d'apprentissage plus élevé pour les couches de classification finales.

20.5.4 Régularisation
La régularisation, d'une manière générale, est un large éventail de techniques de ML
visant à réduire l'ajustement excessif des modèles tout en maintenant le pouvoir
expressif théorique.
• L1 /L2 régularisation. Ces méthodes de régularisation sont parmi les plus
connues et trouvent leur origine dans la théorie classique de l'apprentissage
automatique en relation avec les estimations du maximum a posteriori (MAP)
pour les antécédents laplaciens et gaussiens, respectivement [25]. Supposons
maintenant que nous disposons d'un réseau neuronal avec des pri-L2
θ et la fonction de perte L(θ ). Dans le cas de la régularisation , le termeλ 2 -� θ2 est le
suivant
2 2
ajouté à la fonction de perte ; dans le cas de la régularisation L1, le terme λ1 -�
Réseaux neuronaux convolutifs 513

θ1 est ajouté à la place ; λ1 , λ2 sont des hyperparamètres. Intuitivement parlant, la


régularisation L2 encourage la régularisation...
La régularisation L1/L2 incite le réseau à utiliser un peu toutes ses entrées
plutôt que beaucoup certaines d'entre elles, tandis que la régularisation L1
encourage le réseau à apprendre des vecteurs de poids épars (qui peuvent être
utilisés, par exemple, pour des tâches de sélection de caractéristiques). En
outre, la régularisation L1/L2 est souvent déjà mise en œuvre dans les cadres
d'apprentissage profond et est facile à utiliser (par exemple, en
514 Manuel d'informatique médicale et d'intervention assistée par ordinateur

PyTorch La régularisation L2 est ajoutée en passant un paramètre non nul λ2 à un


opti- miseur), mais il convient de noter qu'il existe des méthodes de régularisation
spécialement conçues pour les réseaux neuronaux qui peuvent être plus
efficaces.
• Contraintes de norme maximale. Une autre forme de régularisation consiste à
imposer une limite supérieure absolue θ2 ≤ c à la norme du poids. En pratique,
cela correspond à la mise à jour des paramètres comme d'habitude, puis à la
mise à l'échelle du θ résultant dans la boule {x :� x2 ≤ c} de rayon c. En
conséquence, cette forme de régularisation empêche les poids d'exploser.
• Dropout. Introduit dans [26], le dropout est une méthode de régularisation très
puissante et très simple pour les réseaux neuronaux. Pendant l'apprentissage,
l'abandon est mis en œuvre en gardant un neurone actif avec une certaine
probabilité p ∈ (0, 1) (qui est un hyperparamètre qui peut être différent pour
différentes couches) tout en divisant également l'activation de sortie par p, et
en le fixant à zéro dans le cas contraire. Pendant l'inférence, tous les neurones sont
maintenus actifs et aucun scalage n'est appliqué. Très souvent, les probabilités p
sont choisies de manière à ce que les premières couches convolutives restent
intactes avec des probabilités proches ou égales à 1, tandis que la probabilité de
garder un neurone actif diminue pour les couches plus profondes.
L'échelonnement de l'activation pendant le temps de formation est introduit
dans cette procédure afin de maintenir les activations moyennes au même niveau
que pendant le temps d'inférence, tout en économisant les coûts de calcul au
moment de l'inférence. L'élimination est mise en œuvre en tant que couche
dans des cadres tels que PyTorch et Tensorflow et il est facile de l'ajouter à un
modèle. Dropout est inclus dans de nombreuses architectures NN classiques
pour la classification et la segmentation, voir, par exemple, [16] et [27]. Un
développement récent intéressant est le travail [28], dans lequel il a été montré
que l'apprentissage par abandon dans les réseaux neuronaux profonds peut être
considéré comme une forme d'inférence bayésienne approximative.

20.6. Défis futurs


Malgré l'énorme succès des CNN dans le domaine de la vision par ordinateur, en
général, et de l'imagerie médicale, en particulier, ces dernières années,
d'importants défis restent à relever. Tout d'abord, le manque d'interprétabilité des
prédictions est un problème bien connu. Par exemple, dans un problème de
classification d'images, un réseau neuronal peut produire des prédictions précises, mais
les caractéristiques internes du réseau restent une boîte noire et ne révèlent pas
beaucoup d'informations. En imagerie médicale, cependant, nous aimerions savoir
quelles caractéristiques de l'image sont responsables de la prédiction. Des travaux
ont été réalisés dans ce sens, par exemple quelques approches de la visualisation des
cartes de saillance [29]. En outre, nous serions intéressés par des caractéristiques
d'image qui ont une interprétation clinique claire, mais leur extraction d'une manière
Réseaux neuronaux convolutifs 515

non supervisée est difficile.


Deuxièmement, il y a souvent un problème de changement de domaine, qui
apparaît lorsqu'un réseau neuronal est formé sur un ensemble de données d'un
domaine et qu'il est ensuite appliqué à un domaine connexe, mais différent. Voici
quelques exemples
516 Manuel d'informatique médicale et d'intervention assistée par ordinateur

• Nous créons un modèle de détection d'objets dans les scènes urbaines et


l'entraînons sur des scènes générées dans un jeu vidéo, puis nous essayons de
l'appliquer à des scènes de la vie réelle [30] ;
• Nous disposons de plusieurs fournisseurs pour, par exemple, les scanners de
mammographie, qui appliquent une certaine quantité de traitement spécifique
au fournisseur, de sorte que les images résultantes ont un aspect différent [31].
En général, l'élaboration de modèles robustes aux variations des équipements
d'acquisition reste un défi.
Troisièmement, les réseaux neuronaux restent gourmands en données et des
travaux sont en cours sur pour améliorer l'efficacité des paramètres [1].

Références
[1] T.S. Cohen, M. Welling, Group equivariant convolutional networks, preprint, arXiv:1602.07576,
2016.
[2] D.A. Clevert, T. Unterthiner, S. Hochreiter, Fast and accurate deep network learning by
exponential linear units (ELUs), preprint, arXiv:1511.07289, 2015.
[3] K. He, X. Zhang, S. Ren, J. Sun, Deep residual learning for image recognition, in : CVPR, IEEE
Computer Society, 2016, pp. 770-778.
[4] Y. LeCun, B. Boser, J.S. Denker, D. Henderson, R.E. Howard, W. Hubbard, et al, Backpropagation
applied to handwritten zip code recognition, Neural Computation 1 (4) (1989) 541-551, https://
doi.org/10.1162/neco.1989.1.4.541.
[5] Y. LeCun, L. Bottou, Y. Bengio, P. Haffner, Gradient-based learning applied to document
recognition, Proceedings of the IEEE 86 (11) (1998) 2278-2324.
[6] A. Krizhevsky, I. Sutskever, G.E. Hinton, Imagenet classification with deep convolutional neural
networks, in : F. Pereira, C.J.C. Burges, L. Bottou, K.Q. Weinberger (Eds.), Advances in Neu- ral
Information Processing Systems, vol. 25, Curran Associates, Inc, 2012, pp. 1097-1105, http://
papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf.
[7] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, et al., ImageNet large scale visual
recognition challenge, International Journal of Computer Vision 115 (3) (2015) 211-252, https://
doi.org/10.1007/s11263-015-0816-y.
[8] M.D. Zeiler, R. Fergus, Visualizing and understanding convolutional networks, CoRR,
abs/1311. 2901, 2013, URL http://dblp.uni-
trier.de/db/journals/corr/corr1311.html#ZeilerF13.
[9] C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, et al, Going deeper with
convolutions, in : Computer Vision and Pattern, Recognition, CVPR, 2015, preprint,
arXiv:1409.4842.
[10] K. Simonyan, A. Zisserman, Very deep convolutional networks for large-scale image recognition,
CoRR, abs/1409.1556, 2014.
[11] Y. Bengio, P. Simard, P. Frasconi, Learning long-term dependencies with gradient descent is
difficult, IEEE Transactions on Neural Networks 5 (2) (1994) 157-166,
https://doi.org/10.1109/72.279181.
[12] J. Hochreiter, Untersuchungen zu dynamischen neuronalen Netzen, Diploma thesis, Institut für In-
formatik, Lehrstuhl Prof. Brauer, Technische Universität München, 1991.
[13] S. Ioffe, C. Szegedy, Batch normalization : accelerating deep network training by reducing internal
covariate shift, in : Proceedings of the 32Nd International Conference on International Conference
on Machine Learning, ICML'15, vol. 37, JMLR.org, 2015, pp. 448-456, URL http://dl.acm.org/
citation.cfm?id=3045118.3045167.
[14] S. Xie, R.B. Girshick, P. Dollár, Z. Tu, K. He, Aggregated residual transformations for deep
neural networks, in : CVPR, IEEE Computer Society, 2017, pp. 5987-5995.
Réseaux neuronaux convolutifs 517

[15] K. He, G. Gkioxari, P. Dollár, R.B. Girshick, Mask R-CNN, in : IEEE International Conference on
Computer Vision, ICCV 2017,Venise, Italie, 22-29 octobre 2017, 2017, pp. 22-29.
518 Manuel d'informatique médicale et d'intervention assistée par ordinateur

[16] G. Huang, Z. Liu, L. van der Maaten, K.Q. Weinberger, Densely connected convolutional networks,
in : 2017 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2017, Honolulu,
HI, USA, July 21-26, 2017, 2017, pp. 21-26.
[17] R.H.H.M. Philipsen, P. Maduskar, L. Hogeweg, J. Melendez, C.I. Sánchez, B. van Ginneken, Local-
ized energy-based normalization of medical images : application to chest radiography, IEEE
Transac- tions on Medical Imaging 34 (9) (2015) 1965-1975,
https://doi.org/10.1109/TMI.2015.2418031.
[18] B.E. Bejnordi, G. Litjens, N. Timofeeva, I. Otte-Höller, A. Homeyer, N. Karssemeijer, et al, Stain
specific standardization of whole-slide histopathological images, IEEE Transactions on Medical Imag-
ing 35 (2) (2016) 404-415, https://doi.org/10.1109/TMI.2015.2476509.
[19] N. Moriakov, K. Michielsen, J. Adler, R. Mann, I. Sechopoulos, J. Teuwen, Deep learning framework
for digital breast tomosynthesis reconstruction, preprint, arXiv:1808.04640, 2018.
[20] D.P. Kingma, J. Ba, Adam : a method for stochastic optimization, preprint, arXiv:1412.6980, 2014.
[21] A.C. Wilson, R. Roelofs, M. Stern, N. Srebro, B. Recht, The marginal value of adaptive gradient
methods in machine learning, preprint, arXiv:1705.08292.
[22] A. Daniely, R. Frostig, Y. Singer, Toward deeper understanding of neural networks : the power of
ini- tialization and a dual view on expressivity, in : D.D. Lee, M. Sugiyama, U.V. Luxburg, I. Guyon,
R. Garnett (Eds.), Advances in Neural Information Processing Systems, vol. 29, Curran Asso- ciates,
Inc, 2016, pp. 2253-2261, http://papers.nips.cc/paper/6427-toward-deeper-understanding- of-
neural-networks-the-power-of-initialization-and-a-dual-view-on-expressivity.pdf.
[23] X. Glorot, Y. Bengio, Understanding the difficulty of training deep feedforward neural networks,
in : Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics,
AISTATS 2010, Chia Laguna Resort, Sardinia, Italy, May 13-15, 2010, 2010, pp. 249-256, URL
http://www.jmlr.org/proceedings/papers/v9/glorot10a.html.
[24] K. He, X. Zhang, S. Ren, J. Sun, Delving deep into rectifiers : surpassing human-level performance
on ImageNet classification, in : Proceedings of the 2015 IEEE International Conference on
Computer Vision, ICCV'15, IEEE Computer Society, Washington, DC, USA, ISBN 978-1-4673-8391-2,
2015,
pp. 1026-1034.
[25] C.M. Bishop, Pattern Recognition and Machine Learning, Information Science and Statistics,
Springer-Verlag, Berlin, Heidelberg, ISBN 0387310738, 2006.
[26] N. Srivastava, G. Hinton, A. Krizhevsky, I. Sutskever, R. Salakhutdinov, Dropout : a simple way to
pre-vent neural networks from overfitting, Journal of Machine Learning Research 15 (2014) 1929-
1958, URL http://jmlr.org/papers/v15/srivastava14a.html.
[27] S. Jégou, M. Drozdzal, D. Vázquez, A. Romero, Y. Bengio, The hundred layers Tiramisu : fully
convolutional DenseNets for semantic segmentation, CoRR, abs/1611.09326, 2016.
[28] Y. Gal, Z. Ghahramani, Dropout as a Bayesian approximation : representing model uncertainty in
deep learning, preprint, arXiv:1506.02142, 2015.
[29] K. Simonyan, A. Vedaldi, A. Zisserman, Deep inside convolutional networks : visualising image clas-
sification models and saliency maps, in : 2nd International Conference on Learning
Representations, ICLR 2014, Banff, AB, Canada, 14-16 avril 2014, Workshop Track Proceedings,
2014, pp. 14-16, arXiv:1312.6034.
[30] Y. Chen, W. Li, C. Sakaridis, D. Dai, L.V. Gool, Domain adaptive faster R-CNN for object detection
in the wild, CoRR, abs/1803.03243, 2018.
[31] J. van Vugt, E. Marchiori, R. Mann, A. Gubern-Mérida, N. Moriakov, J. Teuwen, Vendor-
independent soft tissue lesion detection using weakly supervised and unsupervised adversarial domain
adaptation, CoRR 2018, abs/1808.04909.

Vous aimerez peut-être aussi