Motivation des problèmes, algèbre linéaire et visualisation

$$\gdef \sam #1 {\mathrm{softargmax}(#1)}$$ $$\gdef \vect #1 {\boldsymbol{#1}} $$ $$\gdef \matr #1 {\boldsymbol{#1}} $$ $$\gdef \E {\mathbb{E}} $$ $$\gdef \V {\mathbb{V}} $$ $$\gdef \R {\mathbb{R}} $$ $$\gdef \N {\mathbb{N}} $$ $$\gdef \relu #1 {\texttt{ReLU}(#1)} $$ $$\gdef \D {\,\mathrm{d}} $$ $$\gdef \deriv #1 #2 {\frac{\D #1}{\D #2}}$$ $$\gdef \pd #1 #2 {\frac{\partial #1}{\partial #2}}$$ $$\gdef \set #1 {\left\lbrace #1 \right\rbrace} $$ % My colours $$\gdef \aqua #1 {\textcolor{8dd3c7}{#1}} $$ $$\gdef \yellow #1 {\textcolor{ffffb3}{#1}} $$ $$\gdef \lavender #1 {\textcolor{bebada}{#1}} $$ $$\gdef \red #1 {\textcolor{fb8072}{#1}} $$ $$\gdef \blue #1 {\textcolor{80b1d3}{#1}} $$ $$\gdef \orange #1 {\textcolor{fdb462}{#1}} $$ $$\gdef \green #1 {\textcolor{b3de69}{#1}} $$ $$\gdef \pink #1 {\textcolor{fccde5}{#1}} $$ $$\gdef \vgrey #1 {\textcolor{d9d9d9}{#1}} $$ $$\gdef \violet #1 {\textcolor{bc80bd}{#1}} $$ $$\gdef \unka #1 {\textcolor{ccebc5}{#1}} $$ $$\gdef \unkb #1 {\textcolor{ffed6f}{#1}} $$ % Vectors $$\gdef \vx {\pink{\vect{x }}} $$ $$\gdef \vy {\blue{\vect{y }}} $$ $$\gdef \vb {\vect{b}} $$ $$\gdef \vz {\orange{\vect{z }}} $$ $$\gdef \vtheta {\vect{\theta }} $$ $$\gdef \vh {\green{\vect{h }}} $$ $$\gdef \vq {\aqua{\vect{q }}} $$ $$\gdef \vk {\yellow{\vect{k }}} $$ $$\gdef \vv {\green{\vect{v }}} $$ $$\gdef \vytilde {\violet{\tilde{\vect{y}}}} $$ $$\gdef \vyhat {\red{\hat{\vect{y}}}} $$ $$\gdef \vycheck {\blue{\check{\vect{y}}}} $$ $$\gdef \vzcheck {\blue{\check{\vect{z}}}} $$ $$\gdef \vztilde {\green{\tilde{\vect{z}}}} $$ $$\gdef \vmu {\green{\vect{\mu}}} $$ $$\gdef \vu {\orange{\vect{u}}} $$ % Matrices $$\gdef \mW {\matr{W}} $$ $$\gdef \mA {\matr{A}} $$ $$\gdef \mX {\pink{\matr{X}}} $$ $$\gdef \mY {\blue{\matr{Y}}} $$ $$\gdef \mQ {\aqua{\matr{Q }}} $$ $$\gdef \mK {\yellow{\matr{K }}} $$ $$\gdef \mV {\lavender{\matr{V }}} $$ $$\gdef \mH {\green{\matr{H }}} $$ % Coloured math $$\gdef \cx {\pink{x}} $$ $$\gdef \ctheta {\orange{\theta}} $$ $$\gdef \cz {\orange{z}} $$ $$\gdef \Enc {\lavender{\text{Enc}}} $$ $$\gdef \Dec {\aqua{\text{Dec}}}$$
🎙️ Alfredo Canziani

Ressources

Nous vous invitons à suivre Alfredo Canziani sur Twitter @alfcnz. Vous trouverez sur son compte des vidéos et des manuels contenant des détails pertinents sur l’algèbre linéaire et la décomposition en valeurs singulières (SVD). Ce contenu est trouvable en effectuant une recherche (en anglais) sur le Twitter d’Alfredo, en tapant par exemple linear algebra (from:alfcnz) dans la barre de recherche.

Réseaux neuronaux : rotation et écrasement

Un réseau de neurones traditionnel est une collection alternée de deux blocs : les blocs linéaires et les blocs non linéaires. Voici le schéma fonctionnel d’un réseau de neurones traditionnel.

Figure 1 : Schéma d'un réseau de neurones traditionnel


Les blocs linéaires (rotations pour simplifier) sont donnés par :

\[\vect{s}_{k+1} = \mW_k z_k\]

Et les blocs non linéaires (fonctions d’écrasement pour une compréhension intuitive) sont donnés par :

\[\vect{z}_k = h(\vect{s}_k)\]

Dans le schéma et les équations ci-dessus, \(\vx \in \mathbb{R}^n\) représente le vecteur d’entrée. \(\mW_k \in \mathbb{R}^{n_{k} \times n_{k-1}}\) représente la matrice d’une transformation affine correspondant au \(k^{\text{ème}}\) bloc et est décrite plus en détail ci-dessous. La fonction $h$ est appelée fonction d’activation et cette fonction forme le bloc non linéaire du réseau neuronal. Sigmoïde, ReLU et tanh sont quelques-unes des fonctions d’activation les plus courantes et nous les examinerons dans les parties suivantes de cette section. Après des applications alternées des blocs linéaire et non linéaire, le réseau ci-dessus produit un vecteur de sortie \(\vect{s}_k \in \mathbb{R}^{n_{k-1}}\).

Examinons d’abord le bloc linéaire pour comprendre les transformations affines. Comme exemple considérons la classification d’images. Supposons que nous prenions une photo avec un appareil photo de $1$ mégapixel. Cette image aura environ $1 000$ pixels verticalement et $1 000$ pixels horizontalement, et chaque pixel aura trois dimensions de couleur pour le rouge, le vert et le bleu (RVB). Chaque image peut donc être considérée comme un point dans un espace à $3$ millions de dimensions. Avec une telle dimensionnalité, de nombreuses images intéressantes que nous pourrions vouloir classer, comme un chien vs un chat, se trouveront essentiellement dans la même région de l’espace.

Afin de séparer efficacement ces images, nous envisageons des moyens de transformer les données afin de déplacer les points. Rappelons que dans l’espace bidimensionnel, une transformation linéaire équivaut à une multiplication de matrice. Par exemple, les transformations suivantes peuvent être obtenues en changeant les caractéristiques de la matrice :

  • Rotation : lorsque la matrice est orthonormée.
  • Mise à l’échelle (« scalabilité ») : lorsque la matrice est diagonale.
  • Réflexion : lorsque le déterminant est négatif.
  • Shearing.
  • Translation.

A noter que la translation seule n’est pas linéaire puisque $0$ ne sera pas toujours mis en correspondance avec 0, mais c’est une transformation affine. Pour revenir à notre exemple d’image, nous pouvons transformer les points de données en les translatant de manière à ce qu’ils soient regroupés autour de 0 et en les mettant à l’échelle à l’aide d’une matrice diagonale de manière à effectuer un « zoom avant » sur cette région. Enfin, nous pouvons effectuer une classification en trouvant des lignes dans l’espace qui séparent les différents points dans leurs classes respectives. En d’autres termes, l’idée est d’utiliser des transformations linéaires et non linéaires pour représenter les points dans un espace tel qu’ils soient linéairement séparables. Cette idée sera rendue plus concrète dans les sections suivantes.

Dans la suite, nous visualisons comment un réseau neuronal sépare des points et quelques transformations linéaires et non linéaires. Ce contenu est essentiellement le même que celui de l’année dernière, ainsi nous vous invitons à vous rendre ici pour le consulter.


📝 Rajashekar Vasantha
Loïck Bourdois
04 Feb 2021