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?
machine-learning
neural-network
deep-learning
convnet
cnn
Alabado sea el Señor
fuente
fuente
Respuestas:
De hecho, ¡supongo que la pregunta es un poco amplia! De todas formas.
Comprender las redes de convolución
Lo que se aprende en
ConvNets
intenta 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 que
ConvNets
aprenda 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.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 un
ConvNet
. 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.CNNs
no 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 enConvNets
.Capacidad para manejar diferentes transformaciones para generalizar
ConvNets
usepooling
capas 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 Pooling
Por ejemplo, intenta investigar si existe una característica especial en una región especial o no. La idea de laspooling
capas 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,CNNs
por 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:
ConvNets
fuente
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.
fuente
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.
fuente
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.
fuente
¿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.
fuente
Basándose en las respuestas ncasas y horaceT , los ConvNets son muy eficientes porque:
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.
fuente