¿Por qué funcionan las redes neuronales convolucionales?

22

A menudo escuché a personas decir que por qué las redes neuronales convolucionales todavía se entienden mal. ¿Se sabe por qué las redes neuronales convolucionales siempre terminan aprendiendo características cada vez más sofisticadas a medida que avanzamos en las capas? ¿Qué les causó crear una pila de características y esto también sería cierto para otros tipos de redes neuronales profundas?

Alabado sea el Señor
fuente
Gran explicación de Jeremy Howard en la segunda mitad de este video: youtube.com/watch?v=ACU-T9L4_lI
Dan
2
Creo que estás malentendido. Absolutamente entendemos bastante bien por qué las convnets funcionan como una clase de algoritmos. Por otro lado, a menudo es muy difícil entender por qué un modelo específico hizo una predicción particular. Es por eso que los llamamos "modelos de caja negra: su proceso de inferencia es opaca para nosotros que no quiere decir que está confundido acerca de por qué son eficaces..
David Marx

Respuestas:

19

De hecho, ¡supongo que la pregunta es un poco amplia! De todas formas.

Comprender las redes de convolución

Lo que se aprende en ConvNetsintenta minimizar la función de costo para clasificar las entradas correctamente en las tareas de clasificación. Todos los cambios de parámetros y filtros aprendidos son para lograr el objetivo mencionado.

Características aprendidas en diferentes capas

Intentan reducir el costo aprendiendo características de bajo nivel, a veces sin sentido, como líneas horizontales y verticales en sus primeras capas y luego apilándolas para crear formas abstractas, que a menudo tienen significado, en sus últimas capas. Para ilustrar esta fig. 1, que se ha utilizado desde aquí , puede considerarse. La entrada es el bus y el ceñidor muestra las activaciones después de pasar la entrada a través de diferentes filtros en la primera capa. Como se puede ver, el marco rojo que es la activación de un filtro, cuyos parámetros se han aprendido, se ha activado para bordes relativamente horizontales. El marco azul se ha activado para bordes relativamente verticales. Es posible queConvNetsaprenda filtros desconocidos que son útiles y nosotros, como los profesionales de la visión por computadora, no hemos descubierto que pueden ser útiles. La mejor parte de estas redes es que intentan encontrar los filtros apropiados por su cuenta y no usan nuestros filtros descubiertos limitados. Aprenden filtros para reducir la cantidad de función de costo. Como se mencionó, estos filtros no son necesariamente conocidos.

** Figura 1. ** * Activaciones de bajo nivel *

En capas más profundas, las características aprendidas en capas anteriores se unen y crean formas que a menudo tienen significado. En este artículo se ha discutido que estas capas pueden tener activaciones que son significativas para nosotros o los conceptos que tienen significado para nosotros, como seres humanos, pueden distribuirse entre otras activaciones. En la Fig. 2 el marco verde muestra las activatinas de un filtro en la quinta capa de unConvNet. Este filtro se preocupa por las caras. Supongamos que el rojo se preocupa por el cabello. Estos tienen significado. Como se puede ver, hay otras activaciones que se han activado en la posición de las caras típicas en la entrada, el marco verde es una de ellas; El marco azul es otro ejemplo de esto. En consecuencia, la abstracción de formas se puede aprender mediante un filtro o numerosos filtros. En otras palabras, cada concepto, como la cara y sus componentes, se puede distribuir entre los filtros. En los casos en que los conceptos se distribuyen entre diferentes capas, si alguien mira cada uno de ellos, pueden ser sofisticados. La información se distribuye entre ellos y para comprender esa información, todos esos filtros y sus activaciones deben considerarse, aunque puedan parecer muy complicados.

** Figura 2. ** * Activaciones de alto nivel *

CNNsno debe considerarse como cajas negras en absoluto. Zeiler y todos en este sorprendente artículo han discutido que el desarrollo de mejores modelos se reduce a prueba y error si no se comprende lo que se hace dentro de estas redes. Este documento intenta visualizar los mapas de características en ConvNets.

Capacidad para manejar diferentes transformaciones para generalizar

ConvNetsuse poolingcapas no solo para reducir el número de parámetros, sino también para tener la capacidad de ser insensible a la posición exacta de cada entidad. Además, el uso de ellos permite que las capas aprendan diferentes características, lo que significa que las primeras capas aprenden características simples de bajo nivel como bordes o arcos, y las capas más profundas aprenden características más complicadas como ojos o cejas. Max PoolingPor ejemplo, intenta investigar si existe una característica especial en una región especial o no. La idea de las poolingcapas es muy útil, pero es capaz de manejar la transición entre otras transformaciones. Aunque los filtros en diferentes capas intentan encontrar diferentes patrones, por ejemplo, una cara girada se aprende usando diferentes capas que una cara habitual,CNNspor sí mismo no tiene ninguna capa para manejar otras transformaciones. Para ilustrar esto, suponga que desea aprender caras simples sin ninguna rotación con una red mínima. En este caso, su modelo puede hacerlo perfectamente. supongamos que se le pide que aprenda todo tipo de caras con rotación arbitraria de caras. En este caso, su modelo tiene que ser mucho más grande que la red aprendida anterior. La razón es que tiene que haber filtros para aprender estas rotaciones en la entrada. Lamentablemente, estas no son todas las transformaciones. Su entrada también puede estar distorsionada también. Estos casos hicieron enojar a Max Jaderberg y a todos . Compusieron este documento para tratar estos problemas a fin de calmar nuestro enojo como suyo.

Las redes neuronales convolucionales funcionan

Finalmente, después de referirse a estos puntos, funcionan porque intentan encontrar patrones en los datos de entrada. Los apilan para crear conceptos abstractos por capas de convolución. Intentan averiguar si los datos de entrada tienen cada uno de estos conceptos o no en capas densas para averiguar a qué clase pertenecen los datos de entrada.

Agrego algunos enlaces que son útiles:

Medios de comunicación
fuente
12

Los ConvNets funcionan porque explotan la localidad de características. Lo hacen con diferentes granularidades, por lo tanto, pueden modelar características de nivel jerárquicamente más alto. Son invariantes de traducción gracias a las unidades de agrupación. No son invariantes a la rotación per se , pero generalmente convergen a filtros que son versiones rotadas de los mismos filtros , por lo tanto, admiten entradas rotadas.

No conozco ninguna otra arquitectura neuronal que se beneficie de la localidad característica en el mismo sentido que ConvNets.

ncasas
fuente
1
Diría que los RNN se benefician de manera similar a los CNN, reutilizando los pesos en series temporales. También se puede considerar que las CNN no son necesariamente invariantes de traducción, sino "invariantes de dimensión" (aunque no estoy seguro de que sea un término correcto o reconocido)
Neil Slater
Gracias por tu respuesta. Corríjame si me equivoco con las siguientes conclusiones: 1. Parece que hemos diseñado implícitamente ConvNets para aprender características de nivel jerárquicamente superiores a través de la agrupación. No es un accidente que las características se vuelvan sofisticadas en las capas. 2. La inclusión de la información del dominio en el diseño de la red neuronal puede marcar una gran diferencia en la eficiencia del aprendizaje. ConvNets y RNN están tratando de hacer precisamente eso.
Alabado sea el señor
Sus declaraciones 1 y 2 me parecen correctas.
ncasas
1
Creo que se supone que las redes de cápsulas aprovechan la localidad característica de manera similar
David Marx
3

Uno nunca debe olvidar los otros componentes en un ConvNet típico. Los filtros de convolución seleccionan las características espaciales invariantes, como bordes y círculos. Estas características se cuantifican en una capa de agrupación que sigue a la capa C. Finalmente, se alimentan (generalmente) de múltiples capas completamente conectadas (fc). Se debe dar crédito a estas capas completamente conectadas que no son más que lo que se encuentra en cualquier MLP ordinario.

horaceT
fuente
3

Las redes neuronales convolucionales funcionan porque es una buena extensión del algoritmo estándar de aprendizaje profundo.

Con recursos y dinero ilimitados, no hay necesidad de convolucional porque el algoritmo estándar también funcionará. Sin embargo, convolucional es más eficiente porque reduce el número de parámetros . La reducción es posible porque aprovecha la localidad característica, exactamente lo que escribe @ncasas.

SmallChess
fuente
Esta debería ser la mejor respuesta
Jie.Zhou
1

¿Se sabe por qué las redes neuronales convolucionales siempre terminan aprendiendo características cada vez más sofisticadas a medida que avanzamos en las capas?

Esto es pura matemática. Una red neuronal, al final del día, es una gran función matemática. Y cuanto más profunda es la red, mayor es la función que representa. Y por más grande, obviamente quiero decir de alta dimensión. Las características aprendidas son más sofisticadas porque son el resultado de funciones más sofisticadas.

¿Qué les causó crear una pila de características?

Curiosamente, las redes neuronales convencionales se inspiraron en nuestra propia biología, en realidad de gatos. Hubel y Wiesel realizaron experimentos en la corteza visual de los gatos, y se dieron cuenta de que la luz era percibida por pilas de campos ópticos. Esto es lo que inspiró la capa convolucional y una arquitectura más profunda.

Valentin Calomme
fuente
0

Basándose en las respuestas ncasas y horaceT , los ConvNets son muy eficientes porque:

  1. Son invariables para las transformaciones geométricas y aprenden características que se vuelven cada vez más complicadas y detalladas, por lo tanto, son poderosos extractores de características jerárquicas gracias a las capas convolucionales.
  2. Combinan las características extraídas y las agregan de forma no lineal para predecir el resultado y, por lo tanto, son clasificadores robustos gracias a las capas completamente conectadas.

Si desea obtener más información sobre las convnets y los diferentes bloques que las construyen, así como sobre las intuiciones subyacentes, aquí hay una publicación que escribí recientemente en mi blog personal que detalla los detalles.

Ahmed Besbes
fuente
3
Tenga en cuenta que si desea promocionar su propio producto / blog, debe divulgar su afiliación en la respuesta , de lo contrario, su respuesta puede ser marcada como spam. Si no está afiliado al sitio, le recomiendo que lo diga para evitar esto. Lea Cómo no ser un spammer
AJ