El siguiente ejemplo está tomado de las conferencias de aprendizaje profundo.ai muestra que el resultado es la suma de los producto elemento por elemento (o "multiplicación por elementos"). Los números rojos representan los pesos del filtro:
$(1*1)+(1*0)+(1*1)+(0*0)+(1*1)+(1*0)+(0*1)+(0*0)+(1*1) = 1+0+1+0+1+0+0+0+1 = 4 $
SIN EMBARGO, la mayoría de los recursos dicen que es el producto punto que se utiliza:
" podemos reexpresar la salida de la neurona término. En otras palabras, podemos calcular la salida mediante y=f(x*w) donde b es el término de sesgo. En otras palabras, podemos calcular la salida mediante realizando el producto punto de los vectores de entrada y peso, añadiendo en el término de sesgo para producir el logit y, a continuación, aplicando la fórmula función de transformación".
Buduma, Nikhil; Locascio, Nicholas. Fundamentos del aprendizaje profundo: Designing Next-Generation Machine Intelligence Algorithms (p. 8). O'Reilly Media. Edición Kindle.
"Tomamos el filtro 5*5*3 y lo deslizamos sobre la imagen completa y por el camino tomamos el producto punto entre el filtro a la imagen de entrada. Por cada producto escalar, el resultado es un escalar".
"Cada neurona recibe unas entradas, realiza un producto punto y opcionalmente lo sigue con una no linealidad".
http://cs231n.github.io/convolutional-networks/
"El resultado de una convolución equivale ahora a realizar una gran multiplicación matricial np.dot(W_row, X_col), que evalúa el producto punto entre cada filtro y cada localización del campo receptivo".
http://cs231n.github.io/convolutional-networks/
Sin embargo, cuando investigo cómo calcular el producto punto de matrices parece que el producto punto es pas lo mismo que sumar la multiplicación elemento a elemento. ¿Qué operación se utiliza realmente (la multiplicación elemento por elemento o el producto punto?) y cuál es la diferencia principal?