L'exemple ci-dessous est tiré des conférences de deeplearning.ai montre que le résultat est la somme du produit élément par élément (ou "multiplication par élément". Les nombres rouges représentent les poids dans le filtre:
TOUTEFOIS, la plupart des ressources disent que c'est le produit scalaire qui est utilisé:
"… Nous pouvons ré-exprimer la sortie du neurone comme, où est le terme de biais. En d'autres termes, nous pouvons calculer la sortie par y = f (x * w) où b est le terme de biais. En d'autres termes, nous peut calculer la sortie en effectuant le produit scalaire des vecteurs d'entrée et de poids, en ajoutant le terme de biais pour produire le logit, puis en appliquant la fonction de transformation. "
Buduma, Nikhil; Locascio, Nicholas. Fondements du Deep Learning: conception d'algorithmes d'intelligence artificielle de nouvelle génération (p. 8). O'Reilly Media. Édition Kindle.
"Nous prenons le filtre 5 * 5 * 3 et le faisons glisser sur l'image complète et en cours de route, prenons le produit scalaire entre le filtre et les morceaux de l'image d'entrée. Pour chaque produit scalaire pris, le résultat est un scalaire."
"Chaque neurone reçoit des entrées, effectue un produit scalaire et le suit éventuellement avec une non-linéarité."
http://cs231n.github.io/convolutional-networks/
"Le résultat d'une convolution équivaut désormais à effectuer une grande matrice multipliée np.dot (W_row, X_col), qui évalue le produit scalaire entre chaque filtre et chaque emplacement de champ récepteur."
http://cs231n.github.io/convolutional-networks/
Cependant, lorsque je recherche comment calculer le produit scalaire des matrices , il semble que le produit scalaire ne soit pas la même chose que la somme de la multiplication élément par élément. Quelle opération est réellement utilisée (multiplication élément par élément ou produit scalaire?) Et quelle est la principale différence?
Hadamard product
zone sélectionnée et du noyau de convolution.