En el aprendizaje profundo , una red neuronal convolucional ( CNN o ConvNet ) es una clase de red neuronal profunda , más comúnmente aplicada para analizar imágenes visuales. [1] También se conocen como redes neuronales artificiales invariantes en el desplazamiento o invariantes en el espacio ( SIANN ), basadas en la arquitectura de peso compartido de los núcleos o filtros de convolución que se deslizan a lo largo de las características de entrada y proporcionan respuestas equivariantes de traducción conocidas como mapas de características. [2] [3] Contraintuitivamente, la mayoría de las redes neuronales convolucionales son solo equivariantes, a diferencia de invariante , a la traducción. [4] Tienen aplicaciones en el reconocimiento de imágenes y de vídeo , sistemas de recomendación , [5] de clasificación de imágenes , segmentación de imágenes , análisis de imágenes médicas , procesamiento del lenguaje natural , [6] interfaces cerebro-ordenador , [7] y financiera de series de tiempo . [8]
Las CNN son versiones regularizadas de perceptrones multicapa . Perceptrones multicapa generalmente significan redes completamente conectados, es decir, cada neurona en una capa está conectada a todas las neuronas en la siguiente capa . La "conectividad total" de estas redes las hace propensas a sobreajustar los datos. Las formas típicas de regularización, o prevenir el sobreajuste, incluyen: penalizar los parámetros durante el entrenamiento (como la disminución del peso) o recortar la conectividad (conexiones omitidas, abandono, etc.) Las CNN adoptan un enfoque diferente hacia la regularización: aprovechan el patrón jerárquico en los datos y ensamblar patrones de complejidad creciente utilizando patrones más pequeños y simples estampados en sus filtros. Por lo tanto, en una escala de conectividad y complejidad, las CNN están en el extremo inferior.
Las redes convolucionales se inspiraron en procesos biológicos [9] [10] [11] [12] en el sentido de que el patrón de conectividad entre neuronas se asemeja a la organización de la corteza visual animal . Las neuronas corticales individuales responden a los estímulos solo en una región restringida del campo visual conocida como campo receptivo . Los campos receptivos de diferentes neuronas se superponen parcialmente de modo que cubren todo el campo visual.
Las CNN utilizan relativamente poco procesamiento previo en comparación con otros algoritmos de clasificación de imágenes . Esto significa que la red aprende a optimizar los filtros (o núcleos) a través del aprendizaje automatizado, mientras que en los algoritmos tradicionales estos filtros se diseñan a mano . Esta independencia del conocimiento previo y la intervención humana en la extracción de características es una gran ventaja.
Definición
El nombre "red neuronal convolucional" indica que la red emplea una operación matemática llamada convolución . Las redes convolucionales son un tipo especializado de redes neuronales que utilizan la convolución en lugar de la multiplicación de matrices general en al menos una de sus capas. [13]
Arquitectura
Una red neuronal convolucional consta de una capa de entrada, capas ocultas y una capa de salida. En cualquier red neuronal de alimentación directa, las capas intermedias se denominan ocultas porque sus entradas y salidas están enmascaradas por la función de activación y la convolución final . En una red neuronal convolucional, las capas ocultas incluyen capas que realizan convoluciones. Normalmente, esto incluye una capa que realiza un producto escalar del núcleo de convolución con la matriz de entrada de la capa. Este producto suele ser el producto interno de Frobenius y su función de activación suele ser ReLU . A medida que el núcleo de convolución se desliza a lo largo de la matriz de entrada para la capa, la operación de convolución genera un mapa de características, que a su vez contribuye a la entrada de la siguiente capa. A esto le siguen otras capas, como las capas de agrupación, las capas completamente conectadas y las capas de normalización.
Capas convolucionales
En una CNN, la entrada es un tensor con una forma: (número de entradas) x (altura de entrada) x (ancho de entrada) x ( canales de entrada ). Después de pasar por una capa convolucional, la imagen se abstrae en un mapa de características, también llamado mapa de activación, con forma: (número de entradas) x (altura del mapa de características) x (ancho del mapa de características) x ( canales de mapas de características ). Una capa convolucional dentro de una CNN generalmente tiene los siguientes atributos:
- Filtros / núcleos convolucionales definidos por un ancho y un alto (hiperparámetros).
- El número de canales de entrada y canales de salida (hiperparámetros). Los canales de entrada de una capa deben ser iguales al número de canales de salida (también llamado profundidad) de su entrada.
- Hiperparámetros adicionales de la operación de convolución, como: relleno, zancada y dilatación.
Las capas convolucionales convolucionan la entrada y pasan su resultado a la siguiente capa. Esto es similar a la respuesta de una neurona en la corteza visual a un estímulo específico. [14] Cada neurona convolucional procesa datos solo para su campo receptivo . Aunque se pueden utilizar redes neuronales feedforward completamente conectadas para aprender características y clasificar datos, esta arquitectura generalmente no es práctica para entradas más grandes, como imágenes de alta resolución. Requeriría una gran cantidad de neuronas, incluso en una arquitectura poco profunda, debido al gran tamaño de entrada de las imágenes, donde cada píxel es una característica de entrada relevante. Por ejemplo, una capa completamente conectada para una imagen (pequeña) de tamaño 100 x 100 tiene 10,000 pesos para cada neurona en la segunda capa. En cambio, la convolución reduce la cantidad de parámetros libres, lo que permite que la red sea más profunda. [15] Por ejemplo, independientemente del tamaño de la imagen, el uso de una región de mosaico de 5 x 5, cada una con los mismos pesos compartidos, requiere solo 25 parámetros que se pueden aprender. El uso de pesos regularizados sobre menos parámetros evita los gradientes que desaparecen y los problemas de gradientes explosivos que se observan durante la propagación hacia atrás en las redes neuronales tradicionales. [16] [17] Además, las redes neuronales convolucionales son ideales para datos con una topología en forma de cuadrícula (como imágenes) ya que las relaciones espaciales entre características separadas se tienen en cuenta durante la convolución y / o agrupación.
Agrupación de capas
Las redes convolucionales pueden incluir capas de agrupación local y / o global junto con capas convolucionales tradicionales. La agrupación de capas reduce las dimensiones de los datos al combinar las salidas de los grupos de neuronas en una capa en una sola neurona en la siguiente. La agrupación local combina grupos pequeños, los tamaños de mosaico como 2 x 2 se utilizan comúnmente. La agrupación global actúa sobre todas las neuronas del mapa de características. [18] [19] Hay dos tipos comunes de agrupación de uso popular: máximo y promedio. La agrupación máxima utiliza el valor máximo de cada grupo local de neuronas en el mapa de características, [20] [21] mientras que la agrupación promedio toma el valor promedio.
Capas completamente conectadas
Las capas completamente conectadas conectan cada neurona en una capa con cada neurona en otra capa . Es lo mismo que una red neuronal de perceptrón multicapa (MLP) tradicional . La matriz aplanada pasa por una capa completamente conectada para clasificar las imágenes.
Campo receptivo
En las redes neuronales, cada neurona recibe información de varias ubicaciones en la capa anterior. En una capa convolucional, cada neurona recibe información de solo un área restringida de la capa anterior llamada campo receptivo de la neurona . Normalmente, el área es un cuadrado (por ejemplo, 5 por 5 neuronas). Mientras que, en una capa completamente conectada, el campo receptivo es toda la capa anterior . Por lo tanto, en cada capa convolucional, cada neurona recibe información de un área más grande en la entrada que las capas anteriores. Esto se debe a que se aplica la convolución una y otra vez, lo que tiene en cuenta el valor de un píxel, así como los píxeles circundantes. Cuando se utilizan capas dilatadas , el número de píxeles en el campo receptivo permanece constante, pero el campo está menos poblado a medida que aumentan sus dimensiones al combinar el efecto de varias capas.
Pesos
Cada neurona en una red neuronal calcula un valor de salida aplicando una función específica a los valores de entrada recibidos del campo receptivo en la capa anterior. La función que se aplica a los valores de entrada está determinada por un vector de pesos y un sesgo (normalmente números reales). El aprendizaje consiste en ajustar iterativamente estos sesgos y ponderaciones.
El vector de pesos y el sesgo se denominan filtros y representan características particulares de la entrada (por ejemplo, una forma particular). Una característica distintiva de las CNN es que muchas neuronas pueden compartir el mismo filtro. Esto reduce la huella de memoria porque se usa un solo sesgo y un solo vector de pesos en todos los campos receptivos que comparten ese filtro, en lugar de que cada campo receptivo tenga su propio sesgo y ponderación vectorial. [22]
Historia
Las CNN a menudo se comparan con la forma en que el cerebro logra el procesamiento de la visión en los organismos vivos [23] . [ cita requerida ]
Campos receptivos en la corteza visual
El trabajo de Hubel y Wiesel en las décadas de 1950 y 1960 mostró que las cortezas visuales de los gatos contienen neuronas que responden individualmente a pequeñas regiones del campo visual . Siempre que los ojos no se muevan, la región del espacio visual dentro de la cual los estímulos visuales afectan la activación de una sola neurona se conoce como su campo receptivo . [24] Las células vecinas tienen campos receptivos similares y superpuestos. [ cita requerida ] El tamaño y la ubicación del campo receptivo varían sistemáticamente a través de la corteza para formar un mapa completo del espacio visual. [ cita requerida ] La corteza en cada hemisferio representa el campo visual contralateral . [ cita requerida ]
Su artículo de 1968 identificó dos tipos básicos de células visuales en el cerebro: [10]
- células simples , cuya salida se maximiza por bordes rectos que tienen orientaciones particulares dentro de su campo receptivo
- células complejas , que tienen campos receptivos más grandes , cuya salida es insensible a la posición exacta de los bordes en el campo.
Hubel y Wiesel también propusieron un modelo en cascada de estos dos tipos de células para su uso en tareas de reconocimiento de patrones. [25] [24]
Neocognitron, origen de la arquitectura CNN
El " neocognitron " [9] fue introducido por Kunihiko Fukushima en 1980. [11] [21] [26] Se inspiró en el trabajo antes mencionado de Hubel y Wiesel. El neocognitrón introdujo los dos tipos básicos de capas en las CNN: capas convolucionales y capas de submuestreo. Una capa convolucional contiene unidades cuyos campos receptivos cubren un parche de la capa anterior. El vector de peso (el conjunto de parámetros adaptativos) de dicha unidad a menudo se denomina filtro. Las unidades pueden compartir filtros. Las capas de submuestreo contienen unidades cuyos campos receptivos cubren parches de capas convolucionales anteriores. Esta unidad normalmente calcula el promedio de las activaciones de las unidades en su parche. Este submuestreo ayuda a clasificar correctamente los objetos en escenas visuales incluso cuando los objetos están desplazados.
En una variante del neocognitrón llamada cresceptron, en lugar de utilizar el promedio espacial de Fukushima, J. Weng et al. introdujo un método llamado max-pooling donde una unidad de submuestreo calcula el máximo de las activaciones de las unidades en su parche. [27] La agrupación máxima se utiliza a menudo en las CNN modernas. [28]
Se han propuesto varios algoritmos de aprendizaje supervisados y no supervisados a lo largo de las décadas para entrenar los pesos de un neocognitrón. [9] Hoy, sin embargo, la arquitectura de CNN generalmente se entrena mediante retropropagación .
El neocognitrón es la primera CNN que requiere que las unidades ubicadas en múltiples posiciones de la red tengan pesos compartidos.
Las redes neuronales convolucionales se presentaron en el Taller de procesamiento de información neuronal en 1987, analizando automáticamente señales que varían en el tiempo al reemplazar la multiplicación aprendida con convolución en el tiempo, y demostradas para el reconocimiento de voz. [29]
Redes neuronales de retardo de tiempo
La red neuronal de retardo de tiempo (TDNN) fue introducida en 1987 por Alex Waibel et al. y fue la primera red convolucional, ya que logró invarianza de cambio. [30] Lo hizo utilizando el peso compartido en combinación con el entrenamiento de retropropagación . [31] Por lo tanto, aunque también utilizó una estructura piramidal como en el neocognitrón, realizó una optimización global de los pesos en lugar de una local. [30]
Las TDNN son redes convolucionales que comparten pesos a lo largo de la dimensión temporal. [32] Permiten que las señales de voz se procesen invariablemente en el tiempo. En 1990, Hampshire y Waibel introdujeron una variante que realiza una convolución bidimensional. [33] Dado que estos TDNN operaban en espectrogramas, el sistema de reconocimiento de fonemas resultante era invariable tanto para los cambios en el tiempo como en la frecuencia. Esta invariancia de traducción inspirada en el procesamiento de imágenes con CNN. [31] El mosaico de salidas de neuronas puede cubrir etapas cronometradas. [34]
Los TDNN ahora logran el mejor rendimiento en el reconocimiento de voz a larga distancia. [35]
Agrupación máxima
En 1990 Yamaguchi et al. introdujo el concepto de agrupación máxima, que es una operación de filtrado fija que calcula y propaga el valor máximo de una región determinada. Lo hicieron combinando TDNN con agrupación máxima para realizar un sistema de reconocimiento de palabras aislado e independiente del hablante. [20] En su sistema usaban varios TDNN por palabra, uno para cada sílaba . Los resultados de cada TDNN sobre la señal de entrada se combinaron utilizando la agrupación máxima y las salidas de las capas de agrupación se pasaron luego a las redes que realizan la clasificación de palabras real.
Reconocimiento de imágenes con CNN entrenados por descenso de gradiente
Un sistema para reconocer los números de código postal escritos a mano [36] implicaba convoluciones en las que los coeficientes del núcleo habían sido laboriosamente diseñados a mano. [37]
Yann LeCun y col. (1989) [37] utilizó la retropropagación para aprender los coeficientes del núcleo de convolución directamente a partir de imágenes de números escritos a mano. Por lo tanto, el aprendizaje fue completamente automático, tuvo un mejor rendimiento que el diseño de coeficientes manuales y fue adecuado para una gama más amplia de problemas de reconocimiento de imágenes y tipos de imágenes.
Este enfoque se convirtió en la base de la visión por computadora moderna .
LeNet-5
LeNet-5, una red convolucional pionera de 7 niveles de LeCun et al. en 1998, [38] que clasifica dígitos, fue aplicado por varios bancos para reconocer números escritos a mano en cheques ( inglés británico : cheques ) digitalizados en imágenes de 32x32 píxeles. La capacidad de procesar imágenes de mayor resolución requiere capas más grandes y más de redes neuronales convolucionales, por lo que esta técnica está limitada por la disponibilidad de recursos informáticos.
Red neuronal invariante al cambio
De manera similar, W. Zhang et al. para el reconocimiento de caracteres de imágenes en 1988. [2] [3] La arquitectura y el algoritmo de entrenamiento se modificaron en 1991 [39] y se aplicaron para el procesamiento de imágenes médicas [40] y la detección automática del cáncer de mama en mamografías . [41]
En 1988 se propuso un diseño diferente basado en convolución [42] para su aplicación a la descomposición de señales convolucionadas de electromiografía unidimensionales mediante deconvolución. Este diseño se modificó en 1989 a otros diseños basados en la deconvolución. [43] [44]
Pirámide de abstracción neuronal
La arquitectura de retroalimentación de las redes neuronales convolucionales se extendió en la pirámide de abstracción neuronal [45] mediante conexiones laterales y de retroalimentación. La red convolucional recurrente resultante permite la incorporación flexible de información contextual para resolver iterativamente las ambigüedades locales. A diferencia de los modelos anteriores, se generaron resultados similares a imágenes con la resolución más alta, por ejemplo, para tareas de segmentación semántica, reconstrucción de imágenes y localización de objetos.
Implementaciones de GPU
Aunque las CNN se inventaron en la década de 1980, su avance en la década de 2000 requirió implementaciones rápidas en unidades de procesamiento de gráficos (GPU).
En 2004, KS Oh y K. Jung demostraron que las redes neuronales estándar pueden acelerarse enormemente en las GPU. Su implementación fue 20 veces más rápida que una implementación equivalente en CPU . [46] [28] En 2005, otro artículo también enfatizó el valor de GPGPU para el aprendizaje automático . [47]
La primera implementación de GPU de una CNN fue descrita en 2006 por K. Chellapilla et al. Su implementación fue 4 veces más rápida que una implementación equivalente en CPU. [48] El trabajo posterior también utilizó GPU, inicialmente para otros tipos de redes neuronales (diferentes de las CNN), especialmente redes neuronales no supervisadas. [49] [50] [51] [52]
En 2010, Dan Ciresan et al. en IDSIA demostró que incluso las redes neuronales estándar profundas con muchas capas se pueden entrenar rápidamente en GPU mediante el aprendizaje supervisado a través del antiguo método conocido como retropropagación . Su red superó los métodos de aprendizaje automático anteriores en el punto de referencia de dígitos manuscritos del MNIST . [53] En 2011, ampliaron este enfoque de GPU a las CNN, logrando un factor de aceleración de 60, con resultados impresionantes. [18] En 2011, utilizaron CNN en GPU para ganar un concurso de reconocimiento de imágenes en el que lograron un rendimiento sobrehumano por primera vez. [54] Entre el 15 de mayo de 2011 y el 30 de septiembre de 2012, sus CNN ganaron no menos de cuatro concursos de imagen. [55] [28] En 2012, también mejoraron significativamente el mejor rendimiento en la literatura para múltiples bases de datos de imágenes , incluida la base de datos MNIST , la base de datos NORB, el conjunto de datos HWDB1.0 (caracteres chinos) y el conjunto de datos CIFAR10 (conjunto de datos de 60000 imágenes RGB etiquetadas 32x32 ). [21]
Posteriormente, una CNN similar basada en GPU de Alex Krizhevsky et al. ganó el ImageNet Large Scale Visual Recognition Challenge 2012. [56] Una CNN muy profunda con más de 100 capas de Microsoft ganó el concurso ImageNet 2015. [57]
Implementaciones de Intel Xeon Phi
En comparación con el entrenamiento de CNN con GPU , no se prestó mucha atención al coprocesador Intel Xeon Phi . [58] Un desarrollo notable es un método de paralelización para entrenar redes neuronales convolucionales en Intel Xeon Phi, llamado Hogwild controlado con orden arbitrario de sincronización (CHAOS). [59] CHAOS explota el paralelismo a nivel de subprocesos y SIMD que está disponible en Intel Xeon Phi.
Características distintivas
En el pasado, los modelos tradicionales de perceptrón multicapa (MLP) se utilizaban para el reconocimiento de imágenes. [Se necesita un ejemplo ] Sin embargo, la conectividad total entre los nodos causó la maldición de la dimensionalidad , y era imposible de resolver computacionalmente con imágenes de mayor resolución. Una imagen de 1000 × 1000 píxeles con canales de color RGB tiene 3 millones de pesos, lo cual es demasiado alto para procesar de manera eficiente a escala con conectividad total.
Por ejemplo, en CIFAR-10 , las imágenes solo tienen un tamaño de 32 × 32 × 3 (32 de ancho, 32 de alto, 3 canales de color), por lo que una sola neurona completamente conectada en la primera capa oculta de una red neuronal regular tendría 32 * 32 * 3 = 3,072 pesos. Sin embargo, una imagen de 200 × 200 conduciría a neuronas que tienen 200 * 200 * 3 = 120.000 pesos.
Además, dicha arquitectura de red no tiene en cuenta la estructura espacial de los datos, y trata los píxeles de entrada que están muy separados de la misma manera que los píxeles que están muy juntos. Esto ignora la localidad de referencia en los datos con una topología de cuadrícula (como imágenes), tanto computacional como semánticamente. Por lo tanto, la conectividad total de las neuronas es un desperdicio para fines como el reconocimiento de imágenes que están dominados por patrones de entrada espacialmente locales .
Las redes neuronales convolucionales son variantes de perceptrones multicapa, diseñadas para emular el comportamiento de una corteza visual . Estos modelos mitigan los desafíos planteados por la arquitectura MLP al explotar la fuerte correlación espacial local presente en las imágenes naturales. A diferencia de las MLP, las CNN tienen las siguientes características distintivas:
- Volúmenes 3D de neuronas. Las capas de una CNN tienen neuronas dispuestas en 3 dimensiones : ancho, alto y profundidad. [60] Donde cada neurona dentro de una capa convolucional está conectada solo a una pequeña región de la capa anterior, llamada campo receptivo. Se apilan distintos tipos de capas, tanto localmente como completamente conectadas, para formar una arquitectura CNN.
- Conectividad local: siguiendo el concepto de campos receptivos, las CNN explotan la localidad espacial imponiendo un patrón de conectividad local entre neuronas de capas adyacentes. La arquitectura asegura así que los " filtros " aprendidos producen la respuesta más fuerte a un patrón de entrada espacialmente local. Apilar muchas de estas capas conduce a filtros no lineales que se vuelven cada vez más globales (es decir, que responden a una región más grande de espacio de píxeles) de modo que la red primero crea representaciones de pequeñas partes de la entrada y luego a partir de ellas ensambla representaciones de áreas más grandes.
- Pesos compartidos: en las CNN, cada filtro se replica en todo el campo visual. Estas unidades replicadas comparten la misma parametrización (vector de peso y sesgo) y forman un mapa de características. Esto significa que todas las neuronas de una determinada capa convolucional responden a la misma característica dentro de su campo de respuesta específico. La replicación de unidades de esta manera permite que el mapa de activación resultante sea equivariante bajo los cambios de las ubicaciones de las entidades de entrada en el campo visual, es decir, otorgan equivariancia de traslación , dado que la capa tiene una zancada de uno. [61]
- Agrupación: en las capas de agrupación de una CNN, los mapas de características se dividen en subregiones rectangulares, y las características de cada rectángulo se muestrean de forma independiente a un valor único, comúnmente tomando su valor promedio o máximo. Además de reducir los tamaños de los mapas de características, la operación de agrupación otorga un grado de invariancia de traducción local a las características contenidas en ellos, lo que permite que la CNN sea más robusta a las variaciones en sus posiciones. [4]
Juntas, estas propiedades permiten a las CNN lograr una mejor generalización sobre los problemas de visión . El peso compartido reduce drásticamente la cantidad de parámetros libres aprendidos, lo que reduce los requisitos de memoria para ejecutar la red y permite el entrenamiento de redes más grandes y potentes.
Bloques de construcción
Una arquitectura CNN está formada por una pila de capas distintas que transforman el volumen de entrada en un volumen de salida (por ejemplo, manteniendo las puntuaciones de la clase) a través de una función diferenciable. Normalmente se utilizan algunos tipos distintos de capas. Estos se discuten más a continuación
Capa convolucional
La capa convolucional es el componente básico de una CNN. Los parámetros de la capa consisten en un conjunto de filtros (o núcleos ) que se pueden aprender , que tienen un pequeño campo receptivo, pero se extienden por toda la profundidad del volumen de entrada. Durante el pase directo, cada filtro se convoluciona a lo ancho y alto del volumen de entrada, calculando el producto escalar entre las entradas del filtro y la entrada, produciendo un mapa de activación bidimensional de ese filtro. Como resultado, la red aprende filtros que se activan cuando detecta algún tipo específico de característica en alguna posición espacial en la entrada. [62] [nb 1]
Apilar los mapas de activación para todos los filtros a lo largo de la dimensión de profundidad forma el volumen de salida completo de la capa de convolución. Cada entrada en el volumen de salida también puede interpretarse como una salida de una neurona que mira una pequeña región en la entrada y comparte parámetros con neuronas en el mismo mapa de activación.
Conectividad local
Cuando se trata de entradas de alta dimensión, como imágenes, no es práctico conectar neuronas a todas las neuronas del volumen anterior porque dicha arquitectura de red no tiene en cuenta la estructura espacial de los datos. Las redes convolucionales explotan la correlación espacialmente local al imponer un patrón de conectividad local disperso entre neuronas de capas adyacentes: cada neurona está conectada solo a una pequeña región del volumen de entrada.
El alcance de esta conectividad es un hiperparámetro llamado campo receptivo de la neurona. Las conexiones son locales en el espacio (a lo ancho y alto), pero siempre se extienden a lo largo de toda la profundidad del volumen de entrada. Tal arquitectura asegura que los filtros aprendidos produzcan la respuesta más fuerte a un patrón de entrada espacialmente local.
Disposición espacial
Tres hiperparámetros controlan el tamaño del volumen de salida de la capa convolucional: la profundidad, la zancada y el tamaño del acolchado.
- La profundidad del volumen de salida controla la cantidad de neuronas en una capa que se conectan a la misma región del volumen de entrada. Estas neuronas aprenden a activarse para diferentes características en la entrada. Por ejemplo, si la primera capa convolucional toma la imagen sin procesar como entrada, entonces diferentes neuronas a lo largo de la dimensión de profundidad pueden activarse en presencia de varios bordes orientados o manchas de color.
- Stride controla cómo se asignan las columnas de profundidad alrededor del ancho y alto. Si la zancada es 1, entonces movemos los filtros un píxel a la vez. Esto conduce acampos receptivosmuy superpuestos entre las columnas y a grandes volúmenes de salida. Para cualquier enterouna zancada S significa que el filtro se traduce S unidades a la vez por salida. En la práctica,es raro. Un paso más grande significa una superposición más pequeña de campos receptivos y dimensiones espaciales más pequeñas del volumen de salida. [63]
- A veces, es conveniente rellenar la entrada con ceros (u otros valores, como el promedio de la región) en el borde del volumen de entrada. El tamaño de este relleno es un tercer hiperparámetro. El relleno proporciona control del tamaño espacial del volumen de salida. En particular, a veces es deseable preservar exactamente el tamaño espacial del volumen de entrada, esto se conoce comúnmente como "el mismo" relleno.
El tamaño espacial del volumen de salida es una función del tamaño del volumen de entrada , el tamaño del campo del kernel de las neuronas de la capa convolucional, la zancada y la cantidad de relleno cero en el borde. El número de neuronas que "encajan" en un volumen dado es entonces:
Si este número no es un número entero , los pasos son incorrectos y las neuronas no se pueden colocar en mosaico para que quepan en el volumen de entrada de forma simétrica . En general, configurar el relleno cero para que sea cuando la zancada es asegura que el volumen de entrada y el volumen de salida tendrán el mismo tamaño espacialmente. Sin embargo, no siempre es completamente necesario utilizar todas las neuronas de la capa anterior. Por ejemplo, un diseñador de redes neuronales puede decidir utilizar solo una parte del relleno.
Compartir parámetros
Se utiliza un esquema de compartición de parámetros en capas convolucionales para controlar el número de parámetros libres. Se basa en la suposición de que si una característica de parche es útil para calcular en alguna posición espacial, también debería ser útil para calcular en otras posiciones. Denotando un solo corte bidimensional de profundidad como un corte de profundidad , las neuronas en cada corte de profundidad están obligadas a usar los mismos pesos y sesgos.
Dado que todas las neuronas en un solo corte de profundidad comparten los mismos parámetros, el paso hacia adelante en cada corte de profundidad de la capa convolucional se puede calcular como una convolución de los pesos de la neurona con el volumen de entrada. [nb 2] Por lo tanto, es común referirse a los conjuntos de pesos como un filtro (o un núcleo ), que se convoluciona con la entrada. El resultado de esta convolución es un mapa de activación , y el conjunto de mapas de activación para cada filtro diferente se apilan juntos a lo largo de la dimensión de profundidad para producir el volumen de salida. Parámetro compartir contribuye a la invariancia de traducción de la arquitectura de la cadena CNN. [4]
A veces, la suposición de compartir parámetros puede no tener sentido. Este es especialmente el caso cuando las imágenes de entrada a una CNN tienen alguna estructura centrada específica; para lo cual esperamos que se aprendan características completamente diferentes en diferentes ubicaciones espaciales. Un ejemplo práctico es cuando las entradas son caras que se han centrado en la imagen: podemos esperar que se aprendan diferentes características específicas del ojo o del cabello en diferentes partes de la imagen. En ese caso, es común relajar el esquema de uso compartido de parámetros y, en su lugar, simplemente llamar a la capa "capa conectada localmente".
Capa de agrupación
Otro concepto importante de las CNN es la agrupación, que es una forma de muestreo descendente no lineal . Hay varias funciones no lineales para implementar la agrupación, donde la agrupación máxima es la más común. Se particiona la imagen de entrada en un conjunto de rectángulos y, para cada una de tales sub-región, da salida a la máxima.
Intuitivamente, la ubicación exacta de una característica es menos importante que su ubicación aproximada en relación con otras características. Esta es la idea detrás del uso de la agrupación en redes neuronales convolucionales. La capa de puesta en común sirve para reducir progresivamente el tamaño espacial de la representación, para reducir el número de parámetros, huella de memoria y la cantidad de cálculo en la red, y por lo tanto también de controlar sobreajuste . Esto se conoce como muestreo descendente Es común periódicamente inserto de una capa de puesta en común entre las capas convolucionales sucesivos (cada uno típicamente seguido de una función de activación, tal como una capa de relu ) en una arquitectura de CNN. [62] : 460–461 Aunque las capas de agrupación contribuyen a la invariancia de traducción local, no proporcionan invariancia de traducción global en una CNN, a menos que se utilice una forma de agrupación global. [4] [61] La capa de agrupación normalmente opera de forma independiente en cada profundidad, o corte, de la entrada y la redimensiona espacialmente. Una forma muy común de agrupación máxima es una capa con filtros de tamaño 2 × 2, aplicada con un paso de 2, que submuestra cada corte de profundidad en la entrada en 2 a lo largo de la anchura y la altura, descartando el 75% de las activaciones:
Además de la puesta en común max, las unidades de la puesta en común pueden utilizar otras funciones, tales como promedio pooling o ℓ 2 -norma puesta en común. La agrupación promedio se utilizó a menudo históricamente, pero recientemente ha caído en desgracia en comparación con la agrupación máxima, que generalmente funciona mejor en la práctica. [64]
Debido a los efectos de la rápida reducción espacial del tamaño de la representación, [ ¿cuál? ] existe una tendencia reciente a utilizar filtros más pequeños [65] o descartar las capas de agrupación por completo. [66]
La agrupación de " Región de interés " (también conocida como agrupación de RoI) es una variante de la agrupación máxima, en la que el tamaño de salida es fijo y el rectángulo de entrada es un parámetro. [67]
La agrupación es un componente importante de las redes neuronales convolucionales para la detección de objetos basadas en la arquitectura Fast R-CNN [68] .
Capa ReLU
ReLU es la abreviatura de unidad lineal rectificada , que aplica la función de activación no saturante . [56] Elimina eficazmente los valores negativos de un mapa de activación poniéndolos en cero. [69] Introduce no linealidades en la función de decisión y en la red general sin afectar los campos receptivos de las capas de convolución.
También se pueden usar otras funciones para aumentar la no linealidad, por ejemplo, la tangente hiperbólica de saturación , , y la función sigmoidea . RELU se prefiere a menudo a otras funciones porque entrena la red neuronal varias veces más rápido sin una penalización significativa a la generalización de precisión. [70]
Capa completamente conectada
Después de varias capas de agrupación convolucional y máxima, la clasificación final se realiza a través de capas completamente conectadas. Las neuronas en una capa completamente conectada tienen conexiones con todas las activaciones en la capa anterior, como se ve en las redes neuronales artificiales regulares (no convolucionales) . Por tanto, sus activaciones se pueden calcular como una transformación afín , con la multiplicación de matrices seguida de un desplazamiento de sesgo ( suma vectorial de un término de sesgo fijo o aprendido). [ cita requerida ]
Capa de pérdida
La "capa de pérdida", o " función de pérdida ", especifica cómo el entrenamiento penaliza la desviación entre la salida prevista de la red y las etiquetas de datos verdaderos (durante el aprendizaje supervisado). Se pueden utilizar varias funciones de pérdida , dependiendo de la tarea específica.
El Softmax función de pérdida se utiliza para predecir una sola clase de K clases mutuamente excluyentes. [nb 3] sigmoide entropía cruzada pérdida se utiliza para la predicción de K valores de probabilidad independiente en. La pérdida euclidiana se utiliza para retroceder a etiquetas de valor real.
Elegir hiperparámetros
Las CNN utilizan más hiperparámetros que un perceptrón multicapa estándar (MLP). Si bien aún se aplican las reglas habituales para las tasas de aprendizaje y las constantes de regularización , se debe tener en cuenta lo siguiente al optimizar.
Numero de filtros
Dado que el tamaño del mapa de características disminuye con la profundidad, las capas cercanas a la capa de entrada tienden a tener menos filtros, mientras que las capas superiores pueden tener más. Para igualar el cálculo en cada capa, el producto de los valores de las características v a con la posición de los píxeles se mantiene aproximadamente constante en todas las capas. Conservar más información sobre la entrada requeriría mantener el número total de activaciones (número de mapas de características multiplicado por el número de posiciones de píxeles) sin disminuir de una capa a la siguiente.
El número de mapas de características controla directamente la capacidad y depende del número de ejemplos disponibles y de la complejidad de la tarea.
Tamaño del filtro
Los tamaños de filtro comunes que se encuentran en la literatura varían mucho y, por lo general, se eligen en función del conjunto de datos.
El desafío es encontrar el nivel correcto de granularidad para crear abstracciones a la escala adecuada, dado un conjunto de datos en particular, y sin sobreajuste .
Tipo y tamaño de agrupación
En las CNN modernas, normalmente se usa la agrupación máxima , y a menudo de tamaño 2 × 2, con un paso de 2. Esto implica que la entrada se reduce drásticamente , mejorando aún más la eficiencia computacional.
Los volúmenes de entrada muy grandes pueden justificar la agrupación 4 × 4 en las capas inferiores. [71] Sin embargo, la elección de formas más grandes reducirá drásticamente la dimensión de la señal y puede resultar en una pérdida excesiva de información . A menudo, las ventanas agrupadas que no se superponen funcionan mejor. [64]
Equivariancia de traducción
Se asume comúnmente que las CNN son invariables a los cambios de la entrada. Sin embargo, las capas de convolución o agrupación dentro de una CNN que no tienen un paso mayor que uno son equivariantes , a diferencia de invariantes , a las traducciones de la entrada. [61] Las capas con una zancada mayor que uno ignoran el teorema de muestreo de Nyquist-Shannon y conducen al aliasing de la señal de entrada, lo que rompe la propiedad de equivariancia (también conocida como covarianza). [61] Además, si una CNN hace uso de capas completamente conectadas, la equivalencia de traducción no implica invariancia de traducción , ya que las capas completamente conectadas no son invariantes a los cambios de la entrada. [72] [4] Una solución para la invariancia de traducción completa es evitar cualquier muestreo descendente en toda la red y aplicar la agrupación promedio global en la última capa. [61] Además, se han propuesto varias otras soluciones parciales, como anti-aliasing , [73] redes de transformadores espaciales, [74] aumento de datos , submuestreo combinado con pooling, [4] y redes neuronales de cápsula . [75]
Métodos de regularización
La regularización es un proceso de introducción de información adicional para resolver un problema mal planteado o para evitar un sobreajuste . Las CNN utilizan varios tipos de regularización.
Empírico
Abandonar
Debido a que una capa completamente conectada ocupa la mayoría de los parámetros, es propensa a sobreajustarse. Un método para reducir el sobreajuste es la deserción . [76] [77] En cada etapa de entrenamiento, los nodos individuales son "eliminados" de la red (ignorados) con probabilidad o guardado con probabilidad , de modo que quede una red reducida; También se eliminan los bordes entrantes y salientes a un nodo eliminado. Solo la red reducida se entrena con los datos en esa etapa. Luego, los nodos eliminados se reinsertan en la red con sus pesos originales.
En las etapas de formación, suele ser 0,5; para los nodos de entrada, suele ser mucho mayor porque la información se pierde directamente cuando se ignoran los nodos de entrada.
En el momento de la prueba, una vez finalizado el entrenamiento, lo ideal sería encontrar un promedio de muestra de todos los posibles redes abandonadas; Desafortunadamente, esto es inviable para grandes valores de. Sin embargo, podemos encontrar una aproximación usando la red completa con la salida de cada nodo ponderada por un factor de, por lo que el valor esperado de la salida de cualquier nodo es el mismo que en las etapas de entrenamiento. Esta es la mayor contribución del método de abandono: aunque genera efectivamente redes neuronales, y como tal permite la combinación de modelos, en el momento de la prueba solo es necesario probar una sola red.
Al evitar entrenar todos los nodos en todos los datos de entrenamiento, la deserción reduce el sobreajuste. El método también mejora significativamente la velocidad de entrenamiento. Esto hace que la combinación de modelos sea práctica, incluso para redes neuronales profundas . La técnica parece reducir las interacciones de los nodos, lo que los lleva a aprender características más sólidas [ aclaración necesaria ] que se generalizan mejor a los nuevos datos.
DropConnect
DropConnect es la generalización de la deserción en la que cada conexión, en lugar de cada unidad de salida, se puede eliminar con probabilidad . Por tanto, cada unidad recibe información de un subconjunto aleatorio de unidades en la capa anterior. [78]
DropConnect es similar a la deserción, ya que introduce escasez dinámica dentro del modelo, pero difiere en que la escasez está en los pesos, en lugar de en los vectores de salida de una capa. En otras palabras, la capa completamente conectada con DropConnect se convierte en una capa escasamente conectada en la que las conexiones se eligen al azar durante la etapa de entrenamiento.
Pooling estocástico
Un gran inconveniente de Dropout es que no tiene los mismos beneficios para las capas convolucionales, donde las neuronas no están completamente conectadas.
En la agrupación estocástica, [79] las operaciones de agrupación deterministas convencionales se sustituyen por un procedimiento estocástico, en el que la activación dentro de cada región de agrupación se selecciona aleatoriamente de acuerdo con una distribución multinomial , dada por las actividades dentro de la región de agrupación. Este enfoque está libre de hiperparámetros y se puede combinar con otros enfoques de regularización, como el abandono y el aumento de datos .
Una vista alternativa de la agrupación estocástica es que es equivalente a la agrupación máxima estándar pero con muchas copias de una imagen de entrada, cada una con pequeñas deformaciones locales . Esto es similar a las deformaciones elásticas explícitas de las imágenes de entrada, [80] que ofrece un rendimiento excelente en el conjunto de datos MNIST . [80] El uso de agrupaciones estocásticas en un modelo multicapa da un número exponencial de deformaciones, ya que las selecciones en las capas superiores son independientes de las siguientes.
Datos artificiales
Debido a que el grado de sobreajuste del modelo está determinado tanto por su potencia como por la cantidad de entrenamiento que recibe, proporcionar una red convolucional con más ejemplos de entrenamiento puede reducir el sobreajuste. Debido a que estas redes generalmente están capacitadas con todos los datos disponibles, un enfoque es generar nuevos datos desde cero (si es posible) o alterar los datos existentes para crear nuevos. Por ejemplo, las imágenes de entrada podrían recortarse asimétricamente en un pequeño porcentaje para crear nuevos ejemplos con la misma etiqueta que el original. [81]
Explícito
Parada anticipada
Uno de los métodos más simples para evitar el sobreajuste de una red es simplemente detener el entrenamiento antes de que se produzca el sobreajuste. Viene con la desventaja de que el proceso de aprendizaje se detiene.
Numero de parámetros
Otra forma sencilla de evitar el sobreajuste es limitar el número de parámetros, normalmente limitando el número de unidades ocultas en cada capa o limitando la profundidad de la red. Para redes convolucionales, el tamaño del filtro también afecta el número de parámetros. Limitar el número de parámetros restringe el poder predictivo de la red directamente, lo que reduce la complejidad de la función que puede realizar en los datos y, por lo tanto, limita la cantidad de sobreajuste. Esto es equivalente a una " norma cero ".
Deterioro de peso
Una forma simple de regularizador agregado es la disminución del peso, que simplemente agrega un error adicional, proporcional a la suma de pesos ( norma L1 ) o magnitud al cuadrado ( norma L2 ) del vector de peso, al error en cada nodo. El nivel de complejidad aceptable del modelo se puede reducir aumentando la constante de proporcionalidad (hiperparámetro 'alfa'), aumentando así la penalización para los vectores de peso grandes.
La regularización L2 es la forma más común de regularización. Se puede implementar penalizando la magnitud al cuadrado de todos los parámetros directamente en el objetivo. La regularización L2 tiene la interpretación intuitiva de penalizar fuertemente los vectores de peso pico y preferir los vectores de peso difusos. Debido a las interacciones multiplicativas entre los pesos y las entradas, esto tiene la propiedad útil de alentar a la red a utilizar un poco todas sus entradas en lugar de algunas de sus entradas mucho.
La regularización L1 también es común. Hace que los vectores de peso sean escasos durante la optimización. En otras palabras, las neuronas con regularización L1 terminan usando solo un escaso subconjunto de sus entradas más importantes y se vuelven casi invariantes a las entradas ruidosas. La regularización L1 con L2 se puede combinar; esto se llama regularización de la red elástica .
Restricciones normativas máximas
Otra forma de regularización es imponer un límite superior absoluto en la magnitud del vector de peso para cada neurona y usar el descenso de gradiente proyectado para hacer cumplir la restricción. En la práctica, esto corresponde a realizar la actualización del parámetro de forma normal y luego hacer cumplir la restricción sujetando el vector de peso de cada neurona para satisfacer . Valores típicos deson del orden de 3 a 4. Algunos artículos informan de mejoras [82] al utilizar esta forma de regularización.
Marcos de coordenadas jerárquicas
La agrupación pierde las relaciones espaciales precisas entre las partes de alto nivel (como la nariz y la boca en una imagen facial). Estas relaciones son necesarias para el reconocimiento de identidad. La superposición de los grupos para que cada característica se produzca en varios grupos ayuda a retener la información. La traducción por sí sola no puede extrapolar la comprensión de las relaciones geométricas a un punto de vista radicalmente nuevo, como una orientación o escala diferente. Por otro lado, la gente es muy buena extrapolando; después de ver una nueva forma una vez que puedan reconocerla desde un punto de vista diferente. [83]
Una forma común anterior de lidiar con este problema es entrenar a la red en datos transformados en diferentes orientaciones, escalas, iluminación, etc. para que la red pueda hacer frente a estas variaciones. Esto es computacionalmente intensivo para grandes conjuntos de datos. La alternativa es usar una jerarquía de marcos de coordenadas y usar un grupo de neuronas para representar una conjunción de la forma de la característica y su pose en relación con la retina . La pose relativa a la retina es la relación entre el marco de coordenadas de la retina y el marco de coordenadas de las características intrínsecas. [84]
Por lo tanto, una forma de representar algo es incrustar el marco de coordenadas dentro de él. Esto permite reconocer grandes rasgos usando la consistencia de las poses de sus partes (por ejemplo, las posturas de nariz y boca hacen una predicción consistente de la postura de toda la cara). Este enfoque asegura que la entidad de nivel superior (por ejemplo, la cara) esté presente cuando la entidad de nivel inferior (por ejemplo, la nariz y la boca) estén de acuerdo en su predicción de la pose. Los vectores de actividad neuronal que representan pose ("vectores de pose") permiten transformaciones espaciales modeladas como operaciones lineales que facilitan que la red aprenda la jerarquía de entidades visuales y generalice a través de puntos de vista. Esto es similar a la forma en que el sistema visual humano impone marcos de coordenadas para representar formas. [85]
Aplicaciones
Reconocimiento de imagen
Las CNN se utilizan a menudo en sistemas de reconocimiento de imágenes . En 2012 se informó una tasa de error del 0,23% en la base de datos del MNIST . [21] Otro artículo sobre el uso de CNN para la clasificación de imágenes informó que el proceso de aprendizaje fue "sorprendentemente rápido"; en el mismo artículo, los mejores resultados publicados a partir de 2011 se obtuvieron en la base de datos MNIST y la base de datos NORB. [18] Posteriormente, una CNN similar llamada AlexNet [86] ganó el ImageNet Large Scale Visual Recognition Challenge 2012.
Cuando se aplica al reconocimiento facial , las CNN lograron una gran disminución en la tasa de error. [87] Otro artículo informó una tasa de reconocimiento del 97,6% en "5.600 imágenes fijas de más de 10 sujetos". [12] Las CNN se utilizaron para evaluar la calidad del video de manera objetiva después del entrenamiento manual; el sistema resultante tenía un error cuadrático medio muy bajo . [34]
El desafío de reconocimiento visual a gran escala de ImageNet es un punto de referencia en la clasificación y detección de objetos, con millones de imágenes y cientos de clases de objetos. En el ILSVRC 2014, [88] un desafío de reconocimiento visual a gran escala, casi todos los equipos de alto rango utilizaron CNN como su marco básico. El ganador GoogLeNet [89] (la base de DeepDream ) aumentó la precisión promedio promedio de detección de objetos a 0.439329 y redujo el error de clasificación a 0.06656, el mejor resultado hasta la fecha. Su red aplicó más de 30 capas. Ese rendimiento de las redes neuronales convolucionales en las pruebas de ImageNet fue cercano al de los humanos. [90] Los mejores algoritmos todavía luchan con objetos que son pequeños o delgados, como una pequeña hormiga en el tallo de una flor o una persona que sostiene una pluma en la mano. También tienen problemas con las imágenes distorsionadas con filtros, un fenómeno cada vez más común con las cámaras digitales modernas. Por el contrario, ese tipo de imágenes rara vez preocupan a los humanos. Los seres humanos, sin embargo, tienden a tener problemas con otros problemas. Por ejemplo, no son buenos para clasificar objetos en categorías detalladas, como la raza particular de perro o la especie de ave, mientras que las redes neuronales convolucionales se encargan de esto. [ cita requerida ]
En 2015, una CNN de muchas capas demostró la capacidad de detectar rostros desde una amplia gama de ángulos, incluso al revés, incluso cuando están parcialmente ocluidos, con un rendimiento competitivo. La red se entrenó en una base de datos de 200.000 imágenes que incluían rostros en varios ángulos y orientaciones y otros 20 millones de imágenes sin rostros. Utilizaron lotes de 128 imágenes en 50.000 iteraciones. [91]
Análisis de video
En comparación con los dominios de datos de imágenes, hay relativamente poco trabajo en la aplicación de CNN a la clasificación de videos. El video es más complejo que las imágenes porque tiene otra dimensión (temporal). Sin embargo, se han explorado algunas extensiones de CNN en el dominio de video. Un enfoque es tratar el espacio y el tiempo como dimensiones equivalentes de la entrada y realizar convoluciones tanto en el tiempo como en el espacio. [92] [93] Otra forma es fusionar las características de dos redes neuronales convolucionales, una para la secuencia espacial y otra para la temporal. [94] [95] [96] Las unidades recurrentes de memoria a corto plazo a largo plazo (LSTM) se incorporan típicamente después de la CNN para tener en cuenta las dependencias entre cuadros o clips. [97] [98] Se han introducido esquemas de aprendizaje no supervisado para el entrenamiento de características espacio-temporales, basados en Máquinas de Boltzmann restringidas con compuerta convolucional [99] y Análisis de subespacio independiente. [100]
Procesamiento natural del lenguaje
Las CNN también se han explorado para el procesamiento del lenguaje natural . Los modelos CNN son efectivos para varios problemas de PNL y lograron excelentes resultados en análisis semántico , [101] recuperación de consultas de búsqueda, [102] modelado de oraciones, [103] clasificación, [104] predicción [105] y otras tareas tradicionales de PNL. [106]
Detección de anomalías
Se utilizó una CNN con convoluciones 1-D en series de tiempo en el dominio de la frecuencia (residual espectral) mediante un modelo no supervisado para detectar anomalías en el dominio del tiempo. [107]
Descubrimiento de medicamento
Las CNN se han utilizado en el descubrimiento de fármacos . La predicción de la interacción entre moléculas y proteínas biológicas puede identificar tratamientos potenciales. En 2015, Atomwise presentó AtomNet, la primera red neuronal de aprendizaje profundo para el diseño racional de fármacos basado en estructuras . [108] El sistema se entrena directamente en representaciones tridimensionales de interacciones químicas. De manera similar a cómo las redes de reconocimiento de imágenes aprenden a componer características más pequeñas, espacialmente próximas en estructuras más grandes y complejas, [109] AtomNet descubre características químicas, como aromaticidad , carbonos sp 3 y enlaces de hidrógeno . Posteriormente, se utilizó AtomNet para predecir nuevas biomoléculas candidatas para múltiples objetivos de enfermedades, especialmente los tratamientos para el virus del Ébola [110] y la esclerosis múltiple . [111]
Evaluación de riesgos para la salud y descubrimiento de biomarcadores del envejecimiento
Las CNN se pueden adaptar naturalmente para analizar una colección suficientemente grande de datos de series de tiempo que representan flujos de actividad física humana de una semana de duración aumentados por los ricos datos clínicos (incluido el registro de muertes, como lo proporciona, por ejemplo, el estudio NHANES ). Se combinó una CNN simple con el modelo de riesgos proporcionales de Cox-Gompertz y se utilizó para producir un ejemplo de prueba de concepto de biomarcadores digitales del envejecimiento en forma de predictor de mortalidad por todas las causas. [112]
Juego de damas
Las CNN se han utilizado en el juego de damas . De 1999 a 2001, Fogel y Chellapilla publicaron artículos que mostraban cómo una red neuronal convolucional podía aprender a jugar a las damas usando la coevolución. El proceso de aprendizaje no utilizó juegos profesionales humanos previos, sino que se centró en un conjunto mínimo de información contenida en el tablero de ajedrez: la ubicación y el tipo de piezas, y la diferencia en el número de piezas entre los dos lados. Finalmente, el programa ( Blondie24 ) fue probado en 165 juegos contra jugadores y se ubicó en el 0.4% más alto. [113] [114] También obtuvo una victoria contra el programa Chinook en su nivel de juego "experto". [115]
Ir
Las CNN se han utilizado en Computer Go . En diciembre de 2014, Clark y Storkey publicaron un artículo que mostraba que una CNN entrenada mediante el aprendizaje supervisado de una base de datos de juegos profesionales humanos podría superar a GNU Go y ganar algunos juegos contra la búsqueda de árboles de Monte Carlo Fuego 1.1 en una fracción del tiempo que tardó Fuego en tocar. [116] Más tarde se anunció que una gran red neuronal convolucional de 12 capas había predicho correctamente el movimiento profesional en el 55% de las posiciones, igualando la precisión de un jugador humano de 6 dan . Cuando la red convolucional entrenada se usó directamente para jugar juegos de Go, sin ninguna búsqueda, superó al programa de búsqueda tradicional GNU Go en el 97% de los juegos, e igualó el rendimiento del programa de búsqueda de árboles de Monte Carlo , Fuego, que simula diez mil playouts (aproximadamente un millón de posiciones) por movimiento. [117]
AlphaGo utilizó un par de CNN para elegir movimientos para probar ("red de políticas") y evaluar posiciones ("red de valor") que conducían a MCTS , el primero en vencer al mejor jugador humano en ese momento. [118]
Pronóstico de series de tiempo
Las redes neuronales recurrentes generalmente se consideran las mejores arquitecturas de redes neuronales para el pronóstico de series de tiempo (y el modelado de secuencias en general), pero estudios recientes muestran que las redes convolucionales pueden funcionar de manera comparable o incluso mejor. [119] [8] Las convoluciones dilatadas [120] podrían permitir que las redes neuronales convolucionales unidimensionales aprendan eficazmente las dependencias de las series de tiempo. [121] Las convoluciones se pueden implementar de manera más eficiente que las soluciones basadas en RNN, y no sufren de gradientes que desaparecen (o explotan). [122] Las redes convolucionales pueden proporcionar un rendimiento de pronóstico mejorado cuando hay varias series de tiempo similares de las que aprender. [123] Las CNN también se pueden aplicar a otras tareas en el análisis de series de tiempo (por ejemplo, clasificación de series de tiempo [124] o pronóstico cuantílico [125] ).
Patrimonio cultural y conjuntos de datos 3D
A medida que los hallazgos arqueológicos como las tabletas de arcilla con escritura cuneiforme se adquieren cada vez más utilizando escáneres 3D, los primeros conjuntos de datos de referencia están disponibles como HeiCuBeDa [126] que proporciona casi 2.000 conjuntos de datos 2D y 3D normalizados preparados con el marco de software GigaMesh . [127] Por lo tanto, las medidas basadas en la curvatura se utilizan junto con las redes neuronales geométricas (GNN), por ejemplo, para la clasificación de períodos de las tablillas de arcilla que se encuentran entre los documentos más antiguos de la historia humana. [128] [129]
Sintonia FINA
Para muchas aplicaciones, los datos de entrenamiento están menos disponibles. Las redes neuronales convolucionales suelen requerir una gran cantidad de datos de entrenamiento para evitar el sobreajuste . Una técnica común es entrenar a la red en un conjunto de datos más grande de un dominio relacionado. Una vez que los parámetros de la red han convergido, se realiza un paso de entrenamiento adicional utilizando los datos del dominio para ajustar los pesos de la red, esto se conoce como aprendizaje de transferencia . Además, esta técnica permite que las arquitecturas de red convolucionales se apliquen con éxito a problemas con pequeños conjuntos de entrenamiento. [130]
Explicaciones humanas interpretables
El entrenamiento y la predicción de un extremo a otro son una práctica común en la visión por computadora . Sin embargo, se requieren explicaciones interpretables por humanos para sistemas críticos como los automóviles autónomos . [131] Con los avances recientes en la prominencia visual , la atención espacial y temporal , las regiones espaciales / instantes temporales más críticos podrían visualizarse para justificar las predicciones de CNN. [132] [133]
Arquitecturas relacionadas
Redes Q profundas
Una red Q profunda (DQN) es un tipo de modelo de aprendizaje profundo que combina una red neuronal profunda con Q-learning , una forma de aprendizaje por refuerzo . A diferencia de los agentes de aprendizaje por refuerzo anteriores, los DQN que utilizan CNN pueden aprender directamente de las entradas sensoriales de alta dimensión a través del aprendizaje por refuerzo. [134]
Los resultados preliminares se presentaron en 2014, con un documento adjunto en febrero de 2015. [135] La investigación describió una aplicación a los juegos de Atari 2600 . Otros modelos de aprendizaje por refuerzo profundo lo precedieron. [136]
Redes de creencias profundas
Las redes convolucionales de creencias profundas (CDBN) tienen una estructura muy similar a las redes neuronales convolucionales y se entrenan de manera similar a las redes de creencias profundas. Por lo tanto, explotan la estructura 2D de las imágenes, como lo hacen las CNN, y hacen uso del entrenamiento previo como redes de creencias profundas . Proporcionan una estructura genérica que se puede utilizar en muchas tareas de procesamiento de imágenes y señales. Se han obtenido resultados comparativos sobre conjuntos de datos de imágenes estándar como CIFAR [137] utilizando CDBN. [138]
Bibliotecas notables
- Caffe : una biblioteca para redes neuronales convolucionales. Creado por el Berkeley Vision and Learning Center (BVLC). Es compatible con CPU y GPU. Desarrollado en C ++ y tiene envoltorios de Python y MATLAB .
- Deeplearning4j : aprendizaje profundo en Java y Scala en Spark habilitado para múltiples GPU . Una biblioteca de aprendizaje profundo de propósito general para la pila de producción de JVM que se ejecuta en un motor de computación científica C ++. Permite la creación de capas personalizadas. Se integra con Hadoop y Kafka.
- Dlib : un conjunto de herramientas para crear aplicaciones de análisis de datos y aprendizaje automático en el mundo real en C ++.
- Kit de herramientas cognitivas de Microsoft : un kit de herramientas de aprendizaje profundo escrito por Microsoft con varias características únicas que mejoran la escalabilidad en varios nodos. Es compatible con interfaces completas para el entrenamiento en C ++ y Python y con soporte adicional para la inferencia de modelos en C # y Java.
- TensorFlow : biblioteca similar a Theano con licencia de Apache 2.0 compatible con CPU, GPU, la unidad de procesamiento de tensor (TPU) patentada de Google , [139] y dispositivos móviles.
- Theano : la biblioteca de referencia de aprendizaje profundo para Python con una API ampliamente compatible con la popular biblioteca NumPy . Permite al usuario escribir expresiones matemáticas simbólicas, luego genera automáticamente sus derivadas, evitando que el usuario tenga que codificar gradientes o retropropagación. Estas expresiones simbólicas se compilan automáticamente en código CUDA para una implementación rápida en la GPU .
- Torch : un marco de trabajo de computación científica con amplio soporte para algoritmos de aprendizaje automático, escrito en C y Lua . El autor principal es Ronan Collobert, y ahora se usa en Facebook AI Research y Twitter.
API notables
- Keras : una API de alto nivel escrita en Python para las redes neuronales convolucionales TensorFlow y Theano . [140]
Ver también
- Atención (aprendizaje automático)
- Circunvolución
- Aprendizaje profundo
- Procesamiento natural del lenguaje
- Neocognitron
- Transformación de características invariantes de escala
- Red neuronal de retardo de tiempo
- Unidad de procesamiento de visión
Notas
- ^ Cuando se aplica a otros tipos de datos distintos a los datos de imagen, como los datos de sonido, la "posición espacial" puede corresponder de diversas formas a diferentes puntos en el dominio del tiempo , el dominio de la frecuencia u otros espacios matemáticos .
- ^ de ahí el nombre "capa convolucional"
- ^ Los llamados datos categóricos .
Referencias
- ^ Valueva, MV; Nagornov, NN; Lyakhov, PA; Valuev, GV; Chervyakov, NI (2020). "Aplicación del sistema de número de residuo para reducir los costos de hardware de la implementación de la red neuronal convolucional". Matemáticas y Computación en Simulación . Elsevier BV. 177 : 232–243. doi : 10.1016 / j.matcom.2020.04.031 . ISSN 0378-4754 .
Las redes neuronales convolucionales son una herramienta prometedora para resolver el problema del reconocimiento de patrones.
- ^ a b Zhang, Wei (1988). "Red neuronal de reconocimiento de patrones de cambio invariante y su arquitectura óptica" . Actas de la Conferencia Anual de la Sociedad Japonesa de Física Aplicada .
- ^ a b Zhang, Wei (1990). "Modelo de procesamiento distribuido en paralelo con interconexiones locales invariantes en el espacio y su arquitectura óptica" . Óptica aplicada . 29 (32): 4790–7. Código bibliográfico : 1990ApOpt..29.4790Z . doi : 10.1364 / AO.29.004790 . PMID 20577468 .
- ^ a b c d e f Mouton, Coenraad; Myburgh, Johannes C .; Davel, Marelie H. (2020). Gerber, Aurona (ed.). "Stride and Translation Invariance in CNNs" . Investigación en Inteligencia Artificial . Comunicaciones en Informática y Ciencias de la Información. Cham: Springer International Publishing. 1342 : 267-281. arXiv : 2103.10097 . doi : 10.1007 / 978-3-030-66151-9_17 . ISBN 978-3-030-66151-9. S2CID 232269854 .
- ^ van den Oord, Aaron; Dieleman, Sander; Schrauwen, Benjamin (1 de enero de 2013). Burges, CJC; Bottou, L .; Welling, M .; Ghahramani, Z .; Weinberger, KQ (eds.). Recomendación de música basada en contenido profundo (PDF) . Curran Associates, Inc. págs. 2643–2651.
- ^ Collobert, Ronan; Weston, Jason (1 de enero de 2008). Una arquitectura unificada para el procesamiento del lenguaje natural: redes neuronales profundas con aprendizaje multitarea . Actas de la 25a Conferencia Internacional sobre Aprendizaje Automático . ICML '08. Nueva York, NY, EE.UU .: ACM. págs. 160-167. doi : 10.1145 / 1390156.1390177 . ISBN 978-1-60558-205-4. S2CID 2617020 .
- ^ Avilov, Oleksii; Rimbert, Sebastien; Popov, Anton; Bougrain, Laurent (julio de 2020). "Técnicas de aprendizaje profundo para mejorar la detección de la conciencia intraoperatoria de señales electroencefalográficas" . 2020 42a Conferencia Internacional Anual de la Sociedad de Ingeniería en Medicina y Biología del IEEE (EMBC) . Montreal, QC, Canadá: IEEE. 2020 : 142-145. doi : 10.1109 / EMBC44109.2020.9176228 . ISBN 978-1-7281-1990-8. PMID 33017950 . S2CID 221386616 .
- ^ a b Tsantekidis, Avraam; Passalis, Nikolaos; Tefas, Anastasios; Kanniainen, Juho; Gabbouj, Moncef; Iosifidis, Alexandros (julio de 2017). "Previsión de los precios de las acciones del libro de órdenes límite utilizando redes neuronales convolucionales". 2017 IEEE 19th Conference on Business Informatics (CBI) . Salónica, Grecia: IEEE: 7–12. doi : 10.1109 / CBI.2017.23 . ISBN 978-1-5386-3035-8. S2CID 4950757 .
- ^ a b c Fukushima, K. (2007). "Neocognitron" . Scholarpedia . 2 (1): 1717. Bibcode : 2007SchpJ ... 2.1717F . doi : 10.4249 / scholarpedia.1717 .
- ^ a b Hubel, DH; Wiesel, TN (1 de marzo de 1968). "Campos receptivos y arquitectura funcional de la corteza estriada del mono" . La revista de fisiología . 195 (1): 215–243. doi : 10.1113 / jphysiol.1968.sp008455 . ISSN 0022-3751 . PMC 1557912 . PMID 4966457 .
- ^ a b Fukushima, Kunihiko (1980). "Neocognitron: un modelo de red neuronal autoorganizada para un mecanismo de reconocimiento de patrones que no se ve afectado por el cambio de posición" (PDF) . Cibernética biológica . 36 (4): 193–202. doi : 10.1007 / BF00344251 . PMID 7370364 . S2CID 206775608 . Consultado el 16 de noviembre de 2013 .
- ^ a b Matusugu, Masakazu; Katsuhiko Mori; Yusuke Mitari; Yuji Kaneda (2003). "Reconocimiento de expresiones faciales independientes del sujeto con detección de rostros robusta mediante una red neuronal convolucional" (PDF) . Redes neuronales . 16 (5): 555–559. doi : 10.1016 / S0893-6080 (03) 00115-1 . PMID 12850007 . Consultado el 17 de noviembre de 2013 .
- ^ Ian Goodfellow y Yoshua Bengio y Aaron Courville (2016). Aprendizaje profundo . Prensa del MIT. pag. 326.
- ^ "Redes neuronales convolucionales (LeNet) - documentación de DeepLearning 0.1" . Aprendizaje profundo 0.1 . Laboratorio LISA . Consultado el 31 de agosto de 2013 .
- ^ Habibi, Aghdam, Hamed (30 de mayo de 2017). Guía de redes neuronales convolucionales: una aplicación práctica para la detección y clasificación de señales de tráfico . Heravi, Elnaz Jahani. Cham, Suiza. ISBN 9783319575490. OCLC 987790957 .
- ^ Venkatesan, Ragav; Li, Baoxin (23 de octubre de 2017). Redes neuronales convolucionales en computación visual: una guía concisa . Prensa CRC. ISBN 978-1-351-65032-8.
- ^ Balas, Valentina E .; Kumar, Raghvendra; Srivastava, Rajshree (19 de noviembre de 2019). Tendencias y avances recientes en inteligencia artificial e Internet de las cosas . Springer Nature. ISBN 978-3-030-32644-9.
- ^ a b c Ciresan, Dan; Ueli Meier; Jonathan Masci; Luca M. Gambardella; Jurgen Schmidhuber (2011). "Redes neuronales convolucionales flexibles de alto rendimiento para clasificación de imágenes" (PDF) . Actas de la Vigésima Segunda Conferencia Conjunta Internacional sobre Inteligencia Artificial - Volumen Dos . 2 : 1237-1242 . Consultado el 17 de noviembre de 2013 .
- ^ Krizhevsky , Alex. "Clasificación de ImageNet con redes neuronales convolucionales profundas" (PDF) . Consultado el 17 de noviembre de 2013 .
- ^ a b Yamaguchi, Kouichi; Sakamoto, Kenji; Akabane, Toshio; Fujimoto, Yoshiji (noviembre de 1990). Una red neuronal para el reconocimiento de palabras aisladas independientemente del hablante . Primera Conferencia Internacional sobre Procesamiento del Lenguaje Hablado (ICSLP 90). Kobe, Japón.
- ^ a b c d Ciresan, Dan; Meier, Ueli; Schmidhuber, Jürgen (junio de 2012). Redes neuronales profundas de varias columnas para clasificación de imágenes . 2012 Conferencia IEEE sobre visión artificial y reconocimiento de patrones . Nueva York, NY: Instituto de Ingenieros Eléctricos y Electrónicos (IEEE). págs. 3642–3649. arXiv : 1202.2745 . CiteSeerX 10.1.1.300.3283 . doi : 10.1109 / CVPR.2012.6248110 . ISBN 978-1-4673-1226-4. OCLC 812295155 . S2CID 2161592 .
- ^ LeCun, Yann. "LeNet-5, redes neuronales convolucionales" . Consultado el 16 de noviembre de 2013 .
- ^ Mahapattanakul, Puttatida (11 de noviembre de 2019). "De la visión humana a la visión por computadora - Red neuronal convolucional (Part3 / 4)" . Medio .
- ^ a b Hubel, DH; Wiesel, TN (octubre de 1959). "Campos receptivos de neuronas individuales en la corteza estriada del gato" . J. Physiol . 148 (3): 574–91. doi : 10.1113 / jphysiol.1959.sp006308 . PMC 1363130 . PMID 14403679 .
- ^ David H. Hubel y Torsten N. Wiesel (2005). Cerebro y percepción visual: la historia de una colaboración de 25 años . Oxford University Press EE. UU. pag. 106. ISBN 978-0-19-517618-6.
- ^ LeCun, Yann; Bengio, Yoshua; Hinton, Geoffrey (2015). "Aprendizaje profundo". Naturaleza . 521 (7553): 436–444. Código Bibliográfico : 2015Natur.521..436L . doi : 10.1038 / nature14539 . PMID 26017442 . S2CID 3074096 .
- ^ Weng, J; Ahuja, N; Huang, TS (1993). "Aprendizaje de reconocimiento y segmentación de objetos 3-D a partir de imágenes 2-D". Proc. 4ta Conf. Internacional Visión por computadora : 121–128. doi : 10.1109 / ICCV.1993.378228 . ISBN 0-8186-3870-2. S2CID 8619176 .
- ^ a b c Schmidhuber, Jürgen (2015). "Aprendizaje profundo" . Scholarpedia . 10 (11): 1527–54. CiteSeerX 10.1.1.76.1541 . doi : 10.1162 / neco.2006.18.7.1527 . PMID 16764513 . S2CID 2309950 .
- ^ Homma, Toshiteru; Les Atlas; Robert Marks II (1988). "Una red neuronal artificial para patrones bipolares espacio-temporales: aplicación a la clasificación de fonemas" (PDF) . Avances en sistemas de procesamiento de información neuronal . 1 : 31–40.
- ^ a b Waibel, Alex (diciembre de 1987). Reconocimiento de fonemas mediante redes neuronales de retardo temporal . Reunión del Instituto de Ingenieros Eléctricos, de la Información y las Comunicaciones (IEICE). Tokio, Japón.
- ^ a b Alexander Waibel et al., Reconocimiento de fonemas mediante transacciones de IEEE de redes neuronales con retardo de tiempo sobre acústica, habla y procesamiento de señales, volumen 37, núm. 3, págs. 328. - 339 de marzo de 1989.
- ^ LeCun, Yann; Bengio, Yoshua (1995). "Redes convolucionales de imágenes, habla y series de tiempo" . En Arbib, Michael A. (ed.). El manual de teoría del cerebro y redes neuronales (Segunda ed.). La prensa del MIT. págs. 276–278.
- ^ John B. Hampshire y Alexander Waibel, Arquitecturas conexionistas para el reconocimiento de fonemas de varios altavoces , Avances en sistemas de procesamiento de información neuronal, 1990, Morgan Kaufmann.
- ^ a b Le Callet, Patrick; Christian Viard-Gaudin; Dominique Barba (2006). "Un enfoque de red neuronal convolucional para la evaluación objetiva de la calidad del vídeo" (PDF) . Transacciones IEEE en redes neuronales . 17 (5): 1316-1327. doi : 10.1109 / TNN.2006.879766 . PMID 17001990 . S2CID 221185563 . Consultado el 17 de noviembre de 2013 .
- ^ Ko, Tom; Peddinti, Vijayaditya; Povey, Daniel; Seltzer, Michael L .; Khudanpur, Sanjeev (marzo de 2018). Un estudio sobre el aumento de datos del habla reverberante para un reconocimiento de voz robusto (PDF) . La 42a Conferencia Internacional IEEE sobre Acústica, Habla y Procesamiento de Señales (ICASSP 2017). Nueva Orleans, LA, Estados Unidos.
- ^ Denker, JS, Gardner, W R., Graf, H. P, Henderson, D, Howard, RE, Hubbard, W, Jackel, LD, BaIrd, HS y Guyon (1989) Reconocimiento de redes neuronales para zip escrito a mano dígitos de código , AT&T Bell Laboratories
- ^ a b Y. LeCun, B. Boser, JS Denker, D. Henderson, RE Howard, W. Hubbard, LD Jackel, retropropagación aplicada al reconocimiento del código postal manuscrito ; Laboratorios AT&T Bell
- ^ LeCun, Yann; Léon Bottou; Yoshua Bengio; Patrick Haffner (1998). "Aprendizaje basado en gradientes aplicado al reconocimiento de documentos" (PDF) . Actas del IEEE . 86 (11): 2278–2324. CiteSeerX 10.1.1.32.9552 . doi : 10.1109 / 5.726791 . Consultado el 7 de octubre de 2016 .
- ^ Zhang, Wei (1991). "Propagación hacia atrás de error con pesos de entropía mínima: una técnica para una mejor generalización de NN 2-D Shift-Invariant" . Actas de la Conferencia conjunta internacional sobre redes neuronales .
- ^ Zhang, Wei (1991). "Procesamiento de imágenes del endotelio corneal humano basado en una red de aprendizaje" . Óptica aplicada . 30 (29): 4211–7. Código Bibliográfico : 1991ApOpt..30.4211Z . doi : 10.1364 / AO.30.004211 . PMID 20706526 .
- ^ Zhang, Wei (1994). "Detección computarizada de microcalcificaciones agrupadas en mamografías digitales utilizando una red neuronal artificial invariante de cambio" . Física Médica . 21 (4): 517–24. Código bibliográfico : 1994MedPh..21..517Z . doi : 10.1118 / 1.597177 . PMID 8058017 .
- ^ Daniel Graupe, Ruey Wen Liu, George S Moschytz. " Aplicaciones de las redes neuronales al procesamiento de señales médicas ". En Proc. 27.a Conferencia de decisión y control del IEEE, págs. 343–347, 1988.
- ^ Daniel Graupe, Boris Vern, G. Gruener, Aaron Field y Qiu Huang. " Descomposición de señales EMG de superficie en potenciales de acción de fibra única mediante red neuronal ". Proc. IEEE International Symp. sobre circuitos y sistemas, págs. 1008-1011, 1989.
- ^ Qiu Huang, Daniel Graupe, Yi Fang Huang, Ruey Wen Liu. " Identificación de patrones de activación de señales neuronales ". En Proc. 28.a Conferencia de Decisión y Control del IEEE, págs. 266-271, 1989.
- ^ Behnke, Sven (2003). Redes neuronales jerárquicas para la interpretación de imágenes (PDF) . Apuntes de conferencias en Ciencias de la Computación. 2766 . Saltador. doi : 10.1007 / b11963 . ISBN 978-3-540-40722-5. S2CID 1304548 .
- ^ Oh, KS; Jung, K (2004). "Implementación de GPU de redes neuronales". Reconocimiento de patrones . 37 (6): 1311-1314. doi : 10.1016 / j.patcog.2004.01.013 .
- ^ Dave Steinkraus; Patrice Simard; Ian Buck (2005). "Uso de GPU para algoritmos de aprendizaje automático" . XII Congreso Internacional de Análisis y Reconocimiento de Documentos (ICDAR 2005) . págs. 1115-1119.
- ^ Kumar Chellapilla; Sid Puri; Patrice Simard (2006). "Redes neuronales convolucionales de alto rendimiento para el procesamiento de documentos" . En Lorette, Guy (ed.). Décimo Taller Internacional de Fronteras en el Reconocimiento de la Caligrafía . Suvisoft.
- ^ Hinton, GE; Osindero, S; Teh, YW (julio de 2006). "Un algoritmo de aprendizaje rápido para redes de creencias profundas". Computación neuronal . 18 (7): 1527–54. CiteSeerX 10.1.1.76.1541 . doi : 10.1162 / neco.2006.18.7.1527 . PMID 16764513 . S2CID 2309950 .
- ^ Bengio, Yoshua; Lamblin, Pascal; Popovici, Dan; Larochelle, Hugo (2007). "Formación codiciosa de redes profundas" (PDF) . Avances en los sistemas de procesamiento de información neuronal : 153–160.
- ^ Ranzato, MarcAurelio; Poultney, Christopher; Chopra, Sumit; LeCun, Yann (2007). "Aprendizaje eficiente de representaciones dispersas con un modelo basado en energía" (PDF) . Avances en sistemas de procesamiento de información neuronal .
- ^ Raina, R; Madhavan, A; Ng, Andrew (2009). "Aprendizaje profundo no supervisado a gran escala utilizando procesadores gráficos" (PDF) . ICML : 873–880.
- ^ Ciresan, Dan; Meier, Ueli; Gambardella, Luca; Schmidhuber, Jürgen (2010). "Redes neuronales simples grandes y profundas para el reconocimiento de dígitos escritos a mano". Computación neuronal . 22 (12): 3207–3220. arXiv : 1003.0358 . doi : 10.1162 / NECO_a_00052 . PMID 20858131 . S2CID 1918673 .
- ^ "Tabla de resultados de la competencia IJCNN 2011" . COMPETICIÓN OFICIAL IJCNN2011 . 2010 . Consultado el 14 de enero de 2019 .
- ^ Schmidhuber, Jürgen (17 de marzo de 2017). "Historia de los concursos de visión por computadora ganados por CNN profundos en GPU" . Consultado el 14 de enero de 2019 .
- ^ a b Krizhevsky, Alex; Sutskever, Ilya; Hinton, Geoffrey E. (24 de mayo de 2017). "Clasificación de ImageNet con redes neuronales convolucionales profundas" (PDF) . Comunicaciones de la ACM . 60 (6): 84–90. doi : 10.1145 / 3065386 . ISSN 0001-0782 . S2CID 195908774 .
- ^ Él, Kaiming; Zhang, Xiangyu; Ren, Shaoqing; Sol, Jian (2016). "Aprendizaje profundo residual para el reconocimiento de imágenes" (PDF) . Conferencia IEEE de 2016 sobre visión por computadora y reconocimiento de patrones (CVPR) : 770–778. arXiv : 1512.03385 . doi : 10.1109 / CVPR.2016.90 . ISBN 978-1-4673-8851-1. S2CID 206594692 .
- ^ Viebke, Andre; Pllana, Sabri (2015). "El potencial de Intel (R) Xeon Phi para el aprendizaje profundo supervisado" . 2015 IEEE 17th International Conference on High Performance Computing and Communications, 2015 IEEE 7th International Symposium on Cyberspace Safety and Security, y 2015 IEEE 12th International Conference on Embedded Software and Systems . IEEE Xplore . IEEE 2015. págs. 758–765. doi : 10.1109 / HPCC-CSS-ICESS.2015.45 . ISBN 978-1-4799-8937-9. S2CID 15411954 .
- ^ Viebke, Andre; Memeti, Suejb; Pllana, Sabri; Abraham, Ajith (2019). "CHAOS: un esquema de paralelización para el entrenamiento de redes neuronales convolucionales en Intel Xeon Phi". El diario de la supercomputación . 75 (1): 197–227. arXiv : 1702.07908 . doi : 10.1007 / s11227-017-1994-x . S2CID 14135321 .
- ^ Hinton, Geoffrey (2012). "Clasificación de ImageNet con redes neuronales convolucionales profundas" . NIPS'12: Actas de la 25a Conferencia Internacional sobre Sistemas de Procesamiento de Información Neural - Volumen 1 . 1 : 1097–1105 - a través de ACM.
- ^ a b c d e Azulay, Aharon; Weiss, Yair (2019). "¿Por qué las redes convolucionales profundas se generalizan tan mal a pequeñas transformaciones de imágenes?" . Revista de investigación sobre aprendizaje automático . 20 (184): 1–25. ISSN 1533-7928 .
- ^ a b Géron, Aurélien (2019). Aprendizaje automático práctico con Scikit-Learn, Keras y TensorFlow . Sebastopol, CA: O'Reilly Media. ISBN 978-1-492-03264-9., págs.448
- ^ "Redes neuronales convolucionales CS231n para reconocimiento visual" . cs231n.github.io . Consultado el 25 de abril de 2017 .
- ^ a b Scherer, Dominik; Müller, Andreas C .; Behnke, Sven (2010). "Evaluación de operaciones de agrupación en arquitecturas convolucionales para el reconocimiento de objetos" (PDF) . Redes neuronales artificiales (ICANN), 20ª Conferencia Internacional sobre . Salónica, Grecia: Springer. págs. 92-101.
- ^ Graham, Benjamin (18 de diciembre de 2014). "Agrupación máxima fraccionada". arXiv : 1412.6071 [ cs.CV ].
- ^ Springenberg, Jost Tobias; Dosovitskiy, Alexey; Brox, Thomas; Riedmiller, Martin (21 de diciembre de 2014). "Luchando por la simplicidad: la red convolucional". arXiv : 1412,6806 [ cs.LG ].
- ^ Grel, Tomasz (28 de febrero de 2017). "Explicación de la agrupación de regiones de interés" . deepsense.io .
- ^ Girshick, Ross (27 de septiembre de 2015). "Rápido R-CNN". arXiv : 1504.08083 [ cs.CV ].
- ^ Romanuke, Vadim (2017). "Número apropiado y asignación de ReLUs en redes neuronales convolucionales" . Boletín de investigación de NTUU "Instituto Politécnico de Kiev" . 1 : 69–78. doi : 10.20535 / 1810-0546.2017.1.88156 .
- ^ Krizhevsky, A .; Sutskever, I .; Hinton, GE (2012). "Clasificación de Imagenet con redes neuronales convolucionales profundas" (PDF) . Avances en sistemas de procesamiento de información neuronal . 1 : 1097–1105.
- ^ Deshpande, Adit. "Los 9 artículos de aprendizaje profundo que necesita conocer (comprensión de las CNN, parte 3)" . adeshpande3.github.io . Consultado el 4 de diciembre de 2018 .
- ^ Myburgh, Johannes C .; Mouton, Coenraad; Davel, Marelie H. (2020). Gerber, Aurona (ed.). "Seguimiento de la invariancia de la traducción en las CNN" . Investigación en Inteligencia Artificial . Comunicaciones en Informática y Ciencias de la Información. Cham: Springer International Publishing. 1342 : 282–295. arXiv : 2104.05997 . doi : 10.1007 / 978-3-030-66151-9_18 . ISBN 978-3-030-66151-9. S2CID 233219976 .
- ^ Richard, Zhang (25 de abril de 2019). Hacer que las redes convolucionales sean invariables al cambio de nuevo . OCLC 1106340711 .
- ^ Jadeberg, Simonyan, Zisserman, Kavukcuoglu, Max, Karen, Andrew, Koray (2015). "Redes de transformadores espaciales" (PDF) . Avances en sistemas de procesamiento de información neuronal . 28 - a través de NIPS.CS1 maint: varios nombres: lista de autores ( enlace )
- ^ E, Sabour, Sara Frosst, Nicholas Hinton, Geoffrey (26 de octubre de 2017). Enrutamiento dinámico entre cápsulas . OCLC 1106278545 .
- ^ Srivastava, Nitish; C. Geoffrey Hinton; Alex Krizhevsky; Ilya Sutskever; Ruslan Salakhutdinov (2014). "Abandono: una forma sencilla de evitar el sobreajuste de las redes neuronales" (PDF) . Revista de investigación sobre aprendizaje automático . 15 (1): 1929-1958.
- ^ Carlos E. Pérez. "Un lenguaje de patrones para el aprendizaje profundo" .
- ^ "Regularización de redes neuronales mediante DropConnect | ICML 2013 | JMLR W&CP" . jmlr.org : 1058–1066. 2013-02-13 . Consultado el 17 de diciembre de 2015 .
- ^ Zeiler, Matthew D .; Fergus, Rob (15 de enero de 2013). "Agrupación estocástica para la regularización de redes neuronales convolucionales profundas". arXiv : 1301,3557 [ cs.LG ].
- ^ a b Platt, John; Steinkraus, Dave; Simard, Patrice Y. (agosto de 2003). "Mejores prácticas para redes neuronales convolucionales aplicadas al análisis de documentos visuales - Investigación de Microsoft" . Investigación de Microsoft . Consultado el 17 de diciembre de 2015 .
- ^ Hinton, Geoffrey E .; Srivastava, Nitish; Krizhevsky, Alex; Sutskever, Ilya; Salakhutdinov, Ruslan R. (2012). "Mejora de las redes neuronales evitando la coadaptación de detectores de características". arXiv : 1207,0580 [ cs.NE ].
- ^ "Abandono: una forma sencilla de evitar el sobreajuste de las redes neuronales" . jmlr.org . Consultado el 17 de diciembre de 2015 .
- ^ Hinton, Geoffrey (1979). "Algunas demostraciones de los efectos de las descripciones estructurales en la imaginería mental". Ciencia cognitiva . 3 (3): 231–250. doi : 10.1016 / s0364-0213 (79) 80008-7 .
- ^ Rock, Irvin. "El marco de referencia". El legado de Solomon Asch: Ensayos sobre cognición y psicología social (1990): 243–268.
- ^ J. Hinton, Conferencias de Coursera sobre redes neuronales, 2012, Url: https://www.coursera.org/learn/neural-networks Archivado el 31 de diciembre de 2016 en la Wayback Machine.
- ^ Dave Gershgorn (18 de junio de 2018). "La historia interna de cómo la IA se volvió lo suficientemente buena como para dominar Silicon Valley" . Cuarzo . Consultado el 5 de octubre de 2018 .
- ^ Lawrence, Steve; C. Lee Giles; Ah Chung Tsoi; Andrew D. Back (1997). "Reconocimiento facial: un enfoque de red neuronal convolucional". Transacciones IEEE en redes neuronales . 8 (1): 98-113. CiteSeerX 10.1.1.92.5813 . doi : 10.1109 / 72.554195 . PMID 18255614 .
- ^ "Concurso de reconocimiento visual a gran escala de ImageNet 2014 (ILSVRC2014)" . Consultado el 30 de enero de 2016 .
- ^ Szegedy, Christian; Liu, Wei; Jia, Yangqing; Sermanet, Pierre; Reed, Scott; Anguelov, Dragomir; Erhan, Dumitru; Vanhoucke, Vincent; Rabinovich, Andrew (2014). "Profundizar con las convoluciones" . Repositorio de investigación informática . arXiv : 1409,4842 . Código Bib : 2014arXiv1409.4842S .
- ^ Russakovsky, Olga ; Deng, Jia; Su, Hao; Krause, Jonathan; Satheesh, Sanjeev; Ma, Sean; Huang, Zhiheng; Karpathy, Andrej ; Khosla, Aditya; Bernstein, Michael; Berg, Alexander C .; Fei-Fei, Li (2014). " Desafío de reconocimiento visual a gran escala de Image Net ". arXiv : 1409.0575 [ cs.CV ].
- ^ "El algoritmo de detección de rostros configurado para revolucionar la búsqueda de imágenes" . Revisión de tecnología . 16 de febrero de 2015 . Consultado el 27 de octubre de 2017 .
- ^ Baccouche, Moez; Mamalet, Franck; Wolf, Christian; García, Christophe; Baskurt, Atilla (16 de noviembre de 2011). "Deep Learning secuencial para el reconocimiento de la acción humana". En Salah, Albert Ali; Lepri, Bruno (eds.). Comprensión del comportamiento humano . Apuntes de conferencias en Ciencias de la Computación. 7065 . Springer Berlín Heidelberg. págs. 29–39. CiteSeerX 10.1.1.385.4740 . doi : 10.1007 / 978-3-642-25446-8_4 . ISBN 978-3-642-25445-1.
- ^ Ji, Shuiwang; Xu, Wei; Yang, Ming; Yu, Kai (1 de enero de 2013). "Redes neuronales convolucionales 3D para el reconocimiento de la acción humana". Transacciones IEEE sobre análisis de patrones e inteligencia de máquinas . 35 (1): 221–231. CiteSeerX 10.1.1.169.4046 . doi : 10.1109 / TPAMI.2012.59 . ISSN 0162-8828 . PMID 22392705 . S2CID 1923924 .
- ^ Huang, Jie; Zhou, Wengang; Zhang, Qilin; Li, Houqiang; Li, Weiping (2018). "Reconocimiento de lenguaje de señas basado en video sin segmentación temporal". arXiv : 1801.10111 [ cs.CV ].
- ^ Karpathy, Andrej, et al. " Clasificación de video a gran escala con redes neuronales convolucionales ". Conferencia IEEE sobre Visión por Computador y Reconocimiento de Patrones (CVPR). 2014.
- ^ Simonyan, Karen; Zisserman, Andrew (2014). "Redes convolucionales de dos corrientes para el reconocimiento de acciones en videos". arXiv : 1406,2199 [ cs.CV ]. (2014).
- ^ Wang, Le; Duan, Xuhuan; Zhang, Qilin; Niu, Zhenxing; Hua, Gang; Zheng, Nanning (22 de mayo de 2018). "Segment-Tube: localización de acciones espacio-temporales en videos sin recortar con segmentación por cuadro" (PDF) . Sensores . 18 (5): 1657. doi : 10.3390 / s18051657 . ISSN 1424-8220 . PMC 5982167 . PMID 29789447 .
- ^ Duan, Xuhuan; Wang, Le; Zhai, Changbo; Zheng, Nanning; Zhang, Qilin; Niu, Zhenxing; Hua, Gang (2018). Localización de acciones conjuntas espacio-temporales en videos sin recortar con segmentación por fotograma . 25th IEEE International Conference on Image Processing (ICIP). doi : 10.1109 / icip.2018.8451692 . ISBN 978-1-4799-7061-2.
- ^ Taylor, Graham W .; Fergus, Rob; LeCun, Yann; Bregler, Christoph (1 de enero de 2010). Aprendizaje convolucional de características espacio-temporales . Actas de la XI Conferencia Europea de Visión por Computador: Parte VI . ECCV'10. Berlín, Heidelberg: Springer-Verlag. págs. 140-153. ISBN 978-3-642-15566-6.
- ^ Le, QV; Zou, WY; Yeung, SY; Ng, AY (1 de enero de 2011). Aprendizaje de características espacio-temporales invariantes jerárquicas para el reconocimiento de acciones con análisis del subespacio independiente . Actas de la Conferencia IEEE 2011 sobre Visión por Computador y Reconocimiento de Patrones . CVPR '11. Washington, DC, EE.UU .: IEEE Computer Society. págs. 3361–3368. CiteSeerX 10.1.1.294.5948 . doi : 10.1109 / CVPR.2011.5995496 . ISBN 978-1-4577-0394-2. S2CID 6006618 .
- ^ Grefenstette, Edward; Blunsom, Phil; de Freitas, Nando; Hermann, Karl Moritz (29 de abril de 2014). "Una arquitectura profunda para el análisis semántico". arXiv : 1404,7296 [ cs.CL ].
- ^ Mesnil, Gregoire; Deng, Li; Gao, Jianfeng; Él, Xiaodong; Shen, Yelong (abril de 2014). "Aprendizaje de representaciones semánticas mediante redes neuronales convolucionales para búsqueda en la Web - Investigación de Microsoft" . Investigación de Microsoft . Consultado el 17 de diciembre de 2015 .
- ^ Kalchbrenner, Nal; Grefenstette, Edward; Blunsom, Phil (8 de abril de 2014). "Una red neuronal convolucional para modelar oraciones". arXiv : 1404.2188 [ cs.CL ].
- ^ Kim, Yoon (25 de agosto de 2014). "Redes neuronales convolucionales para la clasificación de oraciones". arXiv : 1408.5882 [ cs.CL ].
- ^ Collobert, Ronan y Jason Weston. " Una arquitectura unificada para el procesamiento del lenguaje natural: redes neuronales profundas con aprendizaje multitarea ". Actas de la 25ª conferencia internacional sobre aprendizaje automático. ACM, 2008.
- ^ Collobert, Ronan; Weston, Jason; Bottou, León; Karlen, Michael; Kavukcuoglu, Koray; Kuksa, Pavel (2 de marzo de 2011). "Procesamiento del lenguaje natural (casi) desde cero". arXiv : 1103.0398 [ cs.LG ].
- ^ Ren, Hansheng; Xu, Bixiong; Wang, Yujing; Yi, Chao; Huang, Congrui; Kou, Xiaoyu; Xing, Tony; Yang, Mao; Tong, Jie; Zhang, Qi (2019). "Servicio de detección de anomalías de series de tiempo en Microsoft | Actas de la 25ª Conferencia internacional ACM SIGKDD sobre descubrimiento de conocimientos y minería de datos". arXiv : 1906.03821 . doi : 10.1145 / 3292500.3330680 . S2CID 182952311 . Cite journal requiere
|journal=
( ayuda ) - ^ Wallach, Izhar; Dzamba, Michael; Heifets, Abraham (9 de octubre de 2015). "AtomNet: una red neuronal convolucional profunda para la predicción de la bioactividad en el descubrimiento de fármacos basado en estructuras". arXiv : 1510.02855 [ cs.LG ].
- ^ Yosinski, Jason; Clune, Jeff; Nguyen, Anh; Fuchs, Thomas; Lipson, Hod (22 de junio de 2015). "Comprensión de las redes neuronales a través de la visualización profunda". arXiv : 1506.06579 [ cs.CV ].
- ^ "La startup de Toronto tiene una forma más rápida de descubrir medicamentos eficaces" . El globo y el correo . Consultado el 9 de noviembre de 2015 .
- ^ "Startup aprovecha las supercomputadoras para buscar curas" . KQED Future of You . 2015-05-27 . Consultado el 9 de noviembre de 2015 .
- ^ Tim Pyrkov; Konstantin Slipensky; Mikhail Barg; Alexey Kondrashin; Boris Zhurov; Alexander Zenin; Mikhail Pyatnitskiy; Leonid Menshikov; Sergei Markov; Peter O. Fedichev (2018). "Extraer la edad biológica de los datos biomédicos a través del aprendizaje profundo: ¿es demasiado bueno?" . Informes científicos . 8 (1): 5210. Bibcode : 2018NatSR ... 8.5210P . doi : 10.1038 / s41598-018-23534-9 . PMC 5980076 . PMID 29581467 .
- ^ Chellapilla, K; Fogel, DB (1999). "Evolución de las redes neuronales para jugar a las damas sin depender del conocimiento experto". IEEE Trans Neural Netw . 10 (6): 1382–91. doi : 10.1109 / 72.809083 . PMID 18252639 .
- ^ Chellapilla, K .; Fogel, DB (2001). "Evolución de un programa de juego de damas expertos sin utilizar la experiencia humana". Transacciones IEEE sobre Computación Evolutiva . 5 (4): 422–428. doi : 10.1109 / 4235.942536 .
- ^ Fogel, David (2001). Blondie24: Jugando al borde de la IA . San Francisco, CA: Morgan Kaufmann. ISBN 978-1558607835.
- ^ Clark, Christopher; Storkey, Amos (2014). "Enseñanza de redes neuronales convolucionales profundas para jugar a ir". arXiv : 1412,3409 [ cs.AI ].
- ^ Maddison, Chris J .; Huang, Aja; Sutskever, Ilya; Plata, David (2014). "Mover la evaluación en Go utilizando redes neuronales convolucionales profundas". arXiv : 1412,6564 [ cs.LG ].
- ^ "AlphaGo - Google DeepMind" . Archivado desde el original el 30 de enero de 2016 . Consultado el 30 de enero de 2016 .
- ^ Bai, Shaojie; Kolter, J. Zico; Koltun, Vladlen (19 de abril de 2018). "Una evaluación empírica de redes convolucionales y recurrentes genéricas para el modelado de secuencias". arXiv : 1803.01271 [ cs.LG ].
- ^ Yu, Fisher; Koltun, Vladlen (30 de abril de 2016). "Agregación de contexto multiescala por convoluciones dilatadas". arXiv : 1511.07122 [ cs.CV ].
- ^ Borovykh, Anastasia; Bohte, Sander; Oosterlee, Cornelis W. (17 de septiembre de 2018). "Predicción de series de tiempo condicional con redes neuronales convolucionales". arXiv : 1703.04691 [ stat.ML ].
- ^ Mittelman, Roni (3 de agosto de 2015). "Modelado de series de tiempo con redes neuronales totalmente convolucionales indecimadas". arXiv : 1508.00317 [ stat.ML ].
- ^ Chen, Yitian; Kang, Yanfei; Chen, Yixiong; Wang, Zizhuo (11 de junio de 2019). "Pronóstico probabilístico con red neuronal convolucional temporal". arXiv : 1906.04397 [ stat.ML ].
- ^ Zhao, Bendong; Lu, Huanzhang; Chen, Shangfeng; Liu, Junliang; Wu, Dongya (1 de febrero de 2017). "Redes neuronales convolucionales para series de tiempo clasi". Revista de Ingeniería de Sistemas y Electrónica . 28 (1): 162-169. doi : 10.21629 / JSEE.2017.01.18 .
- ^ Petneházi, Gábor (21 de agosto de 2019). "QCNN: red neuronal convolucional de cuantiles". arXiv : 1908.07978 [ cs.LG ].
- ^ Hubert Mara (2019-06-07), HeiCuBeDa Hilprecht - Heidelberg Cuneiform Benchmark Dataset for the Hilprecht Collection (en alemán), heiDATA - repositorio institucional para datos de investigación de la Universidad de Heidelberg, doi : 10.11588 / data / IE8CCN
- ^ Hubert Mara y Bartosz Bogacz (2019), "Breaking the Code on Broken Tablets: The Learning Challenge for Anotated Cuneiform Script in Normalized 2D and 3D Datasets", Actas de la XV Conferencia Internacional sobre Análisis y Reconocimiento de Documentos (ICDAR) (en alemán) , Sydney, Australia, págs. 148-153, doi : 10.1109 / ICDAR.2019.00032 , ISBN 978-1-7281-3014-9, S2CID 211026941
- ^ Bogacz, Bartosz; Mara, Hubert (2020), "Clasificación de períodos de tabletas cuneiformes 3D con redes neuronales geométricas", Actas de la 17a Conferencia Internacional sobre las fronteras del reconocimiento de la escritura a mano (ICFHR) , Dortmund, Alemania
- ^ Presentación del documento ICFHR sobre clasificación de períodos de tabletas cuneiformes 3D con redes neuronales geométricas en YouTube
- ^ Durjoy Sen Maitra; Ujjwal Bhattacharya; SK Parui, "Enfoque común basado en CNN para el reconocimiento de caracteres escritos a mano de múltiples escrituras", en Análisis y reconocimiento de documentos (ICDAR), 2015 13th International Conference on, vol., No., Pp. 1021-1025, 23-26 de agosto de 2015
- ^ "NIPS 2017" . Simposio de ML interpretable . 2017-10-20 . Consultado el 12 de septiembre de 2018 .
- ^ Zang, Jinliang; Wang, Le; Liu, Ziyi; Zhang, Qilin; Hua, Gang; Zheng, Nanning (2018). "Red neuronal convolucional ponderada temporal basada en la atención para el reconocimiento de la acción". Avances de IFIP en tecnología de la información y la comunicación . Cham: Springer International Publishing. págs. 97-108. arXiv : 1803.07179 . doi : 10.1007 / 978-3-319-92007-8_9 . ISBN 978-3-319-92006-1. ISSN 1868-4238 . S2CID 4058889 .
- ^ Wang, Le; Zang, Jinliang; Zhang, Qilin; Niu, Zhenxing; Hua, Gang; Zheng, Nanning (21 de junio de 2018). "Reconocimiento de acciones por una red neuronal convolucional ponderada temporal consciente de la atención" (PDF) . Sensores . 18 (7): 1979. doi : 10.3390 / s18071979 . ISSN 1424-8220 . PMC 6069475 . PMID 29933555 .
- ^ Ong, Hao Yi; Chávez, Kevin; Hong, Augustus (18 de agosto de 2015). "Distributed Deep Q-Learning". arXiv : 1508.04186v2 [ cs.LG ].
- ^ Mnih, Volodymyr; et al. (2015). "Control a nivel humano a través del aprendizaje por refuerzo profundo". Naturaleza . 518 (7540): 529–533. Código Bib : 2015Natur.518..529M . doi : 10.1038 / nature14236 . PMID 25719670 . S2CID 205242740 .
- ^ Sun, R .; Sessions, C. (junio de 2000). "Autosegmentación de secuencias: formación automática de jerarquías de comportamientos secuenciales". Transacciones IEEE sobre sistemas, hombre y cibernética - Parte B: Cibernética . 30 (3): 403–418. CiteSeerX 10.1.1.11.226 . doi : 10.1109 / 3477.846230 . ISSN 1083-4419 . PMID 18252373 .
- ^ "Redes convolucionales de creencias profundas en CIFAR-10" (PDF) .
- ^ Lee, Honglak; Grosse, Roger; Ranganath, Rajesh; Ng, Andrew Y. (1 de enero de 2009). Redes convolucionales de creencias profundas para el aprendizaje escalable no supervisado de representaciones jerárquicas . Actas de la 26a Conferencia Internacional Anual sobre Aprendizaje Automático - ICML '09 . ACM. págs. 609–616. CiteSeerX 10.1.1.149.6800 . doi : 10.1145 / 1553374.1553453 . ISBN 9781605585161. S2CID 12008458 .
- ^ Cade Metz (18 de mayo de 2016). "Google construyó sus propios chips para impulsar sus bots de inteligencia artificial" . Cableado .
- ^ "Documentación de Keras" . keras.io .
enlaces externos
- CS231n: convolucionales redes neuronales para Visual Reconocimiento - Andrej Karpathy 's Stanford curso de informática en CNNs en la visión por ordenador
- Una explicación intuitiva de las redes neuronales convolucionales : una introducción para principiantes sobre qué son las redes neuronales convolucionales y cómo funcionan.
- Redes neuronales convolucionales para clasificación de imágenes : estudio de literatura