Actualización de los pesos de los filtros en una CNN


13

Actualmente estoy tratando de entender la arquitectura de una CNN. Entiendo la convolución, la capa ReLU, la capa de agrupación y la capa totalmente conectada. Sin embargo, todavía estoy confundido acerca de los pesos.

En una red neuronal normal, cada neurona tiene su propio peso. En la capa completamente conectada, cada neurona también tendría su propio peso. Pero lo que no sé es si cada filtro tiene su propio peso. ¿Debo actualizar los pesos en la capa totalmente conectada durante la propagación inversa? ¿O todos los filtros tienen un peso separado que necesito actualizar?

Respuestas:


12

En una red neuronal normal, cada neurona tiene su propio peso.

Esto no es correcto. Cada conexión entre neuronas tiene su propio peso. En una red totalmente conectada, cada neurona se asociará con muchos pesos diferentes. Si hay n0entradas (es decir, n0neuronas en la capa anterior) a una capa con n1neuronas en una red totalmente conectada, esa capa tendrá n0*n1pesos, sin contar ningún término de sesgo.

Debería poder ver esto claramente en este diagrama de una red totalmente conectada desde CS231n . Cada borde que ves representa un peso entrenable diferente:

ingrese la descripción de la imagen aquí

Las capas convolucionales son diferentes porque tienen un número fijo de pesos gobernados por la elección del tamaño del filtro y el número de filtros, pero independientes del tamaño de entrada.

Cada filtro tiene un peso separado en cada posición de su forma. Entonces, si usa dos filtros 3x3x3, tendrá 54 pesos, de nuevo sin contar el sesgo. Esto se ilustra en un segundo diagrama de CS231n :

ingrese la descripción de la imagen aquí

Los pesos del filtro deben actualizarse absolutamente en la propagación hacia atrás, ya que así es como aprenden a reconocer las características de la entrada. Si lee la sección titulada "Visualización de redes neuronales" aquí verá cómo las capas de una CNN aprenden características más y más complejas de la imagen de entrada a medida que se profundiza en la red. Todo esto se aprende ajustando los pesos del filtro a través de la retropropagación.


mmm, el número de pesos en cada capa también depende del número de pasos que toman los filtros ... ¿verdad?
Arnav Das

2

Durante la propagación hacia atrás, tanto las capas densas como las capas de convolución se actualizan, pero las capas de agrupación máxima no tienen ningún peso que actualizar. Las capas densas se actualizan para ayudar a clasificar la red. Las capas de convolución se actualizan para permitir que la red conozca las características en sí. Debido a que no ha hecho la pregunta, simplemente agrego un enlace para usted si desea obtener más información. Hay una muy buena explicación para la propagación de vuelta aquí que puede ser útil para usted.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.