• Aucun résultat trouvé

Convolution 1x1 – Couche compl`etement convolutionnelle

Dans le document The DART-Europe E-theses Portal (Page 69-74)

Si r´eduire le nombre de neurones dans les couches convolutionnelles a permis de baisser le nombre de param`etres libres de notre r´eseau, on remarque que la majeure partie de ces param`etres sont pr´esents sur les couches compl`etement connect´ees. C’est le cas de 58 millions sur 61 pour le r´eseau Alexnet-MultiBox. Ce nombre important de param`etres `a ce niveau du r´eseau est caus´e, d’une part, par le fait qu’il soit n´ecessaire d’avoir, comme entr´ee, des caract´eristiques permettant de retranscrire l’image enti`ere et, notamment, la position et la nature de tous les objets s’y trouvant. On utilise donc toutes les caract´eristiques obtenues en sortie de la derni`ere couche

Fig. 5.1 – Illustration des champs r´eceptifs relatifs aux diff´erentes couches de notre r´eseau. Les diff´e-rentes positions des champs r´eceptifs, s´epar´ees par lesstrides, sont illustr´ees en pointill´es.

Fig. 5.2 – D´etail de champs r´eceptifs correspondant aux neurones des diff´erentes couches convolution-nelles (1`ere : rouge, 2`eme : vert, 3`eme : bleu, 4`eme : magenta et 5`eme jaune). On observe que certains objets textuels sont plus larges que les champs r´eceptifs convolutionnels de nos neurones de sortie.

convolutionnelle. Ce nombre important de param`etres est ´egalement caus´e par le fait qu’on ait comme sortie de cette (ou de ces) couche compl`etement connect´ee l’ensemble des objets hypoth`eses pour cette image. Ce nombre d’objets hypoth`eses doit ˆetre sup´erieur au nombre maximal d’objets pouvant ˆetre pr´esents dans la mˆeme image. MultiBox [Erhan et al., 2014] utilise 100 ou 200 objets hypoth`eses pour des tˆaches avec un nombre maximal d’objets `a d´etecter de 56 (cf. Tableau5.1).

Notre tˆache a la particularit´e d’avoir un nombre moyen d’objets par page beaucoup plus ´elev´e ce qui se traduit par un nombre maximal d’objets pouvant ˆetre pr´esents dans une mˆeme page de 567. Augmenter le nombre de sorties du r´eseau en cons´equence entraˆıne une augmentation m´ecanique du nombre de param`etres libres sur la derni`ere couche compl`etement connect´ee ; ce qui est en contradiction avec notre contrainte de travailler avec de petits jeux de donn´ees lors de l’apprentissage.

Dans le but de r´esoudre ce probl`eme, l’une de nos principales contributions a ´et´e de rendre les pr´edictions de notre r´eseau locales et de remplacer cette (ou ces) couche compl`etement connect´ee par une couche localement connect´ee. Seules les caract´eristiques relatives `a une localisation de l’image, dont les champs r´eceptifs sont visibles en jaune, en Figure 5.1, vont ˆetre utilis´ees pour pr´edire la pr´esence d’objets.

Notons que cette couche localement connect´ee est, au final, assimilable `a une nouvelle couche convolutionnelle ayant pour taille de filtres 1×1.

La pr´ediction devient locale, et pour chaque position i ∈ {0, ..., I} , j ∈ {0, ..., J} de notre carte de caract´eristiques en sortie de la derni`ere couche convolutionnelle, on va pr´edire K objets (d´efinis chacun par P = 5 valeurs). Donc le nombre total B d’objets hypoth`eses pr´edits par le syst`eme pour chaque page est ´egal `a I ×J ×K. I, J et K sont d´efinis par la taille de l’image d’entr´ee (598×838) et par les tailles des filtres etstrides du r´eseau d´etaill´es dans le tableau5.2.

Dans la pratique,I = 2,J = 33 etK = 20 donc le r´eseau pr´ediraB = 1320 objets hypoth`eses par image ce qui est nettement sup´erieur au nombre d’objets pouvant ˆetre pr´esents dans une page.

Une cons´equence majeure de ce choix est que les objets peuvent ˆetre plus grands que les champs r´eceptifs associ´es `a nos sorties locales, comme illustr´e en Figure5.2. Cela rend n´ecessaires quelques modifications par rapport aux pr´edictions directes des coordonn´ees d´ecrites dans le chapitre pr´ec´edent et utilis´ees par MultiBox.

On va pr´edire les coordonn´ees du coin en bas `a gauche de nos objets dans le r´ef´erentiel des champs r´eceptifs. La largeur et la hauteur de nos objets seront quant `a eux pr´edits en ´etant normalis´es par rapport `a la largeur de la page.

En se rappelant des B objets Ob pr´edits par MultiBox pour une image Im et d´efinis dans l’´equation 4.1 :

Ob={l0,b, l1,b,l2,b, l3,b, cb} (5.1)

{O1, ...,OB}=F(Im) (5.2)

Et en d´efinissant W la largeur et H la hauteur de la page, et wethles largeur et hauteur des champs r´eceptifs finaux, on va pr´edire les objetsO00i,j,k correspondants avecietj pour la position dans la carte de caract´eristiques etk ∈ {0, ..., K} repr´esentant l’indice de l’objet `a cette position.

O00i,j,k={l0,i,j,k00 , l1,i,j,k00 ,l002,i,j,k, l003,i,j,k, ci,j,ks} (5.3) Avec :

l000,i,j,k = (l0,i,j,k−δx(i))×W/w (5.4)

l1,i,j,k00 = (l2,i,j,k−δy(j))×H/h (5.5)

l002,i,j,k =l1,i,j,k−l0,i,j,k (5.6)

l003,i,j,k =l3,i,j,k−l2,i,j,k (5.7)

O`u lesδx(i)) etδy(j) correspondent `a la position du champs r´eceptif correspondant aux sorties i,j. Soit Sx et Sy les d´ecalages verticaux et horizontaux entre deux champs r´eceptifs successifs (eux mˆemes d´efinis par les strides des couches convolutionnelles).

On a :

δx(i) = i×Sx/W (5.8)

δy(j) =j ×Sy/H (5.9)

Comme pour YOLO [Redmon et al., 2016] dans l’´equation 4.10, on a aussi la particularit´e de pouvoir revenir aux pr´edictions directes des coordonn´ees des objets avec une transformation lin´eaire G0. La diff´erence ´etant que les pr´edictions sont d´esormais locales.

F00(Im) =G0(F(Im)) (5.10)

La fonction de coˆut C, quant `a elle, reste similaire `a celle d´ecrite pour MultiBox en Section 4.2 et dans les ´equations4.11, 4.13 et 4.14 :

C=α 1

De mˆeme pour l’appariement o`u, comme pour MultiBox en Section4.3.2, on associe les boites r´ef´erences aux boites hypoth`eses de mani`ere globale.

L’algorithme Hongrois [Munkres, 1957] est utilis´e pour minimiser la fonction de coˆut vis `a vis de la matrice d’appariementX :

En s’assurant que (comme le nombre d’objets r´ef´erencesN est plus petit que le nombre d’objets hypoth`eses B) :

Contrairement `a ce qui est pr´esent´e dans MultiBox [Erhan et al., 2014], nous n’avons exp´e-rimentalement pas obtenu d’am´elioration de la vitesse de convergence ou des performances en utilisant les ancres d´etaill´ees en Section 4.3.2. Nous avons donc choisi d’effectuer cet associa-tion entre objets hypoth`eses et objets r´ef´erences en utilisant directement la posiassocia-tion des objets hypoth`eses dans l’´equation5.12.

Par contre, nous avons observ´e qu’utiliser un param`etreαmatch, pond´erant le coˆut des erreurs de position vis `a vis des erreurs de confiance, plus grand lors de l’association des boites r´ef´erences aux boites hypoth`eses que le param`etre αutilis´e dans notre fonction de coˆut, et donc dans notre optimisation `a l’aide de r´etro-propagation des gradients, permettait de faciliter l’entraˆınement et d’obtenir de meilleures performances. Cela est dˆu au fait que cela aide, en particulier au d´ebut de l’entraˆınement, notre syst`eme `a associer des boites hypoth`eses plus diverses. Utiliser unαmatchplus grand a donc un r´esultat similaire `a celui d’utiliser des ancres dans MultiBox [Erhan et al., 2014].

Dernier changement au niveau de l’optimisation, nous avons utilis´e RmsProp [Tieleman and Hinton, 2012] et une taille de minibatches de 8. Avoir des minibatches plus petits (que les 64 utilis´es par MultiBox) est en accord avec la taille de notre base de donn´ees plus restreinte.

Dans le document The DART-Europe E-theses Portal (Page 69-74)