stringtranslate.com

Codificador automático

Un autocodificador es un tipo de red neuronal artificial que se utiliza para aprender codificaciones eficientes de datos no etiquetados ( aprendizaje no supervisado ). [1] [2] Un autocodificador aprende dos funciones: una función de codificación que transforma los datos de entrada y una función de decodificación que recrea los datos de entrada a partir de la representación codificada. El autocodificador aprende una representación eficiente (codificación) para un conjunto de datos, generalmente para la reducción de dimensionalidad , para generar incrustaciones de menor dimensión para su uso posterior por parte de otros algoritmos de aprendizaje automático. [3]

Existen variantes que tienen como objetivo forzar a las representaciones aprendidas a asumir propiedades útiles. [4] Algunos ejemplos son los autocodificadores regularizados ( Sparse , Denoising y Contractive ), que son eficaces en el aprendizaje de representaciones para tareas de clasificación posteriores, [5] y los autocodificadores variacionales , con aplicaciones como modelos generativos . [6] Los autocodificadores se aplican a muchos problemas, incluido el reconocimiento facial , [7] la detección de características, [8] la detección de anomalías y la adquisición del significado de las palabras. [9] [10] Los autocodificadores también son modelos generativos que pueden generar aleatoriamente nuevos datos que son similares a los datos de entrada (datos de entrenamiento). [8]

Principios matemáticos

Definición

Un autocodificador se define mediante los siguientes componentes:

Dos conjuntos: el espacio de mensajes decodificados ; el espacio de mensajes codificados . Típicamente y son espacios euclidianos, es decir, con

Dos familias de funciones parametrizadas: la familia de codificadores , parametrizada por ; la familia de decodificadores , parametrizada por .

Para cualquier , normalmente escribimos , y nos referimos a él como el código, la variable latente , la representación latente, el vector latente, etc. Por el contrario, para cualquier , normalmente escribimos , y nos referimos a él como el mensaje (decodificado).

Por lo general, tanto el codificador como el decodificador se definen como perceptrones multicapa (MLP). Por ejemplo, un codificador MLP de una capa es:

donde es una función de activación elemento por elemento , es una matriz de "peso" y es un vector de "sesgo".

Entrenando un autocodificador

Un autocodificador, por sí mismo, es simplemente una tupla de dos funciones. Para juzgar su calidad , necesitamos una tarea . Una tarea se define mediante una distribución de probabilidad de referencia sobre , y una función de "calidad de reconstrucción" , de modo que mide cuánto difiere de .

Con estos, podemos definir la función de pérdida para el autocodificador como El autocodificador óptimo para la tarea dada es entonces . La búsqueda del autocodificador óptimo se puede lograr mediante cualquier técnica de optimización matemática, pero generalmente mediante descenso de gradiente . Este proceso de búsqueda se conoce como "entrenamiento del autocodificador".

En la mayoría de las situaciones, la distribución de referencia es simplemente la distribución empírica dada por un conjunto de datos , de modo que

donde es la medida de Dirac , la función de calidad es simplemente la pérdida L2: y es la norma euclidiana . Entonces, el problema de buscar el autocodificador óptimo es simplemente una optimización de mínimos cuadrados :

Interpretación

Esquema de un autocodificador básico

Un autocodificador tiene dos partes principales: un codificador que asigna el mensaje a un código y un decodificador que reconstruye el mensaje a partir del código. Un autocodificador óptimo realizaría una reconstrucción lo más cercana posible a la perfección, siendo "casi perfecta" la definición de la función de calidad de reconstrucción .

La forma más sencilla de realizar la tarea de copia a la perfección sería duplicar la señal. Para evitar este comportamiento, el espacio de código suele tener menos dimensiones que el espacio de mensajes .

Este tipo de codificador automático se denomina subcompleto y puede interpretarse como una compresión del mensaje o una reducción de su dimensionalidad . [1] [11]

En el límite de un autocodificador subcompleto ideal, cada código posible en el espacio de códigos se utiliza para codificar un mensaje que realmente aparece en la distribución , y el decodificador también es perfecto: . Este autocodificador ideal se puede utilizar entonces para generar mensajes indistinguibles de los mensajes reales, alimentando a su decodificador con código arbitrario y obteniendo , que es un mensaje que realmente aparece en la distribución .

Si el espacio de código tiene una dimensión mayor que ( sobrecompleto ), o igual a, el espacio de mensajes , o las unidades ocultas tienen suficiente capacidad, un autocodificador puede aprender la función de identidad y volverse inútil. Sin embargo, los resultados experimentales encontraron que los autocodificadores sobrecompletos aún podrían aprender características útiles . [12]

En condiciones ideales, la dimensión del código y la capacidad del modelo se podrían establecer en función de la complejidad de la distribución de datos que se va a modelar. Una forma estándar de hacerlo es agregar modificaciones al autocodificador básico, que se detallarán a continuación. [4]

Historia

El autocodificador fue propuesto por primera vez como una generalización no lineal del análisis de componentes principales (PCA) por Kramer. [1] El autocodificador también se ha llamado autoasociador, [13] o red Diabolo. [14] [12] Sus primeras aplicaciones datan de principios de la década de 1990. [4] [15] [16] Su aplicación más tradicional fue la reducción de dimensionalidad o el aprendizaje de características , pero el concepto se usó ampliamente para aprender modelos generativos de datos. [17] [18] Algunas de las IA más poderosas en la década de 2010 involucraron autocodificadores apilados dentro de redes neuronales profundas . [19]

Variaciones

Autocodificadores regularizados

Existen varias técnicas para evitar que los autocodificadores aprendan la función de identidad y para mejorar su capacidad de capturar información importante y aprender representaciones más ricas.

Autocodificador disperso

Inspirados por la hipótesis de codificación dispersa en neurociencia, los autocodificadores dispersos (SAE) son variantes de los autocodificadores, de modo que los códigos para los mensajes tienden a ser códigos dispersos , es decir, están cerca de cero en la mayoría de las entradas. Los autocodificadores dispersos pueden incluir más (en lugar de menos) unidades ocultas que entradas, pero solo se permite que una pequeña cantidad de las unidades ocultas estén activas al mismo tiempo. [19] Fomentar la dispersión mejora el rendimiento en las tareas de clasificación. [20]

Esquema simple de un autocodificador disperso de una sola capa. Los nodos ocultos en amarillo brillante están activados, mientras que los de color amarillo claro están inactivos. La activación depende de la entrada.

Hay dos formas principales de hacer cumplir la escasez. Una forma es simplemente limitar a cero todas las activaciones del código latente, excepto las k más altas. Este es el autocodificador k-disperso . [21]

El autocodificador k-sparse inserta la siguiente "función k-sparse" en la capa latente de un autocodificador estándar: donde si se ubica entre los k superiores y 0 en caso contrario.

La retropropagación es sencilla: se establece el gradiente en 0 para las entradas y se mantiene el gradiente para las entradas. Se trata, en esencia, de una función ReLU generalizada. [21]

La otra forma es una versión relajada del autocodificador k-sparse. En lugar de forzar la escasez, agregamos una pérdida de regularización de escasez y luego optimizamos para donde mide cuánta escasez queremos imponer. [22]

Dejemos que la arquitectura del autocodificador tenga capas. Para definir una pérdida de regularización por escasez, necesitamos una escasez "deseada" para cada capa, un peso que indique cuánto se debe aplicar cada escasez y una función para medir cuánto difieren dos escasez.

Para cada entrada , sea la escasez real de activación en cada capa, donde es la activación en la -ésima neurona de la -ésima capa en la entrada .

La pérdida de escasez en la entrada para una capa es , y la pérdida de regularización de escasez para todo el autocodificador es la suma ponderada esperada de las pérdidas de escasez: Normalmente, la función es la divergencia de Kullback-Leibler (KL) , como [20] [22] [23] [24]

o la pérdida L1, como , o la pérdida L2, como .

Como alternativa, la pérdida de regularización de la escasez se puede definir sin referencia a ninguna "escasez deseada", sino simplemente forzar la mayor escasez posible. En este caso, se puede definir la pérdida de regularización de la escasez como donde es el vector de activación en la capa -ésima del autocodificador. La norma suele ser la norma L1 (lo que da como resultado el autocodificador escaso L1) o la norma L2 (lo que da como resultado el autocodificador escaso L2).

Codificador automático de eliminación de ruido

Los autocodificadores de eliminación de ruido (DAE) intentan lograr una buena representación cambiando el criterio de reconstrucción . [4] [5]

Una DAE, originalmente llamada "red autoasociativa robusta", [2] se entrena corrompiendo intencionalmente las entradas de un autocodificador estándar durante el entrenamiento. Un proceso de ruido se define por una distribución de probabilidad sobre funciones . Es decir, la función toma un mensaje y lo corrompe a una versión ruidosa . La función se selecciona aleatoriamente, con una distribución de probabilidad .

Dada una tarea , el problema de entrenar un DAE es el problema de optimización: es decir, el DAE óptimo debería tomar cualquier mensaje ruidoso e intentar recuperar el mensaje original sin ruido, de ahí el nombre "eliminación de ruido" .

Normalmente, el proceso de ruido se aplica solo durante el entrenamiento y las pruebas, no durante el uso posterior.

El uso de DAE depende de dos supuestos:

Algunos ejemplos de procesos de ruido incluyen:

Autocodificador contractivo (CAE)

Un autocodificador contractivo suma la pérdida de regularización contractiva a la pérdida de autocodificador estándar: donde mide cuánta contractividad queremos imponer. La pérdida de regularización contractiva en sí misma se define como la norma de Frobenius esperada de la matriz jacobiana de las activaciones del codificador con respecto a la entrada: Para entender qué mide, observe el hecho de que para cualquier mensaje , y una pequeña variación en él. Por lo tanto, si es pequeño, significa que una pequeña vecindad del mensaje se asigna a una pequeña vecindad de su código. Esta es una propiedad deseada, ya que significa que una pequeña variación en el mensaje conduce a una pequeña, quizás incluso cero, variación en su código, como cuando dos imágenes pueden verse iguales incluso si no son exactamente iguales.

El DAE puede entenderse como un límite infinitesimal del CAE: en el límite del pequeño ruido de entrada gaussiano, los DAE hacen que la función de reconstrucción resista perturbaciones de entrada pequeñas pero de tamaño finito, mientras que los CAE hacen que las características extraídas resistan perturbaciones de entrada infinitesimales.

Codificador automático de longitud de descripción mínima

[25]

Codificador automático de hormigón

El autocodificador concreto está diseñado para la selección de características discretas. [26] Un autocodificador concreto obliga al espacio latente a constar únicamente de una cantidad de características especificada por el usuario. El autocodificador concreto utiliza una relajación continua de la distribución categórica para permitir que los gradientes pasen a través de la capa de selección de características, lo que hace posible utilizar la retropropagación estándar para aprender un subconjunto óptimo de características de entrada que minimicen la pérdida de reconstrucción.

Autocodificador variacional (VAE)

Los autocodificadores variacionales (VAE) pertenecen a la familia de métodos bayesianos variacionales . A pesar de las similitudes arquitectónicas con los autocodificadores básicos, los VAE están diseñados con objetivos diferentes y tienen una formulación matemática diferente. El espacio latente, en este caso, está compuesto por una mezcla de distribuciones en lugar de vectores fijos.

Dado un conjunto de datos de entrada caracterizado por una función de probabilidad desconocida y un vector de codificación latente multivariado , el objetivo es modelar los datos como una distribución , con definida como el conjunto de parámetros de red de modo que .

Ventajas de la profundidad

Estructura esquemática de un autocodificador con tres capas ocultas completamente conectadas. El código (z o h para referencia en el texto) es la capa más interna.

Los autocodificadores a menudo se entrenan con un codificador de una sola capa y un decodificador de una sola capa, pero el uso de codificadores y decodificadores de varias capas (profundos) ofrece muchas ventajas. [4]

Capacitación

Geoffrey Hinton desarrolló la técnica de red de creencias profundas para entrenar codificadores automáticos profundos de múltiples capas. Su método implica tratar cada conjunto vecino de dos capas como una máquina de Boltzmann restringida de modo que el preentrenamiento se aproxime a una buena solución y luego usar la retropropagación para ajustar los resultados. [11]

Los investigadores han debatido si el entrenamiento conjunto (es decir, entrenar toda la arquitectura junto con un único objetivo de reconstrucción global para optimizar) sería mejor para los codificadores automáticos profundos. [27] Un estudio de 2015 mostró que el entrenamiento conjunto aprende mejores modelos de datos junto con características más representativas para la clasificación en comparación con el método por capas. [27] Sin embargo, sus experimentos mostraron que el éxito del entrenamiento conjunto depende en gran medida de las estrategias de regularización adoptadas. [27] [28]

Aplicaciones

Las dos aplicaciones principales de los autocodificadores son la reducción de dimensionalidad y la recuperación de información, [4] pero se han aplicado variaciones modernas a otras tareas.

Reducción de dimensionalidad

Gráfico de los dos primeros componentes principales (izquierda) y una capa oculta bidimensional de un autocodificador lineal (derecha) aplicado al conjunto de datos Fashion MNIST . [29] Los dos modelos, al ser lineales, aprenden a abarcar el mismo subespacio. La proyección de los puntos de datos es, de hecho, idéntica, salvo por la rotación del subespacio. Mientras que el PCA selecciona una orientación específica hasta las reflexiones en el caso general, la función de costo de un autocodificador simple es invariante a las rotaciones del espacio latente.

La reducción de dimensionalidad fue una de las primeras aplicaciones del aprendizaje profundo . [4]

Para el estudio de Hinton de 2006, [11] entrenó previamente un autocodificador multicapa con una pila de RBM y luego utilizó sus pesos para inicializar un autocodificador profundo con capas ocultas gradualmente más pequeñas hasta llegar a un cuello de botella de 30 neuronas. Las 30 dimensiones resultantes del código arrojaron un error de reconstrucción menor en comparación con los primeros 30 componentes de un análisis de componentes principales (PCA), y aprendieron una representación que era cualitativamente más fácil de interpretar, separando claramente los grupos de datos. [4] [11]

La representación de dimensiones puede mejorar el desempeño en tareas como la clasificación. [4] De hecho, el sello distintivo de la reducción de dimensionalidad es colocar ejemplos semánticamente relacionados cerca unos de otros. [30]

Análisis de componentes principales

Reconstrucción de imágenes de 28x28 píxeles mediante un autocodificador con un tamaño de código de dos (capa oculta de dos unidades) y reconstrucción a partir de los dos primeros componentes principales de PCA. Las imágenes proceden del conjunto de datos Fashion MNIST. [29]

Si se utilizan activaciones lineales, o solo una única capa oculta sigmoidea, entonces la solución óptima para un autocodificador está fuertemente relacionada con el análisis de componentes principales (PCA). [31] [32] Los pesos de un autocodificador con una única capa oculta de tamaño (donde es menor que el tamaño de la entrada) abarcan el mismo subespacio vectorial que el abarcado por los primeros componentes principales, y la salida del autocodificador es una proyección ortogonal sobre este subespacio. Los pesos del autocodificador no son iguales a los componentes principales, y generalmente no son ortogonales, sin embargo, los componentes principales pueden recuperarse de ellos utilizando la descomposición en valores singulares . [33]

Sin embargo, el potencial de los autocodificadores reside en su no linealidad, lo que permite al modelo aprender generalizaciones más potentes en comparación con PCA y reconstruir la entrada con una pérdida de información significativamente menor. [11]

Recuperación de información y optimización de motores de búsqueda

La recuperación de información se beneficia particularmente de la reducción de la dimensionalidad , ya que la búsqueda puede volverse más eficiente en ciertos tipos de espacios de baja dimensión. Los autocodificadores se aplicaron al hash semántico, propuesto por Salakhutdinov y Hinton en 2007. [30] Al entrenar el algoritmo para producir un código binario de baja dimensión, todas las entradas de la base de datos podrían almacenarse en una tabla hash que mapee vectores de código binario a las entradas. Esta tabla luego respaldaría la recuperación de información al devolver todas las entradas con el mismo código binario que la consulta, o entradas ligeramente menos similares invirtiendo algunos bits de la codificación de la consulta.

La arquitectura codificador-decodificador, a menudo utilizada en el procesamiento del lenguaje natural y las redes neuronales, se puede aplicar científicamente en el campo del SEO (optimización de motores de búsqueda) de varias maneras:

  1. Procesamiento de texto : mediante el uso de un codificador automático, es posible comprimir el texto de las páginas web en una representación vectorial más compacta. Esto puede ayudar a reducir los tiempos de carga de las páginas y mejorar la indexación por parte de los motores de búsqueda.
  2. Reducción de ruido : los codificadores automáticos se pueden utilizar para eliminar el ruido de los datos textuales de las páginas web. Esto puede generar una mejor comprensión del contenido por parte de los motores de búsqueda, mejorando así la clasificación en las páginas de resultados de los motores de búsqueda.
  3. Generación de metaetiquetas y fragmentos : los codificadores automáticos pueden entrenarse para generar automáticamente metaetiquetas, fragmentos y descripciones para páginas web utilizando el contenido de la página. Esto puede optimizar la presentación en los resultados de búsqueda, lo que aumenta la tasa de clics (CTR).
  4. Agrupamiento de contenido : mediante un codificador automático, las páginas web con contenido similar se pueden agrupar automáticamente. Esto puede ayudar a organizar el sitio web de forma lógica y mejorar la navegación, lo que puede afectar positivamente la experiencia del usuario y las clasificaciones en los motores de búsqueda.
  5. Generación de contenido relacionado : se puede utilizar un codificador automático para generar contenido relacionado con lo que ya está presente en el sitio. Esto puede mejorar el atractivo del sitio web para los motores de búsqueda y brindar a los usuarios información relevante adicional.
  6. Detección de palabras clave : los codificadores automáticos pueden entrenarse para identificar palabras clave y conceptos importantes dentro del contenido de las páginas web. Esto puede ayudar a optimizar el uso de palabras clave para una mejor indexación.
  7. Búsqueda semántica : mediante técnicas de autocodificación, se pueden crear modelos de representación semántica del contenido. Estos modelos se pueden utilizar para mejorar la comprensión de los motores de búsqueda de los temas tratados en las páginas web.

En esencia, la arquitectura codificador-descodificador o autocodificadores se pueden aprovechar en SEO para optimizar el contenido de las páginas web, mejorar su indexación y aumentar su atractivo tanto para los motores de búsqueda como para los usuarios.

Detección de anomalías

Otra aplicación de los autocodificadores es la detección de anomalías . [2] [34] [35] [36] [37] [38] Al aprender a replicar las características más destacadas en los datos de entrenamiento bajo algunas de las restricciones descritas anteriormente, se alienta al modelo a aprender a reproducir con precisión las características observadas con mayor frecuencia. Cuando se enfrenta a anomalías, el modelo debería empeorar su rendimiento de reconstrucción. En la mayoría de los casos, solo se utilizan datos con instancias normales para entrenar al autocodificador; en otros, la frecuencia de anomalías es pequeña en comparación con el conjunto de observaciones, por lo que su contribución a la representación aprendida podría ignorarse. Después del entrenamiento, el autocodificador reconstruirá con precisión los datos "normales", mientras que no podrá hacerlo con datos anómalos desconocidos. [36] El error de reconstrucción (el error entre los datos originales y su reconstrucción de baja dimensión) se utiliza como una puntuación de anomalía para detectar anomalías. [36]

Sin embargo, la literatura reciente ha demostrado que ciertos modelos de autocodificación pueden, contrariamente a la intuición, ser muy buenos para reconstruir ejemplos anómalos y, en consecuencia, no ser capaces de realizar una detección de anomalías de manera confiable. [39] [40]

Procesamiento de imágenes

Las características de los autocodificadores son útiles en el procesamiento de imágenes.

Un ejemplo puede encontrarse en la compresión de imágenes con pérdida , donde los autocodificadores superaron a otros enfoques y demostraron ser competitivos frente a JPEG 2000. [ 41] [42]

Otra aplicación útil de los autocodificadores en el preprocesamiento de imágenes es la eliminación de ruido de imágenes . [43] [44] [45]

Los autocodificadores se han utilizado en contextos más exigentes, como las imágenes médicas , donde se han utilizado para la eliminación de ruido de imágenes [46], así como para la superresolución . [47] [48] En el diagnóstico asistido por imágenes, los experimentos han aplicado autocodificadores para la detección del cáncer de mama [49] y para modelar la relación entre el deterioro cognitivo de la enfermedad de Alzheimer y las características latentes de un autocodificador entrenado con MRI . [50]

Descubrimiento de fármacos

En 2019, se validaron experimentalmente moléculas generadas con autocodificadores variacionales en ratones. [51] [52]

Predicción de popularidad

Recientemente, un marco de autocodificador apilado produjo resultados prometedores en la predicción de la popularidad de las publicaciones en las redes sociales, [53] lo que resulta útil para las estrategias de publicidad en línea.

Traducción automática

Los autocodificadores se han aplicado a la traducción automática , que normalmente se conoce como traducción automática neuronal (NMT). [54] [55] A diferencia de los autocodificadores tradicionales, la salida no coincide con la entrada: está en otro idioma. En NMT, los textos se tratan como secuencias que se codificarán en el procedimiento de aprendizaje, mientras que en el lado del decodificador se generan secuencias en el idioma o idiomas de destino. Los autocodificadores específicos del idioma incorporan características lingüísticas adicionales al procedimiento de aprendizaje, como características de descomposición en chino. [56] La traducción automática rara vez se realiza todavía con autocodificadores, debido a la disponibilidad de redes de transformadores más efectivas .

Véase también

Referencias

  1. ^ abc Kramer, Mark A. (1991). "Análisis de componentes principales no lineales utilizando redes neuronales autoasociativas" (PDF) . AIChE Journal . 37 (2): 233–243. Bibcode :1991AIChE..37..233K. doi :10.1002/aic.690370209.
  2. ^ abc Kramer, MA (1992-04-01). "Redes neuronales autoasociativas". Computers & Chemical Engineering . Aplicaciones de redes neutras en ingeniería química. 16 (4): 313–328. doi :10.1016/0098-1354(92)80051-A. ISSN  0098-1354.
  3. ^ Bank, Dor; Koenigstein, Noam; Giryes, Raja (2023). "Autocodificadores". En Rokach, Lior; Maimon, Oded; Shmueli, Erez (eds.). Manual de aprendizaje automático para ciencia de datos. págs. 353–374. doi :10.1007/978-3-031-24628-9_16.
  4. ^ abcdefghi Goodfellow, Ian; Bengio, Yoshua; Courville, Aaron (2016). Aprendizaje profundo. MIT Press. ISBN 978-0262035613.
  5. ^ abcd Vincent, Pascal; Larochelle, Hugo (2010). "Autocodificadores de eliminación de ruido apilados: aprendizaje de representaciones útiles en una red profunda con un criterio de eliminación de ruido local". Revista de investigación en aprendizaje automático . 11 : 3371–3408.
  6. ^ Welling, Max; Kingma, Diederik P. (2019). "Introducción a los autocodificadores variacionales". Fundamentos y tendencias en aprendizaje automático . 12 (4): 307–392. arXiv : 1906.02691 . Código Bibliográfico :2019arXiv190602691K. doi :10.1561/2200000056. S2CID  174802445.
  7. ^ Hinton GE, Krizhevsky A, Wang SD. Autocodificadores transformadores. En la Conferencia internacional sobre redes neuronales artificiales, 14 de junio de 2011 (pp. 44-51). Springer, Berlín, Heidelberg.
  8. ^ ab Géron, Aurélien (2019). Aprendizaje automático práctico con Scikit-Learn, Keras y TensorFlow . Canadá: O'Reilly Media, Inc., págs. 739-740.
  9. ^ Liou, Cheng-Yuan; Huang, Jau-Chi; Yang, Wen-Chie (2008). "Modelado de la percepción de palabras utilizando la red Elman". Neurocomputación . 71 (16–18): 3150. doi :10.1016/j.neucom.2008.04.030.
  10. ^ Liou, Cheng-Yuan; Cheng, Wei-Chen; Liou, Jiun-Wei; Liou, Daw Ran (2014). "Codificador automático de palabras". Neurocomputación . 139 : 84–96. doi :10.1016/j.neucom.2013.09.055.
  11. ^ abcdef Hinton, GE; Salakhutdinov, RR (28 de julio de 2006). "Reducción de la dimensionalidad de los datos con redes neuronales". Science . 313 (5786): 504–507. Bibcode :2006Sci...313..504H. doi :10.1126/science.1127647. PMID  16873662. S2CID  1658773.
  12. ^ ab Bengio, Y. (2009). "Arquitecturas profundas de aprendizaje para IA" (PDF) . Fundamentos y tendencias en aprendizaje automático . 2 (8): 1795–7. CiteSeerX 10.1.1.701.9550 . doi :10.1561/2200000006. PMID  23946944. S2CID  207178999. 
  13. ^ Japkowicz, Nathalie ; Hanson, Stephen José; Gluck, Mark A. (1 de marzo de 2000). "La autoasociación no lineal no es equivalente a PCA". Computación neuronal . 12 (3): 531–545. doi :10.1162/089976600300015691. ISSN  0899-7667. PMID  10769321. S2CID  18490972.
  14. ^ Schwenk, Holger; Bengio, Yoshua (1997). "Métodos de entrenamiento para el refuerzo adaptativo de redes neuronales". Avances en sistemas de procesamiento de información neuronal . 10 . MIT Press.
  15. ^ Schmidhuber, Jürgen (enero de 2015). "Aprendizaje profundo en redes neuronales: una descripción general". Redes neuronales . 61 : 85–117. arXiv : 1404.7828 . doi :10.1016/j.neunet.2014.09.003. PMID  25462637. S2CID  11715509.
  16. ^ Hinton, GE y Zemel, RS (1994). Autocodificadores, longitud mínima de descripción y energía libre de Helmholtz. En Advances in neural information processing systems 6 (pp. 3-10).
  17. ^ Diederik P. Kingma; Bien, Max (2013). "Bayes variacionales de codificación automática". arXiv : 1312.6114 [estad.ML].
  18. ^ Generación de caras con Torch, Boesen A., Larsen L. y Sonderby SK, 2015 Torch.ch/blog/2015/11/13/gan.html
  19. ^ ab Domingos, Pedro (2015). "4". El algoritmo maestro: cómo la búsqueda de la máquina de aprendizaje definitiva transformará nuestro mundo . Basic Books. Subsección "Más a fondo en el cerebro". ISBN 978-046506192-1.
  20. ^ ab Frey, Brendan; Makhzani, Alireza (19 de diciembre de 2013). "Codificadores automáticos k-Sparse". arXiv : 1312.5663 . Código Bib : 2013arXiv1312.5663M. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  21. ^ ab Makhzani, Alireza; Frey, Brendan (2013). "Codificadores automáticos K-Sparse". arXiv : 1312.5663 [cs.LG].
  22. ^ ab Ng, A. (2011). Autocodificador disperso. CS294A Notas de clase , 72 (2011), 1-19.
  23. ^ Nair, Vinod; Hinton, Geoffrey E. (2009). "Reconocimiento de objetos en 3D con redes de creencias profundas". Actas de la 22.ª Conferencia internacional sobre sistemas de procesamiento de información neuronal . NIPS'09. EE. UU.: Curran Associates Inc.: 1339–1347. ISBN 9781615679119.
  24. ^ Zeng, Nianyin; Zhang, Hong; Canción, Baoye; Liu, Weibo; Li, Yurong; Dobaie, Abdullah M. (17 de enero de 2018). "Reconocimiento de expresiones faciales mediante el aprendizaje de codificadores automáticos dispersos y profundos". Neurocomputación . 273 : 643–649. doi :10.1016/j.neucom.2017.08.043. ISSN  0925-2312.
  25. ^ Hinton, Geoffrey E; Zemel, Richard (1993). "Autocodificadores, longitud mínima de descripción y energía libre de Helmholtz". Avances en sistemas de procesamiento de información neuronal . 6 . Morgan-Kaufmann.
  26. ^ Abid, Abubakar; Balin, Muhammad Fatih; Zou, James (27 de enero de 2019). "Autocodificadores concretos para la selección y reconstrucción de características diferenciables". arXiv : 1901.09346 [cs.LG].
  27. ^ abc Zhou, Yingbo; Arpit, Devansh; Nwogu, Ifeoma; Govindaraju, Venu (2014). "¿Es el entrenamiento conjunto mejor para los autocodificadores profundos?". arXiv : 1405.1380 [stat.ML].
  28. ^ R. Salakhutdinov y GE Hinton, “Máquinas de Boltzmann profundas”, en AISTATS, 2009, págs. 448–455.
  29. ^ ab "Moda MNIST". GitHub . 12 de julio de 2019.
  30. ^ ab Salakhutdinov, Ruslan; Hinton, Geoffrey (1 de julio de 2009). "Hashing semántico". Revista internacional de razonamiento aproximado . Sección especial sobre modelos gráficos y recuperación de información. 50 (7): 969–978. doi : 10.1016/j.ijar.2008.11.006 . ISSN  0888-613X.
  31. ^ Bourlard, H.; Kamp, Y. (1988). "Autoasociación por perceptrones multicapa y descomposición en valores singulares". Cibernética biológica . 59 (4–5): 291–294. doi :10.1007/BF00332918. PMID  3196773. S2CID  206775335.
  32. ^ Chicco, Davide; Sadowski, Peter; Baldi, Pierre (2014). "Redes neuronales de autocodificadores profundos para predicciones de anotaciones de ontologías genéticas". Actas de la 5.ª Conferencia de la ACM sobre bioinformática, biología computacional e informática de la salud - BCB '14. pág. 533. doi :10.1145/2649387.2649442. hdl :11311/964622. ISBN 9781450328944. Número de identificación del sujeto  207217210.
  33. ^ Plaut, E (2018). "De subespacios principales a componentes principales con autocodificadores lineales". arXiv : 1804.10253 [stat.ML].
  34. ^ Morales-Forero, A.; Bassetto, S. (diciembre de 2019). "Estudio de caso: una metodología semisupervisada para la detección y el diagnóstico de anomalías". Conferencia internacional IEEE de 2019 sobre ingeniería industrial y gestión de ingeniería (IEEM) . Macao, Macao: IEEE. págs. 1031–1037. doi :10.1109/IEEM44572.2019.8978509. ISBN . 978-1-7281-3804-6.S2CID211027131  .​
  35. ^ Sakurada, Mayu; Yairi, Takehisa (diciembre de 2014). "Detección de anomalías mediante codificadores automáticos con reducción de dimensionalidad no lineal". Actas del segundo taller de la MLSDA 2014 sobre aprendizaje automático para el análisis de datos sensoriales . Gold Coast, Australia QLD, Australia: ACM Press. págs. 4–11. doi :10.1145/2689746.2689747. ISBN 978-1-4503-3159-3. Número de identificación del sujeto  14613395.
  36. ^ abc An, J., & Cho, S. (2015). Detección de anomalías basada en autocodificador variacional utilizando probabilidad de reconstrucción. Conferencia especial sobre ingeniería inversa , 2 , 1-18.
  37. ^ Zhou, Chong; Paffenroth, Randy C. (4 de agosto de 2017). "Detección de anomalías con codificadores automáticos profundos robustos". Actas de la 23.ª Conferencia internacional ACM SIGKDD sobre descubrimiento de conocimientos y minería de datos . ACM. págs. 665–674. doi :10.1145/3097983.3098052. ISBN . 978-1-4503-4887-4.S2CID207557733  .​
  38. ^ Ribeiro, Manasés; Lazzaretti, André Eugenio; Lopes, Heitor Silvério (2018). "Un estudio de codificadores automáticos convolucionales profundos para la detección de anomalías en vídeos". Letras de reconocimiento de patrones . 105 : 13-22. Código Bib : 2018PaReL.105...13R. doi :10.1016/j.patrec.2017.07.016.
  39. ^ Nalisnick, Eric; Matsukawa, Akihiro; Teh, Yee Whye; Gorur, Dilan; Lakshminarayanan, Balaji (24 de febrero de 2019). "¿Saben los modelos generativos profundos lo que no saben?". arXiv : 1810.09136 [stat.ML].
  40. ^ Xiao, Zhisheng; Yan, Qing; Amit, Yali (2020). "Arrepentimiento de verosimilitud: una puntuación de detección fuera de distribución para el autocodificador variacional". Avances en sistemas de procesamiento de información neuronal . 33 . arXiv : 2003.02977 .
  41. ^ Theis, Lucas; Shi, Wenzhe; Cunningham, Andrew; Huszár, Ferenc (2017). "Compresión de imágenes con pérdida mediante codificadores automáticos de compresión". arXiv : 1703.00395 [stat.ML].
  42. ^ Balle, J; Laparra, V; Simoncelli, EP (abril de 2017). "Compresión de imágenes optimizada de extremo a extremo". Conferencia internacional sobre representaciones de aprendizaje . arXiv : 1611.01704 .
  43. ^ Cho, K. (febrero de 2013). La esparsificación simple mejora los autocodificadores de eliminación de ruido disperso en la eliminación de ruido de imágenes altamente corruptas. En la Conferencia internacional sobre aprendizaje automático (pp. 432-440).
  44. ^ Cho, Kyunghyun (2013). "Máquinas de Boltzmann y codificadores automáticos de eliminación de ruido para la eliminación de ruido de imágenes". arXiv : 1301.3468 [stat.ML].
  45. ^ Buades, A.; Coll, B.; Morel, JM (2005). "Una revisión de algoritmos de eliminación de ruido de imágenes, con uno nuevo". Modelado y simulación multiescala . 4 (2): 490–530. doi :10.1137/040616024. S2CID  218466166.
  46. ^ Gondara, Lovedeep (diciembre de 2016). "Reducción de ruido en imágenes médicas mediante codificadores automáticos de reducción de ruido convolucional". 2016 IEEE 16th International Conference on Data Mining Workshops (ICDMW) . Barcelona, ​​España: IEEE. pp. 241–246. arXiv : 1608.04667 . Bibcode :2016arXiv160804667G. doi :10.1109/ICDMW.2016.0041. ISBN 9781509059102.S2CID 14354973  .
  47. ^ Zeng, Kun; Yu, Jun; Wang, Ruxin; Li, Cuihua; Tao, Dacheng (enero de 2017). "Codificador automático profundo acoplado para superresolución de imagen única". IEEE Transactions on Cybernetics . 47 (1): 27–37. doi :10.1109/TCYB.2015.2501373. ISSN  2168-2267. PMID  26625442. S2CID  20787612.
  48. ^ Tzu-Hsi, Song; Sanchez, Victor; Hesham, EIDaly; Nasir M., Rajpoot (2017). "Autocodificador híbrido profundo con curvatura gaussiana para la detección de varios tipos de células en imágenes de biopsia de médula ósea por trepanación". 2017 IEEE 14th International Symposium on Biomedical Imaging (ISBI 2017) . págs. 1040–1043. doi :10.1109/ISBI.2017.7950694. ISBN . 978-1-5090-1172-8.S2CID 7433130  .
  49. ^ Xu, Jun; Xiang, Lei; Liu, Qingshan; Gilmore, Hannah; Wu, Jianzhong; Tang, Jinghai; Madabhushi, Anant (enero de 2016). "Autocodificador disperso apilado (SSAE) para la detección de núcleos en imágenes de histopatología del cáncer de mama". IEEE Transactions on Medical Imaging . 35 (1): 119–130. doi :10.1109/TMI.2015.2458702. PMC 4729702 . PMID  26208307. 
  50. ^ Martinez-Murcia, Francisco J.; Ortiz, Andres; Gorriz, Juan M.; Ramirez, Javier; Castillo-Barnes, Diego (2020). "Estudio de la estructura múltiple de la enfermedad de Alzheimer: un enfoque de aprendizaje profundo utilizando autocodificadores convolucionales". IEEE Journal of Biomedical and Health Informatics . 24 (1): 17–26. doi : 10.1109/JBHI.2019.2914970 . hdl : 10630/28806 . PMID  31217131. S2CID  195187846.
  51. ^ Zhavoronkov, Alex (2019). "El aprendizaje profundo permite la identificación rápida de potentes inhibidores de la quinasa DDR1". Nature Biotechnology . 37 (9): 1038–1040. doi :10.1038/s41587-019-0224-x. PMID  31477924. S2CID  201716327.
  52. ^ Gregory, Barber. "Una molécula diseñada por IA exhibe cualidades 'similares a las de un fármaco'". Wired .
  53. ^ De, Shaunak; Maity, Abhishek; Goel, Vritti; Shitole, Sanjay; Bhattacharya, Avik (2017). "Predicción de la popularidad de las publicaciones de Instagram para una revista de estilo de vida mediante aprendizaje profundo". 2017 2nd IEEE International Conference on Communication Systems, Computing and IT Applications (CSCITA) . págs. 174–177. doi :10.1109/CSCITA.2017.8066548. ISBN 978-1-5090-4381-1.S2CID35350962  .​
  54. ^ Cho, Kyunghyun; Bart van Merrienboer; Bahdanau, Dzmitry; Bengio, Yoshua (2014). "Sobre las propiedades de la traducción automática neuronal: enfoques de codificador-decodificador". arXiv : 1409.1259 [cs.CL].
  55. ^ Sutskever, Ilya; Vinyals, Oriol; Le, Quoc V. (2014). "Aprendizaje secuencia a secuencia con redes neuronales". arXiv : 1409.3215 [cs.CL].
  56. ^ Han, Lifeng; Kuang, Shaohui (2018). "Incorporación de radicales chinos en la traducción automática neuronal: más allá del nivel de caracteres". arXiv : 1805.01565 [cs.CL].