Estaba leyendo Yoshua Bengio, el Libro de aprendizaje profundo y dice en la página 224:
Convolucional redes son, simplemente, las redes neuronales que el uso de la convolución en el lugar de la multiplicación de la matriz en al menos uno de sus capas.
sin embargo, yo no estaba 100% seguro de cómo "reemplazar la multiplicación de la matriz por convolución" en un matemáticamente preciso sentido.
Lo que realmente me interesa es la definición de este para los vectores de entrada en 1D (como en $x \in \mathbb{R}^d$), por lo que no tiene entrada como imágenes y tratar de evitar la convolución en 2D.
Así, por ejemplo, en "normal" de las redes neuronales, las operaciones y el feed ward patrón pueden ser expresados concisamente como en Andrew Ng notas:
$$ W^{(l)} a^{(l)} = z^{(l+1)}$$ $$ f(z^{(l+1)}) = a^{(l+1)}$$
donde $z^{(l)}$ es el vector calculado antes de pasar a través de la no-linealidad $f$. La no-linealidad de los actos pero la entrada en el vector $z^{(l)}$ $a^{(l+1)}$ es la salida de activación de unidades ocultos por la capa en cuestión.
Este cálculo es claro para mí, porque la multiplicación de la matriz es claramente definidos para mí, sin embargo, sólo la sustitución de la multiplicación de la matriz por convolución parece claro para mí. es decir,
$$ W^{(l)} * a^{(l)} = z^{(l+1)}$$ $$ f(z^{(l+1)}) = a^{(l+1)}$$
Quiero asegurarme de que entiendo la ecuación anterior matemáticamente precisa.
El primer problema que tengo con sólo reemplazar la multiplicación de la matriz con la convolución es que por lo general, uno se identifica una fila de $W^{(l)}$ con un producto escalar. Así que, evidentemente, sabe cómo toda la $a^{(l)}$ se refiere a los pesos y a la que se asigna a un vector $z^{(l+1)}$ de la dimensión, como se indica por $W^{(l)}$. Sin embargo, cuando uno la reemplaza por circunvoluciones, no es claro para mí que la fila o pesos, que corresponde a las entradas en $a^{(l)}$. Tampoco me queda claro que tiene sentido para representar los pesos como una matriz más en el hecho (voy a poner un ejemplo para explicar ese punto más adelante)
En el caso de que la entrada y las salidas son todos los de 1D, no se acaba de calcular la convolución de acuerdo a su definición y, a continuación, pasar a través de una singularidad?
Por ejemplo, si tenemos la siguiente vector como entrada:
$$x = [1,2,3,4]$$
y tuvimos la siguiente ponderación (tal vez hemos aprendido con backprop):
$$W = [5,6,7] $$
a continuación, la convolución es:
$$ x * W = [5, 16, 34, 52, 45, 28]$$
sería correcto para pasar la no-linealidad a través de eso y tratar el resultado como el de la capa oculta y la representación (suponga que no se acumule por el momento)? es decir, como sigue:
$$ f(x * W) = f([5, 16, 34, 52, 45, 28]) = [f(5), f(16), f(34), f(52), f(45), f(28)])$$
(stanford UDLF tutorial creo que recorta los bordes donde la convolución convovles con 0 por alguna razón, necesitamos recortar?)
¿Es esta la forma que debe trabajar? Al menos para un vector de entrada en 1D? Es el $W$ no un vector más?
Incluso me dibujó una red neuronal de cómo esto se supone para parecer creo: