Quiero usar el aprendizaje profundo en mi proyecto. Revisé un par de artículos y se me ocurrió una pregunta: ¿hay alguna diferencia entre la red neuronal de convolución y el aprendizaje profundo? ¿Son estas cosas iguales o tienen diferencias importantes, y cuál es mejor?
machine-learning
neural-networks
deep-learning
terminology
conv-neural-network
Aadnan Farooq A
fuente
fuente
Respuestas:
Deep Learning es la rama del aprendizaje automático basada en redes neuronales profundas (DNN), es decir, redes neuronales con al menos 3 o 4 capas (incluidas las capas de entrada y salida). Pero para algunas personas (especialmente no técnicas), cualquier red neuronal califica como aprendizaje profundo, independientemente de su profundidad. Y otros consideran que una red neuronal de 10 capas es poco profunda.
Las redes neuronales convolucionales (CNN) son una de las arquitecturas de redes neuronales más populares. Son extremadamente exitosos en el procesamiento de imágenes, pero también para muchas otras tareas (como reconocimiento de voz, procesamiento de lenguaje natural y más). Las CNN de última generación son bastante profundas (docenas de capas al menos), por lo que forman parte de Deep Learning. Pero puede crear una CNN superficial para una tarea simple, en cuyo caso no es (realmente) Deep Learning.
Pero las CNN no están solas, hay muchas otras arquitecturas de redes neuronales, incluidas Redes Neuronales Recurrentes (RNN), Autoencoders, Transformadores, Redes de Creencias Profundas (DBN = una pila de Máquinas de Boltzmann Restringidas, RBM), y más. Pueden ser poco profundos o profundos. Nota: incluso los RNN superficiales pueden considerarse parte del aprendizaje profundo, ya que entrenarlos requiere desenrollarlos a través del tiempo, lo que resulta en una red profunda.
fuente
Dentro de los campos del procesamiento adaptativo de señales / aprendizaje automático, el aprendizaje profundo (DL) es una metodología particular en la que podemos entrenar máquinas representaciones complejas.
En general, tendrán una formulación que puede mapear su entrada , hasta el objetivo objetivo, , a través de una serie de operaciones apiladas jerárquicamente (de aquí proviene el 'profundo') . Esas operaciones son típicamente operaciones / proyecciones lineales ( ), seguidas de una no linealidad ( ), como sigue :X y Wyo Fyo
Ahora dentro de DL, hay muchas arquitecturas diferentes : una de esas arquitecturas se conoce como red neuronal convolucional (CNN). Otra arquitectura se conoce como perceptrón multicapa (MLP), etc. Las diferentes arquitecturas se prestan para resolver diferentes tipos de problemas.
Un MLP es quizás uno de los tipos más tradicionales de arquitecturas DL que uno puede encontrar, y es cuando cada elemento de una capa anterior está conectado a cada elemento de la capa siguiente. Se parece a esto:
En MLP, las matrices codifican la transformación de una capa a otra. (A través de una matriz multiplicar). Por ejemplo, si tiene 10 neuronas en una capa conectadas a 20 neuronas de la siguiente, tendrá una matriz , que asignará una entrada a una salida , a través de: . Cada columna en , codifica todos los bordes que van desde todos los elementos de una capa a uno de los elementos de la siguiente capa.Wyo W ∈ R10 x 20 v ∈ R10 x 1 u ∈ R1 x 20 u = vTW W
Las MLP cayeron en desgracia entonces, en parte porque eran difíciles de entrenar. Si bien hay muchas razones para esa dificultad, una de ellas también fue porque sus conexiones densas no les permitieron escalar fácilmente para varios problemas de visión por computadora. En otras palabras, no tenían la equivalencia de traducción incorporada. Esto significaba que si había una señal en una parte de la imagen a la que debían ser sensibles, tendrían que volver a aprender cómo ser sensibles a ella si esa señal se movió. Esto desperdició la capacidad de la red, por lo que el entrenamiento se volvió difícil.
¡Aquí es donde entraron las CNN! Así es como se ve uno:
Las CNN resolvieron el problema de la traducción de la señal, ya que convolverían cada señal de entrada con un detector (núcleo) y, por lo tanto, serían sensibles a la misma característica, pero esta vez en todas partes. En ese caso, nuestra ecuación todavía se ve igual, pero las matrices de peso son en realidad matrices de convolución toeplitz . Sin embargo, las matemáticas son iguales.Wyo
Es común ver que las "CNN" se refieren a redes donde tenemos capas convolucionales en toda la red y MLP al final, por lo que es una advertencia a tener en cuenta.
fuente
Aprendizaje profundo = redes neuronales artificiales profundas + otro tipo de modelos profundos .
Redes neuronales artificiales profundas = redes neuronales artificiales con más de 1 capa. (vea el número mínimo de capas en una red neuronal profunda o Wikipedia para más debate ...)
Red neuronal de convolución = Un tipo de redes neuronales artificiales
fuente
Esta diapositiva de Yann LeCun señala que solo los modelos con una jerarquía de características (las características de nivel inferior se aprenden en una capa de un modelo, y luego esas características se combinan en el siguiente nivel) son profundas .
Un CNN puede ser profundo o poco profundo; el caso depende de si sigue esta construcción de "jerarquía de características" porque ciertas redes neuronales, incluidos los modelos de 2 capas , no son profundas.
fuente
Deep learning
es un término general para tratar con una red neuronal complicada con múltiples capas. No existe una definición estándar de lo que es exactamentedeep
. Por lo general, puede pensar que una red profunda es algo que es demasiado grande para entrenar su computadora portátil y PC. El conjunto de datos sería tan grande que no podrás guardarlo en tu memoria. Es posible que necesite GPU para acelerar su entrenamiento.Deep
es más como un término de marketing para hacer que algo suene más profesional que lo contrario.CNN
es un tipo de red neuronal profunda, y hay muchos otros tipos. Las CNN son populares porque tienen aplicaciones muy útiles para el reconocimiento de imágenes.fuente