¿Por qué cada filtro aprende diferentes características en una red neuronal convolucional?

Respuesta corta: la invariancia [1] junto con el algoritmo de optimización (como el Descenso de gradiente estocástico [2]) impide que dos filtros aprendan la misma característica.

Respuesta larga: la invariancia significa que la CNN produce exactamente la misma respuesta, independientemente de cómo se cambia, gira, escala o ilumina su entrada. Por ejemplo, el mismo conjunto de filtros CNN bien entrenados encontrará un perro pequeño mirando hacia arriba con poca luz a un perro grande mirando hacia abajo en un lugar bien iluminado.

El algoritmo de optimización funciona de forma iterativa para reducir la pérdida [3] (derivada de la entropía cruzada [4]) utilizando pesos y sesgos de los filtros. En una red neuronal de convolución bien definida, el algoritmo encuentra que la pérdida no disminuye si dos filtros tienen pesos y sesgos similares, por lo que eventualmente cambiará uno de los filtros (pesos y sesgos) para reducir la pérdida y así aprender un nuevo característica.

Notas al pie

[1] Convolución – Wikipedia

[2] Descenso de gradiente estocástico – Wikipedia

[3] Red neuronal convolucional – Wikipedia

[4] Entropía cruzada – Wikipedia

Dos razones:

  • Los pesos de los filtros se inicializan aleatoriamente.
  • Diferentes mapas de características reducen la función de costo

La inicialización aleatoria de los pesos probablemente asegurará que cada filtro converja a mínimos locales diferentes en la función de costo. Es muy poco probable que cada filtro comience a parecerse a otros filtros, ya que eso casi con seguridad daría lugar a un aumento de la función de costo y, por lo tanto, ningún algoritmo de descenso de gradiente se dirigiría en esa dirección.

Algunos realmente aprenden las mismas características

Pero cuando ya hay un filtro para una característica (digamos borde vertical), los parámetros de otros filtros son mejores para filtrar otras características buenas que aún no están allí. Porque si hay un filtro de bordes verticales, la detección de bordes verticales ya ha disminuido la función de pérdida, y los parámetros podrían reducirla aún más al filtrar bordes horizontales, por ejemplo.

Considere una función de pérdida que se ve así:

Imagine que cada peso en la red tiene esta misma función de pérdida.

Luego, si inicializa los pesos al mismo valor (por ejemplo, en el lado izquierdo de la joroba), los pesos probablemente terminarán en el mismo lugar después del descenso del gradiente, es decir, el mínimo local izquierdo. Si los inicializa al azar, y un peso termina en un lado de la joroba y el otro en el otro lado, entonces probablemente terminarán encontrando diferentes óptimas locales. Eso corresponde a descubrir dos características diferentes.

More Interesting

¿Cuál es la diferencia entre máquinas de vectores de soporte y aprendizaje profundo?

¿Por qué mi modelo de regresión produce valores negativos para SalePrice en los datos de prueba?

¿Cuál es una mejor opción para que un graduado de negocios aprenda en términos de su carrera, ciencia de datos o aprendizaje automático?

¿Cuáles son los trabajos más interesantes de CVPR 2016 y por qué?

Mientras aprende el aprendizaje profundo, ¿cuál es la mejor manera de pasar de una etapa de principiante a una etapa avanzada?

¿Alguna de las bibliotecas actuales de aprendizaje profundo permite restricciones de monotonicidad?

¿Las startups prefieren alojar o licenciar software de aprendizaje automático?

¿Qué (empíricamente) necesita más datos de entrenamiento (etiquetados): modelos discriminativos o modelos generativos?

¿Cuáles son las ventajas de usar una representación escasa en el aprendizaje automático, especialmente en los modelos de aprendizaje profundo?

¿Hay algún artículo que justifique la normalización de los valores de los elementos en los sistemas de recomendación?

Cómo entrenar un modelo de Keras con un gran conjunto de datos y luego ajustarlo con un conjunto de datos más pequeño de interés

¿Cuál ha sido la experiencia de la gente con RapidMiner?

¿Es incorrecto si realizo un análisis de opinión en revisiones individuales en lugar de en todas las revisiones a la vez?

¿Cuáles podrían ser las características posibles para detectar fraude en transacciones en cajeros automáticos?

¿Qué piensa Yoshua Bengio sobre los Algoritmos de aprendizaje de Alineación de retroalimentación?