Redes Neurais em IA e Deep Learning - página 59

 

Clase 15.1 — De PCA a codificadores automáticos



Lección 15.1 — De PCA a codificadores automáticos [Redes neuronales para el aprendizaje automático]

El análisis de componentes principales (PCA) es una técnica ampliamente utilizada en el procesamiento de señales que tiene como objetivo representar datos de alta dimensión utilizando un código de menor dimensión. La idea clave detrás de PCA es encontrar una variedad lineal en el espacio de alta dimensión donde se encuentran los datos. Al proyectar los datos en esta variedad, podemos representar su ubicación en la variedad, perdiendo información mínima.

PCA se puede implementar de manera eficiente utilizando métodos estándar o, de manera menos eficiente, utilizando una red neuronal con unidades lineales ocultas y de salida. La ventaja de usar una red neuronal es la capacidad de generalizar la técnica a redes neuronales profundas, donde el código y la reconstrucción de datos se convierten en funciones no lineales de la entrada. Esto nos permite manejar variedades curvas en el espacio de entrada, lo que da como resultado una representación más poderosa.

En PCA, nuestro objetivo es representar datos n-dimensionales utilizando menos de n números. Al identificar las direcciones m ortogonales con la mayor variación, llamadas direcciones principales, ignoramos las direcciones con poca variación. Estas m direcciones principales forman un subespacio de dimensión inferior y representamos un punto de datos de n dimensión proyectándolo en estas direcciones en el espacio de dimensión inferior. Aunque se pierde información sobre la ubicación del punto de datos en las direcciones ortogonales, no es significativa debido a su baja varianza.

Para reconstruir un punto de datos a partir de su representación usando m números, usamos el valor medio para las direcciones no representadas (n - m). El error de reconstrucción se calcula como la diferencia al cuadrado entre el valor del punto de datos en las direcciones no representadas y el valor medio en esas direcciones.

Para implementar PCA utilizando backpropagation, podemos crear una red neuronal con una capa de cuello de botella que tenga m unidades ocultas, que representan los componentes principales. El objetivo de la red es minimizar el error cuadrático entre la entrada y la salida reconstruida. Si las unidades ocultas y de salida son lineales, la red aprenderá códigos que minimizan el error de reconstrucción, similar a PCA. Sin embargo, las unidades ocultas pueden no corresponder con precisión a los componentes principales, teniendo potencialmente una rotación y sesgo de ejes. No obstante, el espacio ocupado por los vectores de peso entrantes de la unidad de código será el mismo que el espacio ocupado por los m componentes principales.

El uso de retropropagación en una red neuronal permite generalizar PCA mediante la incorporación de capas no lineales antes y después de la capa de código. Esto permite la representación de datos que se encuentran en variedades curvas en espacios de alta dimensión, lo que hace que el enfoque sea más versátil. La red consta de un vector de entrada, unidades ocultas no lineales, una capa de código (que puede ser lineal), unidades ocultas no lineales adicionales y un vector de salida entrenado para parecerse al vector de entrada.

El análisis de componentes principales es una técnica para representar datos de alta dimensión utilizando un código de menor dimensión mediante la identificación de direcciones principales con alta varianza. Se puede implementar de manera eficiente usando métodos tradicionales o menos eficientemente usando una red neuronal. La versión de red neuronal permite la generalización a redes neuronales profundas y la representación de datos en variedades curvas.

 

Clase 15.2 — Codificadores automáticos profundos



Lección 15.2 — Autocodificadores profundos [Redes neuronales para el aprendizaje automático]

Los codificadores automáticos profundos han revolucionado la reducción de la dimensionalidad al superar las capacidades de las técnicas lineales como el análisis de componentes principales. Su capacidad para capturar relaciones no lineales complejas dentro de los datos los ha convertido en una herramienta invaluable en varios dominios.

En el caso del codificador automático profundo implementado por Salakhutdinov y Hinton, los dígitos reconstruidos exhiben una calidad superior en comparación con sus contrapartes de componentes principales lineales. Esta mejora se deriva de la capacidad del codificador automático profundo para aprender una jerarquía de representaciones cada vez más abstractas a través de sus múltiples capas ocultas. Cada capa captura características de nivel superior que contribuyen a una reconstrucción más fiel de los datos de entrada.

El poder de los codificadores automáticos profundos radica en su capacidad para aprender mapeos altamente expresivos en las direcciones de codificación y decodificación. El codificador mapea los datos de entrada de alta dimensión a una representación de código de menor dimensión, capturando efectivamente las características más destacadas. Por otro lado, el decodificador reconstruye la entrada original a partir de esta representación de código comprimido. Este mapeo bidireccional asegura que se retenga información valiosa durante el proceso de reducción de dimensionalidad.

El entrenamiento de codificadores automáticos profundos fue inicialmente un desafío debido al problema del gradiente de fuga. Sin embargo, con los avances en las técnicas de optimización, como el preentrenamiento no supervisado y las estrategias de inicialización del peso, el proceso de entrenamiento se ha vuelto mucho más eficiente y eficaz. Estos métodos permiten que el codificador automático profundo aprenda representaciones significativas sin quedarse atascado en soluciones subóptimas.

Además, los codificadores automáticos profundos han allanado el camino para el desarrollo de arquitecturas más avanzadas, como los codificadores automáticos variacionales y las redes antagónicas generativas. Estos modelos amplían las capacidades de los codificadores automáticos profundos mediante la incorporación de técnicas de aprendizaje probabilístico y antagónico, lo que permite tareas como la generación de datos, la detección de anomalías y el aprendizaje semisupervisado.

En conclusión, los codificadores automáticos profundos han revolucionado la reducción de la dimensionalidad al proporcionar mapeos flexibles y no lineales que superan las técnicas lineales tradicionales. Su capacidad para aprender representaciones jerárquicas y reconstruir datos de alta calidad los ha impulsado a una posición destacada en el campo del aprendizaje profundo. Con la investigación y el desarrollo continuos, se espera que los codificadores automáticos profundos desbloqueen más posibilidades para comprender y manipular estructuras de datos complejas en varios dominios.

 

Clase 15.3 — Codificadores automáticos profundos para la recuperación de documentos



Lección 15.3 — Codificadores automáticos profundos para la recuperación de documentos [Redes neuronales para el aprendizaje automático]

En este video, se analiza la aplicación de codificadores automáticos profundos en la recuperación de documentos. Un método anterior llamado análisis semántico latente utilizaba análisis de componentes principales (PCA) en vectores de conteo de palabras extraídos de documentos para determinar la similitud de los documentos y facilitar la recuperación. Sin embargo, el potencial de los codificadores automáticos profundos para superar a PCA en esta tarea llevó a una mayor exploración.

La investigación realizada por Russ Salakhutdinov demostró que los codificadores automáticos profundos realmente superaron el análisis semántico latente cuando se aplicaron a una gran base de datos de documentos. Incluso al reducir la dimensionalidad de los datos a solo 10 componentes, el codificador automático profundo arrojó resultados superiores en comparación con los 50 componentes obtenidos a partir de métodos lineales como el análisis semántico latente.

El proceso de recuperación de documentos implica convertir cada documento en una representación de bolsa de palabras, esencialmente un vector de conteo de palabras. Se ignoran las palabras vacías, como "the" o "over", que brindan poca información sobre el tema del documento. Comparar los recuentos de palabras de un documento de consulta con los de millones de otros documentos puede ser costoso desde el punto de vista computacional. Para abordar esto, se emplea un codificador automático profundo para comprimir los vectores de conteo de palabras de 2000 dimensiones a 10 números reales, que luego se pueden usar para comparar documentos de manera más eficiente.

Para adaptar el codificador automático al conteo de palabras, se realiza una división por el número total de palabras continuas, convirtiendo el vector de conteo en un vector de probabilidad donde los números suman uno. La capa de salida del codificador automático emplea una función softmax con una dimensionalidad que coincide con el tamaño del vector de conteo de palabras. Durante la reconstrucción, las probabilidades de recuento de palabras se tratan como valores objetivo. Sin embargo, al activar la primera capa oculta, todos los pesos se multiplican por "n" para tener en cuenta múltiples observaciones de la distribución de probabilidad. Esto asegura que las unidades de entrada proporcionen suficiente entrada a la primera capa oculta.

La eficacia de este enfoque se evaluó utilizando un conjunto de datos de 4000 documentos comerciales etiquetados a mano del conjunto de datos de Reuters. Inicialmente, se entrenó una pila de máquinas Boltzmann restringidas, seguidas de un ajuste fino mediante retropropagación con una capa de salida softmax de 2000 vías. La prueba implicó seleccionar un documento como consulta y clasificar los documentos restantes según el coseno de los ángulos entre sus vectores de diez dimensiones. La precisión de la recuperación se midió comparando el número de documentos recuperados con la proporción de documentos en la misma clase etiquetada a mano que el documento de consulta.

Los resultados mostraron que el codificador automático, incluso con solo diez números reales como código, superó el análisis semántico latente utilizando 50 números reales. Además, reducir los vectores de documentos a dos números reales y visualizarlos en un mapa reveló una separación mucho más clara de las clases de documentos en comparación con PCA. Estas presentaciones visuales pueden proporcionar información valiosa sobre la estructura del conjunto de datos y ayudar en los procesos de toma de decisiones.

En conclusión, los codificadores automáticos profundos ofrecen mejoras prometedoras sobre los métodos lineales tradicionales como PCA para tareas de recuperación de documentos. Su capacidad para comprimir y reconstruir representaciones de documentos de manera eficiente mientras captura información esencial puede mejorar la precisión y la eficiencia de los sistemas de recuperación de documentos.

 

Clase 15.4 — Hashing semántico



Clase 15.4 — Hashing semántico [Redes neuronales para el aprendizaje automático]

En este video, hablaré sobre hash semántico, una técnica que encuentra documentos similares a un documento de consulta de manera eficiente. El concepto implica convertir un documento en una dirección de memoria y organizar la memoria para agrupar documentos similares. Es análogo a un supermercado donde se encuentran productos similares en la misma área.

Los descriptores binarios de imágenes son valiosos para la recuperación rápida de imágenes, pero obtener un conjunto de descriptores binarios ortogonales es un desafío. El aprendizaje automático puede ayudar a resolver este problema. Exploraremos la aplicación de esta técnica a documentos y luego a imágenes.

Para obtener códigos binarios para documentos, entrenamos un autocodificador profundo con unidades logísticas en su capa de código. Sin embargo, para evitar que las unidades logísticas utilicen sus rangos medios para transmitir información sobre recuentos de palabras, agregamos ruido a las entradas durante la etapa de ajuste fino. Este ruido anima a que las unidades de código estén activadas o desactivadas, lo que da como resultado valores binarios. El umbral de las unidades logísticas en el momento de la prueba produce códigos binarios.

Alternativamente, podemos usar unidades binarias estocásticas en lugar de agregar ruido. Durante el paso hacia adelante, se elige estocásticamente un valor binario en función de la salida de la unidad logística. Durante el paso hacia atrás, la probabilidad de valor real se usa para el cálculo de gradiente uniforme durante la propagación hacia atrás.

Con los códigos binarios cortos obtenidos, podemos realizar una búsqueda secuencial comparando el código del documento de consulta con los códigos de los documentos almacenados. Sin embargo, un enfoque más eficiente es tratar el código como una dirección de memoria. Al usar el codificador automático profundo como función hash, convertimos el documento en una dirección de 30 bits. Cada dirección en memoria apunta a documentos con la misma dirección, formando una lista. Cambiando bits en la dirección, podemos acceder a direcciones cercanas y encontrar documentos semánticamente similares. Esto evita la necesidad de buscar en una larga lista de documentos.

Esta búsqueda basada en la memoria es muy eficiente, especialmente para grandes bases de datos. Es similar a cómo buscaría en un supermercado yendo a un lugar específico y mirando artículos cercanos. Sin embargo, en un espacio de memoria de 30 dimensiones, los elementos se pueden ubicar uno cerca del otro por múltiples razones, lo que hace que la búsqueda sea más efectiva.

El hashing semántico se alinea con los métodos de recuperación rápida que cruzan las listas almacenadas asociadas con los términos de consulta. Las computadoras tienen hardware especializado, como el bus de memoria, que puede intersectar múltiples listas en una sola instrucción. Al garantizar que los 32 bits en el código binario se correspondan con propiedades significativas del documento, el hashing semántico aprovecha el aprendizaje automático para mapear el problema de recuperación en operaciones de intersección de listas, lo que permite búsquedas rápidas de similitud sin métodos de búsqueda tradicionales.

El hashing semántico es una técnica poderosa que aprovecha el aprendizaje automático para transformar el problema de recuperación en una tarea de intersección de listas en la que se destacan las computadoras. Al representar documentos o imágenes como códigos binarios, podemos encontrar elementos similares de manera eficiente sin necesidad de métodos de búsqueda tradicionales.

Para lograr esto, se entrena un codificador automático profundo para codificar documentos en códigos binarios. Inicialmente, el codificador automático se entrena como una pila de máquinas Boltzmann restringidas, que luego se desenrollan y ajustan con retropropagación. Durante la etapa de ajuste fino, se agrega ruido a las entradas de las unidades de código para fomentar el aprendizaje de características binarias.

Una vez que se entrena el codificador automático, los códigos binarios se pueden usar como direcciones de memoria. Cada dirección en la memoria corresponde a un conjunto de documentos que comparten características similares. Cambiando algunos bits en la dirección, podemos acceder a direcciones cercanas, formando una bola de Hamming. Dentro de esta bola de Hamming, esperamos encontrar documentos semánticamente similares.

Este enfoque elimina la necesidad de búsquedas secuenciales a través de una gran base de datos de documentos. En cambio, simplemente calculamos la dirección de memoria para el documento de consulta, exploramos las direcciones cercanas intercambiando bits y recuperamos documentos similares. La eficiencia de esta técnica se hace especialmente evidente cuando se trata de bases de datos masivas que contienen miles de millones de documentos, ya que evita la búsqueda en serie a través de cada elemento.

Una analogía que se utiliza a menudo para explicar este proceso es el concepto de búsqueda en un supermercado. Al igual que en un supermercado, donde le pides al cajero la ubicación de un producto específico, aquí convertimos el documento de consulta en una dirección de memoria y buscamos documentos similares cerca. El espacio de memoria de 30 dimensiones permite relaciones complejas y proporciona un amplio espacio para colocar elementos con atributos similares en proximidad.

Mientras que los métodos de recuperación tradicionales se basan en listas de intersección asociadas con términos de consulta, el hash semántico utiliza el aprendizaje automático para mapear el problema de recuperación en las capacidades de intersección de listas de las computadoras. Al garantizar que los 32 bits en el código binario correspondan a propiedades significativas de documentos o imágenes, podemos encontrar elementos similares de manera eficiente sin necesidad de operaciones de búsqueda explícitas.

El hash semántico es una técnica muy eficaz para encontrar documentos o imágenes similares. Al transformarlos en códigos binarios y tratar los códigos como direcciones de memoria, podemos recuperar rápidamente elementos semánticamente similares explorando direcciones cercanas. Este enfoque aprovecha las fortalezas del aprendizaje automático y aprovecha las capacidades de intersección de listas de las computadoras, lo que permite una recuperación rápida y precisa sin la necesidad de métodos de búsqueda tradicionales.

 

Lección 15.5 — Aprendizaje de códigos binarios para la recuperación de imágenes



Lección 15.5 — Aprendizaje de códigos binarios para la recuperación de imágenes [Redes neuronales para el aprendizaje automático]

El video analiza el uso de códigos binarios para la recuperación de imágenes y lo compara con los métodos tradicionales que se basan en subtítulos. La recuperación de imágenes en función de su contenido es un desafío porque los píxeles individuales no brindan mucha información sobre el contenido de la imagen. Sin embargo, al extraer un vector binario corto que representa el contenido de la imagen, podemos almacenar y unir imágenes de manera más eficiente.

El video sugiere un método de dos etapas para la recuperación de imágenes. En la primera etapa, se extrae un código binario corto, generalmente de alrededor de 30 bits, utilizando hash semántico. Este código se utiliza para generar rápidamente una breve lista de posibles coincidencias. En la segunda etapa, se utilizan códigos binarios más largos, como 256 bits, para una búsqueda más detallada y precisa entre las imágenes candidatas.

El video presenta un ejemplo de una arquitectura de autocodificador que puede reconstruir imágenes y extraer códigos binarios informativos. El autocodificador consta de múltiples capas, reduciendo progresivamente el número de unidades hasta llegar a un código de 256 bits. Mediante el uso de este codificador automático, el video demuestra que las imágenes recuperadas son similares a la imagen de consulta y muestran relaciones significativas.

Además, el video explora el uso de una red neuronal preentrenada para el reconocimiento de imágenes para extraer vectores de actividad como representaciones del contenido de la imagen. Cuando se usa la distancia euclidiana para comparar estos vectores de actividad, los resultados de recuperación son prometedores, lo que sugiere que este enfoque podría extenderse a códigos binarios para una coincidencia más eficiente.

El video concluye mencionando que la combinación del contenido de la imagen con los subtítulos puede mejorar aún más la representación y mejorar el rendimiento de la recuperación.

El video destaca las ventajas de usar códigos binarios para la recuperación de imágenes, como el almacenamiento eficiente, la coincidencia rápida y la capacidad de capturar contenido de imagen significativo. Demuestra la eficacia de los codificadores automáticos y las redes neuronales preentrenadas para extraer códigos binarios informativos y sugiere que la combinación de contenido de imagen y leyendas puede conducir a resultados de recuperación aún mejores.

 

Clase 15.6 — Codificadores automáticos poco profundos para el entrenamiento previo



Lección 15.6 — Codificadores automáticos superficiales para el entrenamiento previo [Redes neuronales para el aprendizaje automático]

En este video, el orador analiza métodos alternativos de preentrenamiento para aprender redes neuronales profundas. Inicialmente, introdujeron el pre-entrenamiento utilizando máquinas restrictivas de Boltzmann (RBM) entrenadas con divergencia contrastiva. Sin embargo, más tarde se descubrió que hay otras formas de entrenar previamente capas de características. Si los pesos se inicializan correctamente, es posible que no sea necesario un entrenamiento previo, siempre que haya suficientes datos etiquetados. El ponente menciona los beneficios de los autocodificadores profundos y sus códigos para diversas aplicaciones.

Luego cambian el enfoque a codificadores automáticos poco profundos, particularmente RBM entrenados con la máxima probabilidad. Los RBM como codificadores automáticos tienen una fuerte regularización debido a las unidades ocultas binarias, lo que limita su capacidad. Sin embargo, si los RBM se entrenan con la máxima probabilidad, ignoran los píxeles ruidosos y los modelan utilizando sesgos de entrada. El orador sugiere usar una pila de codificadores automáticos en lugar de RBM para el entrenamiento previo, pero este enfoque no es tan efectivo, especialmente con codificadores de aguas poco profundas que solo penalizan los pesos al cuadrado.

El orador presenta los codificadores automáticos de eliminación de ruido, ampliamente estudiados por el grupo de Montreal. Estos codificadores automáticos agregan ruido a los vectores de entrada, configurando algunos componentes a cero (similar a la caída). Están obligados a reconstruir las entradas con componentes puestos a cero, evitando que simplemente copien la entrada. A diferencia de los codificadores de aguas poco profundas, los codificadores automáticos de eliminación de ruido capturan las correlaciones entre las entradas, utilizando algunos valores de entrada para ayudar a reconstruir las entradas puestas a cero. El apilamiento de codificadores automáticos que eliminan el ruido puede ser muy efectivo para el entrenamiento previo, superando a los RBM en la mayoría de los casos.

El orador menciona que evaluar el entrenamiento previo utilizando codificadores automáticos de eliminación de ruido es más simple ya que la función objetivo se puede calcular fácilmente. Por el contrario, la evaluación de RBM con divergencia contrastiva no produce la función objetivo real. Sin embargo, los codificadores automáticos que eliminan el ruido carecen del límite variacional que poseen los RBM, aunque este interés teórico se limita a los RBM entrenados con la máxima probabilidad.

Otro tipo de codificador discutido es el autocodificador contractivo, también desarrollado por el grupo de Montreal. Estos codificadores automáticos tienen como objetivo hacer que las actividades ocultas sean insensibles a las entradas al penalizar el gradiente al cuadrado de cada unidad oculta con respecto a cada entrada. Los codificadores automáticos contractivos funcionan bien para el entrenamiento previo y tienden a tener códigos escasos, con solo un pequeño subconjunto de unidades ocultas sensibles a diferentes partes del espacio de entrada.

El ponente concluye resumiendo su punto de vista actual sobre la formación previa. El entrenamiento previo capa por capa es beneficioso cuando un conjunto de datos tiene datos etiquetados limitados, ya que ayuda a descubrir buenas características sin depender de las etiquetas. Sin embargo, para grandes conjuntos de datos etiquetados, el entrenamiento previo no supervisado no es necesario si la red es lo suficientemente grande. Sin embargo, para redes aún más grandes, el entrenamiento previo vuelve a ser crucial para evitar el sobreajuste. El orador argumenta que los métodos de regularización como la deserción y el entrenamiento previo son importantes, especialmente cuando se trata de grandes espacios de parámetros en comparación con los datos disponibles.

 

Lección 16.1 — Aprendiendo un modelo conjunto de imágenes y leyendas



Lección 16.1 — Aprendiendo un modelo conjunto de imágenes y subtítulos [Redes neuronales para el aprendizaje automático]

Discutiré el trabajo reciente sobre el aprendizaje de un modelo conjunto de leyendas de imágenes y vectores de características. En una conferencia anterior, exploramos cómo extraer características significativas de las imágenes sin utilizar subtítulos. Sin embargo, los subtítulos pueden proporcionar información valiosa para extraer categorías semánticas relevantes de las imágenes y, viceversa, las imágenes pueden ayudar a eliminar la ambigüedad del significado de las palabras en los subtítulos.

El enfoque propuesto implica entrenar una gran red que toma como entrada vectores de características de visión por computadora estándar extraídos de imágenes y representaciones de subtítulos de bolsas de palabras. La red aprende la relación entre las dos representaciones de entrada. Se muestra una película de la red final, que demuestra el uso de palabras para crear vectores de características para imágenes y encontrar la imagen más cercana en su base de datos, así como el uso de imágenes para crear bolsas de palabras.

Nitish Srivastava y Ruslan Salakhutdinov realizaron una investigación para construir un modelo de densidad conjunta de subtítulos e imágenes. Sin embargo, en lugar de usar píxeles sin procesar, representaron imágenes usando las características estándar de visión por computadora. Esto requirió más computación en comparación con la construcción de un modelo de densidad conjunta de etiquetas e imágenes de dígitos. Entrenaron modelos separados de varias capas para imágenes y vectores de conteo de palabras de los subtítulos. Estos modelos individuales luego se conectaron a una nueva capa superior que integraba ambas modalidades. Se realizó un entrenamiento conjunto de todo el sistema para permitir que cada modalidad mejorara las primeras capas de la otra modalidad.

Para entrenar previamente las capas ocultas de una máquina Boltzmann profunda, siguieron un enfoque diferente al que se cubrió anteriormente en el curso. En lugar de usar una pila de máquinas Boltzmann restringidas (RBM) para formar una red de creencias profundas, entrenaron previamente directamente una pila de RBM de una manera específica. Los pesos de los RBM superiores e inferiores en la pila se entrenaron con una propiedad de simetría de escala, donde los pesos de abajo hacia arriba eran el doble de grandes que los pesos de arriba hacia abajo. Los RBM intermedios fueron entrenados con pesos simétricos. Esta configuración de peso permitió el promedio geométrico de los dos modelos diferentes de cada capa en la máquina Boltzmann profunda final.

La justificación de esta configuración de peso radica en cómo se combinan las dos formas de inferir los estados de las unidades en cada capa en la máquina profunda de Boltzmann. Los pesos aseguran que la evidencia no se cuente dos veces al inferir el estado de una capa. Las capas intermedias realizan un promedio geométrico de la evidencia de los modelos de abajo hacia arriba y de arriba hacia abajo, evitando la duplicación de evidencia. Para una explicación más detallada, consulte el documento original.

El enfoque presentado en el video se enfoca en aprender un modelo conjunto de leyendas de imágenes y vectores de características. Al integrar la información de ambas modalidades, el modelo tiene como objetivo mejorar la comprensión de las imágenes y las leyendas y permitir una representación semántica más precisa.

Vale la pena señalar que el uso de una máquina Boltzmann profunda en lugar de una red de creencias profundas para el entrenamiento conjunto tiene sus ventajas. Si bien se podría haber empleado una red de creencias profundas con un ajuste fino generativo usando sueño-vigilia contrastivo, se espera que el algoritmo de ajuste fino para máquinas profundas de Boltzmann arroje mejores resultados. Por lo tanto, la decisión de utilizar una máquina de Boltzmann profunda permite un mejor entrenamiento y mejora de los detectores de características en las primeras capas de cada modalidad.

El video también aborda brevemente el proceso de entrenamiento de la máquina profunda de Boltzmann. Los pesos de los RBM en la pila se ajustan de manera simétrica a escala, lo que garantiza que la evidencia se combine adecuadamente sin contar dos veces. Este enfoque permite el promedio geométrico de los dos modelos diferentes de cada capa, considerando entradas de abajo hacia arriba y de arriba hacia abajo. La configuración del peso específico asegura que la evidencia no se duplique, teniendo en cuenta las dependencias entre capas.

Aunque el video brinda una explicación de alto nivel del proceso, las matemáticas subyacentes y el razonamiento detallado se pueden encontrar en el documento adjunto. El enfoque presentado en el video y la investigación posterior de Nitish Srivastava y Ruslan Salakhutdinov contribuyen a avanzar en el modelado conjunto de leyendas y vectores de funciones, lo que facilita una mejor comprensión y representación de las imágenes y sus leyendas asociadas.

En conclusión, el trabajo discutido en el video se enfoca en aprender un modelo conjunto de leyendas de imágenes y vectores de características. Al aprovechar la información presente en ambas modalidades, el enfoque propuesto tiene como objetivo mejorar la extracción de categorías semánticas de las imágenes y la desambiguación de palabras en los subtítulos. El uso de una máquina profunda de Boltzmann y la configuración específica de peso durante el entrenamiento permiten una integración y un aprendizaje efectivos entre las dos modalidades.

 

Clase 16.2 — Marcos de coordenadas jerárquicas



Lección 16.2 — Marcos de coordenadas jerárquicas [Redes neuronales para el aprendizaje automático]

En este video, el orador analiza el potencial de combinar enfoques de reconocimiento de objetos en la visión artificial. Se mencionan tres enfoques principales: redes neuronales convolucionales profundas (CNN), enfoques basados en partes y características diseñadas a mano con ingeniería manual extensa.

Si bien las CNN han demostrado su eficacia en el reconocimiento de objetos, el orador señala limitaciones, como la pérdida de posiciones precisas del detector de características y la dificultad de extrapolar a nuevos puntos de vista y escalas. Para abordar estos desafíos, el orador sugiere usar una jerarquía de marcos de coordenadas y representar la conjunción de la forma y la pose de una característica en relación con la retina usando grupos de neuronas.

Al representar las poses de partes de objetos en relación con la retina, se vuelve más fácil reconocer objetos más grandes al aprovechar la consistencia de las poses de las partes. El orador explica un método de uso de actividades neuronales para representar vectores de pose y cómo las relaciones espaciales se pueden modelar como operaciones lineales. Esto facilita el aprendizaje de jerarquías de entidades visuales y la generalización entre puntos de vista.

El orador enfatiza la importancia de incorporar marcos de coordenadas para representar formas de manera efectiva. Proporcionan ejemplos que demuestran cómo nuestro sistema visual impone marcos de coordenadas para reconocer formas correctamente. La percepción de una forma puede cambiar según el marco de coordenadas impuesto, lo que destaca el papel de los marcos de coordenadas en la representación de formas.

El video explora la idea de combinar diferentes enfoques de reconocimiento de objetos aprovechando marcos de coordenadas y representaciones jerárquicas. Este enfoque tiene como objetivo abordar las limitaciones de las CNN y mejorar el reconocimiento de objetos mediante la incorporación de relaciones espaciales y la consistencia de la pose. También se enfatiza la importancia de los marcos de coordenadas en la percepción de la forma.

 

Clase 16.3 — Optimización bayesiana de hiperparámetros



Lección 16.3 — Optimización bayesiana de hiperparámetros [Redes neuronales para el aprendizaje automático]

En este video, discutiré algunos trabajos recientes que abordan la cuestión de cómo determinar hiperparámetros en redes neuronales. El enfoque presentado en este trabajo utiliza un tipo diferente de aprendizaje automático para ayudar a seleccionar los valores apropiados para los hiperparámetros. En lugar de ajustar manualmente la configuración de los hiperparámetros, este método emplea el aprendizaje automático para automatizar el proceso. La técnica se basa en procesos gaussianos, que son efectivos para modelar funciones suaves. Aunque los procesos gaussianos se consideraban tradicionalmente inadecuados para tareas como el habla y la visión, son adecuados para dominios con conocimientos previos limitados, donde las entradas similares tienden a producir resultados similares.

Los hiperparámetros, como la cantidad de unidades ocultas, las capas, la penalización de peso y el uso de abandono, juegan un papel crucial en el rendimiento de la red neuronal. Encontrar las combinaciones correctas de hiperparámetros puede ser un desafío, especialmente cuando se explora el espacio manualmente. Los procesos gaussianos sobresalen en la identificación de tendencias en los datos y pueden identificar efectivamente buenos conjuntos de hiperparámetros. Muchos investigadores dudan en usar redes neuronales debido a la dificultad de configurar correctamente los hiperparámetros, ya que un valor incorrecto para un hiperparámetro puede hacer que la red sea ineficaz. La búsqueda en cuadrícula, un enfoque común, implica probar exhaustivamente todas las combinaciones posibles, lo que se vuelve inviable con numerosos hiperparámetros.

Sin embargo, un método más eficiente implica el muestreo aleatorio de combinaciones de hiperparámetros. Al hacerlo, se evitan experimentos redundantes y se presta más atención a los hiperparámetros que tienen un impacto significativo. Sin embargo, las combinaciones aleatorias tienen limitaciones, y ahí es donde entra en juego el aprendizaje automático. Al utilizar el aprendizaje automático, podemos simular el proceso de un estudiante de posgrado que selecciona valores de hiperparámetros. En lugar de depender de combinaciones aleatorias, examinamos los resultados obtenidos hasta el momento y predecimos qué combinaciones es probable que produzcan buenos resultados. Esta predicción requiere determinar regiones del espacio de hiperparámetros que se espera proporcionen resultados favorables.

Para construir un modelo predictivo, asumimos que evaluar una única configuración de hiperparámetro requiere recursos computacionales significativos, como entrenar una red neuronal grande en un conjunto de datos masivo, lo que puede llevar días. Por otro lado, la construcción de un modelo para predecir el rendimiento de la configuración de hiperparámetros en base a experimentos anteriores es computacionalmente menos intensiva. Los modelos de procesos gaussianos, que asumen que entradas similares conducen a salidas similares, son adecuados para tales predicciones. Estos modelos aprenden la escala adecuada para medir la similitud en cada dimensión de entrada, lo que nos permite identificar valores de hiperparámetros similares y diferentes.

Además, los modelos de procesos gaussianos no solo predicen el resultado esperado de un experimento, sino que también proporcionan una distribución de predicciones, incluida una varianza. Al predecir el rendimiento de la nueva configuración de hiperparámetros que es similar a la configuración anterior, las predicciones de los modelos son precisas y tienen poca variación. Por el contrario, para configuraciones de hiperparámetros que difieren significativamente de cualquier experimento anterior, las predicciones tienen una variación alta.

La estrategia para usar procesos gaussianos para determinar la siguiente configuración de hiperparámetro implica seleccionar una configuración que se espera produzca una mejora sustancial con respecto a la mejor configuración observada hasta el momento. El riesgo de encontrar un mal resultado es aceptable ya que no reemplazaría la mejor configuración obtenida. Esta estrategia es similar al enfoque utilizado por los administradores de fondos de cobertura, que tienen incentivos significativos para asumir riesgos porque no existe una desventaja significativa. Al seguir esta estrategia, podemos tomar decisiones informadas sobre qué configuraciones de hiperparámetro explorar a continuación.

Esta política se puede adaptar para ejecutar múltiples experimentos en paralelo, lo que hace que el proceso sea más eficiente. Como seres humanos, es un desafío realizar un seguimiento de los resultados de numerosos experimentos y predecir sus resultados con precisión. Sin embargo, los modelos de procesos gaussianos pueden manejar esta tarea de manera efectiva ya que pueden detectar tendencias y patrones en los datos. Por último, los modelos de procesos gaussianos son menos propensos al sesgo en comparación con los humanos. Al realizar una investigación, los investigadores a menudo tienden a esforzarse más en encontrar una buena configuración de hiperparámetros para su nuevo método que para los métodos establecidos. El uso de modelos de procesos gaussianos elimina este sesgo, ya que buscan buenos conjuntos de hiperparámetros por igual para todos los modelos que se evalúan. En conclusión, los modelos de procesos gaussianos brindan un enfoque poderoso y eficiente para determinar hiperparámetros en redes neuronales. Al aprovechar las capacidades predictivas de los procesos gaussianos, podemos automatizar el proceso de selección de valores de hiperparámetros, reduciendo la necesidad de exploración manual y conjeturas.

Los métodos tradicionales, como la búsqueda en cuadrícula, pueden resultar poco prácticos cuando se trata de una gran cantidad de hiperparámetros. El muestreo aleatorio de combinaciones de hiperparámetros es un enfoque más eficiente, pero aún tiene limitaciones. Al incorporar el aprendizaje automático, podemos simular el proceso de toma de decisiones de un investigador humano y hacer predicciones más informadas sobre qué combinaciones de hiperparámetros es probable que produzcan buenos resultados. Los modelos de procesos gaussianos son particularmente adecuados para esta tarea. Se destacan en la identificación de tendencias en los datos y pueden modelar de manera efectiva la relación entre la configuración de hiperparámetros y los resultados de rendimiento. Estos modelos no solo predicen el rendimiento esperado de la nueva configuración de hiperparámetros, sino que también proporcionan una distribución de predicciones, incluida una medida de incertidumbre. Esto nos permite evaluar la confiabilidad de las predicciones y tomar decisiones más informadas.

La estrategia para usar procesos gaussianos implica seleccionar configuraciones de hiperparámetros que se espera que produzcan mejoras sustanciales sobre las mejores configuraciones observadas hasta el momento. Al tomar riesgos calculados y explorar configuraciones que difieren significativamente de los experimentos anteriores, potencialmente podemos descubrir configuraciones aún mejores. Además, los modelos de procesos gaussianos pueden manejar varios experimentos en paralelo, lo que hace que el proceso sea más eficiente. Pueden detectar tendencias y patrones en los datos, lo que permite la exploración simultánea de diferentes configuraciones de hiperparámetros. Otra ventaja de utilizar procesos gaussianos es su capacidad para minimizar el sesgo. Los investigadores a menudo invierten más esfuerzo en encontrar buenas configuraciones de hiperparámetros para sus nuevos métodos en comparación con los establecidos. Los modelos de procesos gaussianos eliminan este sesgo al buscar por igual conjuntos de hiperparámetros óptimos en todos los modelos evaluados.

Los modelos de procesos gaussianos ofrecen un enfoque poderoso y eficiente para determinar hiperparámetros en redes neuronales. Al aprovechar sus capacidades predictivas, podemos automatizar el proceso y tomar decisiones más informadas sobre qué configuraciones de hiperparámetro explorar. Este enfoque reduce la dependencia de la exploración manual y mejora la eficiencia y la eficacia del ajuste de hiperparámetros en la investigación de redes neuronales.

 

Clase 16.4 — La niebla del progreso



Lección 16.4 — La niebla del progreso [Redes neuronales para el aprendizaje automático]

En este video final, tuve la tentación de hacer predicciones sobre el futuro de la investigación sobre redes neuronales. Sin embargo, me gustaría explicar por qué intentar hacer predicciones a largo plazo sería una tontería. Usaré una analogía para ilustrar este punto.

Imagina que conduces un automóvil por la noche y te enfocas en las luces traseras del automóvil que tienes delante. La cantidad de fotones que recibe de esas luces traseras disminuye como el inverso del cuadrado de la distancia (1/d^2), asumiendo que el aire está despejado. Sin embargo, si hay niebla, el comportamiento cambia. En distancias cortas, la cantidad de fotones aún se reduce a 1/d^2 porque la niebla no absorbe mucha luz en ese rango. Pero en distancias mayores, la disminución sigue una función exponencial (e^(-d)) porque la niebla tiene un efecto exponencial. Absorbe una fracción de fotones por unidad de distancia, haciéndolo más opaco a medida que aumenta la distancia. Esto significa que el automóvil que está frente a usted podría volverse completamente invisible a una distancia en la que su modelo de corto alcance predijo que sería visible. Este fenómeno es responsable de los accidentes causados por personas que chocan contra la parte trasera de los automóviles en la niebla.

De manera similar, el desarrollo de la tecnología, incluido el aprendizaje automático y las redes neuronales, suele ser exponencial. A corto plazo, el progreso parece ser relativamente lento y predecible. Podemos hacer conjeturas razonables sobre el futuro cercano, como las características del próximo modelo de iPhone. Sin embargo, cuando miramos más hacia el futuro a largo plazo, nuestra capacidad de predicción choca contra una pared, al igual que con la niebla. Simplemente no sabemos qué sucederá en 30 años porque el progreso exponencial puede conducir a cambios inesperados y transformadores.

Por lo tanto, el futuro a largo plazo del aprendizaje automático y las redes neuronales sigue siendo un misterio total. No podemos predecirlo basándonos en nuestro conocimiento actual. Sin embargo, a corto plazo, digamos de 3 a 10 años, podemos hacer predicciones bastante precisas. Me parece evidente que durante los próximos cinco años más o menos, las grandes redes neuronales profundas seguirán logrando cosas notables.

Me gustaría aprovechar esta oportunidad para felicitarlos a todos por seguir con el curso hasta el final. Espero que lo hayas disfrutado, y te deseo la mejor de las suertes con la prueba final.