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

 

CS 198-126: Clase 3: Introducción al aprendizaje profundo, Parte 2



CS 198-126: Clase 3: Introducción al aprendizaje profundo, Parte 2

En esta sección de la lección, se explica el concepto de retropropagación, que es una forma más rápida de obtener todas las derivadas parciales necesarias para el algoritmo de descenso de gradiente sin realizar operaciones redundantes. El disertante también analiza cómo mejorar el descenso de gradiente de vainilla para la optimización del aprendizaje profundo y presenta impulso, RMSprop y Adam como métodos de optimización. También se analiza la importancia de realizar un seguimiento del historial de entrenamiento de un modelo, el uso de la normalización por lotes y el ensamblaje como técnica para mejorar el rendimiento del modelo, así como las técnicas comúnmente utilizadas en el aprendizaje profundo para ayudar a disminuir el sobreajuste, como la deserción y la omisión de conexiones. Finalmente, el disertante aborda brevemente la facilidad de uso de PyTorch y abre el turno de preguntas.

  • 00:00:00 En esta sección de la conferencia, el orador hace algunos anuncios rápidos sobre la próxima fecha límite para la tarea de codificación y el primer cuestionario. La primera tarea es una oportunidad para que los estudiantes aprendan las herramientas necesarias para el resto del curso, y el cuestionario está destinado a servir como una verificación de comprensión. Luego, el orador describe los temas que se tratarán en la conferencia, incluida la propagación hacia atrás y las herramientas modernas de aprendizaje profundo, y asegura a los estudiantes que si no entienden los detalles matemáticos de la propagación hacia atrás, está bien siempre que entiendan la idea de alto nivel. . La segunda mitad de la conferencia es importante y cubre las herramientas que hacen que el aprendizaje profundo moderno funcione bien.

  • 00:05:00 En esta sección de la lección, se discute el concepto de crear un gráfico computacional para funciones y usar la regla de la cadena para calcular derivadas parciales. El gráfico computacional permite el cálculo eficiente de derivadas con respecto a nodos individuales. Luego, este concepto se aplica a la retropropagación en un ejemplo de red neuronal de juguete donde se usa la regla de la cadena para calcular las derivadas parciales de la pérdida con respecto a cada parámetro de peso y sesgo. Al multiplicar todas las derivadas parciales a lo largo del camino desde cada parámetro hasta el nodo de pérdida, se puede evitar el cálculo redundante.

  • 00:10:00 En esta sección, se explica el concepto de retropropagación, que es una forma más rápida de obtener todas las derivadas parciales necesarias para el algoritmo de descenso de gradiente sin realizar operaciones redundantes. A medida que aumenta la profundidad de la red, muchos cálculos se vuelven repetidos y redundantes, lo que los hace inadecuados para entrenar redes profundas. La retropropagación funciona almacenando valores en caché durante el paso hacia adelante y reutilizándolos durante el paso hacia atrás al calcular derivadas parciales. Sin embargo, debido a que las derivadas parciales ahora involucran matrices y matrices, el almacenamiento en caché se vuelve más crítico porque ahorra operaciones de multiplicación, que generalmente son más costosas. El video explica que podemos usar herramientas como pyTorch para almacenar automáticamente en caché los valores requeridos por nosotros.

  • 00:15:00 En esta sección, el disertante analiza cómo mejorar el gradiente descendente estándar para la optimización del aprendizaje profundo. Un problema con el descenso de gradiente de vainilla es que tiene problemas en los puntos mínimos locales o planos donde el gradiente es cero, lo que impide que el algoritmo encuentre mejores soluciones. Para solucionar esto, el disertante introduce el concepto de cantidad de movimiento, inspirado en una pelota que rueda cuesta abajo. Al tomar el promedio ponderado de los gradientes anteriores y agregarlo al gradiente actual, el impulso puede ayudar a superar pequeños mínimos locales y puntos planos. Si bien técnicamente no es un verdadero descenso de gradiente, el impulso puede permitir que el algoritmo supere estos obstáculos y, con suerte, encuentre mejores soluciones. El disertante también analiza cómo escalar el promedio ponderado de los gradientes anteriores para no reducir demasiado el gradiente actual.

  • 00:20:00 En esta sección, se analiza el concepto de impulso en el descenso de gradiente. La conferencia explica que las versiones beta se utilizan para controlar los tamaños de los pasos de modo que los tamaños de los pasos no se vuelvan demasiado grandes e inconsistentes. La conferencia explica el impulso como una forma de que los tamaños de los pasos se mantengan iguales al rodar cuesta abajo, pero también para seguir moviéndose en la dirección en la que históricamente ha apuntado la pendiente. Luego, la conferencia presenta el método de optimización de accesorios RMS, que almacena un promedio ponderado de los componentes cuadrados de los gradientes anteriores.

  • 00:25:00 En esta sección, el instructor explica el concepto de RMSprop, que es una forma de descenso de gradiente, y cómo funciona en comparación con los métodos tradicionales. Explica que RMSprop divide los gradientes por la raíz cuadrada de los promedios móviles cuadrados de los gradientes, lo que demuestra con ejemplos de gradientes pequeños y grandes. Al hacer esto, el algoritmo puede ajustar de forma adaptativa la tasa de aprendizaje, lo que se conoce como tasa de aprendizaje adaptativa. En última instancia, concluye que Adam es la mejor forma de descenso de gradiente, ya que tiene los beneficios tanto de RMSprop como de los métodos tradicionales.

  • 00:30:00 En esta sección, el disertante presenta a Adam, una combinación de RMSProp e impulso, como el método de optimización preferido para el descenso de gradiente en modelos de aprendizaje profundo. Adam tiene en cuenta los beneficios de poder evitar los mínimos locales con impulso al tiempo que tiene en cuenta los problemas con los puntos planos que requieren impulso a través de ellos. No cambia la dirección del degradado sino solo su escala. La conferencia sugiere el modelo de puntos de control como una forma de combatir cualquier comportamiento errático que pueda surgir con Adam o RMSProp después de que hayan alcanzado un mínimo local. También se pueden usar métodos de optimización de segundo orden, pero requieren más poder de cómputo y son menos comunes.

  • 00:35:00 En esta sección, el instructor explica la importancia de realizar un seguimiento del historial de entrenamiento de un modelo y qué tan bien se está desempeñando con nuevos datos que no ha visto antes para determinar de manera efectiva qué punto de control es el mejor. También se analiza una técnica de normalización llamada normalización por lotes, que implica restar la media y dividir por la desviación estándar para cada activación individual en una red neuronal y luego permitir que la red cambie la escala de esos valores como mejor le parezca multiplicando cada peso por un valor gamma y añadiendo el sesgo. Esta técnica ayuda a normalizar los datos y crea superficies perdidas de aspecto regular que son mucho más fáciles de enviar con descenso de gradiente, lo que facilita mucho la vida.

  • 00:40:00 En esta sección, aprendemos sobre la normalización por lotes, que es un método utilizado para normalizar las activaciones de las neuronas de una red neuronal mediante el cálculo de la media y la desviación estándar de las salidas de una determinada capa. Esta normalización hace que el comportamiento predeterminado de la red neuronal tenga activaciones normalizadas, lo que hace que se comporten bien. Si bien este método no agrega expresividad al modelo, permite mejores gradientes y un rango de valores más normalizado como entradas en todas las capas de la red. Además, aprendemos sobre el ensamblaje como una técnica utilizada para mejorar el rendimiento del modelo mediante el entrenamiento de varios modelos y el promedio de sus predicciones.

  • 00:45:00 En esta sección, la conferencia analiza dos técnicas comúnmente utilizadas en el aprendizaje profundo para ayudar a disminuir el sobreajuste: abandono y omisión de conexiones. El abandono implica la eliminación aleatoria de una cierta cantidad de neuronas antes del entrenamiento para forzar a cada neurona a aprender a usar todas las funciones que la precedieron, obligándola a aprender la misma salida que las otras neuronas. Por el contrario, las conexiones salteadas permiten el aprendizaje de una función de identidad que ayuda a propagar información sin añadir ruido ni confusión; implica aprender ceros para todos los pesos, lo que trivialmente permite pasar buena información a la última capa para clasificar correctamente. Ambas técnicas, junto con otras analizadas en esta lección, ayudan a aumentar el rendimiento al disminuir el sobreajuste y permitir redes arbitrariamente profundas.

  • 00:50:00 En esta sección, el disertante explica cómo las conexiones de salto pueden ser una herramienta útil al construir redes neuronales. Estas conexiones se pueden agregar para aumentar el rendimiento y mejorar su red. El disertante no tuvo tiempo de discutir PyTorch completamente, pero se explica en la tarea. Explican que PyTorch puede ser realmente fácil de usar si ya sabes cómo usar numpy. Pueden crear funciones que toman un valor y lo devuelven, haciendo posible calcular el valor del gradiente en una determinada entrada. El disertante concluye abriendo el turno de preguntas.
 

CS 198-126: Clase 4: Introducción al entrenamiento previo y aumentos



CS 198-126: Clase 4: Introducción al entrenamiento previo y aumentos

En esta conferencia, el orador explica la evolución de la extracción de características en el aprendizaje automático, las ventajas del aprendizaje profundo y cómo se puede utilizar el aprendizaje por transferencia para mejorar la precisión y la velocidad de los modelos. También discuten el concepto de congelar y ajustar capas en redes neuronales y la importancia de las incrustaciones para reducir la dimensionalidad de las variables categóricas. La conferencia presenta el aprendizaje autosupervisado y sus diferentes tareas, incluidas las tareas de rompecabezas, rotación y predicción de palabras enmascaradas, que se pueden usar para entrenar modelos y transferir representaciones aprendidas a tareas posteriores. Finalmente, se analiza el interés renovado en el aprendizaje autosupervisado en visión por computadora, y la conferencia alienta a los estudiantes a completar la tarea en el cuaderno High Crush.

  • 00:05:00 En esta sección de la conferencia, el autor analiza el aprendizaje de representación y el aprendizaje superficial. Con el aprendizaje superficial, la canalización de aprendizaje automático comienza con una entrada X, las características se extraen mediante un extractor de características y luego las características extraídas se pasan a un algoritmo de aprendizaje automático para obtener una salida Y. El facilitador explica que la extracción de características depende en los datos y puede ser
    sencillo para datos tabulares, pero complejo para datos como texto, audio o imágenes. Sin embargo, para las imágenes, hay extractores de características especializados disponibles en la visión por computadora clásica.

  • 00:10:00 En esta sección, el disertante explica el concepto de extracción de características y cómo ha evolucionado en el aprendizaje automático. En el aprendizaje automático clásico, se utiliza un extractor de características programado a mano como Hog, que captura información de borde en una imagen, para crear modelos. Sin embargo, este proceso es un desafío ya que los extractores de características varían según las diferentes tareas. El aprendizaje profundo proporciona un proceso integral al aprender tanto la extracción de características como la predicción de resultados. El disertante explica que este proceso permite el aprendizaje de representaciones abstractas de los datos de entrada, que se pasan a través de capas de extractores de características aprendidas en una red neuronal, lo que da como resultado representaciones jerárquicas. La conferencia proporciona un ejemplo de cómo las redes neuronales profundas aprenden representaciones de imágenes de automóviles.

  • 00:15:00 En esta sección, el orador explica cómo la profundidad en las redes neuronales ayuda a refinar las representaciones. Las primeras capas de la red detectan detalles de bajo nivel, como bordes, mientras que las capas posteriores se enfocan en características más concretas, como puertas o ventanas en una imagen. Las capas finales intentan determinar si la imagen de entrada es realmente lo que el modelo ha aprendido a reconocer, creando un modelo mental abstracto. Luego, los oradores analizan el aprendizaje de transferencia como una forma de aprovechar los modelos preentrenados y evitar tener que entrenar modelos desde cero, lo que puede ser costoso en términos de tiempo, computación y datos.

  • 00:20:00 En esta sección, el orador analiza el concepto de capas en las redes neuronales y cómo se puede usar el aprendizaje previo y la transferencia para mejorar la precisión y la velocidad de los modelos. El orador explica cómo las capas anteriores capturan características generales, como formas y patrones, mientras que las capas posteriores capturan características más abstractas, como objetos y humanos. El concepto de congelación, en el que ciertas capas se conservan y se utilizan en modelos posteriores, también se analiza como una forma de personalizar los modelos para tareas específicas. La técnica de congelación puede acelerar el entrenamiento del modelo y mejorar la precisión, pero se debe tener cuidado para garantizar que las capas se congelen en el nivel adecuado.

  • 00:25:00 En esta sección, el instructor analiza el aprendizaje de transferencia en redes neuronales, específicamente la técnica de ajuste fino en la que el modelo preentrenado se entrena más en capas de salida y capas no congeladas. Hacen hincapié en la importancia de considerar el tamaño y la similitud del nuevo conjunto de datos con el conjunto de datos original al decidir si congelar o ajustar el modelo previamente entrenado. Además, explican la importancia de las incrustaciones en las redes neuronales y cómo pueden reducir la dimensionalidad de las variables categóricas, haciéndolas más fáciles de representar en un espacio de transformación. El uso de incrustaciones se ilustra a través de un ejemplo que implica la asignación de géneros de libros a un espacio vectorial de menor dimensión.

  • 00:30:00 En esta sección de la conferencia, el profesor habla sobre los datos de alta dimensión y las dificultades que surgen al tratar de representarlos. El profesor introduce el concepto de espacio latente de dimensión inferior, que implica codificar toda la información importante que representa los datos de dimensión alta en un espacio de dimensión inferior. El objetivo es capturar esta información a través de algo llamado espacio latente de características y, en muchos casos, se puede lograr a través de incrustaciones. El profesor da un ejemplo de cómo se puede representar una estructura unidimensional usando solo una variable en lugar de tres variables en un espacio 3D para que los datos no se dispersen escasamente en un espacio de alta dimensión. Finalmente, el profesor explica cómo aprender incrustaciones entrenando un modelo para clasificar imágenes en el conjunto de datos MNIST utilizando la función de pérdida softmax y tomar la salida de algunas capas en el modelo como una representación de la imagen.

  • 00:35:00 En esta sección, el orador analiza las ventajas de las redes preentrenadas y el aprendizaje de transferencia, que pueden ahorrar tiempo y poder de cómputo mientras se logran mejores resultados. Las redes previamente entrenadas se pueden entrenar en conjuntos de datos más grandes, lo que puede conducir a mejores representaciones. El aprendizaje por transferencia permite la aplicación del conocimiento aprendido de una red previamente entrenada a otra tarea, lo que lo hace especialmente útil en el procesamiento del lenguaje natural. Luego se introduce el preentrenamiento autosupervisado, que permite aprender sin supervisión de las etiquetas, aprendiendo de los datos en bruto.

  • 00:40:00 En esta sección, el disertante analiza el aprendizaje no supervisado, que es un tipo de aprendizaje en el que no se proporcionan etiquetas, pero el modelo sigue aprendiendo patrones y relaciones dentro del conjunto de datos. Los ejemplos de aprendizaje no supervisado incluyen el análisis de componentes principales (PCA) y la agrupación. Luego, el disertante habla sobre el aprendizaje autosupervisado, que implica brindar supervisión a partir de los datos mismos, en lugar de etiquetas externas. La técnica implica predecir partes ocultas o propiedades de los datos a partir de las partes observadas. El aprendizaje autosupervisado es beneficioso en situaciones en las que los datos etiquetados son escasos o costosos de recopilar.

  • 00:45:00 En esta sección de la conferencia, el orador analiza el aprendizaje autosupervisado y las diferentes tareas involucradas, como la tarea de pretexto y la tarea posterior. Estas tareas se pueden utilizar en varios dominios, como visión por computadora, NLP y RL. Luego, el orador da ejemplos de tareas de aprendizaje autosupervisado, como la tarea del rompecabezas, donde una imagen se divide en nueve parches, se baraja y se le pide al modelo que prediga el orden original. Otra tarea es la tarea de rotación, en la que se gira una imagen en algún ángulo y se le pide al modelo que prediga el ángulo de rotación. Estas tareas se pueden usar para entrenar previamente los modelos y transferir las representaciones aprendidas a tareas posteriores, como la clasificación de imágenes y la detección de objetos.

  • 00:50:00 En esta sección de la conferencia, se introduce el concepto de modelos de preentrenamiento que utilizan el aprendizaje autosupervisado (SSL). Un ejemplo de SSL en visión por computadora es entrenar un modelo para predecir el ángulo de rotación de una imagen y enfocarse en la orientación, ubicación, pose y tipo del objeto en lugar de detalles de bajo nivel. Esta idea no se limita a CV, ya que SSL también se puede aplicar a NLP y audio, como predecir una o varias palabras a partir de oraciones. Un modelo famoso en NLP llamado BERT usa un modelo de Transformador para predecir palabras enmascaradas de dos oraciones simultáneamente y aprende una incrustación a nivel de palabra y de oración. BERT fue un gran éxito en PNL.

  • 00:55:00 En esta sección de la conferencia, el orador analiza el renovado interés en el aprendizaje autosupervisado (SSL) en la visión por computadora (CV) después del éxito de BERT en el procesamiento del lenguaje natural (NLP). Se dice que el estado del arte actual en CV es similar a BERT. La conferencia proporciona una descripción general del aprendizaje de representación, el aprendizaje de transferencia y SSL, e introduce diferentes conceptos y metodologías. Si bien esta lección no tiene deberes, hay una tarea para todo el clúster en el portátil High Crush que vence el próximo martes, y una futura lección sobre SSL avanzado para CV tendrá deberes. Se puede acceder a la plataforma de diapositivas en el sitio web para su revisión.
 

CS 198-126: Lección 5 - Introducción a la visión artificial



CS 198-126: Lección 5 - Introducción a la visión artificial

Esta conferencia sobre visión por computadora cubre varios temas, incluida la historia de la visión por computadora y su desarrollo a lo largo de los años. El instructor también explica el aprendizaje profundo y cómo mejora los métodos clásicos de visión por computadora. La conferencia profundiza en el concepto de convoluciones y cómo se utilizan como extractores de características en la visión por computadora, lo que lleva a la creación de redes neuronales convolucionales (CNN). Además, la conferencia analiza el papel de los campos receptivos e introduce capas de agrupación como un método para aumentar el campo receptivo de las CNN. En general, la conferencia proporciona una descripción general de la visión artificial como campo y las técnicas utilizadas para extraer información de las imágenes. En la segunda parte de la lección, se analizan varias técnicas para preservar el tamaño de una imagen durante las circunvoluciones, incluido el relleno y el mismo relleno. También se cubre el concepto de zancada en capas convolucionales, lo que demuestra cómo puede imitar el efecto de una capa de agrupación. Se explica la anatomía de una CNN y sus hiperparámetros, incluido el tamaño del núcleo, la zancada, el relleno y las capas de agrupación, con énfasis en cómo una capa convolucional actúa como un extractor de características que pasa bloques de características de baja dimensión a una capa completamente conectada. red para la clasificación. Las conferencias también cubren la arquitectura de la red LeNet para clasificar dígitos escritos a mano y la importancia de normalizar los datos de imágenes antes de pasarlos a través de una red neuronal. Finalmente, el aumento de datos se analiza como una técnica para crear datos de entrenamiento adicionales y se enfatiza la importancia de los puntos de control del modelo mientras se entrena.

  • 00:00:00 En esta sección, el instructor presenta la visión artificial como un campo de la IA que se ocupa de extraer información de una imagen a nivel semántico. Describen la clasificación, la detección y la segmentación como tareas que puede realizar un modelo de aprendizaje automático. Para permitir que una máquina comprenda una imagen y realice estas tareas, debe tener un mayor nivel de comprensión del contenido de la imagen, por lo que los modelos están diseñados para extraer características como bordes para clasificar imágenes. El instructor explica que el campo de la visión por computadora tiene sus raíces en la ciencia cognitiva y la psicología, con desarrollos en extractores de características como el cerdo provenientes de un experimento realizado con gatos en 1959.

  • 00:05:00 En esta sección de la conferencia, el instructor explica cómo el aprendizaje profundo reemplazó a los métodos clásicos de visión por computadora, donde los extractores de funciones se programaban a mano. El aprendizaje profundo permite que los modelos aprendan no solo las asignaciones de características a las salidas, sino también los propios extractores de características, y este avance se produjo en 2012 con la red neuronal de Alex Krajevski. El instructor habla sobre el desafío de reconocimiento visual de ImageNet y cómo AlexNet redujo drásticamente la tasa de error, convirtiéndose en un punto de inflexión para el aprendizaje profundo. Luego, la conferencia continúa discutiendo cómo las imágenes se representan digitalmente como matrices y el uso de valores de brillo para representar imágenes en escala de grises.

  • 00:10:00 En esta sección de la conferencia, el instructor analiza el concepto de dimensiones de color y canales en las imágenes. Cada píxel de color se puede dividir en tres valores diferentes, lo que significa que una imagen RGB se puede representar mediante tres matrices para cada componente. Estas matrices se pueden apilar una encima de la otra para formar una matriz 3D llamada tensor. El instructor señala que este es un concepto importante para comprender las redes neuronales convolucionales (CNN) porque las redes neuronales regulares o los perceptrones de múltiples capas no son útiles para procesar imágenes grandes debido a la necesidad de convertir el tensor 3D en un vector, lo que resulta en un enorme número de elementos

  • 00:15:00 En esta sección, el orador analiza la cantidad de parámetros para una capa completamente conectada en visión artificial. La capa toma una entrada de 120 000 dimensiones y genera un vector de 10 dimensiones, lo que significa que la matriz de peso debe tener dimensiones de 10 por 120 000, lo que da como resultado 1,2 millones de pesos y 10 parámetros del vector de sesgo. Esta cantidad de parámetros haría que la red fuera demasiado grande y difícil de entrenar, especialmente si se desea una salida de mayor dimensión. Además, tratar cada píxel como una característica separada es poco ortodoxo en la clasificación de imágenes, ya que los humanos tienden a dividir las imágenes en diferentes partes y usan esta información para construir un modelo mental. El orador sugiere mirar regiones locales de la imagen en lugar de píxeles individuales para dar más sentido a los datos.

  • 00:20:00 En esta sección, el disertante analiza la importancia de mirar los píxeles vecinos en una imagen para recopilar información y cómo esto representa un desafío para las redes neuronales, que normalmente tratan cada píxel por separado. Introduce el concepto de regiones locales, que es relevante para la visión artificial y tiene que ver con la estructura de una imagen. La conferencia también habla sobre la necesidad de extraer representaciones jerárquicas de una entrada y cómo estas representaciones dependen unas de otras, lo que permite que el modelo aprenda conceptos abstractos como el aspecto de una cara. Finalmente, la conferencia explica el concepto de equivalencia traslacional, donde las representaciones de una imagen deben traducirse junto con sus píxeles para mantener la consistencia.

  • 00:25:00 En esta sección, el concepto de invariancia traslacional y el procesamiento de la región local se analizan en la visión artificial. La arquitectura de red tradicional no puede adaptarse a estos requisitos, lo que lleva a los investigadores a desarrollar redes neuronales convolucionales (CNN) en su lugar. La operación de convolución involucrada en las CNN se explica mediante el uso de un filtro de peso que puede deslizarse sobre una imagen y calcular productos de puntos para crear nuevos resultados. También se introduce la técnica de peso compartido, donde cada parche pasa a través de una capa con los mismos pesos y sesgos para producir la misma representación, lo que hace que las CNN sean capaces de satisfacer los criterios establecidos para la visión por computadora.

  • 00:30:00 En esta sección de la conferencia, el orador explica el proceso de convoluciones, que consiste en tomar un producto de elementos de un filtro en un parche de entrada y sumar los resultados. Este proceso permite que los algoritmos de visión por computadora se centren en parches individuales de la imagen de entrada en lugar de en la imagen completa, y usen el mismo filtro para cada parche, compartiendo pesos. Al diseñar estratégicamente los filtros, los algoritmos pueden extraer diferentes tipos de información, como la detección de bordes. El altavoz proporciona un ejemplo de un filtro diseñado para detectar bordes verticales al resaltar las activaciones altas a lo largo del medio de la salida convolucionada, con activaciones bajas en los bordes.

  • 00:35:00 En esta sección de la lección, el instructor explica el concepto de circunvoluciones en visión artificial y cómo se utilizan como extractores de características. Las redes neuronales convolucionales (CNN) usan filtros que pueden extraer diferentes características de una imagen, y estos filtros se pueden aprender a través del proceso de aprendizaje profundo. Al usar más filtros, las CNN pueden extraer diferentes tipos de características de una imagen de entrada y usar información sobre todas ellas. El instructor también analiza cómo generalizar el proceso de convolución a una imagen de entrada con múltiples canales y la salida de este proceso se denomina mapa de activación, que representa la activación de diferentes funciones.

  • 00:40:00 En esta sección, el ponente discute el concepto de representar imágenes en formato RGB y cómo el mapa de activación puede tener una estructura 3D. El proceso implica extraer diferentes características y combinarlas para obtener una salida 3D. Esta operación de convolución es general y se puede aplicar a cualquier entrada 3D, lo que permite apilar capas convolucionales una encima de la otra, lo que da lugar a redes neuronales profundas. Además, el orador entra en detalles de implementación relacionados con el concepto de campo receptivo, que no se limita solo a las redes neuronales convolucionales.

  • 00:45:00 En esta sección, se discute el concepto de campos receptivos en los mapas de activación. El campo receptivo se refiere a la región de la entrada que influye en cada elemento de un mapa de activación. Esta sección explica cómo funcionan los campos receptivos y cómo el aumento del tamaño del campo receptivo puede afectar el rendimiento de la red. También se observa que los campos receptivos pueden verse influenciados por diferentes filtros convolucionales y que tener un campo receptivo demasiado grande o pequeño puede provocar que se pierda información importante en la entrada.

  • 00:50:00 campo receptivo, en esta sección de la conferencia, el profesor explica cómo el tamaño del campo receptivo afecta la capacidad de una red neuronal convolucional (CNN) para clasificar una imagen. Tener un campo receptivo pequeño puede hacer que la red no pueda procesar suficiente información para la tarea de clasificación de imágenes, mientras que un campo receptivo grande puede provocar un sobreajuste. La conferencia también aborda la importancia de introducir no linealidades mediante el uso de funciones de activación en una CNN. El profesor explica que, si bien dos circunvoluciones diferentes pueden tener el mismo campo receptivo, sus salidas no serán las mismas debido a la introducción de no linealidades a través de funciones de activación.

  • 00:55:00 En esta sección, el disertante presenta la agrupación de capas como un método para aumentar el campo receptivo de las redes neuronales convolucionales sin agregar demasiadas capas que podrían hacer que el modelo sea demasiado grande. Las capas de agrupación implican observar regiones cuadradas de entradas y aplicar operaciones máximas o promedio. Por ejemplo, una agrupación máxima de dos por dos permite que el modelo elija solo un valor de cada porción de cuatro píxeles, lo que reduce las dimensiones de la entrada en dos. El disertante también explica cómo la agrupación máxima conserva información crucial de un área local, haciéndola común para reducir las dimensiones espaciales de la activación.
  • 01:00:00 En esta sección, el orador analiza diferentes técnicas para preservar la altura y el ancho de una imagen durante las circunvoluciones, incluido el proceso de relleno y el mismo relleno. El mismo relleno es cuando aumenta artificialmente el tamaño de la entrada al rodearla con ceros u otras constantes para mantener las dimensiones espaciales del mapa de activación. Esta es una preferencia en la comunidad de aprendizaje profundo, pero no hay evidencia empírica de que conduzca a un mejor rendimiento sobre el relleno normal. Además, el orador analiza el concepto de zancada en circunvoluciones y cómo puede tener el mismo efecto que una capa de agrupación.

  • 01:05:00 En esta sección, el disertante analiza el uso de la zancada en capas convolucionales que pueden actuar como una aproximación a una capa de agrupación en visión artificial. Explica que usar un paso más grande que uno es similar a combinar convolución y agrupar capas, pero no brinda ninguna ventaja particular al hacerlo. También presenta una fórmula para determinar las dimensiones de la activación de salida, que dependen de factores como las dimensiones de entrada originales, el tamaño del filtro, el tamaño del relleno y los pasos. Luego, el disertante explica cómo se puede hacer la retropropagación de gradientes a través de capas convolucionales, destacando que PyTorch facilita la definición de capas convolucionales usando múltiples parámetros.

  • 01:10:00 En esta sección, el disertante analiza los hiperparámetros de las capas convolucionales y cómo conforman la anatomía de una CNN. Estos hiperparámetros incluyen el tamaño del núcleo, la zancada, el relleno y las capas de agrupación. El disertante explica que una capa convolucional se puede ver como un extractor de características que convierte la entrada de alta dimensión en bloques de características de baja dimensión que se pueden pasar a una red completamente conectada para una tarea de clasificación. La salida de la capa convolucional al final es un bloque de características de baja dimensión, que se puede pasar al MLP dentro del cuadro rojo, que es el clasificador. Finalmente, el disertante explica que existen diferentes tipos de capas de pooling, pero la norma en la comunidad de Deep Learning es usar max-pooling en lugar de promedio.

  • 01:15:00 En esta sección, el video explica la estructura de una red neuronal convolucional (CNN) usando un ejemplo de la vida real. La red, llamada LeNet, fue desarrollada por Jan Lacun para clasificar dígitos escritos a mano. El video explica que la red LeNet toma una entrada y la convierte en mapas de características, reduce esos mapas a tamaños más pequeños, aplica otra convolución y agrupación hasta que obtiene una representación más pequeña de la entrada, antes de pasarla a través de capas completamente conectadas para obtener una salida. que representa uno de los diez dígitos posibles. El video continúa explicando las opciones de diseño para las arquitecturas CNN, como el apilamiento de convolución, ReLU y capas de agrupación, y el uso de capas de normalización por lotes para que el entrenamiento sea más estable. Finalmente, el video analiza algunos de los conjuntos de datos comúnmente utilizados en la visión artificial, como el conjunto de datos de clasificación de dígitos escritos a mano del MNIST y el conjunto de datos CIFAR-10.

  • 01:20:00 En esta sección de la conferencia, el instructor analiza varios conjuntos de datos de visión por computadora populares, incluidos MNIST, CIFAR-10 e ImageNet. El conjunto de datos de ImageNet, en particular, es un conjunto de datos de un millón de imágenes que se ha utilizado ampliamente como punto de referencia para evaluar algoritmos de visión por computadora. El instructor también enfatiza la importancia de normalizar los datos de imágenes antes de pasarlos a una red neuronal y el desafío de recopilar y etiquetar datos, lo que requiere una cuidadosa consideración para garantizar que los datos provengan de una distribución similar. Además, más datos pueden ayudar a evitar el sobreajuste, pero la recopilación de grandes conjuntos de datos puede ser costosa y llevar mucho tiempo.

  • 01:25:00 En esta sección, la conferencia cubre el tema del aumento de datos donde uno puede crear artificialmente más datos a partir de una sola imagen haciendo ligeros cambios en su brillo, contraste, color, recortando, volteando o girando la imagen, y asignando ellos la misma etiqueta para crear nuevos conjuntos de datos de entrenamiento. Este método es una forma muy barata y fácil de crear nuevos datos a partir de conjuntos de datos preexistentes. Además, la conferencia también enfatiza la importancia de los puntos de control del modelo mientras se entrenan las redes neuronales de convolución, ya que el tiempo de entrenamiento suele llevar horas, días o incluso semanas, y perder el progreso debido a una interrupción repentina, como el bloqueo de una máquina o un apagado accidental, puede ser costoso. Es esencial almacenar instantáneas de tasas de modelo en diferentes puntos del proceso de capacitación para continuar desde la última instantánea si se interrumpe la capacitación.
 

CS 198-126: Clase 6 - Arquitecturas avanzadas de visión por computadora



CS 198-126: Clase 6 - Arquitecturas avanzadas de visión por computadora

Esta lección sobre arquitecturas avanzadas de visión artificial se centra en las redes neuronales convolucionales (CNN) y sus diversas técnicas. El disertante explica la arquitectura de AlexNet y VGG antes de profundizar en técnicas avanzadas como residuales para mantener valores residuales hacia atrás para una mayor precisión y arquitecturas más simples. Se discute el uso de cuellos de botella y convoluciones uno por uno, así como la importancia de poder aprender la identidad en arquitecturas de visión por computadora. La conferencia también cubre los problemas de los gradientes que desaparecen en las redes neuronales y cómo se pueden aliviar con la normalización por lotes y las redes residuales. Se explican en profundidad técnicas como la agrupación de promedio global y la convolución separable en profundidad, seguidas de una discusión sobre la arquitectura de la red móvil y sus beneficios.

Además, el disertante examina las arquitecturas avanzadas de visión por computadora y se enfoca en optimizar los modelos de redes neuronales convolucionales mediante el uso de convoluciones locales escalonadas y convoluciones uno por uno. Él enfatiza la importancia de comprender estas optimizaciones y los problemas que pueden surgir con ciertas optimizaciones para construir redes futuras de manera eficiente. La conferencia concluye con una discusión sobre la compensación entre precisión, rendimiento y tamaño del modelo, destacada por la comparación del modelo de red eficiente con otras redes. Se informa a los estudiantes sobre un próximo examen y una tarea para el hogar que vence el viernes siguiente.

  • 00:05:00 En esta sección, el orador comienza recapitulando la conferencia anterior antes de profundizar en arquitecturas de CNN más avanzadas. Se disculpan por la introducción aproximada en la última lección y hacen algunas ediciones de última hora antes de comenzar. Hay un breve intercambio sobre un micrófono, pero luego el orador salta a la conferencia.

  • 00:10:00 En esta sección, el orador repasa la arquitectura de una red neuronal convolucional (CNN) y en qué se diferencia de una red neuronal densa estándar. El orador aclara que la capa convolucional en una CNN es similar a una capa en una red neuronal densa, con parámetros aprendidos como filtros y términos de sesgo. El orador explica cómo un filtro genera un mapa de salida para cada ubicación en la entrada, y varios filtros generan diferentes canales de salida. El orador también explica cómo se puede usar una capa de agrupación para disminuir el tamaño del volumen de salida. En general, el orador enfatiza que la mecánica de una CNN es similar a una red neuronal densa, con circunvoluciones que reemplazan la multiplicación de matrices.

  • 00:15:00 En esta sección, el orador explica el uso de agrupación máxima en redes neuronales convolucionales para reducir el tamaño del volumen de características y acelerar las convoluciones. Esta técnica implica tomar el valor máximo en cada pequeño cuadrado del volumen de características y usarlo como salida. El ponente también toca el concepto de segmentación, que consiste en etiquetar cada píxel de una imagen con una clasificación específica, y señala que para esta tarea, el tamaño de salida será el mismo que el tamaño de entrada. La sección finaliza con una breve introducción a las arquitecturas avanzadas de CNN, con un enfoque en ResNet como el más importante para llevar de la conferencia.

  • 00:20:00 En esta sección, el disertante analiza varias arquitecturas de visión por computadora, con un enfoque en las redes neuronales convolucionales (CNN). La conferencia comienza discutiendo la motivación detrás de las CNN, que implica apilar capas convolucionales y agrupar capas para sintetizar información de características de bajo nivel y avanzar hasta características más altas. Luego, la conferencia continúa discutiendo la arquitectura de AlexNet, que fue una hazaña innovadora que logró una tasa de error de alrededor del 17% en ImageNet en 2012. Sin embargo, el disertante señala que estas arquitecturas ya no son de última generación, ya que ha habido avances en las arquitecturas de transformadores que se discutirán en conferencias posteriores.

  • 00:25:00 En esta sección, el orador analiza la arquitectura de AlexNet y VGG, dos redes neuronales de visión por computadora ampliamente utilizadas. AlexNet involucra cinco capas convolucionales, siendo el resultado final un vector unidimensional aplanado que pasa a través de tres capas densas y una función softmax para producir una clase predicha. Por otro lado, VGG tiene 23 capas convolucionales y tres capas densas. Además, el orador destaca el uso de circunvoluciones uno por uno como una forma de adición y reducción de relleno y dimensionalidad.

  • 00:30:00 En esta sección, el disertante analiza las arquitecturas avanzadas de visión por computadora, centrándose en las redes neuronales convolucionales (CNN). La conferencia enfatiza el uso de convoluciones uno por uno para mantener el tamaño de entrada, así como la combinación de convoluciones en profundidad y en puntos para aumentar la eficiencia computacional. La conferencia también destaca la importancia de aprender características de bajo nivel en etapas anteriores del clasificador y describe los problemas con el apilamiento de capas a ciegas. Para abordar estos problemas, la lección explica el uso de residuales para mantener valores residuales anteriores, lo que conduce a una mayor precisión y arquitecturas más simples.

  • 00:35:00 En esta sección, la conferencia discute el concepto de residuos en redes neuronales convolucionales profundas. Si bien agregar más capas no debería disminuir la precisión porque la transformación de identidad se puede aprender, en la práctica, agregar más capas afecta las identidades anteriores de la transformación posterior, lo que da como resultado gradientes que se desvanecen, explotan y destruyen. Los residuos abordan este problema manteniendo la información de las etapas anteriores en el cálculo futuro, lo que facilita el aprendizaje de la transformación de identidad. La conferencia también analiza los cuellos de botella en el procesamiento de residuos, donde agregar residuos aumentará el tiempo de convergencia, pero no necesariamente los resultados. Una solución a esto es ajustar el tamaño y la frecuencia del cuello de botella.

  • 00:40:00 En esta sección de la conferencia, el orador analiza la importancia de poder aprender la identidad en las arquitecturas de visión por computadora. Explican que si los pesos y sesgos de una red son cero, la red generará exactamente lo mismo que recibe, lo que facilita que la red reconozca cuándo tiene suficiente información para hacer una buena clasificación y dejar de aprender. características más complicadas. El orador también toca el tema de elegir el número de capas en una red, siendo dos una opción común en la arquitectura ResNet.

  • 00:45:00 En esta sección de la conferencia, el presentador analiza el tema de los gradientes que desaparecen en las redes neuronales y cómo puede afectar las actualizaciones de peso. El problema del gradiente de desaparición ocurre cuando las derivadas parciales de los pasos individuales se vuelven demasiado pequeñas en una cadena de multiplicación o demasiado grandes, lo que puede causar problemas con la actualización constante de los pesos. La presentación también habla sobre cómo la normalización por lotes y las redes residuales ayudan a aliviar el problema del gradiente de fuga. Luego, la conferencia pasa a discutir la agrupación promedio global, que se utiliza para reemplazar capas completamente conectadas en redes neuronales convolucionales (CNN) y generar mapas de características para cada categoría en tareas de clasificación.

  • 00:50:00 En esta sección de la conferencia, el orador analiza cómo el uso de capas densas en las redes neuronales a menudo resulta en un sobreajuste y una reducción en el rendimiento. Para evitar esto, sugieren usar la agrupación promedio global (GAP), que genera mapas de características, los promedia y los alimenta a una función softmax sin ajustar ningún parámetro. El orador también presenta el concepto de circunvoluciones separables en profundidad, que utilizan mapas de características de menor dimensión en cada canal por separado antes de combinarlos de manera inteligente para reducir el cálculo y retener datos de cada canal. Esta técnica es particularmente importante para escalar cálculos en una amplia gama de filtros en redes neuronales profundas.

  • 00:55:00 En esta sección de la conferencia, el orador analiza la arquitectura de la red móvil, que utiliza la convolución de profundidad y de puntos para reducir la cantidad de cálculos necesarios para una imagen. Al aplicar una capa de uno por uno por tres a cada canal de la imagen y luego concatenar los resultados y aplicarle una convolución puntual más pequeña, se logra el resultado, lo que reduce significativamente la cantidad de cálculos. La arquitectura de la red móvil tiene menos parámetros y converge más rápido mientras iguala la precisión del Inception de D3. El orador también continúa discutiendo redes emocionantes y comprimidas, donde puede comprimir y expandir mapas de características usando capas densas y reescalado, que es menos intensivo computacionalmente.

  • 01:00:00 En esta sección, el disertante analiza cómo se pueden usar convoluciones locales escalonadas y convoluciones una a una para optimizar un modelo de red neuronal convolucional (CNN). También menciona cómo comprender las optimizaciones y los problemas que enfrentan ciertas optimizaciones puede ayudar a construir futuras redes de manera más eficiente. La conferencia concluye con una comparación de la precisión, el rendimiento y el tamaño del modelo del modelo de red eficiente con otras redes, destacando que siempre hay una compensación entre estas métricas.
 

CS 198-126: Clase 7 - Detección de objetos



CS 198-126: Clase 7 - Detección de objetos

La conferencia analiza la detección de objetos, agregando específicamente la localización a una CNN de clasificación simple, el método IOU para la detección de objetos, el sistema R-CNN y la optimización de los algoritmos de detección de objetos para minimizar el tiempo de procesamiento con YOLO. El video explica YOLO cortando una imagen y analiza los desafíos con la detección de objetos de YOLO, incluido el uso de cuadros de anclaje para eliminar la ambigüedad. Finalmente, se explora la arquitectura YOLO, que es una red neuronal completamente convolucional para la detección de objetos, y se presenta como una pregunta de investigación en curso el almacenamiento de una gran cantidad de clases para su clasificación. El orador recomienda leer "The Yellow Paper" mientras desaconseja a RCNN debido a la imposibilidad de leer.

  • 00:00:00 En esta sección, el disertante analiza el proceso de agregar localización a una CNN de clasificación simple para la detección de puntos de referencia. Al agregar una salida X e Y a la red, la red genera la ubicación exacta de una característica específica en una imagen, como la nariz del animal. Luego, el disertante explica cómo expandir esta red agregando más salidas para crear un cuadro delimitador para el gato como un todo. El disertante también explora diferentes ideas para la expansión de la red para generar un cuadro delimitador y el proceso para capacitar a la red en esta tarea ampliada.

  • 00:05:00 En esta sección, el disertante analiza el método IOU (intersección sobre Unión) para la detección de objetos. Este enfoque tiene como objetivo maximizar la superposición entre el cuadro delimitador previsto y el cuadro delimitador real calculando el área de intersección y dividiéndola por el área de la unión. El disertante explica que cuanto más se acerque este valor a 1, mejor será la detección. Además, el disertante toca los desafíos de detectar múltiples objetos en una misma imagen, mencionando la solución básica de usar una búsqueda exhaustiva o ventanas deslizantes. Sin embargo, este enfoque tiene problemas significativos, incluida la ineficiencia y la necesidad de demasiada potencia de procesamiento.

  • 00:10:00 En esta sección, el ponente comenta la propuesta de solución al problema de las bajas relaciones de aspecto en la detección de objetos, que es el sistema denominado R-CNN. Su idea básica es adivinar cuadros delimitadores probables y ejecutar la clasificación en ellos mediante el uso de algoritmos clásicos de aprendizaje no automático para segmentar una imagen y proponer un montón de cuadros delimitadores para objetos. Este enfoque funciona porque es probable que los bordes de una imagen sean los límites de un cuadro delimitador. El algoritmo también utiliza supresión no máxima para eliminar la redundancia causada por la posible clasificación del mismo objeto varias veces. Sin embargo, este sistema aún es lento porque la mayoría de las imágenes tienen miles de regiones de segmentación diferentes, dependiendo de cómo se defina el algoritmo clásico.

  • 00:15:00 En esta sección, el disertante explica cómo optimizar los algoritmos de detección de objetos para minimizar el tiempo de procesamiento. Una forma es crear un mapa de funciones que extraiga información clave de la imagen y luego realizar la clasificación solo en la sección del mapa de funciones necesaria para cada detección de objetos, eliminando la necesidad de volver a ejecutar la red neuronal convolucional completa cada vez. Luego, el disertante presenta YOLO, un algoritmo de detección de objetos que utiliza una sola red neuronal convolucional para generar la ubicación y los cuadros delimitadores de múltiples objetos en una imagen. La arquitectura de YOLO consta de capas convolucionales y una capa de clasificación, lo que permite un tiempo de procesamiento más rápido y la detección de múltiples objetos a la vez.

  • 00:20:00 En esta sección, el video explica cómo funciona YOLO (solo miras una vez) cortando una imagen en una cuadrícula, donde cada cuadrícula representa un vector de clasificación o un cuadro delimitador. En teoría, esto significa que la cantidad de objetos que se pueden clasificar es igual a la cantidad de cuadrículas en la imagen. YOLO también usa ancho y alto XY, siendo la coordenada XY el punto medio del cuadro delimitador y el ancho y el alto son el tamaño del cuadro. Luego, el video continúa explicando la supresión no máxima, un proceso que elimina las superposiciones y elige el mejor cuadro delimitador con la mayor confianza para cada gráfico de clasificación.

  • 00:25:00 En esta sección, aprendemos sobre los desafíos con la detección de objetos de YOLO, incluido el problema de que varios objetos se centren en la misma celda y cómo generar múltiples clasificaciones y cuadros delimitadores en una celda. La solución a esto es usar cuadros ancla, donde los cuadros delimitadores genéricos se definen antes de la clasificación, y el conjunto de datos se clasifica en función de la similitud con estos cuadros ancla. Esto permite una forma determinista de determinar qué objeto debe clasificarse en qué vector y elimina la ambigüedad de los cuadros delimitadores duplicados.

  • 00:30:00 En esta sección, se analiza la arquitectura YOLO, que es una red neuronal totalmente convolucional para la detección de objetos. La red YOLO realiza una pasada sobre la imagen y tiene un diseño simple, eliminando componentes clásicos como ventanas deslizantes. Mediante la utilización de cuadros de anclaje y otras técnicas, YOLO es capaz de igualar la precisión de RCNN mientras mejora drásticamente su velocidad. Adicionalmente, se explora el concepto de cuadros ancla, que son formas geométricas que corresponden a objetos en una imagen. Es un desafío detectar objetos con cuadros de anclaje que tienen la misma forma y tamaño y se superponen. Sin embargo, existen algoritmos que pueden encontrar cuadros de anclaje matemáticamente óptimos para separar estos objetos. Finalmente, la discusión aborda el almacenamiento de una gran cantidad de clases para la clasificación, que todavía es una cuestión de clasificación que los investigadores están explorando actualmente.

  • 00:35:00 En esta sección, el orador recomienda un artículo técnico llamado "El Libro Amarillo" para aquellos interesados en leer sobre detección de objetos. Por otro lado, el locutor desaconseja la lectura de RCNN por su ilegibilidad. El orador invita a la audiencia a hacer cualquier pregunta antes de concluir la conferencia.
 

CS 198-126: Clase 8 - Segmentación semántica



CS 198-126: Clase 8 - Segmentación semántica

La conferencia trata sobre la segmentación de imágenes, incluida la segmentación semántica y la segmentación de instancias. El objetivo principal de la segmentación es detectar todos los objetos en una imagen y separarlos. El disertante explica cómo se puede usar una red neuronal convolucional (CNN) para la segmentación semántica y cómo la reducción de muestreo puede ayudar con imágenes de resolución completa costosas desde el punto de vista computacional. También se analizan diferentes enfoques para transformar un volumen pequeño de nuevo en un tamaño de imagen. La conferencia presenta U-Net, un modelo para la segmentación semántica que combina mejoras anteriores con conexiones de omisión, y explica cómo se puede expandir a la segmentación de instancias utilizando el enfoque Mask R-CNN. Se demuestra un modelo de segmentación semántica previamente entrenado y el orador habla sobre la capacitación previa y las próximas tareas del curso.

  • 00:00:00 En esta sección, la lección cubre la segmentación de imágenes, específicamente la segmentación semántica y la segmentación de instancias. La segmentación semántica implica encontrar los píxeles específicos donde un objeto está presente en la imagen, mientras que la segmentación de instancias identifica dónde se encuentra cada instancia de cada clase en la imagen. El objetivo final de la segmentación es detectar todos los objetos en una imagen y separarlos. Esta técnica es útil porque los humanos perciben los objetos a través de una combinación de componentes individuales, y es esencial poder identificar y clasificar estos componentes de manera más específica. La segmentación ofrece aplicaciones útiles, como la detección de objetos y la identificación de relaciones entre objetos.

  • 00:05:00 En esta sección, el disertante discute el concepto de segmentación y cómo abordarlo. La idea es crear segmentos conectados mediante la agrupación en función de algún tipo de criterio de similitud. El enfoque clásico para esto era definir una función para agrupar píxeles en función de su similitud en alguna métrica, como la intensidad. Sin embargo, el disertante menciona enfoques de aprendizaje profundo más nuevos, como ventanas deslizantes, que pueden aprender cómo realizar la segmentación en lugar de usar un algoritmo fijo.

  • 00:10:00 En esta sección, el orador explica cómo se puede usar una red neuronal convolucional (CNN) para la segmentación semántica. En lugar de ejecutar el enfoque de ventana deslizante de CNN varias veces, se puede usar una operación convolucional. Esto permite los efectos deseados sin la ineficiencia de volver a calcular las funciones compartidas. La capa convolucional se puede ejecutar como un filtro sobre la imagen y la capa de salida se mapeará uno a uno con la imagen original, independientemente del tamaño. El relleno también se puede usar para manejar casos en los que el tamaño de entrada es más pequeño que el tamaño del filtro.

  • 00:15:00 En esta sección, el disertante analiza el problema de reducir la resolución de imágenes grandes para hacer que la segmentación semántica sea más factible, ya que el procesamiento de imágenes de resolución completa puede ser computacionalmente costoso. La solución es reducir gradualmente la muestra de la imagen con cada capa de convolución y eliminar la información redundante, creando un volumen más pequeño con el que trabajar. Luego, esta imagen reducida se muestrea al final para crear un mapa de segmentación de la imagen original, con cada píxel segmentado en una clase particular basada en la salida de clasificación máxima. La conferencia también analiza brevemente diferentes enfoques para rellenar y tratar los bordes de las imágenes.

  • 00:20:00 En esta sección, el instructor analiza diferentes enfoques para transformar un volumen pequeño, como un mapa de segmentación, en una imagen del tamaño de la imagen de entrada original. El enfoque clásico implica ampliar la imagen y usar funciones de interpolación como el vecino más cercano o la interpolación lineal para llenar el espacio adicional. Sin embargo, este enfoque puede llevar a cierta pérdida de detalles. El instructor sugiere un enfoque aprendido que utiliza desconvolución, lo que implica pasar la capa de entrada sobre la capa de salida y eliminar los píxeles de la imagen de entrada original uno por uno. El instructor brinda una breve revisión de las convoluciones y explica cómo funciona la deconvolución al cambiar las posiciones de las capas de entrada y salida.

  • 00:25:00 En esta sección, el disertante dibuja un ejemplo de una imagen de entrada simple y explica un método de descomposición que implica mirar cada píxel de la imagen de entrada y usar un filtro para proyectarlo en la imagen de salida. El disertante señala una limitación de este método en el sentido de que puede sobrescribir valores que ya se han escrito. Para abordar esto, el disertante presenta un enfoque incremental que involucra convoluciones convolucionales para reducir la muestra de la imagen de entrada en una representación de baja resolución, y luego usar convoluciones D para volver a muestrearla a su tamaño original. El disertante señala que este método es beneficioso porque se aprende el muestreo ascendente en lugar de solo un algoritmo clásico, lo que permite una mayor adaptabilidad y refinamiento de las formas.

  • 00:30:00 En esta sección, aprendemos sobre U-Net, un modelo de segmentación semántica que combina mejoras anteriores con conexiones de salto. Las conexiones de salto permiten extraer información de diferentes niveles de la ruta de muestreo descendente mientras se realiza un muestreo ascendente. También hay diferentes variaciones de U-Net, como los modelos de la familia plana y profunda y los modelos basados en transformadores como el Sendformer. U-Net también se puede expandir para resolver el problema de la segmentación de instancias mediante el uso del enfoque Mask R-CNN, que predice la ubicación de los objetos dentro del valor identificado.

  • 00:35:00 En esta sección, el disertante analiza la segmentación de instancias completas utilizando Mask R-CNN, que es útil para autos autónomos que detectan los contornos de objetos como autos, peatones o mochilas. El disertante explica cómo el cuadro delimitador potencial se reduce a una imagen de tamaño fijo y se clasifica. Las etiquetas de los objetos se recopilan a través de una variedad de métodos, como hacer que los humanos lo hagan o emplear métodos de asistencia. La matriz se aprende de la misma manera que un filtro, y al desmantelar una imagen, el profesor explica que es una proyección en la que el filtro se multiplica por cada valor de píxel correspondiente y luego se itera sobre la imagen, que en realidad no está invirtiendo una convolución. .

  • 00:40:00 En esta sección, el profesor y un estudiante demuestran un modelo de segmentación semántica preentrenado que se entrenó en Cloud GPU. El modelo se ejecuta en una imagen de Japón y los resultados muestran que el modelo puede detectar múltiples objetos con diferentes precisiones. El estudiante también menciona que se puede aplicar un umbral de puntaje al modelo para filtrar información con puntajes de precisión bajos. En general, la demostración sirve como ejemplo de cómo se puede aplicar la segmentación semántica a imágenes del mundo real.

  • 00:45:00 En esta sección, el orador habla sobre el entrenamiento previo y cómo se puede entrenar previamente el modelo en AWS y otros servicios descargados. También mencionan una asignación de residente obligatoria y una unidad opcional recomendada que involucra la segmentación. Las fechas de vencimiento y los enlaces se encuentran en el sitio web del curso y alientan a los estudiantes a acudir al horario de oficina si tienen alguna pregunta. En general, esta sección proporcionó información logística sobre el curso y las próximas asignaciones.
 

CS 198-126: Lección 9 - Codificadores automáticos, VAE, modelado generativo



CS 198-126: Lección 9 - Codificadores automáticos, VAE, modelado generativo

En esta lección, se presenta el concepto de modelado generativo, que implica el uso del aprendizaje automático para crear nuevas imágenes basadas en un conjunto de datos. Se explican los codificadores automáticos, un tipo de red neuronal utilizada para el aprendizaje de funciones, centrándose en su estructura y cómo pueden aprender las funciones de los datos de entrada a través de la compresión y la reconstrucción. La conferencia también cubre los codificadores automáticos variacionales y sus beneficios, así como el uso de espacios latentes estructurados en codificadores automáticos para interpolar entre imágenes. Se analiza la importancia de la cuantificación vectorial para trabajar con datos discretos y se explica la función de pérdida para un codificador automático variacional, que incluye una pérdida de reconstrucción y una pérdida de compromiso para evitar la codificación de los datos de entrada. La conferencia termina con una recapitulación de los temas tratados.

  • 00:00:00 En esta sección, la lección presenta el tema del modelado generativo, que implica el uso del aprendizaje automático para generar nuevas imágenes basadas en un conjunto de datos. Sin embargo, puede ser un problema difícil para las máquinas comprender qué distingue a los diferentes objetos, como los gatos, entre sí. La conferencia presenta el concepto de codificadores automáticos y cómo se pueden usar para comprimir y descomprimir imágenes, como se ve en el ejemplo de compresión JPEG. La conferencia también toca el tema de los codificadores automáticos variacionales, que se discutirá en la próxima conferencia.

  • 00:05:00 En esta sección, el disertante analiza la compresión de imágenes y cómo se basa en la comprensión de los datos en algún nivel. La compresión puede ahorrar espacio y reducir la cantidad de bits necesarios para enviar una imagen a través de una red. El algoritmo JPEG funciona eliminando parte de la información de mayor frecuencia y las relaciones de píxel a píxel que no son cruciales para la percepción humana. Luego, el disertante sugiere que para tipos específicos de imágenes, como imágenes de gatos, se podrían desarrollar esquemas de compresión más avanzados con un conocimiento más profundo de cómo se estructura la imagen más allá de las correlaciones de píxeles. En general, los algoritmos de compresión resaltan la importancia de comprender los datos en el aprendizaje automático.

  • 00:10:00 En esta sección, el disertante analiza el concepto de autocodificadores, un tipo de red neuronal utilizada para el aprendizaje de características que utiliza una estructura de codificador-decodificador para comprimir los datos de entrada y luego reconstruirlos. Lo compara con técnicas anteriores, como las caras propias que usaban PCA para la extracción de características, y muestra la estructura de una red de autocodificador. La parte del codificador reduce los datos de entrada a una capa de cuello de botella, mientras que la parte del decodificador los reconstruye a su forma original. El objetivo es minimizar la diferencia entre los datos originales y los reconstruidos. El disertante plantea la pregunta de por qué sería útil una red que produce la misma salida que entrada, y explica que la clave está en las características aprendidas de los datos que se pueden usar para otras tareas.

  • 00:15:00 En esta sección de la conferencia, el instructor explica el concepto de capa de cuello de botella en los codificadores automáticos y cómo obliga a la red a comprimir los datos de entrada, por lo tanto, aprende algunas características de los datos. También analiza las limitaciones de esta estructura de red y las propiedades deseables del código, como su pequeño tamaño y la similitud de códigos para imágenes similares. El instructor presenta el concepto de codificadores automáticos variacionales que se basa en los codificadores automáticos pero proporciona propiedades mágicas que permiten resultados sensibles cuando se aplican diferentes operaciones a los vectores latentes. Luego analiza el marco generativo para la generación de imágenes y texto, que implica muestrear el vector latente que contiene la información de la imagen o el texto que se generará.

  • 00:20:00 En esta sección de la conferencia, el orador analiza el uso de vectores latentes como una forma de representar rasgos o "genes" en un conjunto de datos de rostros. El vector latente actúa como una especie de distribución de probabilidad sobre posibles conjuntos de genes para un individuo, y la estructura facial es una función de los genes en ese conjunto. El codificador toma una imagen de entrada y produce un vector latente, y el decodificador toma ese vector latente y produce una estimación de la imagen original. Para imponer estructura al espacio latente, se utilizan codificaciones probabilísticas.

  • 00:25:00 En esta sección de la conferencia, el orador explica el uso de distribuciones de probabilidad en el mapeo de entradas a una región de posibles salidas para forzar a los vectores cercanos en el espacio latente a decodificar imágenes similares. Este concepto es importante en los codificadores automáticos variacionales (VAE), que utilizan una distribución gaussiana para generar los parámetros de un círculo en el espacio latente del que se muestrea un código. La pérdida de VAE incluye un término de reconstrucción y un término que obliga a la salida del codificador a parecerse a una distribución normal, lo que evita que aprenda solo un punto de salida y, en cambio, fomenta grandes conjuntos que deben codificarse en el mismo punto. El orador señala los objetivos contrastantes en esta pérdida, en la que el codificador automático preferiría asignar cada entrada a un solo punto, pero el término adicional obliga a los puntos a estar cerca del centro del plano y tener alguna variación, lo que da como resultado discos en lugar de puntos individuales.

  • 00:30:00 En esta sección de la conferencia, el orador analiza los beneficios de usar espacios latentes estructurados en codificadores automáticos. Al reforzar la estructura en el espacio latente, los codificadores automáticos pueden interpolar efectivamente entre imágenes, lo que se muestra en una popular demostración en línea donde los usuarios pueden deslizar un control deslizante entre dos caras de celebridades y ver cómo se interpola el control deslizante entre las dos caras de manera sensata. El orador explica que esto es posible mediante el uso de un codificador automático variacional, que obliga a los vectores latentes a vivir juntos en el mismo espacio y decodificar puntos cercanos a partir de vectores cercanos. El orador señala que, si bien los detalles de entrenamiento de los codificadores automáticos variacionales pueden ser complicados debido al muestreo involucrado, el enfoque es arbitrario y puede modificarse para adaptarse a varias aplicaciones.

  • 00:35:00 En esta sección de la conferencia, el orador analiza cómo el uso de tokens discretos es necesario para ciertos campos, como el procesamiento del lenguaje natural (NLP), ya que es difícil definir qué significa alterar una palabra por un cierto porcentaje. Como resultado, analiza el uso de la cuantificación vectorial como un truco para extender los codificadores automáticos variacionales (VAEs) para que funcionen con tokens discretos. En la cuantificación de vectores, se utiliza un libro de códigos de tokens válidos para redondear cualquier vector de salida del VAE al token más cercano, lo que permite una mejor representación de datos discretos. Sin embargo, la selección del libro de códigos sigue siendo un desafío.

  • 00:40:00 En esta sección, el orador analiza la función de pérdida para un codificador automático variacional (VAE), que se utiliza para aprender las ubicaciones de las palabras clave que corresponden a diferentes grupos dentro de una distribución de datos. La función de pérdida incluye una pérdida de reconstrucción, que garantiza que la salida del decodificador sea similar a la entrada, y una pérdida de compromiso, que garantiza que los vectores emitidos por el codificador estén cerca de las palabras de código que representan los centros de estos grupos. Para evitar que la red codifique los datos de entrada, el codificador produce varias palabras de código para cada entrada, lo que da como resultado un conjunto más grande de palabras de código y permite que la red genere una mayor diversidad de salidas.

  • 00:45:00 En esta sección del video, el presentador analiza un método para generar nuevas imágenes con VQ-VAE al tomar muestras de C de una distribución normal y pasarlas por el decodificador, lo que da como resultado una imagen novedosa que no ha sido visto antes. Además, el presentador explica que el muestreo uniforme de los elementos del libro de códigos puede no ser efectivo porque algunas palabras de código son más comunes que otras en la distribución de datos reales. Por lo tanto, aprender lo anterior sobre las palabras clave puede ser útil para generar nuevos datos. Por último, el presentador proporciona un resumen de la conferencia, comenzando con los codificadores automáticos, pasando a los codificadores automáticos variacionales y terminando con los codificadores automáticos variacionales cuantificados por vectores.
 

CS 198-126: Clase 10 - GAN



CS 198-126: Clase 10 - GAN

La conferencia sobre GAN presenta el concepto de dos redes, el discriminador y el generador, que compiten entre sí en una configuración similar a la teoría de juegos. La entrada del generador es un ruido aleatorio, al que asigna significado para generar imágenes que parecen reales, y el trabajo del discriminador es juzgar si la imagen es real o falsa. Las GAN utilizan una función de pérdida que corresponde a la pérdida de entropía cruzada negativa, en la que el generador desea minimizarla y el discriminador desea maximizarla. La función de valor representa qué tan bien está funcionando el generador y debe ser maximizada por el discriminador al clasificar correctamente los datos falsos y reales. La conferencia también cubre problemas con el entrenamiento de GAN y la pérdida de no saturación que permite que el generador tenga más capacidad para cambiar.

  • 00:00:00 En esta sección, el disertante brinda una revisión de las variables latentes y los códigos utilizados para comprimir y mapear imágenes en representaciones más comprimidas. También se introduce la idea de utilizar codificadores automáticos para generar nuevas imágenes a partir de un vector latente. El disertante señala el desafío de juzgar qué hace que una imagen sea buena y realista, que es donde entran en juego las GAN (Generative Adversarial Networks). Con dos redes, una generando datos y la otra tratando de determinar si es real o falso, las redes compiten entre sí en una configuración similar a la teoría de juegos. El discriminador gana cuando clasifica correctamente las imágenes y el generador gana cuando engaña al discriminador.

  • 00:05:00 En esta sección, el instructor explica el concepto de alto nivel detrás de las GAN, que involucra dos redes, el discriminador y el generador, que compiten entre sí. A diferencia de los codificadores automáticos, donde el cuello de botella está en el medio, las GAN tienen algo en el medio entre el generador y el discriminador que es mucho más dimensional. La entrada al generador es una especie de vector de ruido aleatorio muestreado a partir de una Gaussiana multivariada. Luego, el generador recibe la variable de ruido latente y decide cómo asignarle un significado aleatorio para que pueda generar una gran cantidad de entradas, o una gran cantidad de imágenes de apariencia real. Las redes discriminadora y generadora se entrenan conjuntamente mediante descenso de gradiente, alternando entre las dos, con el objetivo de engañar a la otra red.

  • 00:10:00 En esta sección, el disertante explica cómo funcionan las GAN al tener una red que recibe datos reales y falsos para entrenar a un generador para descubrir patrones que hacen que las imágenes parezcan reales. El discriminador es el que juzga si la imagen es real o falsa y, a medida que aprende, comienza a notar patrones y actualiza su juicio. La esperanza es que el generador aprenda a mejorar creando algo con más forma u objetos que tengan sentido en el contexto de la escena. La función de pérdida para GAN solo consiste en una pérdida de clasificación del discriminador, y la puntuación del generador es lo contrario. Para entrenar al generador, el discriminador debe ser bueno juzgando una imagen para proporcionar retroalimentación al generador.

  • 00:15:00 En esta sección, el disertante explica la importancia de que un discriminador pueda clasificar imágenes con precisión para mejorar el generador. Es posible que el discriminador deba actualizarse más que el generador, para que pueda discernir una diferencia significativa entre las imágenes reales y las generadas. Luego, el disertante desglosa la función de pérdida, que corresponde a la pérdida de entropía cruzada negativa, con el generador queriendo minimizarla y el discriminador queriendo maximizarla. El generador gana cuando sus datos parecen reales y el discriminador gana cuando diferencia correctamente las imágenes reales de las falsas. Las dos redes se encuentran en un escenario de teoría de juegos en el que compiten entre sí para progresar y mejorar.

  • 00:20:00 En esta sección del video, los presentadores explican el concepto de una función de valor en las GAN, que es lo opuesto a la función de pérdida utilizada en los modelos tradicionales de aprendizaje automático. La función de valor representa qué tan bien está funcionando el generador y debe ser maximizada por el discriminador al clasificar correctamente los datos falsos y reales. Los pesos del generador se congelan durante el primer paso para que el discriminador pueda entrenarse en lotes de datos reales y falsos. Durante el segundo paso, el discriminador se congela y los pesos del generador se actualizan para generar imágenes falsas ligeramente mejores. Este proceso se repite hasta que el generador produce imágenes realistas que ni siquiera el discriminador puede clasificar como falsas.

  • 00:25:00 En esta sección, el orador analiza las GAN condicionales, que brindan una solución para generar imágenes con más control sobre las clases que se generan. La configuración actual de GAN requiere alimentar repetidamente el generador de forma aleatoria hasta que se genere el objeto o la imagen deseados, pero para conjuntos de datos con más clases, este enfoque no es ideal. Al agregar un vector one-hot al vector de ruido aleatorio, esto permite que el generador tenga más control sobre la clase que se genera. El vector one-hot corresponde a la clase deseada y el generador está entrenado para generar una imagen con esa clase específica.

  • 00:30:00 En esta sección de la conferencia, el orador analiza la idea de incentivar al generador para que use una función específica en el modelo GAN condicional. El orador explica que simplemente decirle al generador que genere una imagen específica no es suficiente, ya que el generador no tiene ningún incentivo para usar la información dada. La solución es dotar también al discriminador de la misma etiqueta, creando una estrategia para que identifique si una imagen generada corresponde o no a su etiqueta. Esto obliga al generador a prestar atención a la etiqueta, ya que quiere evitar que el discriminador lo detecte, lo que da como resultado una salida que coincide con la etiqueta dada. También se analiza la arquitectura tanto del generador como del discriminador.

  • 00:35:00 En este escenario, los pesos del generador eventualmente se volverían cero. Además, el generador puede fallar y quedar atrapado en el modo de colapso, en el que genera solo un pequeño conjunto de ejemplos que engañan bien al discriminador. Este problema surge debido a que el discriminador aprende límites de decisión súper definidos y el generador está incentivado para generar esos ejemplos falsos repetidamente. Por último, también hay problemas de procedimiento de entrenamiento con las GAN, ya que su configuración estándar no converge y su función de pérdida se vuelve plana.

  • 00:40:00 En esta sección, el disertante analiza algunos problemas comunes con las GAN, que pueden dificultar su entrenamiento. Un problema es que siempre habrá una compensación entre el generador y el discriminador, con el discriminador tratando de sobreajustarse a características específicas en imágenes reales, y no hay una forma clara de saber cuándo la GAN ha terminado el entrenamiento. Luego, el disertante analiza una pérdida no saturada, que es una simple reformulación del objetivo del generador, y aborda el problema de que el generador solo obtiene una pequeña derivada parcial cuando el discriminador reconoce las imágenes generadas como falsas. La pérdida de no saturación maximiza un término alternativo y permite que el generador tenga más agencia para cambiar.

  • 00:45:00 En esta sección, el disertante explica el truco matemático detrás de la pérdida de entropía cruzada utilizada en las GAN. En lugar de tratar ciegamente de minimizar la pérdida de entropía cruzada negativa, el objetivo del generador es maximizar la probabilidad de ser clasificado como uno, utilizando un tipo de pérdida de entropía cruzada de clase binaria. Esta pérdida de no saturación genera gradientes de generador más grandes, lo que nos permite entrenar más rápido cuando el discriminador está apagando el generador. Sin embargo, el disertante señala que se trata de material avanzado, sin cuestionario ni tarea, pero están disponibles para hablar más sobre técnicas avanzadas de entrenamiento GAN.
 

CS 198-126: Clase 11 - GAN avanzadas



CS 198-126: Clase 11 - GAN avanzadas

Esta conferencia sobre GAN avanzadas cubre varias técnicas para mejorar la estabilidad y la calidad de los modelos GAN, incluido el muestreo ascendente bilineal, la convolución transpuesta, las GAN condicionales, StyleGAN y CycleGAN. La conferencia también analiza el uso de ruido aleatorio controlado, la normalización de instancias adaptativas y el procesamiento de videos en GAN. Para lograr una mejor estabilidad y resultados, el disertante recomienda usar tamaños de lote más grandes y truncar el rango de ruido aleatorio durante la prueba, al tiempo que advierte contra el nerfeo excesivo del discriminador. Además, se sugiere comenzar con una amplia distribución de diferentes tamaños de espacio latente para generar una variedad de imágenes. Finalmente, la conferencia toca el Big Gan, que ayuda a generar GAN a escalas muy grandes.

  • 00:00:00 En esta sección, el orador introduce el tema de las GAN en el contexto de la visión por computadora y analiza la construcción de una arquitectura GAN para la visión por computadora. El orador se enfoca en el discriminador, que es una CNN de clasificación, y el generador, que es más desafiante debido a la necesidad de aumentar la muestra de la imagen vectorial latente. El orador también analiza las técnicas de muestreo descendente y ascendente, incluido el muestreo ascendente del vecino más cercano, que es un enfoque ingenuo que duplica cada celda en el mapa de características existente, lo que da como resultado una imagen borrosa.

  • 00:05:00 En esta sección, el disertante analiza formas de aumentar la muestra de mapas de características para generadores en GAN. Primero describe el muestreo ascendente bilineal, donde se crean nuevos mapas de características tomando un mapa de características vacío más grande y rellenándolo con el promedio de todos sus vecinos más cercanos. Luego introduce la convolución transpuesta, que rellena el mapa de características con tanto relleno que cuando la ventana de convolución se desliza sobre él, el mapa de características de salida termina siendo más grande que la entrada. El disertante señala que estas son las formas más comunes de aumentar la muestra de los mapas de características y, por lo general, son suficientes para hacer que los generadores sean más grandes.

  • 00:10:00 En esta sección de la conferencia, el orador analiza las GAN condicionales y cómo manejarlas en el generador. Las entradas al generador ahora incluyen un vector condicional y latente que le dice qué generar. El orador sugiere concatenar los vectores juntos o procesarlos por separado antes de concatenarlos. También se refieren brevemente a pasar varias cosas a un discriminador. Luego, la conferencia pasa a StyleGAN, una nueva arquitectura para el generador que incluye estilo artístico y preprocesamiento de los vectores latentes antes de las operaciones de convolución.

  • 00:15:00 En esta sección, el orador analiza la necesidad de alimentar la latente para dar acceso a todas las diferentes circunvoluciones al estilo codificado en ella para producir mejores texturas. La textura es ruido aleatorio, y sería mucho más fácil proporcionar al modelo fuentes de aleatoriedad. Esta sección presenta la arquitectura utilizada, que divide el generador en dos componentes diferentes. El primero es el deseado, cuyo vector latente alimenta al generador. La introducción del componente deseado es preprocesar la latente para solucionar el problema de los espacios latentes inutilizables, lo que dificulta la generación de determinadas imágenes. Los preprocesos implican pasar la latente a través de capas densas hasta que tengamos una nueva latente modificada llamada W.

  • 00:20:00 En esta sección, el video analiza el concepto de normalización de instancias adaptables (AdaIN) y cómo introduce estilo en la red. AdaIN reemplaza la norma por lotes y utiliza un vector de estilo para dictar cuánto cambiar la escala y el resesgo, lo que permite obtener resultados más significativos. El vector de estilo se pasa a través de una capa totalmente conectada, que se utiliza para cambiar la escala y cambiar el sesgo de todas las activaciones. El objetivo final es aumentar el acceso a la aleatoriedad generando una gran cantidad de mapas de características que son ruido puramente aleatorio.

  • 00:25:00 En esta sección, el disertante analiza la adición de ruido aleatorio controlado a cada mapa de funciones, lo que permite que la red aumente o disminuya la cantidad de ruido en función de los valores B aprendidos. Este ruido aleatorio controlado ayuda a generar mejores texturas e imperfecciones, lo que permite la generación de vellos y arrugas individuales. El ruido controlado se agrega después de cada convolución y permite que la red controle la magnitud del ruido. La conferencia también analiza las nuevas innovaciones en estilo GAN, incluido el vector latente que se integra en cada capa, y el uso de la normalización de instancia adaptativa para introducir lentamente el estilo.

  • 00:30:00 En esta sección, el disertante analiza las dos técnicas avanzadas de GAN: StyleGAN y CycleGAN. StyleGAN genera rostros aleatorios con grandes mejoras en la textura a través del ruido aleatorio, mientras que CycleGAN transfiere imágenes de un conjunto de datos a otro. Un término de pérdida está dedicado al realismo de las imágenes convertidas y el otro mide si la imagen se puede restaurar a su estado original. CycleGAN puede tomar fotos realistas y transformarlas en pinturas de Monet, convertir cebras en caballos y alterar las estaciones de una imagen. Si bien no hay consistencia entre los fotogramas del video, la técnica aún puede producir resultados decentes.

  • 00:35:00 En esta sección, el orador explica que los videos se pueden usar para entrenar a un discriminador para identificar videos reales y falsos, pero requiere un cálculo significativo en comparación con el procesamiento de imágenes. El video debe procesarse cuadro por cuadro, pero se pueden omitir algunos cuadros para que el proceso sea más eficiente. El discriminador se puede usar para garantizar la coherencia en los videos generados de un cuadro a otro. Además, el orador recomienda tener cuidado al usar modelos GAN en algunas demostraciones, como convertir un mono en un caballo, ya que es posible que no siempre funcione de manera eficiente y que el resultado no sea el esperado. Finalmente, el orador analiza cómo GAN se amplía cuando se arrojan tamaños de lote más grandes y más datos en modelos más grandes, y explica algunas compensaciones entre estabilidad, confiabilidad, variedad y calidad.

  • 00:40:00 En esta sección, el disertante analiza algunos trucos para obtener una mejor estabilidad y resultados con las GAN. Una clave para una mejor estabilidad es usar tamaños de lote más grandes, lo que es especialmente útil para tareas complejas como las GAN. Otro consejo es truncar el rango de ruido aleatorio durante la prueba para evitar resultados que estén fuera de la experiencia del modelo. Sin embargo, esto viene con la compensación de limitar la variedad de imágenes generadas. El disertante también enfatiza que aceptar cierta inestabilidad durante el entrenamiento es necesario para lograr buenos resultados y advierte contra nerfear excesivamente al discriminador.

  • 00:45:00 En esta sección, el orador advierte contra el uso de una distribución estrecha para el espacio latente, ya que el generador podría generar imágenes similares repetidamente, lo que dificulta la generación de una variedad de imágenes. El ponente sugiere comenzar con una amplia distribución de diferentes tamaños para darle al modelo una excelente idea inicial de cómo generar imágenes. Además, comparten que la función discriminadora puede ser beneficiosa de varias maneras diferentes además de generar una sola imagen al azar. Finalmente, presentan Big Gan, que ayuda a generar GAN a escalas muy grandes.
 

CS 198-126: Clase 12 - Modelos de difusión



CS 198-126: Clase 12 - Modelos de difusión

En esta conferencia sobre modelos de difusión, el orador analiza la intuición detrás de los modelos de difusión: predecir el ruido agregado a una imagen y eliminarlo para obtener la imagen original. La conferencia cubre el proceso de capacitación, la arquitectura mejorada y ejemplos de modelos de difusión en la generación de imágenes y videos. Además, la conferencia profundiza en los modelos de difusión latente, que comprimen el modelo en un espacio latente para ejecutar la difusión en la parte semántica de la imagen. El orador también brinda una descripción general de los modelos relacionados, como Dolly Q, el modelo Imagine de Google y Make a Video de Facebook, y su capacidad para generar modelos 3D utilizando texto.

  • 00:00:00 En esta sección del video, el orador presenta modelos de difusión, una nueva clase de modelos generativos. Explican que el objetivo de los modelos generativos es aprender la distribución subyacente de un conjunto de datos determinado para que se puedan generar nuevos datos a partir de la misma distribución. El orador también menciona dos métodos principales para aprender distribuciones: maximizando la probabilidad o minimizando la métrica de divergencia. La conferencia se sumergirá en las matemáticas detrás de los modelos de difusión, y el orador señala que esta conferencia estará más involucrada matemáticamente que las anteriores.

  • 00:05:00 En esta sección de la conferencia sobre modelos de difusión, el orador analiza el uso de codificadores automáticos variacionales (VAEs) y redes antagónicas generativas (GAN) en el modelado de distribuciones que imitan la distribución de datos. El orador explica que ambos modelos funcionan tomando una muestra de ruido aleatorio y convirtiéndola en algo que parece provenir de la distribución de datos. Sin embargo, los modelos de difusión toman múltiples pasos pequeños en lugar de un paso grande durante este proceso, lo que crea una cadena de Markov que es más fácil de analizar. El modelo de difusión tiene un proceso directo en el que se agrega ruido a una imagen y, posteriormente, se agrega más ruido para crear una versión ruidosa de la imagen. También hay un proceso inverso en el que se elimina el ruido de la imagen para volver a la imagen original.

  • 00:10:00 En esta sección del video, el disertante explica el concepto de procesamiento inverso en modelos de difusión, donde se puede generar una nueva imagen invirtiendo la secuencia de pasos de ruido. El desafío radica en encontrar la distribución inversa, que es difícil de calcular utilizando la distribución exacta, por lo que se realiza una aproximación a través de la función Q y la función P. La función P está representada por una red neuronal, que trata de aprender la media y la varianza de la distribución inversa, que se supone que es gaussiana. El video también cubre el proceso de entrenamiento para un modelo de difusión, que requiere que se minimice o maximice una función de pérdida.

  • 00:15:00 En esta sección de la conferencia, el orador analiza la aplicación del límite inferior variacional de variación a los modelos de difusión, lo que da como resultado una función de pérdida que se asemeja a una suma de funciones de pérdida más pequeñas. Explican que los términos L de 0 a L de T-1 contribuyen a la pérdida y que se centrarán en analizar L de T, que se define de 1 a T-1. El ponente continúa explicando cómo la divergencia KL entre Q de X de T-1 y la distribución que la red neuronal intenta predecir da como resultado un término que mide la pérdida de L2 entre la media aprendida y la media de la distribución condicional. Los autores de los artículos de difusión sugieren parametrizar mu de theta, el mu aprendido, de forma similar a Q de X de T-1 para simplificar la expresión y hacer posible predecir un solo término en lugar de predecir todo lo que está dentro del cuadro rojo.

  • 00:20:00 En esta sección, el disertante explica la intuición principal detrás de los modelos de difusión, que es predecir el ruido que se agregó a una imagen y luego eliminarlo para recuperar la imagen original. El objetivo es minimizar el ruido entre el ruido original y el ruido pronosticado, y el proceso de entrenamiento implica agregar ruido a las imágenes en el conjunto de datos, pasarlas por el modelo, predecir el ruido y minimizar la distancia entre el ruido pronosticado y el real. Luego, el modelo se puede usar para sintetizar nuevas imágenes comenzando con ruido aleatorio y eliminándolo usando el ruido predicho. El disertante también señala que X de T, la variable que se difunde, no tiene por qué ser una imagen.

  • 00:25:00 En esta sección, el ponente analiza los modelos de difusión y su capacidad para predecir el ruido de una imagen con las mismas dimensiones que la entrada/salida. Un modelo que tiene las mismas dimensiones es la misma unidad que se utilizó en la lección de segmentación. Sin embargo, los autores del artículo agregaron muchos trucos de CV modernos, incluidos bloques de resnet, módulos de atención, norma de agarre y activaciones de chasquidos al modelo. Pudieron demostrar que funcionaba muy bien y se usaron más pasos de tiempo en un artículo posterior para mejorar aún más su calidad. El orador también proporciona una imagen y un enlace a la diapositiva que contiene la arquitectura del modelo.

  • 00:30:00 En esta sección, se explica que los investigadores han encontrado una manera de mejorar los resultados del uso de modelos de difusión para la generación de imágenes mediante la modificación de los parámetros beta que controlan la adición de ruido en el proceso de avance. En lugar de usar un programa lineal, sugirieron usar una función de coseno más lenta y aumentar más tarde para convertir las imágenes en ruido lentamente, lo que ayudó al modelo a aprender mejor el proceso inverso. Además, al aprender la matriz de covarianza a través de una red neuronal, es posible mejorar la probabilidad logarítmica y obtener mejores probabilidades, lo que puede verse como una medida de diversidad.

  • 00:35:00 En esta sección de la conferencia, el orador analiza algunas mejoras arquitectónicas que se pueden realizar en el modelo de unidad, que se usa comúnmente en diferentes documentos. Estas mejoras incluyen el aumento del tamaño del modelo, el uso de módulos de atención y la normalización adaptativa. El orador también presenta la idea de la orientación clasificada, que implica entrenar a un clasificador para predecir etiquetas de clase tanto de imágenes originales como ruidosas, y usar el gradiente resultante para mejorar el modelo de difusión. Finalmente, el ponente menciona el uso de métricas, como FID y precisión y recuperación, para medir la calidad de los modelos generativos.

  • 00:40:00 En esta sección, el orador analiza cómo el modelo de difusión ha superado a los modelos GAN en el modelado de imágenes debido a su capacidad para capturar una mayor fidelidad y diversidad de la distribución de datos. Muestran imágenes de los flamencos donde las imágenes GAN se ven muy similares, mientras que las imágenes de difusión muestran más diversidad en su salida, lo que indica mejores capacidades de modelado de imágenes. El orador también menciona que los investigadores han ideado mejores formas de guiar el modelo de difusión a través de un proceso llamado guía sin clasificadores, donde se entrena un modelo de difusión condicional para evitar cambiar la diversidad por una mayor calidad, que es inherente al condicionar el modelo en algunos etiqueta de clase.

  • 00:45:00 En esta sección, el disertante analiza el concepto de modelos de difusión latente, que son otra clase de modelos de difusión usados para entrenar imágenes de alta dimensión, ya que no es factible entrenar un modelo de difusión grande en tales casos. El profesor explica que los investigadores han descubierto que se utilizan más bits para capturar los detalles a nivel de píxel y menos para capturar algunos de los detalles semánticos de una imagen que no es útil. Para generar imágenes con precisión, se debe ejecutar un modelo generativo en la parte semántica de la imagen. El disertante brinda una descripción general de cómo se puede lograr esto, lo que implica aprender el espacio latente y comprimir el modelo en un espacio latente para ejecutar la difusión en él. Esto permite convertir una imagen en una imagen latente y volver a la imagen utilizando un modelo de codificador y decodificador.

  • 00:50:00 En esta sección, el orador analiza varios modelos relacionados con la difusión, incluido Dolly Q, la generación de imágenes a través del modelo Imagine de Google y la generación de videos a través de Make a Video de Facebook. Además, Google ha ampliado el modelo Imagine para generar videos también. El orador también menciona la capacidad de generar modelos 3D utilizando texto, así como aplicar la visión a RL, lo que logra resultados de última generación en RL fuera de línea, según un artículo publicado a principios de este año. El orador proporciona enlaces a documentos y recursos para un mayor aprendizaje.