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

 

Lección 24. Programación Lineal y Juegos de Dos Personas



24. Programación lineal y juegos de dos personas

Este video de YouTube cubre el tema de la programación lineal y los juegos de dos personas. La programación lineal es el proceso de optimización de una función de coste lineal sujeta a un conjunto de restricciones lineales y se utiliza en campos como la economía y la ingeniería. El video explica los algoritmos utilizados en la programación lineal, incluido el método simplex y los métodos de puntos interiores, y el concepto de dualidad, donde el problema primal y su problema dual están estrechamente relacionados y pueden resolverse mediante el método simplex. El video también cubre cómo se puede aplicar la programación lineal a juegos de dos personas, incluido el proceso de encontrar un límite superior en el flujo máximo en una red y resolver un juego con una matriz. Finalmente, el video analiza brevemente las limitaciones de aplicar estas técnicas a juegos de tres o más personas y menciona que la próxima lección cubrirá el descenso de gradiente estocástico.

  • 00:00:00 En esta sección, el disertante introduce el tema de la programación lineal como parte de la optimización y explica qué es y cómo funciona. Él define la programación lineal como el proceso de optimización de una función de costo lineal sujeta a un conjunto de restricciones lineales. Señala que el vector de costos y las ecuaciones de restricción son lineales. Sin embargo, cuando hay restricciones involucradas, el problema no es realmente lineal, ya que las ecuaciones de las restricciones pueden hacerlo más complejo. A pesar de esto, la programación lineal es una parte importante de la optimización y se usa a menudo en campos como la economía y la ingeniería.

  • 00:05:00 En esta sección, el orador analiza la programación lineal y los juegos de dos personas. Explican el concepto de conjunto factible X, que es un conjunto de restricciones en lenguaje de álgebra lineal, y dibujan una visualización para mostrar el concepto. Utilizan un ejemplo de minimización de una función con restricciones y desigualdades sencillas para explicar cómo uno de los tres vértices de un triángulo es el ganador, lo que se resuelve encontrando el valor mínimo en el punto donde el plano se cruza con el octante. El costo es lineal y la solución es una de las tres esquinas, o cuando ocurren valores iguales a lo largo de esas esquinas. En el ejemplo dado, tres cero cero es el córner ganador.

  • 00:10:00 En esta sección, el video explica los dos algoritmos utilizados en la programación lineal: método simplex y métodos de punto interior. El método simplex viaja a lo largo de los bordes del conjunto factible para llegar a la esquina óptima, mientras que los métodos de punto interior van dentro del conjunto factible para obtener las derivadas y minimizar. El método interior es la idea más nueva, y aunque el algoritmo exacto propuesto por Karmarkar no ha sobrevivido, la idea todavía se usa e investiga en la actualidad. Ambos algoritmos todavía están bloqueados en competencia entre sí.

  • 00:15:00 En esta sección, el disertante analiza la programación lineal y sus diversos tipos, como la programación no lineal, la programación cuadrática, la programación semidefinida y los métodos de puntos interiores. El orador introduce la idea de la dualidad, donde se crea un problema dual del problema de programación lineal, y el problema primal se convierte en un problema de maximización con un costo lineal y restricciones de desigualdad lineal. Luego, el orador explica que el problema primal y su problema dual están estrechamente relacionados y pueden resolverse utilizando el método símplex. Además, el orador introduce la idea clave de la dualidad, que establece que el valor máximo siempre es menor o igual que cualquier valor permitido factible. Finalmente, el orador da una prueba de una línea de la desigualdad B transpuesta Y es menor o igual que C transpuesta X.

  • 00:20:00 En esta sección, el disertante analiza la importancia de X mayor o igual a cero en la programación lineal y su papel para lograr la dualidad débil. El hecho de que X sea mayor o igual a cero asegura que se satisfagan las desigualdades deseadas y que el resultado obtenido del sistema sea correcto. El ponente menciona el concepto de dualidad y su relación con la programación lineal y los juegos de dos personas, enfatizando la importancia de prestar atención al algoritmo en ambos casos. El orador también proporciona un ejemplo de flujo máximo igual a mínimo corte para demostrar los conceptos discutidos.

  • 00:25:00 En esta sección, el orador analiza el problema de la programación lineal y los juegos de dos personas en el contexto de maximizar el flujo a través de una red con restricciones en las capacidades de borde. Explican que el objetivo es maximizar el flujo en el fregadero mientras se asegura que la variable de flujo no exceda la cantidad de flujo permitida por las capacidades de los bordes. El problema se puede resolver mediante la programación de enteros, pero se puede relajar de forma segura para permitir variables no enteras. El orador proporciona ejemplos de cómo resolver este problema y analiza la importancia de elegir las capacidades de borde adecuadas.

  • 00:30:00 En esta sección, el disertante analiza la programación lineal y los juegos de dos personas. Específicamente, explora encontrar un límite superior en el flujo máximo en una red, enfocándose en un corte en la red que separa los bordes que van con una fuente y aquellos que van con un objetivo. El caudal máximo para este ejemplo es 14, que coincide con el corte mínimo. También se introduce el concepto de dualidad para encontrar un límite superior al optimizar un problema.

  • 00:35:00 En esta sección, el orador analiza la programación lineal y los juegos de dos personas. El problema del corte máximo en una red grande se puede resolver rápidamente con programación lineal, aunque el corte máximo puede no ser visible con miles de aristas. El método simplex, que casi siempre tiene un caso promedio, es polinomial en el tiempo para resolver. El ponente también habla de la dualidad en la programación lineal donde ningún flujo puede exceder la capacidad del corte. Finalmente, el disertante habla sobre juegos de dos personas y una matriz de pagos utilizada para tomar decisiones basadas en pagos para minimizar y maximizar jugadores. El juego es un juego de suma cero, lo que significa que todos los pagos de X van a Y.

  • 00:40:00 En esta sección, el video analiza la programación lineal y los juegos de dos personas usando un ejemplo donde X quiere hacer un número pequeño e Y quiere hacerlo grande. Esto da como resultado un juego simple con un punto de silla donde Y elige la columna dos cada vez y X elige la fila uno cada vez. Sin embargo, cuando el ejemplo cambia y Y apunta a la columna dos, X tiene que elegir una estrategia mixta ya que no hay un punto de silla. Y también adopta una estrategia mixta, que X eventualmente descubre, lo que lleva a una competencia para encontrar la mejor opción entre 0 y 1.

  • 00:45:00 En esta sección, el orador analiza el proceso de resolver un juego de dos personas usando programación lineal y brinda un ejemplo de cómo resolver un juego con una matriz. La estrategia óptima para Y resulta ser 2/3 en la primera columna y 1/3 en la segunda columna. El mejor q4 para X se determina dada esta estrategia Y óptima. El orador explica que podría haber otras columnas o filas para X que no entren mezcladas para el óptimo.

  • 00:50:00 En esta sección, el orador analiza las conexiones entre la programación lineal y los juegos de dos personas. Señala la importancia del teorema de la dualidad y cómo se relaciona con la resolución de problemas de optimización, así como las limitaciones de aplicar estas técnicas a juegos de tres o más personas. También relata brevemente la historia de John Nash y sus contribuciones al campo, incluida su mejora y posterior muerte trágica. Finalmente, el disertante menciona que la próxima conferencia cubrirá el descenso de gradiente estocástico.
 

Lección 25. Descenso de Gradiente Estocástico



25. Descenso de gradiente estocástico

En este video, se presenta el concepto de descenso de gradiente estocástico (SGD) como un método de optimización para resolver problemas de aprendizaje automático a gran escala que a menudo se plantean en forma de un problema de suma finita. El orador explica cómo SGD selecciona puntos de datos aleatorios para calcular el gradiente para acelerar el cálculo y cómo se comporta de manera diferente al descenso del gradiente por lotes a medida que se acerca al óptimo debido a la naturaleza fluctuante del método. La propiedad clave de SGD es que la estimación del gradiente estocástico es una versión imparcial del gradiente real esperado y la varianza del gradiente estocástico debe controlarse para reducir el ruido. El uso de minilotes se analiza como un medio de paralelismo económico en el entrenamiento de GPU de aprendizaje profundo, pero seleccionar el tamaño correcto de minilotes sigue siendo una pregunta abierta que puede afectar la solidez de la solución en presencia de datos ocultos. Los desafíos en la optimización de SGD incluyen determinar el tamaño del mini lote y calcular gradientes estocásticos, pero los investigadores están tratando de comprender la eficacia de SGD en redes neuronales mediante el desarrollo de una teoría de generalización.

  • 00:00:00 En esta sección, el orador presenta el concepto de descenso de gradiente estocástico como un antiguo método de optimización que todavía se usa para entrenar sistemas de aprendizaje automático a gran escala. Explican que resolver problemas de optimización es crucial en la ciencia de datos, y estos problemas suelen ser bastante grandes. El orador proporciona una implementación del descenso de gradiente en MATLAB y muestra que solo se necesita cambiar una línea para impulsar todas las cajas de herramientas de aprendizaje profundo y el aprendizaje automático a gran escala. Luego, el orador describe los problemas de optimización en el aprendizaje automático, que implican encontrar una x sobre una función de costo escrita como una suma. Estos se denominan problemas de suma finita y, por lo general, se resuelven mediante métodos de optimización estocástica.

  • 00:05:00 En esta sección, el orador analiza el aprendizaje automático a gran escala, lo que significa que tanto la cantidad de puntos de datos de entrenamiento (n) como la dimensionalidad de los vectores (d) pueden ser grandes. La n grande puede llegar a millones o miles de millones, y la d grande puede constar de hasta mil millones de características. Esto impulsa una gran cantidad de investigación en métodos de optimización para el aprendizaje automático a gran escala, incluida la búsqueda de algoritmos de tiempo sublineal en estructuras de datos y trucos de hashing para manejar datos tan grandes. El disertante da ejemplos de la pregunta más clásica en álgebra lineal, el problema de regresión de mínimos cuadrados y otro método ampliamente utilizado llamado la sol, ambos escritos en términos de pérdida sobre datos de entrenamiento con un formato de suma finita. Finalmente, el orador señala que las redes neuronales profundas son otro ejemplo más de este problema de suma finita con n puntos de datos de entrenamiento.

  • 00:10:00 En esta sección, el orador analiza cómo los procedimientos de optimización son necesarios para resolver los problemas de suma finita que surgen en el aprendizaje automático y las estadísticas. Esto se debe a que la mayoría de los problemas en este campo se pueden expresar como un problema de suma finita y se necesitan procedimientos de optimización especializados para resolverlos. El orador presenta el método de descenso del gradiente, pero señala que calcular el gradiente de un solo punto en un gran conjunto de datos puede llevar horas o días, lo cual es un gran inconveniente. El orador solicita sugerencias de la audiencia para contrarrestar este inconveniente, y algunas ideas presentadas incluyen el uso de descenso de gradiente estocástico y el muestreo de un subconjunto del conjunto de datos completo.

  • 00:15:00 En esta sección, el orador analiza el concepto de descenso de gradiente estocástico, que implica seleccionar aleatoriamente algunos puntos de datos en cada iteración y calcular el gradiente de un solo punto, lo que hace que el proceso sea mucho más rápido. Sin embargo, el orador señala que la pregunta clave es si esta idea tiene sentido matemático. El descenso de gradiente estocástico fue propuesto por primera vez por Robbins en Monroe en 1951, y se compara con el método de descenso de gradiente. El orador señala que el descenso de gradiente estocástico es más sensible a los tamaños de paso y muestra una simulación de un problema de juguete para ilustrar cómo fluctúa la línea. El método parece seguir progresando hacia el nivel óptimo, a pesar de las fluctuaciones.

  • 00:20:00 En esta sección, el orador analiza el concepto de descenso de gradiente estocástico (SGD), que calcula el gradiente del punto de datos elegido al azar multiplicado por un valor alfa (tamaño de paso) para acercarse a una solución. El proceso es muy sensible al parámetro de tamaño de paso y es más sensible que el descenso de gradiente. A medida que varía el parámetro, el locutor observa el progreso hacia la solución y explica el comportamiento típico de SGD. Él explica por qué a la gente le encanta SGD, ya que hace un rápido progreso al principio en grandes conjuntos de datos y uno puede obtener un progreso rápido y sucio mientras evita el sobreajuste. Sin embargo, cuando se acerca a la solución, fluctúa más y puede ser difícil encontrar el mejor óptimo debido al comportamiento caótico.

  • 00:25:00 En esta sección, el orador analiza cómo funcionan los métodos de gradiente estocástico en un problema de optimización unidimensional simple donde se utilizan funciones cuadráticas. El objetivo es minimizar estas funciones cuadráticas, y el orador demuestra cómo usar los gradientes de los componentes individuales para lograrlo. Explican que el método funciona bien al principio porque usa el gradiente completo, pero una vez que se acerca al óptimo, puede pasar cualquier cosa y se vuelve confuso. El orador también muestra cómo encontrar la solución de forma cerrada y dónde se puede encontrar el verdadero mínimo dentro de un rango específico de mínimos y máximos individuales.

  • 00:30:00 En esta sección, el ponente explica el comportamiento del descenso de gradiente estocástico (SGD) cuando el escalar X está fuera de la región de confusión, lo que significa que el punto está muy lejos de donde está la solución. En este régimen lejano, un gradiente estocástico de algún componente tiene exactamente el mismo signo que el gradiente completo, que es la dirección en la que caminar para disminuir la función de pérdida. El orador usa esto para explicar por qué SGD puede hacer un progreso sólido a distancia y cómo puede proporcionar una velocidad inicial increíble, lo que permite millones de pasos estocásticos en el tiempo que llevaría hacer una sola iteración de descenso de gradiente por lotes. Una vez dentro de la región de confusión, el descenso de gradiente estocástico se vuelve menos efectivo en la optimización, pero en el aprendizaje automático, las fluctuaciones pueden hacer que el método sea más sólido y mejor para la generalización. Los oradores señalan que esta es una idea que prevalece en el aprendizaje automático, la informática teórica y las estadísticas, donde la aleatorización se utiliza para acelerar el cálculo de cantidades costosas.

  • 00:35:00 En esta sección, el orador analiza la propiedad clave del descenso de gradiente estocástico (SGD). La idea principal detrás de SGD es usar un gradiente estimado aleatoriamente para ahorrar en el cálculo. La propiedad clave de SGD es que, en la expectativa, la estimación del gradiente estocástico es una versión imparcial del gradiente real. Más allá de esta falta de sesgo, la cantidad de ruido o la cantidad de estocasticidad se controla para que se reduzca la varianza del gradiente estocástico. Cuanto menor sea la varianza, mejor será su gradiente estocástico como reemplazo del gradiente real, y más rápida será la convergencia.

  • 00:40:00 En esta sección, el disertante analiza el método de descenso de gradiente estocástico y su comportamiento en problemas tanto convexos como no convexos. El orador también menciona dos variantes del método, una sin restricciones donde se elige un vector aleatorio y la otra con restricciones donde un punto de datos de entrenamiento se elige aleatoriamente con o sin reemplazo. El orador explica que, aunque el método existe desde 1951 y se usa ampliamente en conjuntos de herramientas de aprendizaje profundo, todavía existen brechas entre las aplicaciones teóricas y prácticas. Los toolkits utilizan la versión sin reemplazo aunque la versión que sabemos analizar es la versión aleatoria uniforme, lo cual es un gran problema abierto en el campo del gradiente estocástico. El orador también menciona la idea de mini lotes, que utiliza un lote de puntos para reducir la varianza, lo que resulta en menos ruido.

  • 00:45:00 En esta sección del video, el orador analiza el concepto de mini-lotes y cómo las personas los explotan para brindar una versión económica de paralelismo en el entrenamiento estilo GPU de aprendizaje profundo. Cuanto más grande sea el mini lote, más cosas se pueden hacer en paralelo. Sin embargo, también existe el enigma de que el uso de minilotes muy grandes implica que el gradiente estocástico comienza a parecerse más a un descenso de gradiente por lotes, lo que reduce el ruido hasta el punto en que la región de confusión se reduce demasiado. Esto es perjudicial para el aprendizaje automático, ya que puede causar un sobreajuste de la red neuronal, lo que dificulta la predicción de datos no vistos. Por lo tanto, seleccionar el tamaño de mini-lote adecuado sigue siendo una pregunta abierta en el proceso de optimización de las redes neuronales profundas.

  • 00:50:00 En esta sección, el orador analiza los desafíos asociados con la optimización del descenso de gradiente estocástico (SGD), incluida la determinación de qué minilote usar y cómo calcular los gradientes estocásticos. El algoritmo de propagación hacia atrás se presenta como un método popular para calcular un solo gradiente estocástico, y los kits de herramientas de aprendizaje automático pueden tener diferentes formas de automatizar el cálculo de un gradiente. Se discuten los desafíos teóricos para probar la eficacia de SGD, incluida la pregunta de por qué SGD funciona tan bien para las redes neuronales a pesar de sus supuestas cualidades subóptimas. Actualmente, los investigadores están tratando de comprender este misterio mediante el desarrollo de una teoría de la generalización.
 

Lección 26. Estructura de Redes Neuronales para Deep Learning



26. Estructura de redes neuronales para aprendizaje profundo

Este video analiza la estructura de las redes neuronales para el aprendizaje profundo. El objetivo es clasificar los datos de forma binaria mediante la construcción de una red neuronal con vectores de características que tienen m características, creando una función de aprendizaje que puede clasificar los datos en una de dos categorías. La no linealidad es esencial para crear estas funciones, ya que los clasificadores lineales no pueden separar datos no lineales. El video también analiza la importancia de la cantidad de pesos y capas en la red neuronal, y brinda recursos como el área de juegos de TensorFlow para que los usuarios practiquen la creación de funciones. Finalmente, el video analiza la recursividad utilizada para probar la fórmula para la cantidad de piezas planas obtenidas al cortar un pastel y cómo se relaciona con el problema de optimización de minimizar la pérdida total en el aprendizaje profundo.

  • 00:00:00 En esta sección, el profesor presenta la estructura central de las redes neuronales profundas, que es la construcción de la función de aprendizaje f que aprende los datos de entrenamiento y se puede aplicar a los datos de prueba. El objetivo es clasificar los datos de forma binaria mediante la construcción de una red neuronal con vectores de características que tienen m características. La red creará una función de aprendizaje que puede clasificar los datos en una de dos categorías, como niño o niña, gato o perro, camión o automóvil. El profesor también menciona que esta estructura ha estado disponible en el sitio mascot mit.edu/learning from data durante meses y se agregará a la plataforma Stellar.

  • 00:05:00 En esta sección, el disertante explica cómo crear una función f de X que devuelva la respuesta correcta para la clasificación de dos clases. El disertante establece que la función debe ser negativa para clasificación menos uno y positiva para clasificación más uno. Sin embargo, el disertante reconoce que no necesitamos obtener todas las muestras correctamente, ya que puede ocurrir un sobreajuste, y la regla que descubramos debería cubrir casi todos los casos, pero no todos los casos "extraños". Luego, el disertante recomienda visitar el sitio playground.tensorflow.org, donde un problema de modelo simple puede ayudar a las personas a aprender sobre el aprendizaje profundo. El patio de recreo ofrece cuatro ejemplos, y uno de ellos consiste en encontrar una función que sea positiva en algunos puntos y negativa en otros puntos.

  • 00:10:00 En esta sección, el disertante discute la importancia de la no linealidad en las redes neuronales, señalando que si se usaran clasificadores lineales como máquinas de vectores de soporte, no sería posible crear alguna función no lineal que pudiera separar los datos. Luego muestra un ejemplo de un problema de clasificación 2D con una espiral donde el sistema está tratando de encontrar una función que sea positiva en una espiral y negativa en la otra espiral, y esto lleva bastante tiempo, muchas épocas. El ponente también explica qué es una época y menciona la diferencia entre mini lotes con reemplazo y mini lotes sin reemplazo en descenso de gradiente estocástico.

  • 00:15:00 En esta sección, el orador habla sobre un sitio web llamado Patio de juegos de TensorFlow, que permite a los usuarios crear una función f de X usando una función no lineal. El sitio web traza el conjunto cero para la función, que separa los conjuntos positivo y negativo, con el cero en el medio. El sitio web permite a los usuarios decidir la cantidad de capas y neuronas en cada capa, ya que son esenciales para encontrar una función que aprenda los datos. El orador también destaca la importancia de las funciones lineales en este proceso y solicita recomendaciones sobre buenos sitios web de redes neuronales convolucionales para practicar. La función f tiene la forma de un vector de X con cinco componentes, capa uno con seis neuronas y una capa de salida de un número.

  • 00:20:00 En esta sección, el orador analiza la estructura de las redes neuronales para el aprendizaje profundo. Comienzan explicando la estructura básica de una red neuronal, que involucra una matriz de pesos para calcular la salida Y. Sin embargo, el proceso se vuelve más complejo cuando se agregan varias capas para el aprendizaje profundo. Se supone que cada capa debe aprender más sobre los datos, con la primera capa aprendiendo hechos básicos y cada capa posterior aprendiendo más detalles. Finalmente, el orador analiza cómo la red neuronal implica un mapa fino y aplica una función en cada componente para obtener el resultado final.

  • 00:25:00 En esta sección, el orador analiza la estructura de las redes neuronales en el aprendizaje profundo. Explican que las redes neuronales consisten en una función de aprendizaje que depende de los pesos y las entradas, que se crea a través de una cadena de funciones o composición de funciones, cada una de las cuales consiste en un mapa lineal o afín seguido de una función no lineal. Esto da como resultado una función compleja que es continua y lineal por partes. El orador señala que dicha función se basa en la creación de matrices y vectores y depende de la cantidad de pesos en el modelo.

  • 00:30:00 En esta sección, el ponente habla sobre la estructura de las redes neuronales para el aprendizaje profundo, específicamente la idea de una "cadena" de funciones lineales seguida de funciones ReLu. Discuten la cuestión de si se puede obtener alguna función de esta manera y concluyen que solo son posibles las funciones lineales por partes continuas. El orador también usa el concepto de origami para ayudar a visualizar el gráfico de una función lineal por partes en dos variables, que consiste en partes planas conectadas a lo largo de bordes rectos. La cuestión de contar el número de piezas se plantea como una ayuda para la visualización.

  • 00:35:00 En esta sección, el disertante discute el problema de cuántas piezas planas se pueden obtener al plegar un plano con n pliegues. Este problema es esencial para comprender la libertad de la función, f, y si puede aproximarse a cualquier función continua tomando suficientes pliegues. El hablante señala que la respuesta es sí, y esta clase de funciones es universal. Además, la sección toca la importancia de comprender este concepto en el campo más amplio de la informática, particularmente en las redes neuronales.

  • 00:40:00 En esta sección, el orador analiza un problema matemático relacionado con el número de piezas planas en una hoja de papel doblada. Preguntan cuántas piezas se formarían si doblaran el papel más veces e intentan crear una fórmula recursiva para resolver el problema. El orador presenta los números que ha encontrado hasta ahora y explica que necesitan encontrar una fórmula para el número de piezas planas en una hoja de papel con n pliegues y una superficie m-dimensional. Luego planean agregar a la fórmula recursiva una vez que la hayan encontrado.

  • 00:45:00 En esta sección, el orador usa un ejemplo visual para ayudar a explicar la fórmula para el número de piezas creadas al hacer cortes en espacios de mayor dimensión. Usando números binomiales, la fórmula se puede aplicar a cualquier dimensión M y N dada. El orador proporciona un ejemplo en el que N es igual a 3 y M es igual a 2 para mostrar cómo usar la fórmula. Finalmente, la fórmula se presenta como R de con pliegues en M dimensiones, igualando números binomiales, y de 0 a M.

  • 00:50:00 En esta sección, el disertante analiza la recursividad utilizada para probar la fórmula de piezas planas que surgen al cortar un pastel. Explican que el número que buscan es el conteo anterior de piezas planas más la cantidad de piezas que se cortan. La regla de la recursividad se demuestra en la sección 7.1 del artículo de Kleinberg y otros. El siguiente paso después de encontrar esta familia de funciones es elegir las A y los pesos. Esto da como resultado un problema en la minimización de la pérdida total, que puede resolverse mediante el descenso de gradiente y la retropropagación.
 

Lección 27. Propagación hacia atrás: encontrar derivadas parciales



27. Propagación hacia atrás: encontrar derivadas parciales

Este video cubre varios temas relacionados con la retropropagación y la búsqueda de derivadas parciales. El disertante demuestra el uso de la regla de la cadena para derivadas parciales y enfatiza la importancia del orden de los cálculos en la multiplicación de matrices. La retropropagación se destaca como un algoritmo eficiente para calcular gradientes y se dan varios ejemplos para demostrar su eficacia. Se analiza brevemente la convergencia del descenso de gradiente estocástico, junto con una idea de proyecto relacionada con el uso de un orden aleatorio de muestras de función de pérdida en el descenso de gradiente estocástico. En general, el video proporciona una descripción completa de la retropropagación y sus aplicaciones.

  • 00:00:00 En esta sección, el ponente aborda dos temas de interés. En primer lugar, se analiza la convergencia del descenso de gradiente estocástico, centrándose más en la lógica y los supuestos del algoritmo que en la prueba en sí. En segundo lugar, el ponente sugiere una idea de proyecto relacionada con el uso de un orden aleatorio de muestras de función de pérdida en descenso de gradiente estocástico. Específicamente, el proyecto implicaría calcular los promedios de una lista de 100 números aleatorios usando métodos de reemplazo y sin reemplazo para determinar la diferencia de enfoque.

  • 00:05:00 En esta sección, el orador analiza la propagación hacia atrás como una forma de calcular el gradiente en los algoritmos de descenso más pronunciado. La retropropagación es el cálculo clave que popularizó las redes neuronales e implica calcular gradientes y derivadas rápidamente mediante la diferenciación automática en modo inverso. El orador también sugiere explorar ejemplos de la convergencia del promedio a medida que se realizan los reemplazos, así como el buen comienzo y el mal final para el descenso de gradiente estocástico, siendo la palabra mágica en los cálculos la parada temprana.

  • 00:10:00 En esta sección, el orador analiza la retropropagación y su uso para encontrar derivadas parciales. La retropropagación se había estudiado previamente con el nombre de diferenciación automática, y el orador le da crédito al líder en el desarrollo de redes neuronales profundas por darse cuenta de su efectividad. El orador brinda un ejemplo simple de una función para ilustrar el cálculo de f(x) y las derivadas, y enfatiza el uso de la regla de la cadena para encontrar derivadas parciales. La sección también menciona un blog de Christopher Olah, quien brinda explicaciones claras sobre el tema.

  • 00:15:00 En esta sección, el presentador analiza el cálculo de derivadas parciales utilizando la regla de la cadena. Usan un ejemplo de función de dos variables para demostrar cómo calcular las derivadas parciales de la función, comenzando por encontrar F y crear un gráfico computacional. Explican que para usar la regla de la cadena, se necesita diferenciar cada uno de los factores encontrados en el cálculo de F y evaluarlos apropiadamente. Este gráfico computacional se usa para demostrar el cálculo de derivadas parciales para el aprendizaje profundo, para el cual se evalúan muchas variables.

  • 00:20:00 En esta sección, el disertante analiza el proceso de encontrar derivadas parciales usando diferenciación automática en modo directo. Comienzan calculando la derivada parcial de F DX, dividiendo el cálculo en partes simples y reemplazando los pasos intermedios con derivadas. Usan el hecho de que la derivada de X al cubo con respecto a X es 3X al cuadrado, lo que da un valor de 12 cuando X es igual a 2. Luego reconocen que el método directo es un desperdicio ya que tendrán que hacer otro gráfico para la derivada de Y también. El hablante también usa la regla del producto para encontrar la derivada parcial del producto. El proceso requiere un poco de organización, pero el objetivo principal es dividir el cálculo en partes simples para simplificar las derivadas.

  • 00:25:00 En esta sección, el orador explica cómo usar la regla del producto para encontrar derivadas parciales usando un gráfico computacional. El hablante usa el ejemplo de encontrar la derivada X de un producto y asigna nombres a los dos términos del producto. Luego calcula los valores necesarios para la regla del producto y los usa para calcular la derivada. Sin embargo, lucha por encontrar la respuesta final y admite que necesitaría rehacer el cálculo si quiere encontrar el FD. El orador sugiere que usar el modo inverso sería más eficiente ya que permite calcular ambas derivadas parciales a la vez.

  • 00:30:00 En esta sección, el ponente habla sobre cómo la técnica de retropropagación permite calcular gradientes de manera eficiente siguiendo todos los caminos hacia atrás. Esta técnica ayuda a encontrar todas las derivadas a través de la regla de la cadena aplicada a algunas que ya han sido resueltas en detalle. El orador señala que el cálculo tiende a parecer simple después de mirar hacia atrás en lo que realmente se hizo. El enfoque publicitario de modo inverso se utiliza para calcular n primeras derivadas con solo cuatro o cinco veces el costo, lo cual es sorprendente según el orador. El orador también da un ejemplo de cómo el orden en que se realizan los cálculos puede marcar la diferencia en términos de eficiencia, utilizando como ejemplo la multiplicación de dos matrices.

  • 00:35:00 En esta sección del video, el orador analiza la importancia del orden de los cálculos en la multiplicación de matrices, ya que puede afectar significativamente la velocidad de los cálculos. Luego pasa al ejemplo uno de propagación hacia atrás y demuestra cómo usar la regla de la cadena y varias otras reglas de derivadas para encontrar derivadas parciales mientras retrocede a través de un gráfico computacional. Destaca el hecho de que al reutilizar las piezas de la cadena, se puede crear una cadena más amplia sin costos significativos, lo que resulta en cálculos más rápidos incluso cuando la función depende de cientos de variables.

  • 00:40:00 En esta sección del video, el orador explica cómo usar la retropropagación para encontrar derivadas parciales. Demuestran un ejemplo en el que encuentran derivadas parciales con respecto a X e Y usando la regla de la cadena, y enfatizan que la retropropagación permite encontrar todas las derivadas de una cadena, en lugar de cadenas separadas para cada variable. El orador señala que este proceso se puede aplicar a un sistema de cualquier tamaño y menciona brevemente la convergencia del descenso de gradiente estocástico, que se tratará en futuras conferencias.

  • 00:45:00 En esta sección, el orador analiza dos formas diferentes de multiplicar tres matrices - A, B y C - y el número de operaciones necesarias para hacerlo. La primera consiste en multiplicar A por BC, lo que cuesta operaciones M x N x PQ, donde P y Q son el número de filas y columnas de B y C, respectivamente. La segunda forma consiste en multiplicar AB por C, lo que cuesta M x P x Q operaciones. El orador enfatiza que es importante tener en cuenta la cantidad de operaciones requeridas al multiplicar matrices, especialmente en el caso de que C sea un vector columna, ya que esto puede generar matrices muy grandes que son difíciles de manejar.

  • 00:50:00 En esta sección, el orador analiza las derivadas parciales y la retropropagación. El orador demuestra cómo la retropropagación es el orden correcto para las derivadas parciales, ya que permite la multiplicación de dos grandes matrices y obtener un vector columna, que es mucho más rápido que multiplicar un vector columna por una matriz para obtener un nuevo vector columna y luego multiplicarlo. por otra matriz para obtener otro vector columna. La retropropagación simplifica el proceso y permite cálculos más rápidos en un orden de magnitud.
 

Lección 30: Completando una Matriz de Rango Uno, Circulantes!



Clase 30: Completando una Matriz de Rango Uno, Circulantes!

En la lección 30, el disertante analiza cómo completar una matriz de rango uno y matrices circulantes. Comienzan con un determinante de 2x2 y lo usan para reducir los valores que se pueden completar en una matriz para que sea de rango uno. Luego, el disertante pasa a un problema combinatorio para una matriz de 4x4 e introduce matrices circulantes que presentan patrones cíclicos que se pueden crear con solo cuatro números dados. La lección también cubre la convolución cíclica, los valores propios y los vectores propios de las matrices circulantes, que son importantes en el procesamiento de señales.

  • 00:00:00 En esta sección, el disertante da una pregunta de ejemplo de una sesión de laboratorio anterior sobre cómo completar una matriz a una matriz de rango uno. La pregunta se centra en qué puestos se pueden llenar y cuáles no para lograr una matriz de rango uno. El disertante explica cómo elegir números distintos de cero y plantea una pregunta sobre si es posible completar una matriz con cinco números distintos de cero a una matriz de rango uno.

  • 00:05:00 En esta sección, el disertante analiza cómo completar una matriz de rango uno y circulantes. Comienzan examinando un determinante de 2x2, donde cualquier dos por dos debe ser de rango 1 y, por lo tanto, tener un determinante de 0. Usan esta idea para reducir cuál sería el número que falta en una matriz y cómo completar el resto. de los valores Luego, el disertante pasa a un ejemplo de 4x4 e introduce un problema combinatorio, determinando qué 5 posiciones funcionarán y cuáles no. Finalmente, hablan de circulantes, que presentan patrones cíclicos en la matriz donde cada fila se convierte en la fila anterior desplazada a la derecha por un elemento. Explican cómo crear matrices circulantes y sus propiedades, incluida la diagonalización.

  • 00:10:00 En esta sección, el disertante analiza cómo completar una matriz de rango uno y gráficos bipartitos. Comienzan prescribiendo algunos números en una matriz de 4x4 y dibujando un gráfico bipartito con filas y columnas para representar las conexiones entre los números. El disertante explica que completar la matriz hasta el rango uno requiere evitar un cuadrado de 2x2 donde se han especificado tres entradas. Si se dan las cuatro entradas, no será posible crear un determinante cero y la matriz no tendrá rango uno. El disertante convierte el gráfico bipartito en una representación de matriz para ilustrar cómo determinar qué entradas se pueden completar para crear una matriz de rango uno.

  • 00:15:00 En esta sección, el profesor habla sobre cómo completar una matriz de rango uno, abordando específicamente si siempre es posible o no completarla si no hay 2x2 en el camino. Demuestra con ejemplos que el dos por dos no siempre es el problema y que puede haber ciclos más largos que dificulten la finalización. La conclusión clave es que una matriz solo se puede completar para clasificar como uno si no hay ciclos, que se pueden identificar en el gráfico bipartito correspondiente.

  • 00:20:00 En esta sección, el disertante analiza cómo completar un ciclo con seis aristas y cómo se relaciona con la idea de ciclos en matrices. Convierte una imagen dibujada de un ciclo en una matriz y explica cómo los ciclos en las matrices muestran que ciertos requisitos deben cumplirse con valores distintos de cero. Plantea una pregunta sobre cómo completar una matriz de rango 2 y analiza la importancia de las circunvoluciones en el aprendizaje automático.

  • 00:25:00 En esta sección, el disertante introduce el concepto de matrices circulantes, que son un tipo especial de matrices de convolución que tienen diagonales constantes que giran alrededor para completarse. Las matrices circulantes son una parte esencial del procesamiento de señales y sus propiedades algebraicas las convierten en una forma eficiente de conectar un conjunto de pesos. Esto se debe a que la matriz clave en esto es la matriz de cambio cíclico, que ayuda a producir la matriz circulante de P y P². Al especificar la primera columna de una matriz circulante, MATLAB, por ejemplo, puede desplazar cíclicamente todas las demás columnas, lo que significa que solo necesitamos cuatro números para definir una matriz circulante de cuatro por cuatro.

  • 00:30:00 En esta sección de la conferencia, se introduce el concepto de matrices circulantes. Se muestra que toda matriz circulante es un polinomio en P, donde P representa un solo desplazamiento. También se demuestra que si dos matrices son circulantes, al multiplicarlas se obtiene otra matriz circulante. Además, la matriz identidad es circulante, y si una matriz circulante se eleva al cuadrado, la matriz resultante también es circulante. El objetivo al multiplicar matrices circulantes es asegurar que el grado del polinomio no exceda el número deseado de términos.

  • 00:35:00 En esta sección, el disertante discute las matrices y circulantes de rango uno. Al multiplicar una matriz de desplazamiento circular de 4x4 con grado tres, surge la pregunta de por qué el producto no es de grado seis. La clave es que la P al cuarto término es realmente una P al 0 término, por lo que el producto es una convolución cíclica. Luego, el disertante explica la diferencia entre convolución y convolución cíclica, dando un ejemplo de un cálculo de convolución entre dos vectores. También les recuerda a los espectadores que la convolución no cíclica no usa un símbolo de círculo, mientras que la convolución cíclica sí lo hace.

  • 00:40:00 En esta sección, el disertante analiza la convolución cíclica y cómo se puede usar para multiplicar polinomios cíclicamente, lo que corresponde a multiplicar matrices circulantes. La suma de los dígitos de un factor multiplica la suma de los dígitos del otro factor para dar la suma de los dígitos en la convolución. El disertante también aborda brevemente los valores propios y los vectores propios de estas matrices. El vector de todos unos es un vector propio con un valor propio, y este tiene una suma polinomial de potencias de P. La lección concluye con una discusión de temas más avanzados en el campo.

  • 00:45:00 En esta sección de la conferencia, el orador explica que los vectores propios de la matriz C son los mismos que los vectores propios de la matriz P. Los vectores propios de la matriz P son 1 y -1, y yo y -i. El mundo circulante tiene múltiples valores propios y vectores propios para cada circulante, y estas son reglas importantes en el procesamiento de señales.
 

Lección 31. Vectores propios de matrices circulantes: matriz de Fourier



31. Vectores propios de matrices circulantes: matriz de Fourier

En este video sobre vectores propios de matrices circulantes, el orador analiza cómo las matrices circulantes se relacionan con el procesamiento de imágenes y el aprendizaje automático, así como su conexión con la matriz de Fourier. El disertante enfatiza la importancia de comprender las matrices de convolución y circulantes en relación con la transformada discreta de Fourier (DFT) y las transformadas de Fourier. El disertante analiza los vectores propios de las matrices circulantes, particularmente la matriz de Fourier, y cómo se construyen todos a partir del mismo conjunto de ocho números que también son los valores propios. El disertante también habla sobre las propiedades de la matriz de Fourier, incluyendo cómo las columnas son ortogonales pero no ortonormales y cómo sus vectores propios suman cero debido a la simetría de la matriz circulante, haciéndolas ortogonales entre sí. Finalmente, el disertante demuestra el concepto del Vector de Argán como vector propio de la Matriz de Fourier con ejemplos.

  • 00:00:00 En esta sección, el profesor introduce el tema de las matrices circulantes y brinda actualizaciones sobre los plazos y calificaciones de los proyectos. También menciona la conexión de matrices circulantes a la transformada discreta de Fourier, que es un algoritmo importante en ingeniería y matemáticas. La forma especial de matrices circulantes, con solo n entradas necesarias para definir una matriz de tamaño n por n, es útil en muchas aplicaciones, incluido el aprendizaje automático para imágenes.

  • 00:05:00 En esta sección, el orador explica que las imágenes generalmente se describen por sus píxeles y pueden tener vectores de características con millones de componentes, lo que haría imposible calcular los pesos necesarios para el aprendizaje profundo con descenso de gradiente. Sin embargo, las matrices utilizadas en el aprendizaje profundo son especiales y no dependen de la cantidad de funciones, de forma similar a las matrices circulantes con funciones cíclicas. Estas matrices se denominan invariantes de desplazamiento lineal o invariantes de tiempo lineales, matrices de convolución, matrices de tripletes o matrices diagonales constantes y se utilizan en el aprendizaje automático y el procesamiento de imágenes. Esencialmente, ayudan a optimizar el aprendizaje profundo al reducir el tamaño del cálculo de peso requerido para cada capa en la red profunda.

  • 00:10:00 En esta sección, el orador analiza el uso de matrices circulantes en el procesamiento de imágenes y el aprendizaje automático. Explica que para operar en una imagen grande con numerosos píxeles, podemos usar la agrupación máxima para reducir el tamaño del sistema. Sin embargo, para operaciones convolucionales, necesitamos elegir pesos para resaltar puntos importantes. Por lo tanto, usamos filtros para simplificar la imagen, como un filtro de paso bajo. El orador señala que se utilizan redes neuronales más amplias en el aprendizaje automático cuando se trata de muestras de imágenes, ya que una matriz diagonal constante es más natural y eficiente de usar.

  • 00:15:00 En esta sección, el presentador habla sobre valores propios y vectores propios de matrices circulantes, específicamente la matriz de permutación que tiene un efecto de desplazamiento cíclico. Los valores singulares de una matriz de permutación son todos uno, y los valores propios se pueden encontrar tomando P menos lambda I y estableciendo el determinante en cero, lo que da como resultado lambda a la cuarta potencia. El presentador también enfatiza la importancia de comprender las matrices circulantes y de convolución en relación con las transformadas DFT y Fourier.

  • 00:20:00 En esta sección, el disertante analiza los vectores propios de las matrices circulantes, centrándose específicamente en la matriz de Fourier. Los valores propios de la matriz de Fourier se encuentran al establecer el determinante en cero, lo que da como resultado las raíces cuartas de uno. También se discutieron los valores propios para una matriz circulante de 8x8, que son las ocho soluciones de la ecuación lambda a la octava potencia igual a uno. Estas soluciones vienen en la forma de los números uno, menos uno y las raíces cuarta y octava de la unidad, y son importantes porque entran en juego como vectores propios. Los vectores propios de matrices ortogonales también se introdujeron como una familia de matrices con vectores propios ortogonales.

  • 00:25:00 En esta sección, el disertante analiza diferentes familias de matrices que tienen vectores propios ortogonales. Las matrices simétricas tienen vectores propios ortogonales y valores propios reales, mientras que las matrices diagonales tienen vectores propios que van a la matriz identidad. Las matrices ortogonales tienen valores propios con una magnitud de 1, y los vectores propios de las matrices de permutación son ortogonales. Las matrices antisimétricas tienen valores propios que solo pueden ser complejos, por lo que no pueden tener valores propios reales.

  • 00:30:00 En esta sección, el orador habla sobre las matrices con vectores propios ortogonales y cómo se relacionan con las matrices normales. Las matrices con vectores propios ortogonales tienen valores propios complejos y el hablante escribe una matriz diagonal que contiene cualquier valor propio. Luego establece una ecuación matricial que muestra cómo reconocer matrices normales, que en realidad son bastante raras. Para reconocerlos, uno tiene que probar si una matriz es igual a su transpuesta conjugada.

  • 00:35:00 En esta sección, el orador analiza los vectores propios de las matrices circulantes, particularmente la matriz de Fourier. La permutación P es ortogonal, por lo que sus vectores propios son ortogonales, pero estas matrices circulantes también conmutan, lo que las convierte en matrices normales. Esto significa que una vez que encontramos los vectores propios de P, hemos encontrado los vectores propios de cualquier matriz circulante, y todos son especiales porque están conectados a Fourier. Los vectores propios se encuentran para varios valores propios, incluido que lambda sea 1, -1, i e -i.

  • 00:40:00 En esta sección, el disertante analiza los vectores propios de las matrices circulantes y enfatiza que todos los vectores propios se construyen a partir del mismo conjunto de ocho números, que también son los valores propios. La matriz de vectores propios para todas las matrices circulantes de tamaño n es la matriz de Fourier, que es una matriz compleja importante que permite la transformada rápida de Fourier. Todas las entradas en la matriz son potencias de un número complejo W en el círculo unitario en uno de sus ocho puntos. El primer vector propio son todos unos, mientras que el resto son potencias de W, de modo que la matriz tiene un tamaño de 8x8. En general, las matrices circulantes tienen propiedades similares gracias a su matriz de vector propio común.

  • 00:45:00 En esta sección del video, el orador explica las propiedades de la matriz de Fourier, que es una matriz circulante formada por vectores propios que son potencias de la raíz octava de uno. Las columnas de la matriz son ortogonales, pero no ortonormales, lo que significa que deben dividirse por la raíz cuadrada de ocho para que sean ortonormales. La matriz es una matriz normal y sus vectores propios suman cero debido a la simetría de la matriz circulante, lo que los hace ortogonales entre sí. El orador demuestra esta propiedad usando una matriz de tres por tres donde la suma de los vectores propios suma cero, haciéndolos ortogonales.

  • 00:50:00 En esta sección, el disertante analiza cómo el Argan Vector es un vector propio de la Matriz de Fourier. Demuestra cómo cuando se suma el producto escalar de los componentes del Argan Vector, el resultado es 1. Luego muestra cómo cuando el Argan Vector se multiplica por e elevado a (2π/3), los componentes de los vectores resultantes suman 0. Estas demostraciones ilustran el concepto de que los vectores propios de una matriz circulante son ortogonales. El disertante concluye mencionando que continuará discutiendo el tema de la Matriz de Fourier en la próxima lección y que solo queda una semana y media de clase en 1806.
 

Lección 32: ImageNet es una red neuronal convolucional (CNN), la regla de convolución



32: ImageNet es una red neuronal convolucional (CNN), la regla de convolución

En la lección 32 de un curso de aprendizaje profundo, se analiza el poder de las redes neuronales convolucionales (CNN) en la clasificación de imágenes, con el ejemplo de la competencia ImageNet ganada por una gran CNN profunda con capas de convolución, capas normales y capas de agrupación máxima. La conferencia también se enfoca en la regla de convolución, que conecta la multiplicación y la convolución, con ejemplos de convoluciones bidimensionales, el uso del producto de Kronecker para una transformada bidimensional de Fourier y en el procesamiento de señales, y la diferencia entre periódico y no periódico. casos con respecto a la convolución. El disertante también analiza los vectores propios y los valores propios de una matriz circulante y la operación de suma de Kronecker.

  • 00:00:00 En esta sección del video, se analiza la importancia de las redes neuronales convolucionales (CNN) en relación con el aprendizaje profundo y la clasificación de imágenes. Se menciona un artículo de Hinton y Skipper que entrenó a una gran CNN profunda para clasificar 1,2 millones de imágenes de alta resolución en ImageNet. La competencia se ganó con una tasa de error de prueba de los 5 primeros del 15 %, en comparación con el 26 % del equipo que quedó en segundo lugar. La CNN tenía capas de convolución, capas normales y capas de agrupación máxima, con la mitad de las muestras en una GPU y la otra mitad en otra. El abandono también se utilizó en capas totalmente conectadas para reducir el sobreajuste. Esto demuestra el poder de las CNN para manejar el enorme problema computacional de clasificar imágenes.

  • 00:05:00 En esta sección del video, el orador analiza la regla de convolución, que es un aspecto esencial de las redes neuronales convolucionales (CNN). Explica que la convolución surge de la multiplicación de polinomios y cómo la fórmula para los coeficientes en el contenido C*D en la convolución se puede escribir de una manera diferente para ver cómo funciona la convolución. Luego pasa a dar un ejemplo de la convolución de dos funciones y explica que este concepto se relaciona con la convolución de dos vectores en una CNN. Comprender la convolución es crucial para comprender el funcionamiento interno de una CNN, que es un tipo de red neuronal que tiene 60 millones de parámetros y se utiliza para tareas de reconocimiento de imágenes.

  • 00:10:00 En esta sección, el disertante explica la regla de convolución para funciones y cómo se conecta a la transformada de Fourier de las dos funciones. Menciona que si F es 2 pi periódica y G es 2 pi periódica, entonces uno podría querer hacer una convolución periódica y obtener una respuesta que también tenga un período de 2 pi. Habla sobre cómo hacer que la convolución sea cíclica afecta la multiplicación y que se usa W en lugar de X para la X cíclica.

  • 00:15:00 En esta sección del video, el disertante analiza la diferencia entre los casos periódicos y no periódicos con respecto a la convolución. En el caso periódico, se define que el factor W tiene la propiedad de que W elevado a N es 1, y los vectores mayores que n se pueden plegar a un vector de longitud n. El caso cíclico solo considera K que va de 0 a n-1, y las sumas solo van de 0 a n-1. En el caso no periódico, la convolución tiene componentes P más Q menos 1, y este número se calcula en el primer laboratorio.

  • 00:20:00 En esta sección, el disertante analiza los vectores propios y los valores propios de una matriz circulante, específicamente la matriz de permutación. Los vectores propios son las columnas de la matriz de vectores propios, que se denota como "F", y hay cuatro valores propios derivados de la multiplicación de F y C. El disertante demuestra esta fórmula, explicando que si C es una combinación de P, entonces el misma combinación de vectores propios dará los valores propios de la matriz C.

  • 00:25:00 En esta sección, el disertante discute la regla de convolución que es una conexión entre la multiplicación y la convolución. La regla de convolución conecta la multiplicación de matrices con la convolución de matrices. Mediante la convolución cíclica, si el profesor multiplica la matriz C por la matriz D, obtendrá otra matriz circulante. Los coeficientes de la contorneada C y D representan los coeficientes diagonales de la matriz C por D. El disertante concluye que los valores propios de CD son iguales a los valores propios de C multiplicados por los valores propios de D porque C y D conmutan y tienen los mismos vectores propios. Los valores propios se multiplican componente por componente, dando la relación de la regla de convolución.

  • 00:30:00 En esta sección del video, el disertante analiza la regla de convolución, que establece que uno puede convolucionar una imagen y aplicarle una Transformada de Fourier (FT), o aplicar una FT para separar imágenes y luego multiplicarlas por puntos -inteligente. Esta regla es útil porque permite la transformada rápida de Fourier (FFT), que es muy eficiente. Luego, el disertante considera el costo de cada método: el método de convolución requiere N^2 pasos, mientras que el método de transformación separada requiere solo 2NlogN pasos.

  • 00:35:00 En esta sección, el orador analiza las circunvoluciones bidimensionales y la operación que debe realizarse para convolucionar dos funciones en dos dimensiones. Discuten cómo en MATLAB, el comando necesario para realizar esta operación es "cron" y cómo se puede usar para crear una matriz bidimensional con N píxeles cuadrados al multiplicar dos matrices unidimensionales A y B. El orador también menciona la idea de que si uno quiere multiplicar dos enteros largos en criptografía, usar la regla de convolución puede ser un método más rápido y eficiente.

  • 00:40:00 En esta sección, se discute el uso del producto de Kronecker para producir una matriz grande para una transformada de Fourier bidimensional. El producto de Kronecker es una operación que toma matrices unidimensionales de N por n y produce una matriz de N al cuadrado por N al cuadrado. Al multiplicar adecuadamente las dos matrices utilizando el producto de Kronecker, se puede crear una matriz grande para una transformada de Fourier bidimensional. También se analiza el laplaciano, que se usa comúnmente en ecuaciones diferenciales, donde la matriz bidimensional que toma un esquema de cinco puntos con cinco pesos para cada punto se puede producir usando el producto de Kronecker.

  • 00:45:00 En esta sección, el orador analiza el producto Kronecker y cómo se puede utilizar en el procesamiento de señales. Explica que quiere usar el producto de Kronecker para agregar un efecto bidimensional a los datos y luego agregar la derivada vertical. En conjunto, esto se denomina suma de Kronecker, que es una operación importante en el procesamiento de señales. También alienta a los estudiantes a que le envíen un correo electrónico si les gustaría ser voluntarios para un proyecto en el que puedan discutir lo que han aprendido y recibir comentarios de la audiencia.
 

Lección 33. Redes Neuronales y la Función de Aprendizaje



33. Redes neuronales y la función de aprendizaje

En este video, el orador analiza la construcción de la función de aprendizaje f para redes neuronales, que se optimiza mediante el descenso de gradiente o el descenso de gradiente estocástico y se aplica a los datos de entrenamiento para minimizar la pérdida. Explica el uso de una imagen dibujada a mano para ilustrar el concepto de redes neuronales y la función de aprendizaje, así como varias funciones de pérdida utilizadas en el aprendizaje automático, incluida la pérdida de entropía cruzada. El ponente también habla del problema de encontrar las posiciones de los puntos dadas sus distancias, que es un problema clásico con varias aplicaciones, como en la determinación de formas de moléculas usando resonancia magnética nuclear. Concluye discutiendo la construcción de X, el paso final para obtener la estructura de una red neuronal, y menciona una convocatoria de voluntarios para discutir un proyecto el viernes.

  • 00:00:00 En esta sección, el ponente analiza la construcción de la función de aprendizaje f para redes neuronales, que se optimiza mediante el descenso de gradiente o el descenso de gradiente estocástico y se aplica a los datos de entrenamiento para minimizar la pérdida. La función de aprendizaje es una función de dos conjuntos de variables, X y V, donde X son los pesos y V son los vectores de características de los datos de entrenamiento. La estructura de la red neuronal implica tomar f de un conjunto de pesos y vectores de muestra, producir pasos no lineales y repetir el proceso hasta alcanzar la salida deseada. El paso lineal consiste en tomar la entrada V0, multiplicarla por las matrices AK y sumar los vectores de polarización BK para desplazar el origen.

  • 00:05:00 En esta sección, el orador explica cómo funcionan las redes neuronales al tomar un conjunto de entradas, aplicar pesos (que se eligen mediante el descenso de gradiente en el capítulo 6) y dar un paso no lineal para producir una nueva salida. Este proceso se repite a través de muchas capas hasta el resultado final, que es la predicción de la red neuronal para la entrada. La cantidad de pesos a menudo puede exceder en gran medida la cantidad de características en la entrada, creando una situación indeterminada.

  • 00:10:00 En esta sección, el orador explica el uso de una imagen dibujada a mano para ilustrar el concepto de redes neuronales y la función de aprendizaje. Hace un dibujo en el que hay componentes de muestra de entrenamiento multiplicados por v1, que es la primera capa que puede tener un número diferente de neuronas en la primera capa, y cada una proviene del eze by. La función de pérdida es la función que queremos minimizar eligiendo x2, que son todos los A y B. La función de pérdida es a menudo una suma finita sobre todos los F, que se puede calcular para todos los I, pero en su lugar se usa el gradiente estocástico para elegir solo uno o un pequeño número de ellos. La función de pérdida sería menos el verdadero resultado de la muestra I, que se puede elevar al cuadrado para obtener la suma de los cuadrados de los errores al cuadrado de todas las muestras.

  • 00:15:00 En esta sección, el orador analiza varias funciones de pérdida que se utilizan en el aprendizaje automático, específicamente en las redes neuronales. La función de pérdida es una medida de qué tan bien la predicción de la red neuronal coincide con el valor real. El altavoz proporciona cuatro funciones de pérdida populares, que incluyen pérdida cuadrada, pérdida L1, pérdida de bisagra y pérdida de entropía cruzada. La pérdida de entropía cruzada es la más importante para las redes neuronales y es la función de pérdida más utilizada. El disertante también toca brevemente las matrices de distancia y el proceso de determinar las posiciones de los puntos en el espacio usando distancias medidas entre ellos.

  • 00:20:00 En esta sección, el orador presenta una pregunta matemática que implica encontrar posiciones en el espacio dadas las distancias entre puntos. La pregunta es sencilla y tiene aplicaciones en varios campos. La sección solo ocupa dos páginas en el libro, pero la solución es detallada y completa. El orador también alienta a los estudiantes a hacer preguntas sobre sus proyectos y sugiere enviarle un correo electrónico directamente. También menciona una pregunta sobre qué cursos tomar después de este y pregunta a los estudiantes si planean tomar más cursos en esta área. El disertante reconoce que hay cursos en otros departamentos, pero solo encontró una lista para el curso seis.

  • 00:25:00 En esta sección, el orador habla sobre el Centro de Investigación de Operaciones del MIT y sus ofertas de cursos, que incluyen optimización, análisis de datos, estadísticas e investigación de operaciones. El orador también se refiere a una conferencia de Sir Tim Berners-Lee, el creador de la World Wide Web, y su responsabilidad por el exceso de letras en las URL. Luego, el orador analiza las matrices de distancia y el problema de encontrar la matriz de posición a partir de las distancias dadas. El orador menciona varias aplicaciones, incluidas las redes de sensores inalámbricos, donde se pueden medir distancias entre sensores, y los sistemas GPS, que pueden calcular la ubicación utilizando un principio similar.

  • 00:30:00 En esta sección, el orador analiza el problema de encontrar las posiciones de los puntos dadas sus distancias, que es un problema clásico con una solución clara. Las posiciones no son únicas ya que pueden sufrir traslaciones y rotaciones, pero el orador sugiere eliminar las traslaciones centrando el centroide en el origen. El problema de encontrar las posiciones es aplicable en varias situaciones, como en la determinación de las formas de las moléculas usando resonancia magnética nuclear. El aprendizaje automático también se puede describir como encontrar una superficie de baja dimensión en un espacio de alta dimensión, lo que es matemáticamente equivalente a encontrar una variedad curva que se ajuste mejor a los puntos dados. Este proceso implica descubrir la dimensionalidad del problema y linealizarlo, lo que reduce la dimensionalidad del espacio original de alta dimensión a la verdadera dimensionalidad del problema.

  • 00:35:00 En esta sección, el orador explica cómo encontrar una matriz X dada una matriz de producto escalar G. Comienza analizando dos matrices de rango uno, una que depende solo de las filas y la otra que depende solo de las columnas, y explica que estas matrices producen la mayor parte de la parte significativa de la matriz del producto escalar. Luego introducen una matriz diagonal con los productos internos de XI consigo mismo en la diagonal y notan que esta matriz está relacionada con la matriz D dada. A partir de ahí, muestran cómo derivar la ecuación para la matriz del producto escalar y explican que una vez que tienen G, pueden encontrar X. Sin embargo, X no es único porque se puede rotar sin cambiar el producto escalar, por lo que su próximo paso es para descubrir cómo factorizar la rotación.

  • 00:40:00 En esta sección, el orador analiza una ecuación relacionada con la matriz de productos punto que se puede usar para encontrar el producto cruzado de la matriz identidad y la matriz transpuesta X en redes neuronales. La matriz de producto escalar es una combinación de la matriz D diagonal, una matriz constante con todas las filas iguales y una matriz constante con todas las columnas iguales. El orador repasa la ecuación paso a paso y desglosa cada componente para revelar que la matriz X transpuesta X proviene de estos lugares de rango 1 y estos productos cruzados. Luego exploran el significado de la mitad en la ecuación, pero finalmente concluyen que es necesario para obtener el resultado correcto.

  • 00:45:00 En esta sección, el orador analiza cómo escribir una ecuación dada en lenguaje de matrices y cómo finalmente encontrar la matriz X dado que X transpone X. Usan álgebra lineal para encontrar la solución y notan que X se puede encontrar a una transformación ortogonal. Los dos métodos principales discutidos son el uso de valores propios o el uso de eliminación en X transponer X. El orador enfatiza la importancia de estos métodos en el campo de las redes neuronales y el aprendizaje automático.

  • 00:50:00 En esta sección, el disertante analiza la construcción de X, que es simétrica y semidefinida positiva, y dos formas de encontrarla. El primer enfoque es la construcción de valores propios, que implica calcular los valores propios y los vectores propios de X transponer X, y luego mantener los vectores propios mientras se toman las raíces cuadradas de los valores propios. El segundo enfoque es la factorización de Cholesky, que implica realizar la eliminación en la matriz definida positiva simétrica y luego usar la matriz triangular inferior resultante L y la matriz diagonal D para calcular X como el producto de la transposición de L raíz cuadrada DL. La factorización de Cholesky es más rápida que la construcción de valores propios y más fácil de calcular, lo que la convierte en una opción más práctica.

  • 00:55:00 En esta sección, el disertante concluye la discusión sobre matrices de distancia, que fue el paso final para obtener la estructura de una red neuronal, separando los vectores de muestra de los pesos. El disertante también menciona las dos piezas de álgebra lineal: encontrar cosas para reducirlas a forma triangular o conectarlas con matrices simétricas. Por último, el orador menciona una convocatoria de voluntarios para discutir un proyecto el viernes.
 

Lección 34. Matrices de Distancia, Problema de Procrustes



34. Matrices de distancia, problema de Procrustes

El orador analiza el problema de Procrustes, que consiste en encontrar la mejor transformación ortogonal que lleve un conjunto de vectores lo más cerca posible de otro conjunto de vectores. Explican diferentes expresiones para calcular la norma de Frobenius de una matriz de distancias y su conexión con el problema de Procrustes. El ponente también introduce el concepto de la traza de matrices y encuentra la Q correcta en el problema de Procrustes. Además, abordan la cuestión de si el aprendizaje profundo realmente funciona y presentan la solución a un problema de matriz que implica encontrar la mejor matriz ortogonal, lo que implica calcular la SVD del producto escalar de dos matrices y usar las matrices ortogonales de la SVD.

  • 00:00:00 En esta sección, el orador aborda una pregunta planteada en una discusión anterior sobre cómo encontrar puntos que satisfagan una matriz de distancia dada y cómo resolver la falla de la desigualdad del triángulo. El orador explica que la matriz de productos escalares que proviene directamente de la matriz de distancias es semidefinida positiva, pero si la desigualdad del triángulo falla, la matriz de productos escalares no resultará definida positiva. Este problema no se puede resolver cambiando las dimensiones, ya que la desigualdad del triángulo aún se mantiene independientemente de la dimensionalidad.

  • 00:05:00 En esta sección, el disertante habla sobre el Problema de Procrustes, que consiste en hacer que algo se ajuste a otra cosa. El problema lleva el nombre de un mito griego sobre Procusto, que tenía una cama de cierta longitud y ajustaba la longitud del visitante para que encajara en la cama. El problema consiste en encontrar una manera de unir dos conjuntos de datos, y el disertante explica que si los números en la matriz de distancia satisfacen la desigualdad del triángulo, la matriz que sale de la ecuación es semidefinida positiva. Sin embargo, si se viola la desigualdad del triángulo, la matriz no es semidefinida positiva y tiene valores propios negativos, y es imposible encontrar el punto. El disertante también insinúa una gran pregunta sobre si el aprendizaje profundo realmente funciona, que abordará más adelante.

  • 00:10:00 En esta sección, se analiza el problema de Procrustes, que consiste en encontrar la mejor transformación ortogonal que lleve un conjunto de vectores lo más cerca posible de otro conjunto de vectores. Si los dos conjuntos de vectores fueran bases ortogonales, sería fácil llevar uno al otro con una matriz ortogonal Q, pero ese no es siempre el caso. Por lo tanto, el problema es minimizar sobre todas las matrices ortogonales Q en el cuadrado normal de Frobenius y tratar la matriz como un vector largo. Una forma de hacer esto es mirar una transpuesta a, tomar su rastro y luego encontrar la suma de todos los cuadrados para obtener la norma de Frobenius de una matriz.

  • 00:15:00 En esta sección, el disertante discute diferentes expresiones para calcular la norma de Frobenius de una matriz de distancia. Muestran que la norma de Frobenius al cuadrado puede expresarse como la suma de los cuadrados de todos los valores singulares, como la traza del producto de la matriz y su transpuesta, o la traza del producto de la transpuesta de la matriz y la matriz misma. . Luego explican cómo estas expresiones se conectan entre sí y mencionan que resolver este problema requiere varios hechos importantes, como el hecho de que multiplicar cada columna de una matriz por Q no cambia la norma de Frobenius, y multiplicar la matriz por Q no cambia. t afecta a los valores singulares.

  • 00:20:00 En esta sección, el disertante analiza las propiedades de la norma de Frobenius, incluido el hecho de que permanece sin cambios cuando se multiplica por un factor ortogonal o cuando se multiplica por el otro lado por el mismo factor o por uno diferente. El ponente también introduce el concepto de la traza de las matrices, destacando el hecho de que la traza no cambia cuando se invierte el orden de las matrices. A continuación, el ponente explica los pasos para obtener la Q correcta en el problema de Procrustes.

  • 00:25:00 En esta sección, el orador analiza la cuestión de si el aprendizaje profundo realmente funciona y sugiere que es una cuestión importante a abordar. Mencionan que si bien ha habido mucha publicidad y exageración en torno al aprendizaje profundo y las redes neuronales, no es automático que la estructura de la red sea exitosa, incluso con múltiples capas. Luego, el orador presenta la solución a un problema de matriz que implica encontrar la mejor matriz ortogonal, lo que implica calcular la SVD del producto escalar de dos matrices y usar las matrices ortogonales de la SVD.
 

Lección 35. Hallar conglomerados en gráficas



35. Encontrar grupos en gráficos

Este video analiza el agrupamiento en gráficos y cómo encontrar agrupamientos usando diferentes algoritmos como K-means y agrupamiento espectral. La matriz laplaciana se utiliza en la agrupación espectral y puede proporcionar información sobre las agrupaciones en el gráfico a través de sus vectores propios. El vector propio de Fiedler, que es el vector propio para el valor propio positivo más pequeño, es importante para la agrupación. El orador también enfatiza la importancia de que los vectores propios sean ortogonales para identificar diferentes grupos. Además, hay una breve vista previa de la próxima lección, que cubrirá la propagación hacia atrás usando Julia en álgebra lineal. Se alienta a los estudiantes a enviar sus proyectos en línea o fuera de la oficina del instructor.

  • 00:00:00 En esta sección, el orador analiza la agrupación en gráficos, que es el proceso de subdividir un gráfico grande en grupos más pequeños y manejables. El problema es encontrar dos conglomerados que sean razonablemente iguales en tamaño, y para hacer esto, se debe utilizar un algoritmo para determinar la posición de los puntos centrales X e Y. El objetivo es minimizar la suma de las distancias entre los puntos centrales y el nodos en el gráfico, mientras se asegura de que el número de nodos en cada clúster sea razonablemente cercano. Hay varios algoritmos que se pueden usar para lograr esto, incluidos algunos que usan matrices asociadas con el gráfico.

  • 00:05:00 En esta sección, el disertante analiza el algoritmo de agrupamiento de K-medias para dividir un conjunto de puntos, algunos etiquetados como A y otros etiquetados como B, en agrupaciones o grupos. El algoritmo comienza identificando los centroides, que son los puntos medios de los grupos A y B, y luego intenta formar los mejores grupos en función de esos centroides. Este proceso se repite hasta que el algoritmo converge en los mejores grupos posibles para los datos. El ponente también introduce el concepto de centroide, que es el punto que minimiza la suma de las distancias entre todos los puntos del grupo y el centroide.

  • 00:10:00 En esta sección, el instructor analiza dos métodos para resolver el problema de encontrar conglomerados en gráficos. El primer método se llama K-means, que implica encontrar el centroide de conglomerado más cercano para cada punto, reasignar puntos a sus respectivos conglomerados y repetir el proceso hasta la convergencia. El segundo método se denomina agrupación espectral e implica el uso de los valores propios de una matriz para agrupar puntos similares. El término "espectral" se refiere a los valores propios de la matriz y el teorema espectral en álgebra lineal. El instructor enfatiza que el teorema espectral se aplica a las matrices simétricas y establece que los valores propios son reales y los vectores propios son ortogonales.

  • 00:15:00 En esta sección, el disertante analiza la matriz gráfica laplaciana, que es la conexión clave entre el álgebra lineal y la teoría de grafos. Describen esta matriz como una matriz semidefinida positiva simétrica, y hay cuatro matrices asociadas con cualquier gráfico: la matriz de incidencia, la matriz de grados, la matriz de adyacencia y la matriz de Laplacian. El ponente realiza un ejemplo utilizando un gráfico sencillo para explicar cada una de estas matrices. La matriz laplaciana se utiliza en el agrupamiento espectral y puede tener vectores propios ortogonales que van con una multiplicidad de valores propios, lo que se conoce como el teorema espectral.

  • 00:20:00 En esta sección, el orador explica el concepto de agrupamiento de grafos mediante la búsqueda de agrupamientos en un gráfico determinado utilizando la matriz laplaciana. La matriz laplaciana se obtiene restando la matriz de incidencia de la matriz de grados. La matriz resultante es semidefinida positiva y sus vectores propios proporcionan información sobre los grupos en el gráfico. El primer valor propio siempre es cero, y el siguiente valor propio es importante para la agrupación. El orador enfatiza la importancia del vector de Fiedler, el vector propio para el valor propio positivo más pequeño, y explica su importancia en la agrupación de gráficos.

  • 00:25:00 En esta sección, el disertante explica por qué la matriz laplaciana se nombra así al encontrar conglomerados en un gráfico. La matriz laplaciana tiene una diagonal de grado 4 y permite encontrar clústeres a través de sus vectores propios. Específicamente, el vector propio de Fiedler puede determinar los componentes positivos y negativos dividiendo el gráfico en dos grupos. Este enfoque proporciona un método para decidir qué nodos pertenecen a qué grupo utilizando el gráfico Laplaciano.

  • 00:30:00 En esta sección, el orador analiza la agrupación en gráficos y cómo encontrar grupos utilizando diferentes algoritmos, como k-means y agrupación espectral. Explica que los vectores propios de una matriz simétrica son ortogonales, lo que significa que suman cero, lo que puede usarse para identificar diferentes grupos. También menciona que hay otros algoritmos propuestos para el mismo problema y da una breve vista previa de la próxima lección que cubrirá la propagación hacia atrás usando Julia en álgebra lineal. El orador anima a los estudiantes a presentar sus proyectos en línea o fuera de su oficina.