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

 

Clase 11 --Optimización para el aprendizaje profundo -- Frank Schneider



Numéricos de ML 11 --Optimización para aprendizaje profundo -- Frank Schneider

Frank Schneider analiza los desafíos de la optimización para el aprendizaje profundo, enfatizando la complejidad de entrenar redes neuronales y la importancia de seleccionar los métodos y algoritmos de optimización correctos. Señala la abrumadora cantidad de métodos disponibles y la dificultad de comparar y comparar diferentes algoritmos. Schneider proporciona ejemplos del mundo real de entrenamiento exitoso de modelos de idiomas grandes y la necesidad de programaciones de tasas de aprendizaje no predeterminadas y cambios a mitad de camino para lograr que el modelo se entrene con éxito. Schneider destaca la importancia de brindar a los usuarios más información sobre cómo usar estos métodos y cómo los hiperparámetros afectan el proceso de capacitación, así como la creación de ejercicios de evaluación comparativa para ayudar a los profesionales a seleccionar el mejor método para su caso de uso específico. También analiza métodos más nuevos como Alpha y cómo se puede aprovechar para dirigir el proceso de capacitación de una red neuronal.

En la segunda parte del video sobre los valores numéricos de la optimización para el aprendizaje profundo, Frank Schneider presenta la herramienta "Deep Debugger" Cockpit, que proporciona instrumentos adicionales para detectar y corregir problemas en el proceso de capacitación, como errores de datos y bloques de modelos. Explica la importancia de normalizar los datos para obtener hiperparámetros óptimos, la relación entre las tasas de aprendizaje y la precisión de las pruebas, y los desafíos de entrenar redes neuronales con estocasticidad. Schneider anima a los estudiantes a trabajar para mejorar el entrenamiento de las redes neuronales considerando el gradiente como una distribución y desarrollando mejores métodos autónomos a largo plazo.

  • 00:00:00 En esta sección, Frank Schneider presenta el tema de la optimización del aprendizaje profundo y brinda una descripción general de los desafíos que implica el entrenamiento de redes neuronales. Explica que si bien puede parecer una pregunta simple sobre cómo entrenar redes neuronales, en realidad hay varias formas de responderla, incluidas las consideraciones de hardware y software. El enfoque principal de la conferencia, sin embargo, está en los métodos y algoritmos utilizados para entrenar redes neuronales, y Schneider enfatiza que no existe una solución única para todos. Brinda un ejemplo del mundo real de un grupo en Midi que entrena un modelo de lenguaje grande, lo que demuestra que se necesitaba un programa de tasa de aprendizaje no predeterminado y cambios en la tasa de aprendizaje a mitad de camino para que el modelo se entrenara con éxito. En general, la conferencia de Schneider destaca la complejidad de entrenar redes neuronales y la importancia de seleccionar cuidadosamente los métodos y algoritmos de optimización correctos.

  • 00:05:00 En esta sección, el orador analiza los desafíos de entrenar una red neuronal de manera eficiente, citando el ejemplo del libro de registro proporcionado por OpenAI dedicado a la lucha de entrenar un modelo de lenguaje grande. El ponente menciona que actualmente no existen métodos eficientes para entrenar redes neuronales, aunque existen algunas pautas e intuiciones disponibles. La conferencia se centrará en comprender por qué entrenar una red neuronal es tan desafiante y qué se puede hacer para mejorar la situación. El orador señala que esto será diferente de su estructura de conferencias habitual, ya que existen numerosos métodos actuales de última generación y no está claro cuál de estos métodos es el más eficiente.

  • 00:10:00 En esta sección, el orador analiza los conceptos erróneos acerca de que el aprendizaje automático es principalmente optimización. Si bien la optimización implica buscar un mínimo en un panorama de pérdidas, el objetivo del aprendizaje automático es encontrar una función que se ajuste mejor a los datos de entrenamiento y se generalice bien a los nuevos datos. Esto se logra mediante el uso de una función de pérdida que cuantifica la diferencia entre las predicciones del modelo y los resultados reales. Dado que la verdadera distribución de datos a menudo se desconoce, el modelo se entrena en una muestra finita de datos y el proceso de optimización opera en la pérdida empírica. El ponente destaca que el aprendizaje profundo implica una mayor complejidad debido a los paisajes dimensionales superiores y las hipótesis expresivas.

  • 00:15:00 En esta sección, Frank Schneider explica que el aprendizaje automático no es solo optimización, ya que la cantidad que se optimiza (pérdida empírica) no es la misma que la cantidad que realmente le importa al algoritmo (pérdida real). El sobreajuste y la generalización son en realidad más complicados que simplemente pasar del tren a la prueba, como en las tareas de traducción, donde los modelos se entrenan en la pérdida de entropía cruzada pero se evalúan en la calidad de la traducción. Como resultado, la gente ha desarrollado varios métodos, como el descenso de gradiente estocástico, la variación de momento, la prop de RMS y el átomo, para tener en cuenta los gradientes anteriores y comprender cómo deberían comportarse en el futuro. En total, hay más de 150 métodos disponibles para optimizar y entrenar algoritmos para el aprendizaje profundo.

  • 00:20:00 En esta sección, el orador analiza la abrumadora cantidad de métodos de optimización disponibles para el entrenamiento de redes neuronales, con más de 100 métodos para elegir. El problema no es solo elegir un método, sino también cómo usarlo de manera efectiva. Por ejemplo, incluso si elegimos un método de optimización como SGD o Adam, aún debemos decidir hiperparámetros como la tasa de aprendizaje y épsilon, que pueden ser difíciles de ajustar. El orador sugiere que necesitamos puntos de referencia adecuados para comprender qué métodos son necesarios y mejorados, y que el desafío actual es definir qué significa "mejor" en el contexto del aprendizaje profundo. En general, el enfoque debe estar en brindar a los usuarios más información sobre cómo usar estos métodos y cómo los hiperparámetros afectan el proceso de capacitación.

  • 00:25:00 En esta sección, Frank Schneider analiza los desafíos que surgen al comparar algoritmos de entrenamiento de aprendizaje profundo, como la optimización para problemas de refuerzo, GAN y modelos de lenguaje grandes. Se vuelve difícil determinar si las diferencias en el rendimiento son significativas, ya que es posible que sea necesario ejecutar estos métodos varias veces para tener en cuenta la estocasticidad. Probar todos los casos puede ser costoso y llevar mucho tiempo, ya que el entrenamiento debe repetirse varias veces para todos los métodos de propósito general. El método utilizado para entrenar debe analizarse cuando se prueban múltiples problemas, lo que requiere cambios en los hiperparámetros, lo que lo encarece aún más. Además, Schneider destaca que SGD y Adam son familias de algoritmos que no se pueden comparar directamente sin especificar el conjunto exacto de parámetros.

  • 00:30:00 En esta sección, Frank Schneider analiza el proceso de identificación de los métodos de capacitación más avanzados para el aprendizaje profundo. Debido a la gran cantidad de métodos de optimización disponibles, tuvieron que limitarse a probar solo 15 métodos de optimización en 8 tipos diferentes de problemas que van desde problemas cuadráticos simples hasta clasificación de imágenes a gran escala y modelos de redes neuronales recurrentes. Para simular varios escenarios, probaron estos métodos de optimización en cuatro configuraciones diferentes con diferentes presupuestos para el ajuste de hiperparámetros, desde un ajuste de un disparo con los parámetros altos predeterminados hasta presupuestos más grandes para profesionales de la industria que tienen más recursos disponibles. El objetivo era determinar qué métodos de optimización funcionaron mejor en diferentes escenarios para ayudar a los profesionales a seleccionar el mejor método para su caso de uso específico.

  • 00:35:00 En esta sección, Frank Schneider analiza el proceso de optimización de los modelos de aprendizaje profundo. Explica que para encontrar el mejor método de optimización, tuvieron que realizar más de 50 000 ejecuciones individuales, ya que había 15 métodos de optimización y cuatro programas de tasa de aprendizaje. Schneider señala que no había un método de capacitación claro y de vanguardia para el aprendizaje profundo, ya que varios métodos funcionaron bien en diferentes problemas de prueba. Sin embargo, Adam mostró resultados consistentemente buenos y otros métodos que se derivaron de Adam no mejoraron significativamente el rendimiento. En general, el ejercicio de evaluación comparativa mostró que actualmente no existe un método de optimización claro que funcione para todos los modelos de aprendizaje profundo.

  • 00:40:00 En esta sección, el ponente analiza las dificultades de determinar el método más efectivo para entrenar una red neuronal debido a los diferentes métodos disponibles y la falta de un protocolo de entrenamiento claro. El orador analiza la creación de ml Commons Benchmark a partir de su grupo de trabajo de algoritmos, que es una competencia para medir la aceleración del entrenamiento de redes neuronales únicamente debido a cambios algorítmicos. El objetivo es construir algoritmos más eficientes para acelerar el entrenamiento de redes neuronales. El orador también analiza la falta de información disponible sobre cómo usar estos métodos y sugiere que se podría usar información adicional para crear herramientas de depuración para ayudar a los usuarios mientras tanto, con la esperanza de construir eventualmente un mejor método que pueda hacer todo automáticamente.

  • 00:45:00 En esta sección, el orador analiza cómo la mayoría de los modelos de aprendizaje automático se aproximan al gradiente empírico al elegir una muestra individual del conjunto de datos de entrenamiento antes de dar un paso. El gradiente de minilote o el gradiente empírico es una muestra del gradiente real, y promediar los gradientes individuales proporciona una estimación del gradiente real, aunque la varianza del estimador no está disponible en PyTorch. Sin embargo, al usar paquetes como mochila, los usuarios pueden acceder a los gradientes individuales y su variación. Esta información adicional se puede aprovechar para dirigir el proceso de capacitación de una red neuronal, como determinar si se debe aumentar o disminuir la tasa de aprendizaje. El orador proporciona un ejemplo en el que dos curvas de pérdidas pueden parecer iguales, pero la optimización en el panorama de pérdidas muestra que suceden dos cosas completamente diferentes.

  • 00:50:00 En esta sección, el orador analiza cómo la curva de pérdida puede mostrar si una red neuronal se está entrenando o no, pero no explica por qué o qué hacer para mejorarla. El panorama de la pérdida tiene decenas de millones de dimensiones, lo que hace que sea casi imposible examinarlo. Sin embargo, el ponente introduce una cantidad que ayuda a caracterizar el procedimiento de optimización de la red neuronal, llamada alfa. El valor alfa determina si la red se está subestimando, minimizando o sobrepasando mediante la observación de la pendiente en la dirección en la que avanza la red, lo que muestra si el panorama de pérdidas sube o baja.

  • 00:55:00 En esta sección, Frank Schneider explica cómo se calcula Alpha mientras se optimiza la red neuronal. Alfa es un valor escalar que se explicó en la sección anterior como la dirección en la que se mueve el modelo para optimizar la red neuronal. Schneider explica que la cantidad escalar alfa se basa en el tamaño del paso en comparación con la pérdida observada en esa dirección. Los valores alfa negativos implican un paso insuficiente, mientras que los valores positivos implican un paso excesivo, y uno significa cambiar directamente al otro lado del valle. Schneider también explica cómo, al condensar la información en informes significativos, los desarrolladores pueden crear herramientas de depuración para un aprendizaje profundo similar al de la programación clásica.

  • 01:00:00 En esta sección, Frank Schneider presenta el concepto del "depurador profundo" con la herramienta "Cockpit", que aumenta el proceso de entrenamiento del espectador con instrumentos adicionales, como un piloto en un avión. Schneider muestra cómo Cockpit puede proporcionar nuevos puntos de vista en el entrenamiento de una red neuronal, como el tamaño de paso, la distancia, la norma de gradiente y las pruebas de gradiente, que pueden ayudar a detectar y solucionar problemas como errores de datos en el proceso de entrenamiento. Con los instrumentos adicionales, Cockpit puede proporcionar a los usuarios información relevante y complementar el gráfico de rendimiento esencial.

  • 01:05:00 En esta sección, el orador analiza cómo el uso de datos normalizados versus datos sin procesar en el aprendizaje profundo afecta el rendimiento de la red neuronal y los hiperparámetros óptimos. Los datos sin procesar, con valores de píxel que van de 0 a 255, pueden dar lugar a un histograma de elementos de gradiente con un comportamiento menor y, por lo tanto, a hiperparámetros menos óptimos. Sin embargo, es fácil pasar por alto la normalización de los datos porque, visualmente, los datos tendrán el mismo aspecto. Otro problema que puede afectar el entrenamiento es un bloque de modelo en el que una red entrena bien mientras que otra no, aunque tengan histogramas de elementos de gradiente similares. Al usar Cockpit, uno puede ver el histograma de cada capa de la red, revelando cualquier degeneración en todo el modelo. Esto ayuda a identificar errores de modelo que son difíciles de encontrar a través de prueba y error. Por último, el uso de Cockpit para el ajuste de hiperparámetros puede dar lugar a nuevas investigaciones y una mejor comprensión de los métodos.

  • 01:10:00 En esta sección, Frank Schneider analiza la optimización para el aprendizaje profundo y la relación entre las tasas de aprendizaje, los valores alfa y la precisión de las pruebas. Él explica que, si bien las tasas de aprendizaje más altas tienden a dar como resultado valores alfa más altos, lo que significa sobrepasarse y posiblemente dar pasos demasiado grandes, las ejecuciones de mejor rendimiento suelen estar en la región alfa positiva. Esto nos dice que en el entrenamiento de redes neuronales, puede que no siempre sea mejor minimizar en cada paso y que es necesario sobrepasarse para obtener el mejor rendimiento. Schneider también comparte ejemplos de artículos de la Universidad de Toronto que ilustran la importancia de encontrar un equilibrio entre dar pasos locales y globales para lograr resultados óptimos.

  • 01:15:00 En esta sección, Frank Schneider reconoce que entrenar redes neuronales es una tarea desafiante que carece de un protocolo claro a seguir. Además, cree que la estocasticidad en el aprendizaje profundo es una fuente principal de este desafío, lo que lleva a que entrenar y optimizar sean dos cosas diferentes. Sin embargo, sugiere que pensar en el gradiente como una distribución, teniendo en cuenta la desviación estándar, las varianzas y las confianzas, puede permitir la construcción de mejores herramientas y el desarrollo de mejores métodos autónomos a largo plazo. Schneider anima a los estudiantes interesados a ayudar a mejorar el entrenamiento de las redes neuronales.
 

Clase 12 -- Optimización de segundo orden para el aprendizaje profundo -- Lukas Tatzel



Numéricos de ML 12 -- Optimización de segundo orden para aprendizaje profundo -- Lukas Tatzel

En este video, Lukas Tatzel explica los métodos de optimización de segundo orden para el aprendizaje profundo y sus beneficios potenciales. Compara las trayectorias y las tasas de convergencia de tres métodos de optimización: SGD, Adam y LBFGS, utilizando el ejemplo de la función de Rosenberg en 2D. Tatzel señala que el comportamiento nervioso de SGD hace que la convergencia sea más lenta en comparación con los pasos bien informados de LBFGS. Introduce el paso de Newton como un método más rápido para la optimización y analiza sus limitaciones, como la dependencia del número de condición. Tatzel también explica el concepto de matriz generalizada de Gauss-Newton (GGN) como una aproximación a la hessiana para tratar problemas mal condicionados. Además, analiza el problema de la región de confianza, cómo lidiar con funciones objetivas no convexas y el enfoque libre de Hessian que usa CG para minimizar funciones cuadráticas.

Esta segunda parte del video explora las técnicas de optimización de segundo orden para el aprendizaje profundo, incluidos BFGS y LBFGS, la optimización sin Hessian y KFC. El orador explica que el enfoque libre de Hessian linealiza el modelo utilizando el producto vectorial jacobiano, mientras que KFC es una curvatura aproximada basada en métricas de información oficial. Sin embargo, pueden ocurrir estocasticidad y sesgos con estos métodos, y se recomienda la amortiguación para abordar estos problemas. El ponente propone el uso de algoritmos especializados que pueden usar cantidades más ricas como distribuciones para realizar actualizaciones y señala que el problema fundamental de la estocasticidad sigue sin resolverse. En general, los métodos de optimización de segundo orden ofrecen una solución parcial a los desafíos del aprendizaje profundo.

  • 00:00:00 En esta sección, Lukas Tatzel presenta métodos de optimización de segundo orden como una posible solución para el costoso y tedioso proceso de optimización del aprendizaje profundo. Utiliza el ejemplo de la función de Rosenberg en 2D para comparar las trayectorias y las tasas de convergencia de tres optimizadores: SGD, Adam y LBFGS. Señala que el comportamiento nervioso de SGD hace que la convergencia sea más lenta en comparación con los pasos bien informados de LBFGS, que requiere menos de 10 pasos para alcanzar la tolerancia de 10^-8, lo que lo hace no solo más rápido en términos de pasos sino también en tiempo de ejecución. en comparación con Adam y SGD. Tatzel plantea la cuestión de si estos métodos se pueden aplicar al aprendizaje profundo y explora cómo funcionan y su potencial.

  • 00:05:00 En esta sección, Lukas Tatzel explica los conceptos básicos de la optimización del aprendizaje profundo, que implica predecir un vector de C dimensional y compararlo con la etiqueta real para calcular la función de pérdida. El objetivo del aprendizaje profundo es encontrar una configuración del vector de parámetros de red Theta que minimice el riesgo empírico. Los métodos numéricos utilizados para esto incluyen el descenso de gradiente estocástico (SGD) que calcula una estimación del gradiente en datos finitos utilizando un estimador de Monte Carlo. Sin embargo, los métodos basados en gradientes son sensibles al número de condición, que es la relación entre la curvatura direccional máxima y mínima.

  • 00:10:00 En esta sección, Lukas Tatzel analiza cómo los métodos basados en gradientes son sensibles a los problemas de malas condiciones en el aprendizaje profundo. Explica que el número de condición puede ser un problema para los métodos basados en gradientes si es grande, lo que puede conducir a conversiones lentas. Para mejorar las actualizaciones en los métodos basados en gradientes, Tatzel sugiere cambiar la escala del gradiente en las direcciones de curvatura grande y pequeña con sus respectivas curvaturas inversas. Al hacer esto, se pueden introducir métodos de segundo orden para reducir o eliminar la dependencia del número de condición.

  • 00:15:00 En esta sección, Lukas Tatzel analiza la optimización de segundo orden en el aprendizaje profundo y presenta el concepto del paso de Newton. Este método implica aproximar la función de pérdida en la iteración actual con una función cuadrática, donde se supone que la arpillera es definida positiva. Al calcular sus gradientes y establecerlo en cero, el paso de Newton se puede derivar y utilizar con fines de minimización. Este método puede ser mucho más rápido que los métodos basados en gradientes en ciertas situaciones, logrando una convergencia cuadrática local si la función objetivo es dos veces diferenciable y la hessiana es continua de Lipschitz. Tatzel compara visualmente la convergencia lineal y cuadrática, mostrando que los métodos de Newton pueden ser realmente rápidos en ciertas situaciones, ya que son robustos frente a problemas mal condicionados.

  • 00:20:00 En esta sección, Lukas Tatzel analiza los métodos de optimización de segundo orden para el aprendizaje profundo y las razones por las que no se usan comúnmente. Los métodos de segundo orden pueden ser más rápidos que los métodos basados en gradientes, pero requieren acceso a la matriz hessiana, que puede ser difícil de calcular y almacenar para problemas grandes no convexos. Además, el manejo de la estocasticidad en el cálculo de la arpillera puede afectar el rendimiento de estos métodos. Tatzel continúa explicando cómo se pueden abordar estos desafíos y brinda una descripción general de los conceptos detrás de los diferentes métodos.

  • 00:25:00 En esta sección, Lukas Tatzel explica la optimización de segundo orden para el aprendizaje profundo y las limitaciones del método de actualización de Newton. Demuestra el cálculo de la derivada de segundo orden de la función con respecto a Tau, que es una función cuadrática con curvatura constante Lambda. La curvatura a lo largo de un vector propio es el valor propio, y si la curvatura es negativa, la cuadrática es ilimitada desde abajo, lo que hace que el método de actualización de Newton no tenga sentido. Para abordar este problema, Tatzel presenta la matriz de Gauss-Newton generalizada (GGN), que es una aproximación semidefinida positiva a la hessiana y puede servir como reemplazo. Obtiene el GGN de la función de pérdida aplicando la regla de cambio a la división entre el vector de parámetros y los resultados del modelo.

  • 00:30:00 En esta sección, Lukas Tatzel analiza el concepto de optimización de segundo orden para modelos de aprendizaje profundo. Explica la regla del producto y cómo funciona, y cómo calcular la derivada de una matriz aplicando la regla de la cadena. Tatzel luego habla sobre el GGN, una matriz definida positiva que ignora la curvatura del modelo, y el Hessian, que contiene las segundas derivadas del modelo con respecto a Theta. Compara el GGN y el Hessian y muestra que el GGN es definido positivo y simétrico, lo que lo convierte en una herramienta útil para la optimización en modelos de aprendizaje profundo.

  • 00:35:00 En esta sección, Lukas Tatzel analiza el Hessian y cómo determina si el algoritmo GGN (Generalized Gauss-Newton) es semidefinido positivo o no. Para todas las funciones de pérdida relevantes, la hessiana es semidefinida positiva. En los casos en que la función de pérdida es tal que la pérdida se calcula como la norma cuadrática entre los resultados del modelo y la etiqueta verdadera, la hessiana es un escalar multiplicado por la matriz de identidad, lo que la convierte en definida positiva. Lukas también analiza la matriz de información de Fischer, que se puede utilizar para definir un paso GGN bien definido. En este caso, el algoritmo GGN es el descenso más pronunciado en el espacio de distribución, donde el espacio de parámetros se mide por la distancia entre dos distribuciones.

  • 00:40:00 En esta sección, Lukas Tatzel explica el problema de la región de confianza en la optimización de segundo orden para el aprendizaje profundo. En el caso convexo, todavía hay un problema con los modelos cuadráticos que son arbitrariamente malos, lo que lleva a la necesidad de amortiguar y restringir la actualización de la iteración para que se encuentre dentro de un radio de confianza. Al agregar la identidad de tiempos Delta a la matriz de curvatura, se crea un paso de Newton modificado y, con la amortiguación, es posible controlar qué tan conservadoras son las actualizaciones. Al elegir el radio, es más fácil trabajar directamente con la amortiguación utilizando la heurística L-BFGS basada en la relación de reducción entre la disminución de pérdida esperada y real.

  • 00:45:00 En esta sección del video, Lukas Tatzel explica cómo lidiar con funciones objetivas no convexas en el aprendizaje profundo mediante el cálculo de matrices de curvatura semidefinidas positivas como el ggn y la fisura. Es posible interpretar estas matrices y proporcionar estimadores imparciales de ellas en datos finitos. Las heurísticas de amortiguación, como la marca viva, se pueden usar para controlar qué tan conservadoras deben ser las actualizaciones. Sin embargo, invertir estas enormes matrices de curvatura es un problema debido a las limitaciones de almacenamiento. Para resolver este problema, se pueden tomar prestadas ideas del álgebra numérica, como aproximaciones de bajo rango, métodos iterativos y aproximaciones estructuradas. Luego, Tatzel analiza la idea central de BFGS, que aprende gradualmente una aproximación a la arpillera inversa a partir de las observaciones de gradiente, con el objetivo de deducir a partir de las observaciones de gradiente cómo se verá la arpillera inversa.

  • 00:50:00 En esta sección, Lukas Tatzel explica la idea de utilizar la optimización de segundo orden para el aprendizaje profundo. La segunda derivada se obtiene tomando una aproximación de diferencia al gradiente, y luego se transfiere al caso multidimensional usando la ecuación secante. El objetivo es aproximar la arpillera inversa, por lo que se toman las propiedades de la arpillera inversa real y se requieren para que la aproximación tenga las mismas propiedades. La actualización solo involucra la aproximación anterior y los vectores SK e yk. La aproximación se almacena mediante el uso de una ventana fija de algún tamaño fijo l, y con esto, todavía se puede obtener una buena estimación de la curvatura.

  • 00:55:00 En esta sección, Lukas Tatzel presenta métodos de optimización de segundo orden para el aprendizaje profundo, centrándose específicamente en el enfoque sin Hessian. Este enfoque utiliza CG para minimizar funciones cuadráticas y solo requiere productos matriz-vector, lo que permite un cálculo eficiente sin almacenar explícitamente la matriz de curvatura. El GGn se usa como la métrica de curvatura y, al usar la estimación de Monte Carlo, las matrices se pueden calcular para un par de entrada-salida dado. Para multiplicar eficientemente el jacobiano con un vector, la idea central es reemplazar el producto vectorial jacobiano con una derivada direccional. Esto permite una forma eficiente de calcular el producto sin construir explícitamente las matrices.

  • 01:00:00 En esta sección, el orador analiza la optimización de segundo orden para el aprendizaje profundo, específicamente la optimización sin Hessian y las técnicas KFC. La optimización libre de hessian implica linealizar el modelo aproximando F en theta más Delta Theta por F de theta más el jacobiano multiplicado por Delta Theta y usando el producto vectorial jacobiano. Sin embargo, este enfoque es numéricamente inestable, por lo que en su lugar se utiliza una aproximación al producto vectorial jacobiano. Por otro lado, KFC es una curvatura aproximada basada en métricas de información oficial que involucran dos aproximaciones: la aproximación bloque-diagonal y las operaciones de intercambio de productos de expectativa y crónica. La estructura de bloques diagonales hace que la inversión de la matriz sea trivial y la aproximación de la expectativa es razonable porque es difícil calcular productos crónicos sobre dos vectores.

  • 01:05:00 En esta sección, Lukas Tatzel analiza tres enfoques para acceder e invertir la matriz de curvatura, que se utiliza en la optimización de segundo orden para el aprendizaje profundo. El primer método es BFGS y LBFGS, que utilizan una aproximación de reducción dinámica de Hessian y son la opción predeterminada para pequeños problemas deterministas. El segundo método es el optimizador sin Hessian, que es similar a los pasos de Newton pero requiere poca memoria y más trabajo secuencial. Sin embargo, tiene problemas con los tamaños de mini lotes más grandes que usan capas de normas por lotes. El último método es KFC, que es una representación ligera de las métricas de información de Hesse y se usa ampliamente en la cuantificación de la incertidumbre. Se recomienda el optimizador K-Fik cuando se trabaja con memoria limitada, ya que almacenar e invertir los componentes más pequeños del bloque es más fácil y rápido que hacer lo mismo con toda la matriz.

  • 01:10:00 En esta sección, Lukas Tatzel analiza el problema de la estocasticidad al calcular el paso de Newton, que implica invertir la arpillera y aplicarla al gradiente. Debido a que solo tiene estimaciones de la arpillera y el gradiente, incluso si no están sesgadas, el paso de Newton seguirá estando sesgado. Tatzel brinda un ejemplo intuitivo en 1D donde la expectativa sobre 1/H no es lo mismo que 1/H, lo que muestra que incluso con una estimación de la curvatura, todavía hay cierta incertidumbre al mapearla a través de la función de inversión. Esto destaca el desafío de lidiar con la estocasticidad en la optimización de segundo orden para el aprendizaje profundo.

  • 01:15:00 En esta sección, el orador analiza los sesgos e inestabilidades que pueden ocurrir en la optimización de segundo orden para el aprendizaje profundo. Al estimar la curvatura inversa, es posible generar colas pesadas, lo que resulta en una expectativa que se mueve por encima del promedio. Esto conduce a un paso general de Newton cuya expectativa es demasiado grande. Además, pueden presentarse sesgos e inestabilidades debido a estimaciones estocásticas o por casualidad cuando una muestra es cercana a cero. Estos problemas se pueden resolver aplicando amortiguación, que aleja la distribución de cero y mitiga posibles sesgos e inestabilidades.

  • 01:20:00 En esta sección, Lukas Tatzel analiza los desafíos de usar la amortiguación como un proceso de optimización del bucle externo, que trata todas las direcciones por igual y puede no ser una forma adecuada de abordar la complejidad del proceso de entrenamiento. Propone el uso de algoritmos especializados que pueden usar cantidades más ricas como distribuciones para realizar actualizaciones y señala que el problema fundamental de la estocasticidad sigue sin resolverse. En general, Tatzel sugiere que los métodos de optimización de segundo orden como BFGS, LBFJS, el optimizador libre de Heston y KFC ofrecen una solución parcial a los desafíos del aprendizaje profundo, incluido el problema del condicionamiento Hill.
 

Clase 13 -- Incertidumbre en el Aprendizaje Profundo -- Agustinus Kristiadi



Numerics of ML 13 -- Incertidumbre en Deep Learning -- Agustinus Kristiadi

El video analiza la incertidumbre en el aprendizaje profundo, particularmente en los pesos de las redes neuronales, y la importancia de incorporar la incertidumbre debido al problema del exceso de confianza asintótica, donde las redes neuronales brindan predicciones de alta confianza para ejemplos fuera de distribución que no deben clasificarse con certeza. El video brinda información sobre cómo usar cantidades de segundo orden, específicamente estimaciones de curvatura, para obtener incertidumbre en redes neuronales profundas, utilizando una distribución gaussiana para aproximar los pesos de la última capa y la matriz hessiana para estimar la curvatura de la red neuronal. El video también analiza el formalismo bayesiano y las aproximaciones de LaPlace para seleccionar modelos y parámetros de redes neuronales.

En la segunda parte de la conferencia, Agustinus Kristiadi analiza varias formas de introducir la incertidumbre en los modelos de aprendizaje profundo en este video. Una técnica implica el uso de aproximaciones de Laplace linealizadas para convertir una red neuronal en un modelo gaussiano. Otro enfoque es el entrenamiento fuera de distribución, donde se agrega incertidumbre en regiones que no están cubiertas por el conjunto de entrenamiento original. Kristiadi enfatiza la importancia de agregar incertidumbre para evitar un exceso de confianza en el modelo y sugiere usar medidas probabilísticas para evitar el costo de encontrar el posterior ideal. Estas técnicas se explorarán más a fondo en un próximo curso sobre aprendizaje automático probabilístico.

  • 00:00:00 En esta sección, el orador explica el tema de la conferencia, que trata sobre la incertidumbre en el aprendizaje automático y cómo hacer cálculos para lograrlo. La conferencia utiliza conocimientos de conferencias anteriores, particularmente en la resolución de integrales y el uso del aprendizaje profundo bayesiano para obtener incertidumbres. Luego, el orador analiza la importancia de las incertidumbres en las redes neuronales profundas y el problema del exceso de confianza asintótica, donde la red neuronal brinda predicciones de alta confianza para ejemplos fuera de distribución que no deberían clasificarse con tanta certeza. La conferencia tiene como objetivo proporcionar información sobre cómo usar cantidades de segundo orden, específicamente estimaciones de curvatura, para llevar la incertidumbre a las redes neuronales profundas.

  • 00:05:00 En esta sección, Agustinus Kristiadi analiza la incertidumbre en el aprendizaje profundo, específicamente en las redes de clasificación que utilizan las no linealidades de ReLU. Presenta una propiedad fundamental de los clasificadores reales: si la capa logit es una combinación lineal de capas anteriores con no linealidades ReLU, la salida de la red sigue siendo una función lineal por partes, definida por la combinación de capas anteriores. Alejarse de los datos de entrenamiento en este espacio conduce a una región donde el clasificador tiene una entrada lineal a la salida de softmax, y con probabilidad uno, la ganancia para cada función de salida lineal es diferente. Como resultado, avanzar lo suficiente en estas regiones generará una confianza arbitrariamente alta para una clase, lo que se puede observar visualmente en el gráfico de tres características de salida lineal en rojo.

  • 00:10:00 En esta sección, Agustinus Kristiadi explica la propiedad fundamental de los clasificadores reales que crea una alta confianza en ciertas clases, y por qué no se puede arreglar simplemente reentrenando pesos. La solución es agregar incertidumbre a los pesos de la red neuronal y, para hacerlo, necesitamos una interpretación bayesiana de la red neuronal, que se puede lograr maximizando el exponencial de la función que se minimiza durante el entrenamiento. Esto significa que el aprendizaje profundo ya está haciendo inferencia bayesiana, pero solo se está calculando el modo posterior, lo que puede ser problemático. Una configuración común para los problemas supervisados con salidas continuas es el regularizador de pérdida cuadrática y caída de peso, que es equivalente a poner una prioridad gaussiana en los pesos y una probabilidad gaussiana en los datos.

  • 00:15:00 En esta sección, el orador analiza la incertidumbre en el aprendizaje profundo y la interpretación bayesiana de las redes neuronales profundas. El orador señala que la distribución posterior completa necesaria para las predicciones es intratable. Si bien los enfoques de Monte Carlo están teóricamente bien fundamentados, consumen mucho tiempo y pueden poner en desventaja a quienes realizan inferencias pacientes. Por lo tanto, el orador aboga por la forma más barata posible de hacer integrales: diferenciación automática junto con álgebra lineal. El orador comparte el sorprendente resultado de que cualquier medida aproximada gaussiana incluso en los pesos de la última capa de la red ya resuelve parcialmente el problema del exceso de confianza, como se demuestra en un teorema. El orador enfatiza que no importa si la distribución de probabilidad de los pesos es correcta, agregar cualquier medida de probabilidad de los pesos puede resolver el problema de confianza.

  • 00:20:00 En esta sección, el ponente explica cómo se puede aplicar una distribución gaussiana a los pesos de la última capa en la capa de clasificación de una red neuronal profunda para resolver el problema de la incertidumbre en la clasificación. El hablante asume que se puede usar cualquier covarianza de la distribución gaussiana porque no importa, y la media de la distribución viene dada por los pesos entrenados de la red neuronal profunda. Luego, el orador usa la distribución gaussiana para resolver el problema de la diapositiva anterior al aproximar la integral del Max suave sobre F de theta en la estrella X. La aproximación de David Makai se usa para calcular el máximo suave sobre la variable derivada que tiene la predicción media de la salida que de otro modo tendría la red. Las líneas azules en la visualización que representa esta aproximación están delimitadas desde una, lo que proporciona una solución a la incertidumbre en la clasificación.

  • 00:25:00 En esta sección, Agustinus Kristiadi analiza la importancia de la incertidumbre en el aprendizaje profundo, específicamente con respecto a los pesos de las redes neuronales. Argumenta que es crucial tener en cuenta que no sabemos muy bien los pesos y evitar asumir que sabemos algo si no lo sabemos, ya que puede crear problemas. Se pueden hacer aproximaciones matemáticas como la linealización y el uso de una distribución gaussiana en los pesos, y se ha demostrado que mientras tengamos una ligera incertidumbre, estará bien. La elección de Sigma se puede realizar con diferenciación automática con estimaciones de curvatura, que es el método más rápido y económico.

  • 00:30:00 En esta sección, Agustinus Kristiadi explica cómo podemos usar la matriz hessiana para formar una aproximación gaussiana después de encontrar la moda de la función de pérdida a través del aprendizaje profundo. La matriz hessiana, que contiene la derivada de segundo orden de la función de pérdida, se utiliza para construir aproximaciones. Aunque la aproximación gaussiana es local y no perfecta, es totalmente analítica, lo que la convierte en una aproximación favorable. Para utilizar esta aproximación, necesitamos una red neuronal entrenada, y una vez que la red está entrenada, podemos obtener el Hessian en ese punto usando AutoDiff, que es un proceso de forma cerrada que simplemente funciona.

  • 00:35:00 En esta sección, el orador analiza el concepto de incertidumbre en el aprendizaje profundo y cómo evaluarlo utilizando la matriz Hessiana. La matriz hessiana se puede calcular después de entrenar la red neuronal profunda y proporciona una forma de estimar la incertidumbre sin agregar costos al comercio de la red. El orador también señala que este enfoque permite mantener la estimación puntual, lo que puede ser útil para aplicaciones prácticas. Sin embargo, existen desventajas, como que el Hessian es costoso de calcular y se necesitan aproximaciones para hacerlo manejable. La matriz de Gauss-Newton generalizada es una de esas aproximaciones que se puede utilizar en la práctica.

  • 00:40:00 En esta sección, Agustinus Kristiadi analiza la incertidumbre en el aprendizaje profundo y cómo se puede usar el Gauss-Newton Hessian (GNG) para estimar la curvatura de una red neuronal. Explica que el GNG es semidefinido positivo y tiene una buena conexión con la linealización, lo que puede dar como resultado un modelo manejable cuando se combina con la aproximación de Laplace. Este modelo se puede utilizar para la regresión y produce un proceso gaussiano con su función media dada por la salida de la red neuronal.

  • 00:45:00 En esta sección, el orador analiza la incertidumbre en el aprendizaje profundo, particularmente en las redes neuronales. Señalan que la función de varianza central se obtiene al encontrar la moda de la función de pérdida en el jacobiano de la red, tomando el producto interno con el inverso del hessiano. El ponente menciona que este proceso se puede utilizar para la clasificación en forma de una aproximación simple desarrollada por David Pinkai. El proceso implica definir la función de pérdida, calcular el hessiano de la función de pérdida y el jacobiano de la red entrenada con respecto a los pesos. Finalmente, la combinación de los dos en un producto da una función predictiva para f de x estrella que sigue siendo no lineal en x pero lineal en el espacio de pesos. El ponente destaca que este proceso puede ayudar a evitar el exceso de confianza, especialmente en los casos de clasificación.

  • 00:50:00 En esta sección, Agustinus Kristiadi analiza el formalismo bayesiano y cómo puede ser útil en el aprendizaje profundo. Al linealizar la red en sus pesos y usar la aproximación de Laplace, podemos reducir la integral intratable sobre el posterior a una forma simplificada del posterior y la función de pérdida. Este proceso puede proporcionarnos una medida de qué tan bien se ajusta nuestro modelo a los datos, lo cual es útil para adaptar parámetros o aspectos del modelo. Al calcular la evidencia de los datos, podemos elegir el modelo que tenga la evidencia más alta y elegir el que esté más cerca de los datos.

  • 00:55:00 En esta sección, el orador analiza cómo usar las aproximaciones de LaPlace para seleccionar modelos y parámetros de una red neuronal. El orador explica que la arpillera depende de la forma de la función de pérdida y que a medida que agrega más capas, la función de pérdida puede volverse más estrecha, lo que lleva a un mejor ajuste. El hablante muestra un gráfico que demuestra que alrededor de dos a cuatro capas es probablemente la mejor opción. El orador también analiza cómo el factor de Occam no es tan sencillo como lo es para los procesos gaussianos, ya que el hessiano tiene un efecto no trivial sobre qué tan bien el modelo puede explicar los datos. Luego, el orador muestra una visualización de una red neuronal profunda con la aproximación de LaPlace de linealización para un problema de clasificación y explica cómo puede usar un parámetro de precisión anterior para afectar la confianza del modelo. Finalmente, el orador analiza cómo se pueden usar las aproximaciones de LaPlace para seleccionar opciones discretas como el número de capas o un parámetro como la posición anterior usando el descenso de gradiente.

  • 01:00:00 En esta sección, el orador analiza la incertidumbre en el aprendizaje profundo y cómo se puede abordar utilizando aproximaciones de Laplace linealizadas. Este método implica el uso de un enfoque probabilístico para determinar la posición anterior de las capas al seleccionar el número de capas de una red. Sin embargo, aunque este proceso funciona bien para seleccionar una posición anterior, es posible que no funcione tan bien para otras tareas, como elegir el número de capas. Luego, el orador continúa discutiendo la aproximación de Laplace linealizada y cómo se puede usar como una herramienta de caja negra para convertir una red neuronal profunda en un modelo gaussiano para lidiar con la incertidumbre. Finalmente, el disertante analiza una forma de solucionar el problema con modelos que no tienen incertidumbre sobre sus pesos, lo que implica agregar una solución simple a la red.

  • 01:05:00 En esta sección, Agustinus Kristiadi analiza el tema de agregar un número ilimitado de pesos para dar cuenta de la infinita complejidad de los datos en las redes neuronales profundas. Explica que agregar una cantidad infinita de funciones resolvería el problema y muestra cómo hacer un seguimiento de la cantidad infinita de funciones no tiene por qué ser una tarea costosa. Asintóticamente, la incertidumbre se convierte en la máxima entropía Cosa 1 sobre C, sin añadir más complejidad al modelo.

  • 01:10:00 En esta sección, el orador explica cómo se puede agregar incertidumbre al aprendizaje profundo para mejorar las predicciones, particularmente en áreas donde hay pocos datos de entrenamiento o hay aportes adversarios. El enfoque implica entrenar la media de la red y luego agregar unidades que no cambian la predicción del punto pero agregan incertidumbre, que se puede mover y escalar. Esta técnica se denomina entrenamiento fuera de distribución y se puede lograr utilizando una escala de longitud basada en la amplitud de los datos para definir un proceso gaussiano aproximado. El costo de agregar incertidumbre es insignificante y solo agrega un respaldo que reduce la confianza si los datos están lejos de los datos de entrenamiento.

  • 01:15:00 En esta sección, el orador analiza cómo introducir la incertidumbre en un modelo de aprendizaje profundo. Una forma de hacerlo es a través del entrenamiento fuera de distribución, donde se crea un nuevo conjunto de datos con imágenes que no contienen los objetos que se usaron en el conjunto de entrenamiento original. Luego, la red se entrena para que sea incierta en esas regiones. Al definir una función de pérdida que incluye la pérdida fuera de distribución, la Hessiana de la curvatura estimada de la función de pérdida donde se encuentra la moda de la pérdida puede ajustarse para producir la cantidad deseada de incertidumbre. El ponente también señala que introducir incertidumbre es importante en el aprendizaje profundo, ya que puede ayudar a prevenir patologías y exceso de confianza en el modelo.

  • 01:20:00 En esta sección, el orador analiza el concepto de agregar incertidumbre a un clasificador sin cambiar su estructura fundamental. La linealización de la red en el espacio de peso puede permitir que esto suceda, y al calcular el jacobiano y el hessiano de la función de pérdida, podemos convertir una red neuronal profunda en un proceso gaussiano. Con esta técnica se puede agregar funcionalidad a la red, como la confianza calibrada asintótica. El ponente destaca la importancia del entrenamiento probabilístico y el uso de medidas de probabilidad en el aprendizaje automático sin necesidad de un seguimiento posterior completo. Este enfoque puede resolver problemas como el exceso de confianza y evitar el costo de encontrar el trasero ideal. Finalmente, el orador sugiere que el uso de estas técnicas se explorará más a fondo en el próximo curso sobre aprendizaje automático probabilístico.
 

Clase 14 -- Conclusión -- Philipp Hennig



Numéricos de ML 14 -- Conclusión -- Philipp Hennig

Philipp Hennig ofrece un resumen del curso "Números del aprendizaje automático", enfatizando la importancia de resolver problemas matemáticos en el aprendizaje automático relacionados con el análisis numérico, como integración, optimización, ecuaciones diferenciales y álgebra lineal. Habla de la complejidad de realizar álgebra lineal en un conjunto de datos y cómo se relaciona con la unidad de procesamiento y el disco. Hennig también cubre temas como el manejo de conjuntos de datos de tamaños no triviales, algoritmos para resolver sistemas lineales, resolver ecuaciones diferenciales parciales y estimar integrales. Concluye reconociendo la dificultad de entrenar redes neuronales profundas y la necesidad de soluciones para superar el problema de la estocasticidad.

En la conclusión de su serie de conferencias, Philipp Hennig enfatiza la importancia de ir más allá del entrenamiento de modelos de aprendizaje automático y saber cuánto sabe el modelo y qué no. Habla sobre la estimación de la curvatura de la función de pérdida para construir estimaciones de incertidumbre para redes neuronales profundas y la importancia de ser probabilístico pero no necesariamente aplicar el teorema de Bayes en todos los casos debido a la complejidad computacional. Hennig también enfatiza la importancia de la computación numérica en el aprendizaje automático y la necesidad de desarrollar nuevas formas de computación centradas en los datos. Finalmente, invita a recibir comentarios sobre el curso y analiza el próximo examen.

  • 00:00:00 En esta sección, Philipp Hennig proporciona un resumen de todo el curso Numerics of Machine Learning, que él cree que es crucial debido a la variación del contenido de varios disertantes. Explica que el aprendizaje automático consiste esencialmente en resolver problemas matemáticos que no tienen soluciones de forma cerrada, a diferencia de la IA clásica, que implica algoritmos. Los problemas en el aprendizaje automático están relacionados con el análisis numérico e incluyen integración, optimización, ecuaciones diferenciales y álgebra lineal. Hennig enfatiza la importancia de comprender la complejidad de hacer álgebra lineal en un conjunto de datos y cómo es relevante para la unidad de procesamiento y el disco.

  • 00:05:00 En esta sección, Philipp Hennig analiza el papel del álgebra lineal en el aprendizaje automático y específicamente en el proceso de regresión gaussiana. Explica que para aprender una distribución predictiva, que tiene una media y una covarianza, necesitamos resolver un sistema lineal de ecuaciones que involucre la inversión de una matriz por un vector. Hay muchos algoritmos para resolver este tipo de sistemas lineales, incluido el algoritmo clásico llamado descomposición de Cholesky, que puede verse como un procedimiento iterativo que construye la inversa de la matriz. Hennig señala que esta aproximación se puede utilizar como una estimación de la inversa de la matriz, pero su calidad puede variar según el orden de los datos.

  • 00:10:00 En esta sección, Philipp Hennig explica cuán linealmente costoso es revisar un conjunto de datos en un orden aleatorio y cargar bits desde el disco mientras se ignora el resto. Compara este método con lo que los estudiantes aprenden a través de una clase de aprendizaje automático probabilístico, que consiste en resolver dos problemas de optimización lineal diferentes para resolver una ecuación. También destaca que surgen incertidumbres finitas, que causan dos fuentes de incertidumbre, incluido el conjunto de datos finitos y los cálculos limitados, que no brindan la solución completa.

  • 00:15:00 En esta sección del video, Philipp Hennig explica la complejidad de resolver problemas lineales en la regresión del proceso gaussiano de influencia bayesiana. El nivel de gasto en el caso base es mucho más sutil de lo que la mayoría de la gente podría haber aprendido. Los cuatro puntos principales de esto son que puede optar por no mirar todo el conjunto de datos, puede usar un algoritmo similar a Cholesky que da una estimación del costo lineal en el conjunto de datos y cuadráticamente en el número de iteraciones, puede usar un algoritmo más eficiente que converge rápidamente pero es cuadráticamente costoso en cada iteración, o puede optar por Cholesky, que genera un gasto cúbico en la cantidad de puntos de datos.

  • 00:20:00 En esta sección, Hennig analiza la importancia de manejar adecuadamente conjuntos de datos de tamaños no triviales y la decisión de cómo operar con ellos de manera eficiente. También continúa explicando cómo manejar conjuntos de datos de dimensión infinita, específicamente en lo que respecta a los sistemas que evolucionan a lo largo del tiempo, así como el algoritmo utilizado para problemas lineales dependientes del tiempo e invariantes en el tiempo, conocido como filtrado y suavizado de Kalman. Hennig destaca que este tipo de algoritmo es fácil de escribir y linealmente costoso en la cantidad de pasos de tiempo. También enfatiza la importancia de comprender los niveles bajos de la jerarquía computacional, ya que puede usarse para acelerar el rendimiento en algoritmos de nivel superior.

  • 00:25:00 En esta sección del video, Philipp Hennig analiza el algoritmo más suave, que sirve como un algoritmo de contabilidad que informa a todas las variables anteriores de la cadena sobre las observaciones que ha realizado en el futuro. También habla sobre la rapidez con la que se pueden aplicar algoritmos a entornos en los que las observaciones no son una transformación gaussiana lineal del espacio de estado, y sobre la dinámica del filtro de Kalman extendido. Hennig también aborda los paisajes algorítmicos y la estructura de este marco, que es muy flexible y puede usarse para construir un algoritmo poderoso para resolver ecuaciones diferenciales.

  • 00:30:00 En esta sección, Philipp Hennig analiza cómo las ecuaciones implícitas algebraicas, las simetrías de grupos continuos y las ecuaciones diferenciales parciales pueden incluirse en el mismo lenguaje algorítmico que las ecuaciones diferenciales ordinarias en el aprendizaje automático. También menciona el valor de incorporar observaciones de un sistema, como medir el camino que tomó o saber dónde comenzó y terminó, para determinar valores desconocidos en partes del espacio de estado. Hennig señala que a medida que los paquetes de simulación se vuelven más diversos, se vuelve menos necesario tener un conocimiento extenso de los métodos de simulación, ya que el método de simulación puede verse esencialmente como un filtro.

  • 00:35:00 En esta sección del video, Philipp Hennig analiza cómo los métodos de aprendizaje automático administran la información y afirma que en realidad no hay una diferencia entre la información que proviene de un disco o un sensor conectado a la computadora. e información que proviene del programador que la ha escrito como una ecuación algebraica. También menciona que el operador de información actúa como una interfaz entre el usuario y el diseñador del algoritmo. También explica cómo resolver ecuaciones diferenciales parciales, que es esencialmente lo mismo que filtrar los métodos de simulación, utilizando la regresión de procesos gaussiana. Sin embargo, señala que si la ecuación diferencial parcial no es lineal, entonces no se puede resolver usando un filtro.

  • 00:40:00 En esta sección, Philipp Hennig resume la conclusión de la serie "Numerics of ML", que cubre las ecuaciones diferenciales y la integración en el aprendizaje automático. Primero habla sobre la inferencia del proceso gaussiano con funciones, que puede ser complejo debido a la naturaleza de los espacios de funciones. Sin embargo, al observar funciones no lineales y aplicar varias fuentes de información, como ecuaciones diferenciales parciales y valores límite, se pueden combinar en un gran esquema de inferencia de proceso gaussiano, lo que da como resultado una representación cuantificada del sistema dinámico. Luego, Hennig pasa a la integración en la inferencia probabilística, donde presenta el algoritmo de Monte Carlo, que es un estimador imparcial que converge lentamente, pero funciona en cualquier función integrable.

  • 00:45:00 En esta sección, Philipp Hennig analiza los mejores enfoques para estimar integrales para el aprendizaje automático. Sugiere que la velocidad a la que una estimación de la integral converge al valor real de la integral es 1 sobre la raíz cuadrada del número de muestras, que depende del algoritmo utilizado. Sin embargo, la cuadratura bayesiana, un algoritmo que dedica mucho tiempo a modelar el integrando, puede funcionar muy bien, especialmente en problemas de baja dimensión, y puede converger mucho más rápido que Monte Carlo, incluso súper polinomialmente rápido. Hennig sugiere que construir algoritmos que funcionen bien solo para una pequeña clase de problemas puede funcionar mejor para cada instancia de ese problema, pero puede fallar gravemente fuera de esa clase. En última instancia, el mejor algoritmo dependerá de la naturaleza del problema que se está resolviendo.

  • 00:50:00 En esta sección, Philipp Hennig explora los desafíos de los problemas numéricos contemporáneos de aprendizaje automático, específicamente el tema del entrenamiento de redes neuronales profundas. Aunque hay muchos optimizadores disponibles, son fundamentalmente frustrantes e ineficientes, requieren un cuidado constante y un ajuste de hiperparámetros, y no siempre funcionan. Si bien la optimización solía consistir en presionar un botón y ver cómo funcionaba el algoritmo a la perfección, ahora el aprendizaje automático requiere un equipo de más de 100 personas para administrar grandes modelos de lenguaje, lo que hace que sea un uso ineficiente de los recursos. El problema principal es la estocasticidad, y aún no se conoce una solución elegante para este problema, a pesar de que está impulsando a toda la comunidad de aprendizaje automático.

  • 00:55:00 En esta sección, Philipp Hennig concluye el curso de conferencias sobre la incertidumbre en la computación al enfatizar la dificultad de entrenar redes neuronales profundas. Aunque los gradientes de mini lotes se evalúan debido a datos y cálculos finitos, el ruido significativo introducido a través de este proceso reduce el rendimiento de los algoritmos de optimización. Hennig afirma que la solución a este problema haría que el entrenamiento de redes neuronales profundas fuera mucho más rápido y cambiaría el futuro del aprendizaje automático. Mientras tanto, todavía podemos usar los recursos disponibles, como estimaciones de curvatura, para construir nuevos algoritmos y técnicas.

  • 01:00:00 En esta sección, Philipp Hennig analiza la necesidad de hacer algo más que entrenar redes duales en aprendizaje automático y la importancia de saber cuánto sabe y qué no sabe el modelo. Hennig explica que estimar la curvatura de la función de pérdida puede ayudar a construir estimaciones de incertidumbre para redes neuronales profundas de forma sencilla, utilizando la aproximación de Laplace. Esto se puede usar para diferentes casos de uso y se puede combinar con una linealización del espacio de ponderación de la red para convertir cualquier red neuronal profunda aproximadamente en un algoritmo de regresión gaussiana paramétrica de proceso gaussiano. Hennig enfatiza que, si bien ser probabilístico es importante, no es necesario aplicar el teorema de Bayes en todos los casos, ya que puede ser demasiado intensivo desde el punto de vista computacional. En cambio, encontrar soluciones rápidas que agreguen valor sin ser demasiado costosas desde el punto de vista computacional es un mejor enfoque.

  • 01:05:00 En esta sección, Philipp Hennig enfatiza la importancia de la computación numérica en el aprendizaje automático. Explica que los cálculos numéricos son agentes activos que interactúan con una fuente de datos y deben decidir activamente cómo usar los datos que reciben. Al tomar esta conexión en serio, se pueden desarrollar nuevas formas de hacer cálculos centradas en los datos, que pueden ser más flexibles, más fáciles de usar y más fáciles de generalizar a diferentes entornos. Hennig también destaca la importancia de comprender cómo funcionan los algoritmos numéricos para convertirse en un mejor ingeniero de aprendizaje automático. Finalmente, invita a recibir comentarios sobre el curso y analiza el próximo examen.
 

Support Vector Machine (SVM) en 7 minutos - Fun Machine Learning



Support Vector Machine (SVM) en 7 minutos - Fun Machine Learning

El video explica Support Vector Machines (SVM), un algoritmo de clasificación utilizado para conjuntos de datos con dos clases que dibuja un límite de decisión, o hiperplano, en función de los extremos del conjunto de datos. También analiza cómo se puede utilizar SVM para conjuntos de datos separables de forma no lineal transformándolos en espacios de características de mayor dimensión mediante un truco del kernel. El video identifica las ventajas de SVM, como la efectividad en espacios de alta dimensión, la eficiencia de la memoria y la capacidad de usar diferentes kernels para funciones personalizadas. Sin embargo, el video también identifica las desventajas del algoritmo, como el rendimiento deficiente cuando la cantidad de características es mayor que la cantidad de muestras y la falta de estimaciones de probabilidad directa, que requieren una costosa validación cruzada.

  • 00:00:00 En esta sección, aprendemos sobre las máquinas de vectores de soporte (SVM) y cómo se pueden usar para clasificar conjuntos de datos con dos clases. El algoritmo SVM analiza los extremos de los conjuntos de datos y dibuja un límite de decisión o un hiperplano cerca de los puntos extremos del conjunto de datos. Esencialmente, el algoritmo de la máquina de vectores de soporte es una frontera que separa mejor las dos clases. Luego aprendemos sobre conjuntos de datos separables no linealmente y cómo las SVM pueden transformarlos en espacios de características de mayor dimensión con un truco del núcleo. Los tipos de kernel populares incluyen kernel polinomial, kernel de función de base radial (RBF) y kernel sigmoide. Sin embargo, elegir el kernel correcto no es una tarea trivial y puede depender de la tarea específica en cuestión.

  • 00:05:00 En esta sección, se analizan las ventajas y desventajas de las máquinas de vectores de soporte (SVM). SVM es efectivo en espacios de alta dimensión y utiliza un subconjunto de puntos de entrenamiento en la función de decisión, lo que lo hace eficiente en memoria. Se pueden especificar diferentes núcleos para la función de decisión, incluidos los núcleos personalizados, y SVM se puede usar en varias aplicaciones, como imágenes médicas, industria financiera y reconocimiento de patrones. Sin embargo, las desventajas de SVM incluyen un rendimiento deficiente si el número de características es mayor que el número de muestras y la falta de estimaciones de probabilidad directa, lo que requiere una costosa validación cruzada.
 

'La revolución del aprendizaje profundo' - Geoffrey Hinton - Conferencia del presidente de RSE 2019



'La revolución del aprendizaje profundo' - Geoffrey Hinton - Conferencia del presidente de RSE 2019

Geoffrey Hinton, conocido como el "padrino del aprendizaje profundo", analiza la historia y la evolución del aprendizaje profundo y las redes neuronales, los desafíos y las emocionantes posibilidades de usar el aprendizaje profundo para crear máquinas que puedan aprender de la misma manera que los cerebros humanos y las trucos y técnicas que han hecho que la retropropagación sea más efectiva. También describe el éxito de las redes neuronales en el reconocimiento de voz y la visión por computadora, la evolución de las redes neuronales para la visión por computadora y el entrenamiento previo sin supervisión, y su eficacia en el modelado del lenguaje y la traducción automática. Termina destacando el valor del razonamiento por analogía y analiza su teoría de las "cápsulas" y el cableado del conocimiento en un modelo que predice partes del todo.

Geoffrey Hinton, un pionero en el aprendizaje profundo, ofrece una conferencia que aboga por la integración de memorias asociativas, memorias rápidas y múltiples escalas de tiempo en redes neuronales para permitir el conocimiento a largo plazo y el almacenamiento temporal, que es necesario para el razonamiento real. Además, discute el acto de equilibrio entre creencias previas y datos, el potencial del aprendizaje no supervisado, la eficiencia de las redes convolucionales en el reconocimiento de objetos con la incorporación del conocimiento del punto de vista y la equivarianza traslacional, y la necesidad de combinar el razonamiento simbólico con las redes conexionistas, como transformador. redes También aborda el tema de los sesgos inconscientes en el aprendizaje automático y cree que se pueden corregir más fácilmente que los sesgos humanos al identificar y corregir los sesgos. Por último, destaca la necesidad de más financiación y apoyo para los jóvenes investigadores en el campo de la IA.

  • 00:00:00 Si está familiarizado con el aprendizaje profundo, le debe mucho al profesor Geoffrey Hinton, conocido como el "Padrino del aprendizaje profundo", quien obtuvo su doctorado en inteligencia artificial en Edimburgo en 1978 y ha ganado numerosos premios por su contribuciones al aprendizaje automático. En la primera parte de su conferencia, analiza la historia del aprendizaje profundo y las redes neuronales, y cómo han evolucionado a lo largo de los años. También habla sobre los desafíos y las emocionantes posibilidades de usar el aprendizaje profundo para crear máquinas que puedan aprender de la misma manera que los cerebros humanos.

  • 00:05:00 En esta sección, Geoffrey Hinton habla sobre los dos paradigmas de la inteligencia artificial que existieron desde principios de la década de 1950. Uno fue el enfoque inspirado en la lógica que consideraba la inteligencia como la manipulación de expresiones simbólicas utilizando reglas simbólicas. El otro enfoque, por otro lado, creía que la esencia de la inteligencia era aprender las fortalezas de las conexiones en una red neuronal. Este enfoque se centró más en el aprendizaje y la percepción, en comparación con el enfoque del otro enfoque en el razonamiento. Estos diferentes enfoques llevaron a diferentes puntos de vista de las representaciones internas y las formas correspondientes de hacer que una computadora haga lo que quieres. Hinton compara el método de diseño inteligente con la estrategia de formación o aprendizaje, que consiste en mostrarle a un ordenador multitud de ejemplos.

  • 00:10:00 En esta sección del video, Geoffrey Hinton explica cómo surgió la revolución del aprendizaje profundo, que comenzó con el entrenamiento de redes neuronales para aprender características complejas a través de muchas capas. Se utilizan neuronas idealizadas, que modelan funciones lineales y no lineales. Mientras tanto, las redes de entrenamiento tienen diferentes métodos, incluido el entrenamiento supervisado y no supervisado, siendo la retropropagación el algoritmo más eficiente de este último. Por último, señala cómo el aprendizaje profundo implica perturbar la red para medir el efecto y luego cambiar la red cuando sea necesario, lo cual es mucho más eficiente que el enfoque evolutivo de perturbar frente a variables desconocidas.

  • 00:15:00 En esta sección de la conferencia, el Dr. Hinton analiza la técnica de optimización de la retropropagación, que calcula el gradiente de pesos en función de la discrepancia entre la respuesta real y la respuesta correcta para un pequeño lote de ejemplos de entrenamiento. Explica el proceso de actualización de los pesos en función del gradiente y el uso del descenso de gradiente estocástico para optimizar el proceso. Luego, el Dr. Hinton continúa discutiendo los trucos y técnicas que han hecho que la retropropagación sea más efectiva, incluido el uso de impulso y tasas de aprendizaje más pequeñas para los gradientes más grandes, y finalmente concluye que el uso de estos trucos es tan bueno como cualquier cosa a pesar de cientos de artículos publicados en revistas. en métodos más sofisticados. Finalmente, señala que en la década de 1990, la falta de técnicas de inicialización adecuadas para redes neuronales y conjuntos de datos de menor tamaño llevó al abandono temporal de las redes neuronales en la comunidad de aprendizaje automático.

  • 00:20:00 En esta sección, Geoffrey Hinton, una figura destacada en el aprendizaje profundo, analiza la historia de la investigación del aprendizaje profundo y los desafíos que enfrentan los investigadores en el campo. Describe cómo, en los primeros días de la retropropagación, muchos trabajos fueron rechazados o criticados porque se centraban en el aprendizaje no supervisado, que no encajaba con el paradigma predominante de la visión artificial. Sin embargo, Hinton argumenta que el aprendizaje no supervisado, en combinación con técnicas como el abandono, fue un factor clave para hacer que la propagación hacia atrás funcionara para las redes profundas y, desde entonces, ha ayudado a revolucionar el campo del aprendizaje profundo.

  • 00:25:00 En esta sección, Hinton explica el éxito de las redes neuronales en el reconocimiento de voz y la visión artificial. La primera gran aplicación del aprendizaje profundo fue en el reconocimiento de voz, en el que un front-end realiza un modelado acústico tomando el cuadro medio de un espectrograma e identificando qué fonema está tratando de expresar una persona. La primera aplicación comercialmente relevante del aprendizaje profundo a gran escala fue en el reconocimiento de voz, donde una red neuronal front-end superó las técnicas altamente afinadas de IBM y otros lugares. Otro evento significativo fue la competencia ImageNet en 2012, donde una red neuronal profunda logró tasas de error significativamente más bajas que las técnicas tradicionales de visión por computadora.

  • 00:30:00 En esta sección, el profesor Geoffrey Hinton analiza la evolución de las redes neuronales para la visión por computadora, la traducción automática y el entrenamiento previo sin supervisión, y cómo la comunidad de visión por computadora se mostró escéptica al principio sobre el éxito de estas redes neuronales. Continúa discutiendo la atención suave y los transformadores, y cómo este último es más adecuado para las covarianzas, haciéndolo más sensible a cosas como que los ojos son iguales entre sí, y cómo el entrenamiento previo sin supervisión puede obligar a las redes neuronales a capturar información sobre lo que las palabras alrededor de una palabra pueden decirle acerca de lo que debe significar esa palabra.

  • 00:35:00 En esta sección, Hinton explica la diferencia entre usar redes neuronales convolucionales y transformadores para tareas de procesamiento de lenguaje natural, como desambiguar el significado de las palabras según el contexto. Mientras que las redes neuronales convolucionales usan las palabras alrededor de la palabra objetivo para cambiar su representación, los transformadores entrenan una red mediante derivados back-ravine para aprender a convertir un vector de palabra en una consulta, clave y valor, que se usa para atender a otras palabras y activar la representación correspondiente. Los transformadores han demostrado ser muy efectivos en el modelado de idiomas y la traducción automática y se han utilizado para desarrollar métodos como Burt, que utiliza el aprendizaje no supervisado para aprender incrustaciones de palabras a través de la probabilidad del siguiente fragmento de palabra.

  • 00:40:00 En esta sección de la conferencia, Hinton analiza un experimento llamado "GPT-2" que puede generar texto que parece escrito por un humano. El modelo GPT-2, que contiene mil quinientos millones de parámetros, se entrenó en miles de millones de palabras de texto y puede producir historias coherentes e inteligibles. Hinton especula que este tipo de razonamiento no es un razonamiento basado en la lógica propiamente dicho, sino más bien un razonamiento intuitivo. También señala que es difícil saber cuánto entiende realmente el modelo, y cuestiona si el modelo solo está haciendo grandes cantidades de asociación o si entiende un poco más que eso.

  • 00:45:00 En esta sección, Geoffrey Hinton destaca el valor del razonamiento por analogía y su papel en la mejora de las capacidades de razonamiento. Compara el razonamiento secuencial con el razonamiento por intuición en el contexto del juego AlphaGo, explicando que tanto la intuición como el razonamiento lógico son necesarios para tomar decisiones bien informadas. Hinton también analiza cómo las redes neuronales convolucionales han mejorado la eficiencia pero no reconocen objetos de la misma manera que los humanos, lo que lleva a la conclusión de que los humanos usan marcos de coordenadas y entienden las relaciones entre las partes y el todo de un objeto para reconocerlo. Esto destaca la necesidad de conocer la arquitectura de la red neuronal para mejorar la forma en que reconocen los objetos.

  • 00:50:00 En esta sección, Hinton utiliza una tarea para ilustrar la dependencia de la comprensión espacial de los marcos de coordenadas. Presenta un cubo de estructura metálica y le pide al espectador que señale dónde están las esquinas sin usar un marco de coordenadas, lo que revela que las personas tienden a pensar en los cubos en relación con su sistema de coordenadas. Luego, Hinton analiza su teoría de las "cápsulas", que agrupa neuronas que aprenden a representar fragmentos de formas e impone un marco de coordenadas en cada fragmento para capturar la geometría intrínseca. Planea entrenar estas cápsulas sin supervisión para capturar el conocimiento de la forma.

  • 00:55:00 En esta sección, Hinton analiza el conocimiento del cableado en un modelo que predice partes del todo. El modelo es entrenado por un transformador que mira las partes ya extraídas, toma estas partes e intenta predecir qué totalidades explicarían esas partes. El transformador es bueno para encontrar correlaciones entre cosas y puede predecir qué objetos podrían estar allí y cuáles son sus poses. Hinton da un ejemplo en el que al modelo se le enseña sobre cuadrados y triángulos y luego puede reconocerlos en nuevas imágenes. También se puede entrenar al modelo para que reconozca los números de las casas sin que nunca se le muestren las etiquetas.

  • 01:00:00 En esta sección, aprendemos sobre el potencial del aprendizaje no supervisado y los diversos tipos de neuronas que podrían funcionar mejor que la no linealidad escalar que se usa actualmente. El ponente insta a los estudiantes a no creer todo lo que escuchan y anima a redirigir 50 años de conocimientos adquiridos para descubrir cómo obtener el sustrato adecuado para realizar un procesamiento específico. La parte de preguntas y respuestas analiza la posibilidad de confiar únicamente en los sistemas más rápidos para la inteligencia y la coherencia de la memoria de un transformador.

  • 01:05:00 En esta sección, Hinton responde a una pregunta sobre los sesgos inconscientes en el aprendizaje automático y lo compara con los sesgos en los humanos. Él cree que si bien el aprendizaje automático puede estar sesgado, es mucho más fácil de corregir que el sesgo humano porque los sesgos en el aprendizaje automático se pueden identificar y corregir congelando los pesos y midiendo contra quién están los sesgos. Además, habla sobre la explicabilidad en el aprendizaje automático y argumenta en contra de legislar que los sistemas deben ser explicables antes de que puedan usarse, ya que estas grandes redes neuronales han aprendido miles de millones de pesos que no pueden explicarse de manera sucinta. Sin embargo, admite que los investigadores quieren comprender mejor estos sistemas y alienta a los investigadores mayores a proporcionar fondos para los investigadores más jóvenes.

  • 01:10:00 En esta sección, Geoffrey Hinton discute la idea de que si conectamos la equivarianza traslacional y más conocimiento del punto de vista en redes convolucionales, podrían ser más eficientes en el reconocimiento y la generalización de objetos. Además, habla de la necesidad de combinar el razonamiento simbólico con redes conexionistas, como las redes transformadoras. Hinton cree que implementar memorias asociativas, memorias de peso rápido y hacer que cada sinapsis tenga varias escalas de tiempo puede permitir el conocimiento a largo plazo y el almacenamiento temporal, lo cual es necesario para el razonamiento real.

  • 01:15:00 En esta sección, el orador responde a una pregunta sobre cómo se actualizan las redes neuronales en función de experiencias pasadas o actuales. Sugiere usar una memoria asociativa que se activa por el estado actual, en lugar de participar en la propagación hacia atrás a través del tiempo. Aclara que cada sinapsis debe tener múltiples escalas de tiempo para almacenar temporales. Luego, la discusión pasa al tema de la alucinación en sistemas con creencias previas. El orador cree que lograr el equilibrio correcto entre las creencias previas y los datos es clave para tales sistemas. Finalmente, analiza su ambivalencia hacia la retropropagación, afirmando que si bien es lo correcto, se sorprende de que solo mil millones de pesos puedan hacer una traducción bastante buena, con el cerebro humano conteniendo mucho más.

  • 01:20:00 En esta sección del video, el orador analiza cómo nuestra tecnología de inteligencia artificial actual puede no ser tan inteligente como pensamos y que el enfoque debe estar en resolver este problema. También tocan el Proyecto Cerebro Humano, que fue financiado con fondos europeos, y se preguntan si ayudará o dificultará el desarrollo de la IA. El orador también felicita al disertante por ser capaz de explicar conceptos complejos de una manera fácil de entender para los no expertos y por promover más financiamiento y apoyo para jóvenes investigadores en el campo de la IA.
 

Cómo funciona realmente ChatGPT



Cómo funciona realmente ChatGPT

ChatGPT es un modelo de aprendizaje automático que puede identificar correctamente el contenido dañino en las conversaciones de chat. Su arquitectura se basa en el aporte humano y se describen sus deficiencias. También se proporcionan lecturas recomendadas.

  • 00:00:00 ChatGPT es un chatbot diseñado para mitigar los problemas de desalineación del modelo. Utiliza el aprendizaje por refuerzo a partir de la retroalimentación humana para afinar un modelo previamente entrenado.

  • 00:05:00 ChatGPT es un modelo de aprendizaje automático que puede identificar correctamente el contenido dañino en las conversaciones de chat. Su arquitectura se basa en el aporte humano y se describen sus deficiencias. También se proporcionan lecturas recomendadas.
 

Aprendizaje automático desde cero Curso completo



Aprendizaje automático desde cero Curso completo

Implementar modelos de aprendizaje automático usted mismo es una de las mejores formas de dominarlos. A pesar de parecer una tarea desafiante, a menudo es más fácil de lo que imaginas para la mayoría de los algoritmos. Durante los próximos 10 días, usaremos Python y ocasionalmente Numpy para cálculos específicos para implementar un algoritmo de aprendizaje automático cada día.

Puede encontrar el código en nuestro repositorio de GitHub: https://github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch

 

Cómo implementar KNN desde cero con Python

Código: https://github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch/tree/main/01%20KNN



Cómo implementar KNN desde cero con Python

En el video titulado "Cómo implementar KNN desde cero con Python", el ponente explica cómo crear un clasificador KNN desde cero usando Python. Cubren los pasos involucrados en la implementación del algoritmo, como calcular la distancia entre el nuevo punto de datos y otros puntos en el conjunto de datos, seleccionar los k puntos más cercanos y determinar la etiqueta para la clasificación o el promedio para la regresión. El orador implementa el algoritmo utilizando una clase en Python y demuestra su implementación exitosa en el conjunto de datos del iris con una tasa de precisión del 96 %. También invitan a los espectadores a revisar el código en su repositorio de Github y hacer preguntas en la sección de comentarios.

  • 00:00:00 En esta sección, aprendemos sobre el algoritmo k Nearest Neighbors (k-NN), cómo funciona y los pasos necesarios para implementar el algoritmo en Python. k-NN es un algoritmo basado en la distancia en el que los k puntos de datos más cercanos se seleccionan en función de su distancia al nuevo punto de datos. Este valor de k lo determina el usuario y se puede utilizar tanto para problemas de regresión como de clasificación. El algoritmo comienza calculando la distancia entre el nuevo punto de datos y otros puntos de datos en el conjunto de datos. Luego, se eligen los k puntos más cercanos y se toma el promedio de sus valores para la regresión, o se determina la etiqueta con el voto mayoritario para la clasificación. También vemos cómo implementar el algoritmo usando una clase en Python con una función de ajuste y predicción, y una función auxiliar para calcular la distancia entre dos puntos.

  • 00:05:00 En esta sección, el ponente explica cómo crear un clasificador KNN desde cero usando Python. Comenzando con el método de clasificación por arco para clasificar la matriz de distancia, pasan a seleccionar los k vecinos más cercanos, obtienen la etiqueta de clase más común y devuelven la etiqueta más común. Luego implementan este clasificador en el conjunto de datos del iris para clasificar los tipos de flores y lograr una tasa de precisión del 96 %, lo que demuestra la implementación exitosa de KNN. El orador invita a los espectadores a verificar el código disponible en su repositorio de Github y hacer preguntas en la sección de comentarios.
Machine-Learning-From-Scratch/01 KNN at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
Machine-Learning-From-Scratch/01 KNN at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
  • AssemblyAI-Examples
  • github.com
Implementation of popular ML algorithms from scratch - Machine-Learning-From-Scratch/01 KNN at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
 

Cómo implementar la regresión lineal desde cero con Python

Código: https://github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch/tree/main/02%20Linear%20Regression



Cómo implementar la regresión lineal desde cero con Python

Este video cubre el proceso de implementación de la regresión lineal desde cero usando Python. El orador explica cómo encontrar la mejor línea de ajuste utilizando el error cuadrático medio y cómo calcular los pesos y sesgos con descenso de gradiente. El orador también analiza cómo la tasa de aprendizaje afecta la convergencia y demuestra cómo probar el modelo utilizando la función de conjunto de datos de scikit-learn. También corrigen un error tipográfico en el código y ajustan la tasa de aprendizaje para mejorar el ajuste de la línea de predicción. El código se comparte en GitHub y se invita a los espectadores a hacer preguntas.

  • 00:00:00 En esta sección, la atención se centra en la regresión lineal, que implica comprender el patrón de un conjunto de datos dado y dibujar una línea lineal que se ajuste a los datos lo mejor posible. El error cuadrático medio se usa para calcular el error de la línea para todos los puntos de datos, y la mejor línea de ajuste se encuentra calculando los valores de los parámetros del modelo o el peso y el sesgo que dan el error cuadrático medio mínimo mediante el descenso de gradiente. La tasa de aprendizaje se usa para controlar qué tan rápido o lento ir en la dirección que nos indica el descenso de gradiente, donde una tasa de aprendizaje baja puede causar una aproximación lenta al error mínimo, mientras que una tasa de aprendizaje alta puede resultar en saltos alrededor del espacio aéreo. y la imposibilidad de encontrar el mínimo. Durante el entrenamiento, el peso y el sesgo se inicializan como cero, y la ecuación recibe un punto de datos para predecir o estimar
    el resultado, y se calcula el error de la ecuación, lo que facilita el uso de la multiplicación de matrices con todos los puntos de datos para calcular los gradientes. Durante las pruebas, un modelo entrenado predice los resultados usando la ecuación.

  • 00:05:00 En esta sección, el orador está implementando la regresión lineal desde cero con Python. El hablante inicializa la tasa de aprendizaje, establece un valor predeterminado para el número de iteraciones y define los pesos y sesgos como cero. Luego, el orador procede a predecir el resultado tomando el producto escalar de x con los pesos y sumando el sesgo. Para calcular las derivadas, el orador usa una ecuación simple y luego actualiza los pesos y sesgos calculando los gradientes. Finalmente, el orador resume las diferencias entre las predicciones y los valores reales, y el proceso se repite varias iteraciones hasta la convergencia.

  • 00:10:00 En esta sección, el orador analiza cómo entrenar el modelo de regresión lineal y hacer predicciones usando la clase dada. La actualización de pesos y sesgos se realiza restando la tasa de aprendizaje por las derivadas de pesos y sesgos respectivamente. Para realizar múltiples iteraciones de la ejecución del algoritmo, se agrega un bucle for para ejecutar el algoritmo sobre el conjunto de datos. Finalmente, el orador muestra cómo probar la eficiencia del algoritmo de regresión lineal utilizando la función de conjunto de datos de scikit-learn, ajustando una línea que da como resultado un buen rendimiento y calculando el error cuadrático medio para las predicciones. Se encuentra un error de dimensión debido a un cálculo incorrecto del producto escalar, que se rectifica obteniendo la transposición de x.

  • 00:15:00 En esta sección, el presentador corrige un error tipográfico en el código y lo usa para crear un modelo de regresión lineal que predice los valores de y en función de los valores de x de un conjunto de datos determinado. Luego visualizan la línea de predicción y notan que, si bien encaja bien, podría mejorarse. El presentador decide ajustar la tasa de aprendizaje y vuelve a ejecutar el modelo para obtener un mejor ajuste. Comparten el código en GitHub e invitan a los espectadores a hacer preguntas si es necesario.
Machine-Learning-From-Scratch/02 Linear Regression at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
Machine-Learning-From-Scratch/02 Linear Regression at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
  • AssemblyAI-Examples
  • github.com
Implementation of popular ML algorithms from scratch - Machine-Learning-From-Scratch/02 Linear Regression at main · AssemblyAI-Examples/Machine-Learning-From-Scratch