CNN Reading Material (1) FR
CNN Reading Material (1) FR
CNN Reading Material (1) FR
CHAPITRE 20
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
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
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.
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
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 :
1Σ
m
Remp (g ) = L(g (Xi ), y ). (20.4)
θ θ i
m
i=1
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
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
∂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
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
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 :
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.
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 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
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.
É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
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 ,
jΣ
n
exp(x )j
=1
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
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
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
formule
θ := θ - η - ∇θ Remp ,
δθ := α - δθ - η - ∇θ 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
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
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.