Fermer

juillet 18, 2022

Matrices dans l’apprentissage automatique – Perficient Blogs

Matrices dans l’apprentissage automatique – Perficient Blogs


Cet article donne une idée de la façon dont les opérations matricielles telles que la multiplication matricielle surviennent dans l’apprentissage automatique.

Avant de commencer, il y a quelques connaissances préalables sur les «couches denses» des réseaux de neurones.

  1. Qu’est-ce qu’une « couche dense » ? Ne vous souciez pas de la façon dont les « couches denses » s’intègrent dans la vue d’ensemble d’un réseau de neurones. Tout ce que nous devons savoir, c’est qu’une couche dense peut être considérée comme un ensemble de « nœuds ».
  2. Eh bien, nous avons posé la question : qu’est-ce qu’un « nœud » ? Un nœud peut être considéré comme une machine, associée à un ensemble de nombres appelé poids, qui est chargé de produire une sortie numérique en réponse à la réception d’un certain nombre d’entrées binaires (c’est-à-dire 0 ou 1). Plus précisément, si un nœud N est associée à n poids w1…, wnpuis quand n nombres binaires X1…, Xn sont donnés à N comme entrée, N calculera la « somme pondérée » suivante en sortie :

Par exemple, si un nœud a des poids 3, 4, 5 et reçoit les entrées binaires 1, 0, 1, alors ce nœud renverra la somme pondérée 3 * 1 + 4 * 0 + 5 * 1 = 8.

C’est ça! Nous avons fini de couvrir les prérequis. Nous savons maintenant ce qu’une couche dense d’un réseau de neurones est chargée d’accomplir : une couche dense contient des nœuds, qui sont associés à des poids ; les nœuds utilisent les poids pour calculer des sommes pondérées lorsqu’ils reçoivent des entrées binaires.

Maintenant, nous voyons ce qui se passe lorsque nous considérons tous les nœuds d’une couche dense produisant leurs sorties en même temps.

Supposer L est une couche dense. Alors L consiste en m nœuds, N1…, Nm pour un nombre entier moù le jeème nœud Nje a n les poids* qui lui sont associés, wi1…, wdans. Lorsque Nje reçoit n entrées binaires (0 ou 1) X1…, Xnil calcule

Étant donné que la somme pondérée ci-dessus est calculée par le jeème nœud, appelons-le F(Nje):

Les nœuds N1…, Nm devra calculer les sommes pondérées F(N1), …, F(Nm):

Ml3

Ce qui précède peut être réécrit en utilisant ce que l’on appelle des vecteurs colonnes :

Ml4

UN vecteur colonne est simplement une liste de nombres écrits dans une colonne. Notez que dans ce qui précède, nous avons utilisé les notions d' »addition de vecteur colonne » et de « mise à l’échelle d’un vecteur colonne par un nombre ».

L’expression ci-dessus peut être exprimée sous la forme d’un produit matrice-vecteur:

Ml5

(Le produit matrice-vecteur Wx de ce qui précède est littéralement défini être l’expression du côté droit de l’équation précédente).

Cette notation de produit matrice-vecteur nous donne un moyen succinct de déterminer ce que chaque nœud d’une couche fait aux entrées X1…, Xn.

Généralisation

L’approche ci-dessus se généralise de la manière suivante. Supposons qu’au lieu de n contributions X1…, XnNous avons p groupes d’entrées, où le jeème groupe a des entrées X1i…, Xdans. De plus, définissez Xje := (X1i…, Xdans) et laissez F(Nj, Xje) désignent le résultat du nœud Nj agissant sur X1i…, Xdans. Ensuite nous avons

Ml6

Cela équivaut à

Ml7

Généralisation supplémentaire

Maintenant, supposons qu’en plus d’avoir plusieurs groupes d’entrées X1…, Xpnous voulons passer ces groupes d’entrées à travers plusieurs couches plusieurs couches L1…, Lje. Si couche Lje a une matrice de poids wjealors le résultat du passage X1…, Xp à travers L1…, Lje est le produit de matrices suivant :

Ml8

  • Vous pouvez objecter et remarquer que le nombre de poids associés à un nœud donné dépend du nœud ; en d’autres termes, ce nœud chaque nœud Nje a nje les poids qui lui sont associés, non n poids. Nous sommes fondés à supposer que nje = n pour tous je car nous pouvons toujours associer des poids supplémentaires de 0 aux nœuds qui n’ont pas déjà les conditions requises n poids qui leur sont associés.






Source link