140 votos

¿Cuál es la diferencia entre convolucional redes neuronales, restringido máquinas de Boltzmann, y auto-codificadores?

Recientemente he estado leyendo sobre el aprendizaje profundo y estoy confundido acerca de los términos (o dicen tecnologías). ¿Cuál es la diferencia entre convolucional redes neuronales (CNN), restringido máquinas de Boltzmann (RBM), y auto-codificadores?

252voto

John Channing Puntos 3264

Autoencoder es un simple 3-capa de red neuronal donde las unidades de salida se conectan directamente de vuelta a las unidades de entrada. E. g. en una red como esta:

enter image description here

output[i] ha borde de vuelta a input[i] por cada i. Normalmente, el número de unidades ocultas es mucho menos luego el número de visible (entrada/salida). Como resultado, al pasar los datos a través de una red, primero se comprime (codifica) vector de entrada para "encajar" en una menor representación, y, a continuación, intenta reconstruir (decodificar). La tarea de la formación es minimizar un error o de reconstrucción, es decir, encontrar la forma más eficiente de representación compacta (codificación) para la entrada de datos.

De gestión por resultados de las acciones idea similar, pero utiliza el enfoque estocástico. En lugar de deterministas (por ejemplo, logística o ReLU) utiliza estocástico unidades con particular (generalmente binario de Gauss) de distribución. Procedimiento de aprendizaje consta de varios pasos de muestreo de Gibbs (propagar: ejemplo de hiddens dado visibles; reconstrucción: la muestra visibles dado hiddens; repetir) y el ajuste de los pesos de minimizar el error de reconstrucción.

enter image description here

La intuición detrás de la Rbm es que hay algunos que son visibles variables aleatorias (por ejemplo, la película los comentarios de los diferentes usuarios) y algunas variables ocultas (como géneros de cine, o de otras características internas), y la tarea de la formación es averiguar cómo estos dos conjuntos de variables que están realmente conectados el uno al otro (más en este ejemplo se puede encontrar aquí).

Convolucional las Redes Neuronales son algo similar a estos dos, pero en lugar de aprender global única matriz de pesos entre las dos capas, su objetivo es encontrar un conjunto de neuronas conectadas localmente. CNNs se utiliza sobre todo en los de reconocimiento de imagen. Su nombre proviene de "convolución" operador o simplemente "filtro". En resumen, los filtros son una manera fácil de realizar la compleja operación por medio de la simple cambio de un núcleo de circunvolución. Aplicar desenfoque Gaussiano kernel y usted obtendrá de alisado. Aplicar Astuto kernel y verás todos los bordes. Aplicar Gabor kernel para obtener el gradiente de características.

enter image description here

(imagen de aquí)

El objetivo de convolucional redes neuronales es no utilizar uno de los predefinidos núcleos, pero en lugar de aprender de los datos específicos de los núcleos. La idea es la misma que con los autoencoders o Rbm - traducir muchas características de bajo nivel (por ejemplo, comentarios de los usuarios o los píxeles de la imagen) para el comprimido de alto nivel de la representación (por ejemplo, los géneros cinematográficos o bordes), pero ahora los pesos sólo se aprenden de las neuronas que están espacialmente cerca el uno del otro.

enter image description here

Los tres modelos tienen sus casos de uso, pros y contras, pero probablemente las propiedades más importantes son:

  1. Autoencoders son más sencillos. Ellos son intuitivamente comprensible, fácil de aplicar y razonar sobre (por ejemplo, es mucho más fácil encontrar una buena meta-parámetros para ellos que para Rbm).
  2. Rbm son generativos. Es decir, a diferencia de los autoencoders que sólo discrimina algunos vectores de datos en favor de los demás, Rbm también puede generar nuevos datos con el dado se unió a la distribución. También, se considera más rica y flexible.
  3. CNNs son muy específicos en el modelo que se utiliza sobre todo para la tarea muy específica (aunque bastante popular de la tarea). La mayoría de los de nivel superior de los algoritmos de reconocimiento de imagen son de alguna manera basada en CNNs hoy en día, pero fuera de ese nicho que son difícilmente aplicables (por ejemplo, ¿cuál es la razón para el uso de la convolución para la revisión de la película?).

UPD.

La reducción de dimensionalidad

Cuando se representa un objeto como un vector de nn elementos, podemos decir que se trata de un vector en nnespacio tridimensional. Por lo tanto, la reducción de dimensionalidad se refiere a un proceso de refinación de datos, de tal forma, que cada vector de datos xx es traducido a otro vector de x m- espacio de dimensión (vector con m elementos), donde m<n. Probablemente la manera más común de hacer esto es de la PCA. A grandes rasgos, la PCA encuentra interno "ejes" de un conjunto de datos (llamados "componentes") y los ordena según su importancia. Primera m componentes más importantes son utilizados como base nueva. Cada uno de estos componentes puede ser pensado como un de alto nivel de la característica, describiendo los vectores de datos mejor que la original de los ejes.

Ambos - autoencoders y Rbm - hacer la misma cosa. Tomando un vector en n-dimensiones del espacio que se traducen en un mdimensiones, tratando de mantener la mayor importancia de la información como sea posible y, al mismo tiempo, eliminar el ruido. Si la formación de autoencoder/RBM fue un éxito, cada elemento del vector resultante (es decir, cada oculto de la unidad) representa algo importante sobre el objeto en forma de una ceja en una imagen, el género de una película, campo de estudio en el artículo científico, etc. Usted toma un montón de datos ruidosos como entrada y producen mucho menos de los datos de una forma mucho más eficiente de la representación.

Profundo de las arquitecturas

Así que, si ya hemos tenido PCA, ¿por qué diablos no hemos llegado con autoencoders y Rbm? Resulta que la PCA sólo permite la transformación lineal de los vectores de datos. Es decir, tener m de componentes principales c1..cm, puede representar sólo los vectores x=mi=1wici. Esto es muy bueno ya, pero no siempre es suficiente. No importa, ¿cuántas veces va a aplicar PCA de datos - relación que se mantendrá siempre lineal.

Autoencoders y Rbm, por otro lado, no son lineales por la naturaleza, y por lo tanto, pueden aprender más complicado de las relaciones entre lo visible y unidades ocultos. Además, se pueden apilar, lo que les hace aún más potente. E. g. tren de gestión por resultados con n visible y m unidades ocultos, a continuación, poner a otro de gestión por resultados con m visible y k unidades ocultos en la parte superior de la primera y de tren, etc. Y exactamente de la misma manera con los autoencoders.

Pero que no acaba de agregar nuevas capas. En cada capa intenta aprender mejor representación posible de datos de la anterior:

enter image description here

En la imagen de arriba hay un ejemplo de la profundidad de la red. Empezamos con las píxeles, proceder con filtros simples, luego con cara de elementos y finalmente terminar con toda caras! Esta es la esencia del aprendizaje profundo.

Ahora tenga en cuenta, que en este ejemplo, hemos trabajado con los datos de la imagen y de forma secuencial tomó más y más áreas de la espacialmente cerca de píxeles. No suena similar? Sí, porque es un ejemplo de la profunda convolucional de la red. Se basa en autoencoders o Rbm, se utiliza la convolución para destacar la importancia de la localidad. Es por eso que CNNs son algo distintos de los autoencoders y Rbm.

Clasificación

Ninguno de los modelos mencionados aquí trabajo como algoritmos de clasificación per se. En su lugar, se utiliza para la preformación - aprendizaje de las transformaciones de bajo nivel y de difícil consumir la representación (como píxeles) a un alto nivel. Una vez profunda (o tal vez no profundo) de la red es preentrenado, vectores de entrada se transforman a una mejor representación y la resultante de los vectores finalmente aprobada por el real clasificador (como SVM o regresión logística). En una imagen anterior significa que en la parte inferior hay más de una componente que realmente hace la clasificación.

18voto

Open SEO Puntos 181

Todas estas arquitecturas pueden ser interpretadas como una red neuronal. La principal diferencia entre AutoEncoder y Convolucional de la Red es el nivel de red de la conexión permanente. Convolucional Redes son bastante modificable. La operación de convolución es bastante local en imagen de dominio, lo que significa mucho más dispersión en el número de conexiones en la red neuronal de vista. La agrupación(submuestreo) de la operación en la imagen de dominio es también un cableado de conjunto de las conexiones neuronales en el neuronales de dominio. Tales restricciones topológicas en la estructura de la red. Dadas las limitaciones, la formación de CNN aprende mejor de pesos para esta operación de convolución (En la práctica, existen varios filtros). CNNs se utilizan generalmente para la imagen y las tareas de un discurso donde convolucional restricciones son una buena suposición.

En contraste, los Autoencoders casi especifica nada acerca de la topología de la red. Son mucho más general. La idea es encontrar una buena neural transformación para reconstruir la entrada. Se componen de encoder (proyectos de la entrada de la capa oculta) y el decodificador (vuelve a proyectar la capa oculta a la de salida). La capa oculta aprende un conjunto de latente características o factores latentes. Lineal autoencoders abarcan el mismo subespacio con PCA. Dado un conjunto de datos, aprenden número de base para explicar el patrón subyacente de los datos.

Rbm son también una red neuronal. Pero la interpretación de la red es totalmente diferente. Rbm interpretar la red no como un feedforward, pero un bipartito gráfico, donde la idea es aprender distribución de probabilidad conjunta de lo oculto y las variables de entrada. Ellos son vistos como un modelo gráfico. Recuerde que tanto el AutoEncoder y CNN aprende una función determinista. Rbm, por otro lado, es modelo generativo. Puede generar muestras de aprendido oculto representaciones. Existen diferentes algoritmos para tren de la Rbm. Sin embargo, al final del día, después del aprendizaje de la Rbm, usted puede utilizar su red pesos para interpretarlo como una red feedforward.

6voto

karatchov Puntos 230

Rbm puede ser visto como algún tipo probabilístico de auto codificador. De hecho, se ha demostrado que bajo ciertas condiciones se vuelven equivalentes.

Sin embargo, es mucho más difícil demostrar esta equivalencia de creer que ellos son animales diferentes. De hecho, me resulta difícil encontrar una gran cantidad de similitudes entre los tres, tan pronto como empiezo a mirar de cerca.

E. g. si yu escribir las funciones implementadas por el auto de un codificador, una gestión por resultados y de cnn, usted consigue tres totalmente diferentes expresiones matemáticas.

1voto

Sigurd Puntos 11

Yo no te puedo decir mucho acerca de la Rbm, pero autoencoders y CNNs son de dos tipos diferentes de las cosas. Un autoencoder es una red neuronal que está entrenado en una supervisión de la moda. El objetivo de un autoencoder es encontrar una representación más compacta de los datos mediante el aprendizaje de un codificador, que transforma los datos a su correspondiente representación compacta, y un decodificador, que reconstruye los datos originales. El codificador parte de los autoencoders (y originalmente Rbm) se han utilizado para aprender buenos pesos iniciales de un más profundo de la arquitectura, pero hay otras aplicaciones. Esencialmente, un autoencoder aprende una agrupación de los datos. En contraste, el término de la CNN se refiere a un tipo de red neuronal que utiliza el operador de convolución (a menudo el 2D de convolución cuando se utiliza para tareas de procesamiento de imágenes) para extraer características de los datos. En el procesamiento de imágenes, filtros, que están complicados con imágenes, se aprenden automáticamente para resolver la tarea a la mano, por ejemplo, una tarea de clasificación. Si la formación de criterio es una regresión y clasificación (supervisado) o una reconstrucción (sin supervisión) no está relacionado con la idea de circunvoluciones como una alternativa a las transformaciones afines. Usted también puede tener un CNN-autoencoder.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X