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

 

Mega-R5. Máquinas de vectores de soporte



Mega-R5. Máquinas de vectores de soporte

El video explica las máquinas de vectores de soporte (SVM), que determinan la línea divisoria o los límites de decisión en los datos al encontrar los vectores de soporte que no son los mismos que cualquier otro punto de datos. También incluye el uso de funciones del kernel que permiten que el kernel calcule el producto escalar sin manipular directamente los vectores. El profesor aclara el objetivo de encontrar los Alphas que proporcionen la mejor W para el camino más ancho y cómo W es el límite de decisión para SVM. Los estudiantes preguntan sobre la intuición detrás de SVM, y la optimización basada en Alphas crea el camino más ancho para una mejor clasificación de datos. SVM Kernel también ayuda a optimizar el proceso, haciéndolo más eficiente.

  • 00:00:00 En esta sección, el orador presenta las máquinas de vectores de soporte (SVM) y afirma que son una de las cosas más difíciles de aprender en el curso. Sin embargo, explica que ahora hay algunos atajos disponibles que pueden ayudar a resolver algunos problemas sin tener que lidiar con grandes y complejos conjuntos de ecuaciones. El problema en cuestión requiere vectores de soporte circulares, dibujar los bordes de la calle, ilustrar la línea punteada en el medio y dar tanto W como B. Luego, el orador explica las ecuaciones importantes en SVM y cómo encontrar la línea punteada usando dos coeficientes. y una ecuación lineal, donde W1 y W2 son dos coeficientes y X1 y X2 son dos componentes del vector X.

  • 00:05:00 En esta sección, el video analiza la ecuación de una línea en coordenadas cartesianas y cómo se relaciona con la ecuación W punto X más B es igual a 0 en máquinas de vectores de soporte. El video explica que los alfas se usan para determinar la importancia de cada punto para crear el límite, y que los alfas positivos son iguales a los alfas negativos. El video también proporciona ecuaciones para usar al resolver W y B, y menciona que los vectores de soporte son importantes para determinar la solución. El presentador aclara que los vectores de soporte son vectores en las líneas de límite, y el objetivo es rodearlos.

  • 00:10:00 En esta sección, el disertante aborda la cuestión de qué es un vector de soporte y aclara que en problemas más complejos, donde hay numerosas dimensiones, los vectores se usan para representar los puntos de datos cuando no se pueden graficar en dos. -plano dimensional. El orador explica que los vectores de soporte son los puntos que unen el hiperplano y se encuentran tratando de tener el espacio más amplio posible entre los puntos de datos positivos y negativos. Además, el orador señala que a veces el tercer vector de soporte puede no existir, e ilustran su punto con un ejemplo de un par de puntos en un plano.

  • 00:15:00 En esta sección, el orador explica cómo encontrar W y B en una máquina de vectores de soporte. En lugar de utilizar el antiguo método de insertar puntos en una ecuación, el orador introduce una estrategia económica al convertir la ecuación en la forma y = mx + b. Al establecer y = x - 1, el hablante muestra cómo se puede usar para encontrar una nueva ecuación y = -w1/w2 - b/w2. Usando esta forma, el hablante muestra que hay infinitas ecuaciones posibles y que w1/w2 es un múltiplo escalar de -1 y B/w2 es un múltiplo escalar de 1.

  • 00:20:00 En esta sección, el orador analiza cómo determinar el valor de K para calcular W1, W2 y B para una máquina de vectores de soporte. La magnitud de W se puede calcular usando la raíz cuadrada de la suma de los componentes al cuadrado, que es igual a la raíz de 2 sobre 4. Dado que la relación de W1 y W2 es igual a menos 1, cuando se eleva al cuadrado, W1 al cuadrado es igual a W2 al cuadrado. Por lo tanto, utilizando esta fórmula, se calcula que W1 es 1/4 negativo, y dado que W1 es negativo, W2 y B son iguales a 1/4 positivo. El orador también sugiere que los valores alfa más y alfa menos son iguales según una ecuación.

  • 00:25:00 En esta sección, el orador continúa trabajando a través de ejemplos de máquinas de vectores de soporte. El hablante señala que en el ejemplo número dos, se ha agregado un signo menos adicional. Continúan explicando cómo determinar el vector de soporte dado este nuevo signo negativo. Se muestran los cálculos para determinar la distancia y se encuentra que la magnitud de W es raíz de 2 sobre 3. El hablante señala que los alfas tardan más en calcularse en este ejemplo debido a la adición de nuevos puntos, pero se logra la respuesta final .

  • 00:30:00 En esta sección, la atención se centra en el uso de máquinas de vectores de soporte en un vector unidimensional, lo que hace que una línea de base lineal no sea adecuada para la clasificación de los datos. Para resolver este problema, se utiliza una función del núcleo para llevar los datos a una nueva dimensión. La función normalmente se llama Phi, y cuando se aplica al vector X, lo lleva a esta nueva dimensión. En esta nueva dimensión, se puede dibujar una línea recta para clasificar los datos. El inventor de las SVM se dio cuenta de que no hay necesidad de trabajar con la función Phi, incluso si es un monstruo terrible, ya que el kernel se puede usar para calcular el producto escalar entre dos vectores en la nueva dimensión sin calcular explícitamente Phi.

  • 00:35:00 En esta sección, el orador explica cómo usar una función kernel para encontrar el producto escalar de dos vectores en un espacio regular, lo que elimina la necesidad de usar directamente los vectores mismos. Al colocar los vectores X y Z en el núcleo, la función resultante devolverá Phi de X punteado con Phi de Z, que reemplaza el producto escalar de los dos vectores. El orador da un ejemplo de una función kernel y desafía a la audiencia a encontrar la función Phi correspondiente para resolver el cuestionario. El orador también señala que, aunque calcular alfas para SVM puede ser complicado, usar la función kernel es un atajo útil para eliminar la necesidad de manipulación directa de vectores.

  • 00:40:00 En esta sección, el orador analiza la representación gráfica de puntos en una nueva dimensión utilizando sus valores de coseno y seno. Se muestran las ventajas y desventajas, así como sus respectivos valores de coseno y seno. Hay tres puntos en el segundo cuadrante y tres puntos en el tercer cuadrante. Luego, el orador analiza la distinción entre dos negativos y cómo ubicar los vectores de soporte, que resultan ser los puntos negativo y positivo en la bisectriz perpendicular. Los dos puntos negativos están en la misma línea y están encerrados en un círculo en lugar de estar en lados opuestos de la bisectriz.

  • 00:45:00 En esta sección, el profesor explica la idea detrás de los vectores de soporte y su uso en SVM. Aclara que un vector de soporte no es lo mismo que cualquier otro punto de datos, y la línea divisoria o los límites creados por SVM están determinados por estos vectores. En los datos de prueba, la línea punteada es el límite de decisión para SVM. El algoritmo optimiza Alphas comprobando matemáticamente la combinación de Alphas que dan la mejor W para la carretera más ancha. Los estudiantes cuestionan la intuición detrás de SVM, y el profesor explica que W es el límite de decisión, y la optimización basada en Alphas crea el camino más amplio para clasificar los datos de una mejor manera. El SVM Kerne también ayuda a optimizar el proceso de optimización, haciéndolo más fácil y eficiente.
 

Mega-R6. impulsar



Mega-R6. impulsar

En el vídeo "Mega-R6. Boosting", el ponente explica el concepto de boosting en machine learning y demuestra el proceso de selección de los clasificadores correctos para minimizar errores. Dan un ejemplo de identificación de vampiros en función de ciertas cualidades y discuten cómo elegir los clasificadores más efectivos. Los clasificadores seleccionados se utilizan para crear un clasificador final que se aplica a los puntos de datos para determinar cuántos se clasifican correctamente. El orador también enfatiza que elegir cuándo detener el proceso es importante y reconoce que lograr una precisión completa no siempre es factible.

  • 00:00:00 En esta sección, el ponente analiza el concepto de impulso en el aprendizaje automático, que involucra una serie de clasificadores diferentes. El problema utilizado como ejemplo consiste en identificar vampiros en función de varias cualidades, como maldad, emo, brillo y número de intereses románticos. La clave para impulsar es que para cualquier clasificador posible, siempre que no sea una división 50/50 de los datos, se puede usar de alguna manera para crear un clasificador superior. Además, el orador señala que en realidad hay más clasificadores que los enumerados, ya que muchos de ellos tienen versiones opuestas que se ignoran para este problema en particular.

  • 00:05:00 En esta sección, el orador explica cómo una división 50/50 para impulsar es inútil, ya que es tan buena como lanzar una moneda. Sin embargo, en algunos casos, un clasificador peor que 50/50 sigue siendo mejor que un clasificador 50/50. Las rondas posteriores de impulso requieren cambiar los pesos de cada punto de datos, y el clasificador que se desempeñe mejor será el que obtenga el mayor peso correcto. Aunque los clasificadores que obtienen menos de la mitad del peso correcto suelen estar bien, el orador recomienda usar sus inversos para obtener más de la mitad del peso correcto.

  • 00:10:00 En esta sección, el orador revisa cada clasificador y descubre qué puntos de datos están mal clasificados. Con la suposición de que todas las cosas malvadas son vampiros y todas las cosas no malvadas no son vampiros, determinan que se equivocan con los ángeles, Edward Cullen, Saya Otonashi y Lestat de Lioncourt cuando el mal es igual a no. Se aplica una lógica similar a los personajes emo y los personajes transformadores. Sin embargo, cuando brillante es igual a sí, se equivocan en uno, dos, cuatro, cinco, seis, siete y ocho, y cuando el número de intereses románticos es mayor que dos, se equivocan en Searcy y Edward Cullen. Cuando se trata de que el número de intereses románticos sea superior a cuatro, ningún personaje entra en esa categoría, por lo que ninguno está mal clasificado.

  • 00:15:00 En esta sección del video, el orador analiza la clasificación de los vampiros y qué clasificadores probablemente sean incorrectos. El orador señala que hay ciertos clasificadores positivos que inevitablemente conducirán a clasificadores negativos incorrectos. Luego, el hablante enumera varios clasificadores y afirma que en sus sueños más locos, las personas solo usarían seis de ellos. El orador solicita la opinión de los espectadores sobre qué clasificadores cree que son útiles y marca con un círculo los que considera que vale la pena usar. Los clasificadores que se consideran útiles son aquellos que solo se equivocan en unos pocos, como los clasificadores E y F.

  • 00:20:00 En esta sección, el orador explica el proceso de selección de los seis puntos de datos correctos para impulsar en Mega-R6. Un punto clave es que, si bien hay muchos puntos de datos diferentes para elegir, algunos de ellos son estrictamente mejores que otros. Por ejemplo, el punto de datos F siempre es peor que E, por lo que nunca debe elegirse. El orador también señala que al seleccionar los seis puntos de datos, es importante elegir aquellos que no tengan un subconjunto estricto de las mismas respuestas incorrectas. El proceso de selección de los seis puntos de datos requiere una cuidadosa consideración del peso de cada punto de datos para minimizar el error.

  • 00:25:00 En esta sección del video, el presentador analiza el proceso de impulso y cómo seleccionar los mejores clasificadores para la tarea. Explica cómo tachar los clasificadores inútiles y cómo elegir los que minimizan el error. Luego, el presentador pasa a demostrar el proceso de impulso, comenzando por ponderar los diez puntos de datos por igual y seleccionando el clasificador E como el mejor. Luego, el error se calcula en un quinto y el proceso continúa desde allí.

  • 00:30:00 En esta sección del video, el presentador explica cómo acertar todas las decisiones que toma un clasificador. Este proceso implica cambiar los pesos de cada decisión para que sean 1/2 para las correctas y 1/2 para las incorrectas. El presentador describe un método para automatizar este proceso, que implica volver a escribir los pesos de una manera que facilite sumarlos y elegir la mejor decisión. En este ejemplo, se elige la decisión con la menor cantidad de error.

  • 00:35:00 En esta sección, el orador analiza el proceso de determinar el mejor clasificador en el juego de impulso Mega-R6. La transcripción incluye cálculos que involucran la suma de los números dentro y fuera de los círculos y el proceso de cambiar los números en el círculo para que sea más fácil determinar el mejor clasificador. El orador afirma que es importante ignorar las rondas anteriores y solo considerar los pesos actuales al determinar un clasificador. El orador también explica que los clasificadores no se pueden usar dos veces seguidas y analiza el motivo de esta característica de diseño. Se determina que el mejor clasificador es A porque tuvo el menor número de respuestas incorrectas.

  • 00:40:00 En esta sección de la transcripción, el orador explica cómo calcular el clasificador final usando el método de impulso. El clasificador final es una combinación de los clasificadores ponderados que se usaron para crearlo. Luego, el orador aplica el clasificador final a diez puntos de datos para determinar cuántos se clasifican correctamente, utilizando un simple voto para determinar el resultado. Un punto de datos, Edward Cullen de Crepúsculo, es incorrecto porque dos de los tres clasificadores no lo clasificaron como vampiro.

  • 00:45:00 En esta sección del video, el orador analiza varios personajes como malvados, emo o vampiros en función de sus características e intereses amorosos, y la precisión de un algoritmo de refuerzo para clasificarlos. La discusión conduce a una pregunta sobre el uso de múltiples clasificadores para hacer que el proceso de clasificación sea más rápido, lo que el orador explica que es correcto hasta cierto punto, pero requiere pasar por una mayor cantidad de clasificadores. El orador también enfatiza que el proceso de convergencia para que todo esté correcto no siempre es fácil y puede requerir que se detenga después de un cierto número de rondas.
 

Mega-R7. Near Misses, Arch Learning



Mega-R7. Near Misses, Arch Learning

En el video, se introduce el concepto de aprendizaje cercano a la falla, que implica aprender sobre diferentes tipos de fuentes de luz y sus características. El enfoque de Arch Learning utiliza seis heurísticas para refinar un modelo, incluido el enlace obligatorio, el enlace prohibido, el árbol trepador, el conjunto extendido, el intervalo cerrado y el enlace descartado. El video analiza varias técnicas utilizadas en el aprendizaje automático, como conjunto extendido, árbol de escalada, intervalo cerrado y enlace de caída. Los oradores también hablan sobre cuestiones relacionadas con la fragilidad y la vulnerabilidad del modelo Arch Learning al ordenamiento, lo que lleva a reacciones inconsistentes ante información contradictoria. El video también analiza el concepto de generalización del Mega-R7 y cómo se diferencia de los modelos anteriores. Además, se analizan las compensaciones entre el aprendizaje irlandés y el aprendizaje reticular en términos de su capacidad para expresar subconjuntos de información, así como la enseñanza del sistema utilizando múltiples modelos con diferentes detalles de implementación.

  • 00:00:00 En esta sección, se introduce el concepto de Near-Miss Learning Tree, que implica aprender sobre diferentes tipos de fuentes de luz y sus características. El modelo de partida es una bombilla incandescente con una base plana y una pantalla, alimentada por electricidad. El enfoque de aprendizaje de arco implica el uso de seis heurísticas, que incluyen enlace obligatorio, enlace prohibido, árbol trepador, conjunto extendido, intervalo cerrado y enlace descartado. Requerir vínculo convierte en requisito una característica previamente irrelevante, y prohibir vínculo prohíbe una característica. Estas heurísticas ayudan a refinar el modelo al hacer que ciertas características sean necesarias o innecesarias, y pueden ayudar a identificar escenarios de cuasi accidentes.

  • 00:05:00 En esta sección, el orador analiza varias técnicas utilizadas en el aprendizaje automático, incluido el conjunto extendido, el árbol trepador, el intervalo cerrado y el enlace de caída. La técnica de conjunto extendido consiste en crear un conjunto de ejemplos positivos pero prohibiendo ciertos elementos para ahorrar espacio. La técnica de trepar al árbol sube por el árbol para crear un modelo más generalizado, mientras que el intervalo cerrado cubre todo el intervalo para que sea aceptable. La técnica de soltar un enlace permite que el sistema sea parco al soltar un enlace si todos los elementos son aceptables. Luego, el orador repasa el uso de cada técnica y destaca la importancia del conocimiento en el aprendizaje automático para hacer que el modelo acepte más nuevos ejemplos y acelerar el tiempo del cuestionario.

  • 00:10:00 En esta sección, el video analiza la idea de un generalizador y cómo puede extenderse a ejemplos positivos o ampliarse para intervalos cortos. Sin embargo, si hay un ejemplo negativo, puede complicar el sistema y es posible que la implementación deba ajustarse. Luego, el video proporciona un ejemplo de una lámpara y cómo se puede adaptar el modelo usando la heurística del generalizador para generalizar el intervalo cuando hay un ejemplo positivo. Si hay un ejemplo negativo, es posible que la implementación deba usar el enfoque de drop-link para que el sistema funcione de manera efectiva.

  • 00:15:00 En esta sección del video, los oradores discuten algunos problemas relacionados con el modelo Arch Learning, que es un tipo de modelo de aprendizaje automático que se desarrolló en la década de 1960. Describen cómo el sistema es frágil y particularmente vulnerable a los pedidos, lo que significa que el orden en que se presentan los datos puede tener un gran impacto en la capacidad de aprendizaje del sistema. Además, explican cómo el sistema puede ser inconsistente y reaccionar mal ante información contradictoria. Los oradores también explican un tipo alternativo de aprendizaje llamado aprendizaje reticular, que almacena todos los ejemplos que ha visto y los compara y contrasta con nuevos ejemplos, lo que le permite identificar patrones y refinar su comprensión de un tema.

  • 00:20:00 En esta sección, el video aborda el concepto de arch learning, un sistema que intencionalmente no recuerda cosas para buscar elegancia y simplicidad. Esta sección compara la idea con un bebé que no puede hablar sobre un bloque con el que jugó anteriormente, ya que no almacena ni recuerda todo lo que ha experimentado. Sin embargo, los humanos son buenos maestros y ofrecen ejemplos apropiados de los que una máquina puede aprender. El video también habla sobre cómo generalizar el golpe trepando al árbol en lugar de establecer la extensión para que sea más parsimoniosa, elegante y simple. Finalmente, se discute un ejemplo de lámpara fluorescente, y la heurística utilizada para la generalización es escalar el árbol desde una base plana hasta una base de soporte.

  • 00:25:00 En esta sección, el orador analiza un nuevo modelo para el Mega-R7 y en qué se diferencia de los anteriores. Repasa algunos ejemplos de cuasi accidentes, que son instancias en las que el sistema encuentra entradas que son similares pero no exactamente iguales a las que ha visto antes. El orador explica que estos casi accidentes no requieren ningún cambio en el modelo y que es aceptable dejarlos como están. Además, el ponente aborda una pregunta sobre si un ejemplo negativo, como el fluorescente, se consideraría un casi accidente, a lo que responde que no, porque el sistema no tiene memoria y no sabe que el fluorescente solía ser un ejemplo positivo. .

  • 00:30:00 En esta sección, el orador analiza las compensaciones entre el aprendizaje irlandés y el aprendizaje reticular en términos de su capacidad para expresar subconjuntos de información. El aprendizaje irlandés, aunque no tiene memoria, no puede expresar un subconjunto como aceptable sin ver un ejemplo positivo de él, lo que puede llevar a perder algo de expresividad. Sin embargo, este problema se soluciona en el aprendizaje de celosía, pero tiene su propio conjunto de problemas. El disertante también destaca cómo enseñar el sistema, como presentar múltiples modelos que cumplan con el requisito de tener base de apoyo mientras usan diferentes focos y fuentes de energía eléctrica. Es necesario preguntar y aclarar los detalles de la implementación, ya que elegir uno u otro podría generar resultados diferentes.
 

AlphaGo - La película | Documental completo premiado



AlphaGo - La película | Documental completo premiado

Un documental sobre el desarrollo del programa informático AlphaGo, que está diseñado para vencer a los jugadores humanos en el juego de Go. La película sigue la victoria del programa sobre un jugador humano campeón mundial en un partido de cinco juegos. Algunos espectadores sienten que la victoria de AlphaGo puede presagiar el fin de la raza humana tal como la conocemos, ya que las máquinas se vuelven cada vez mejores en la realización de tareas cognitivas.

  • 00:00:00 Este video trata sobre AlphaGo, un programa de computadora que venció a un jugador humano campeón mundial en el juego de Go. El video describe el significado de la victoria de AlphaGo y muestra imágenes de la computadora jugando contra un jugador humano. La compañía detrás de AlphaGo, DeepMind, quiere invitar al jugador de Go más fuerte del mundo, Demyster Harbis, a visitar sus oficinas en Londres para ver el proyecto en acción. Si estás interesado en asistir, ¡te lo agradecerán mucho!

  • 00:05:00 AlphaGo, un programa informático desarrollado por DeepMind, derrota al jugador profesional de Go Lee Sedol en una partida de cinco partidas. El documental sigue los esfuerzos del equipo para desarrollar y entrenar el programa y el partido en sí.

  • 00:10:00 AlphaGo, un programa informático desarrollado por Google, derrota al campeón europeo de Go, Lee Sedol, en una partida de cinco partidas. El documental sigue el desarrollo de AlphaGo y los preparativos para el partido. A pesar del escepticismo inicial, el público está muy impresionado por el desempeño de AlphaGo, y algunos incluso lo anuncian como una señal del fin del dominio humano en el campo de la inteligencia artificial.

  • 00:15:00 AlphaGo, un programa de computadora diseñado para vencer a campeones humanos en el juego de Go, fue derrotado públicamente por un jugador humano, Lee Sedol, en un partido celebrado la semana pasada. El video analiza la importancia de la pérdida, así como los esfuerzos continuos del equipo de AlphaGo para mejorar su sistema.

  • 00:20:00 AlphaGo, un programa de computadora que se dice que es "el mejor jugador de Go del mundo", se enfrenta a un jugador humano profesional en una partida de cinco partidas. Fanway es un asesor del equipo y ayuda a mejorar su estrategia.

  • 00:25:00 AlphaGo se enfrentará mañana al jugador profesional de go de Corea del Sur, Lee Sedol, en un partido histórico. El documental sigue al equipo mientras se preparan para el juego y analiza sus expectativas.

  • 00:30:00 AlphaGo, un programa de computadora que derrotó a un campeón humano en un juego de mesa, es el tema de un documental completo ganador de premios. El documental sigue el desarrollo del programa y su exitoso enfrentamiento contra un oponente humano.

  • 00:35:00 AlphaGo, un programa informático desarrollado por Google, derrota a un jugador humano campeón mundial en una partida de cinco partidas. El éxito del programa es una sorpresa para muchos, al igual que su capacidad para aprender de su experiencia.

  • 00:40:00 AlphaGo, un programa informático desarrollado por DeepMind, derrotó a un jugador profesional de Go en una partida de cinco partidas. El programa de computadora fue desarrollado por humanos y se considera un gran avance en la investigación de inteligencia artificial.

  • 00:45:00 AlphaGo, un programa de computadora diseñado para derrotar a un jugador profesional humano en un juego de Go, sorprendió a los observadores con su desempeño en el segundo juego del Google DeepMind Challenge. La red de políticas, la red de valor y la búsqueda en árbol de la IA fueron muy eficaces para predecir el mejor movimiento para la situación del juego en cuestión, lo que llevó a la victoria de AlphaGo.

  • 00:50:00 AlphaGo, un programa informático desarrollado por Google, ganó un partido de campeonato contra un jugador humano de renombre mundial. El documental examina el partido y el significado de la victoria de AlphaGo.

  • 00:55:00 AlphaGo ganó dos de tres juegos contra un jugador humano campeón mundial, pero la tristeza y la sensación de pérdida entre la audiencia es palpable. AlphaGo es solo un programa de computadora, pero los comentaristas se refieren a él como si fuera un ser consciente y se preocupan por las implicaciones de su creciente poder.
 

Deepmind AlphaZero - Dominar juegos sin conocimiento humano



Deepmind AlphaZero - Dominar juegos sin conocimiento humano

El video explora el desarrollo de la arquitectura de aprendizaje de refuerzo profundo de DeepMind, AlphaZero, que utiliza una política unificada y una red de valores para tener éxito en juegos con enormes espacios de estado sin datos humanos previos. El algoritmo de AlphaZero implica entrenar una red neuronal para predecir la acción elegida por una búsqueda de árbol de Monte Carlo completa, destilando conocimiento iterativamente para generar jugadores más fuertes con el tiempo. El algoritmo mostró impresionantes curvas de aprendizaje, superando a las versiones anteriores en solo unas pocas horas de entrenamiento y mostrando una notable escalabilidad a pesar de evaluar menos posiciones que los motores de búsqueda anteriores. El video también analiza la capacidad de AlphaZero para combinar lo mejor de los enfoques humanos y automáticos al tiempo que muestra el potencial para el aprendizaje por refuerzo de propósito general.

  • 00:00:00 En esta sección del video, David habla sobre AlphaGo, la versión original de la arquitectura de aprendizaje de refuerzo profundo de DeepMind que pudo derrotar a un jugador profesional humano y campeón mundial. AlphaGo utiliza dos redes neuronales convolucionales: una red de políticas, que recomienda movimientos para jugar en función de una distribución de probabilidades, y una red de valores, que predice el ganador del juego. Las redes se entrenan a través del aprendizaje supervisado y el aprendizaje de refuerzo en un conjunto de datos humanos y juegos contra sí mismo. El éxito de AlphaGo en el juego de Go demuestra el potencial de los enfoques basados en el aprendizaje automático y la inteligencia artificial para tener éxito en juegos con enormes espacios de estado.

  • 00:05:00 En esta sección, el orador analiza la canalización de capacitación de AlphaGo y cómo utiliza la red de políticas y la red de valor para hacer que la búsqueda sea más manejable dada la inmensidad de la cuenca de búsqueda en el juego de Go. La red de políticas sugiere movimientos para reducir la amplitud del árbol de búsqueda, mientras que la red de valor predice el ganador del juego desde cualquier posición para reducir la profundidad de la búsqueda. Esto permite que el algoritmo busque eficientemente a través de partes importantes del árbol utilizando la búsqueda de árbol de Monte Carlo, que expande de manera efectiva un gran árbol de búsqueda de manera selectiva al considerar solo las partes más relevantes. Esto condujo al desarrollo de AlphaGo Master, que se entrenó con redes más profundas y más iteraciones de aprendizaje por refuerzo, ganando 60 juegos a cero contra los mejores jugadores humanos del mundo.

  • 00:10:00 En esta sección, el orador describe el desarrollo de AlphaGo Zero, que aprende a jugar el juego de Go sin ningún dato humano previo, en lugar de comenzar con juegos completamente aleatorios y usando solo las reglas del juego. AlphaGo Zero se diferencia del AlphaGo original en que no utiliza funciones artesanales, unifica la red de políticas y la red de valor, utiliza una búsqueda más simple sin implementaciones aleatorias de Monte Carlo y tiene un enfoque más simple para reducir la complejidad, lo que conduce a una mayor generalidad, potencialmente aplicable en cualquier dominio. El algoritmo para AlphaGo Zero implica ejecutar una búsqueda de árbol de Monte Carlo utilizando la red neuronal actual para cada posición y jugar el movimiento sugerido, luego entrenar una nueva red neuronal a partir de las posiciones alcanzadas en el juego completo.

  • 00:15:00 En esta sección, el orador explica el proceso del algoritmo AlphaGo Zero, que consiste en entrenar una red neuronal para predecir directamente la acción que fue elegida por todo un Monte Carlo Tree Search (MCTS) para destilar todo el conocimiento. en su comportamiento directo, y entrenando una nueva red de valor para predecir el ganador del juego. El procedimiento se itera para generar un jugador más fuerte cada vez y generar datos de mayor calidad, lo que lleva a un juego cada vez más fuerte. AlphaGo Zero utiliza la mejora de políticas basada en la búsqueda al incorporar su búsqueda en la evaluación de políticas, lo que permite obtener resultados de alta calidad y señales de entrenamiento precisas para las redes neuronales. La curva de aprendizaje muestra que AlphaGo Zero superó las versiones anteriores en solo 72 horas y derrotó a los jugadores humanos por 60 después de 21 días.

  • 00:20:00 En esta sección, el ponente habla sobre las distintas versiones de AlphaGo que se desarrollaron, desde la versión original que derrotó al campeón europeo por cinco juegos a cero hasta AlphaGo Zero, que se entrenó completamente con pesos aleatorios y fue alrededor de 5000 Elo, lo que la convierte en la versión más potente de AlphaGo. La nueva versión, AlphaZero, aplica el mismo algoritmo a tres juegos diferentes: ajedrez, shogi y go. El juego de ajedrez, en particular, ha sido un dominio muy estudiado en IA, siendo el ajedrez informático el dominio más estudiado en la historia de la inteligencia artificial, que culminó en sistemas altamente especializados que actualmente son indiscutiblemente mejores que los humanos.

  • 00:25:00 En esta sección, el orador analiza la complejidad del juego de shogi, que es más difícil de calcular y tiene un espacio de acción más grande e interesante que el ajedrez. Explica que los programas informáticos más potentes para el shogi han alcanzado recientemente el nivel de campeón mundial humano, lo que lo convierte en un caso de estudio interesante para DeepMind. Los motores de última generación tanto para el ajedrez como para el shogi se basan en la búsqueda alfa-beta, que se ha mejorado con una función de evaluación artesanal que ha sido ajustada por grandes maestros humanos durante muchos años, así como una gran cantidad de funciones altamente optimizadas. extensiones de búsqueda Luego, el orador compara los componentes del mejor programa de ajedrez Stockfish con AlphaZero, que literalmente no tiene ninguno de los mismos componentes, reemplazándolos con ideas de principios basadas en el juego por cuenta propia, el aprendizaje por refuerzo y la búsqueda de Monte Carlo. El orador señala que el ajedrez se diferencia del Go en que tiene una invariancia traslacional perfecta, carece de simetría, tiene un espacio de acción más interesante con acciones compuestas y contiene tablas.

  • 00:30:00 En esta sección, el orador analiza las curvas de aprendizaje de los tres juegos: ajedrez, shogi y go. AlphaZero superó al campeón mundial Stockfish en el juego de ajedrez en solo cuatro horas de entrenamiento desde cero, utilizando su misma arquitectura de red y configuración para todos los juegos. AlphaZero derrotó a las versiones anteriores de AlphaGo Zero y al actual campeón mundial Shogi con facilidad después de solo unos cientos de miles de pasos u 8 horas de entrenamiento. La escalabilidad de la búsqueda de árbol de Monte Carlo de AlphaZero se comparó con los motores de búsqueda alfa-beta utilizados en programas anteriores, incluido Stockfish, que evalúa alrededor de 70 millones de posiciones por segundo, mientras que AlphaZero evalúa solo alrededor de 80 mil posiciones por segundo. El orador teoriza que la razón por la que MCTS es tan efectivo, a pesar de evaluar órdenes de magnitud menos posiciones, cuando se combina con aproximadores de funciones profundas como las redes neuronales es que ayuda a cancelar los errores de aproximación que están presentes en la búsqueda, lo que resulta en un mejor rendimiento y escalabilidad Finalmente, AlphaZero también descubrió el conocimiento del ajedrez humano al elegir las 12 aperturas humanas más comunes en el juego de ajedrez.

  • 00:35:00 En esta sección, el orador discute el uso de AlphaZero de aperturas de ajedrez específicas y cómo las jugó durante el juego propio. AlphaZero pasó una cantidad significativa de tiempo jugando estas variaciones, pero finalmente comenzó a preferir diferentes aperturas, descartando algunas que se jugaban con más frecuencia. El orador también menciona el progreso que se está logrando en el uso de los métodos de AlphaZero para el aprendizaje de refuerzo profundo de propósito general, que puede transferirse a otros dominios. Cuanto más especializado es un algoritmo, menos puede adaptarse a otros dominios. Si bien el uso de humanos y máquinas juntos es una perspectiva interesante, el orador enfatiza que AlphaZero juega de una manera más humana que los programas de ajedrez anteriores, lo que indica su capacidad para combinar lo mejor de ambos mundos.

  • 00:40:00 En esta sección, el orador explica que aunque solo incorporaron las reglas del juego como conocimiento humano en AlphaGo Zero, esto incluye la codificación y decodificación básica de acciones. Por ejemplo, en el ajedrez, usaron la representación espacial para codificar la pieza que se levantaba y el plano que se usaba para dejarla. Excluyen los movimientos ilegales del espacio de acción. El orador explica además que no incluyeron barras de error en sus experimentos porque solo realizaron una carrera por juego. Sin embargo, han realizado múltiples experimentos y los resultados son muy reproducibles.
 

AlphaGo: cómo la IA dominó el juego de mesa más difícil de la historia



AlphaGo: cómo la IA dominó el juego de mesa más difícil de la historia

El video explora los detalles técnicos de AlphaGo Zero, un sistema de inteligencia artificial que se entrenó completamente a través del juego automático y sin usar conjuntos de datos humanos. El sistema utilizó una arquitectura de red residual y un enfoque de dos investigaciones para predecir el valor y los movimientos fuertes. El video destaca las mejoras realizadas, incluida la capacidad de predecir los resultados del juego y el descubrimiento del sistema y el alejamiento de los movimientos conocidos en Go. Sin embargo, la aplicación del sistema en el mundo real está limitada por la necesidad de un simulador perfecto, lo que dificulta la aplicación del enfoque a otros campos.

  • 00:00:00 En esta sección, se analizan los detalles técnicos de las mejoras de AlphaGo Zero con respecto a las versiones anteriores. El primer cambio importante fue que AlphaGo Zero se entrena completamente a partir del juego automático y no utiliza conjuntos de datos de jugadores humanos profesionales de Go. Tampoco utiliza ninguna de las características previamente creadas a mano para el juego y, en cambio, aprende por completo observando el estado del tablero. La arquitectura de la red se cambió a una arquitectura completamente residual y, en lugar de tener una política y una red de evaluación separadas, ahora se combinan en una sola red grande que hace ambas cosas. Los lanzamientos de Montecarlo fueron reemplazados por un enfoque más simple de dos investigaciones que utiliza la red única para realizar predicciones de valor y generar movimientos sólidos. En general, esto dio como resultado una representación en el tablero de 19 por 19 por 16 números binarios, una red residual y una representación de valores y un vector de políticas que se generan a partir del vector de características.

  • 00:05:00 En esta sección, el video explica cómo se entrenó AlphaGo para realizar buenas jugadas mediante el uso de una arquitectura de red que conduce a altas probabilidades de buenas jugadas y bajas probabilidades de malas. La primera versión de AlphaGo se entrenó mediante el aprendizaje supervisado en un conjunto de datos de movimientos profesionales de Go, seguido de una etapa de ajuste fino mediante el juego automático. Sin embargo, la nueva versión, AlphaGo Zero, no utiliza ningún conjunto de datos y aprende por completo a través del juego automático utilizando una búsqueda de árbol de Monte Carlo que estabiliza el proceso de entrenamiento con pesas. Al explotar el árbol de búsqueda y usar la búsqueda de árbol de Monte Carlo, el sistema puede estimar qué movimientos son fuertes y cuáles no. Finalmente, el video destaca que el proceso es específico para juegos como Go, donde tiene un simulador perfecto, lo que hace que las aplicaciones de este enfoque en el mundo real sean un desafío.

  • 00:10:00 En esta sección, el orador analiza varios gráficos que representan las mejoras realizadas en la arquitectura de red de AlphaGo. Un gráfico muestra la capacidad de la red AlphaGo Zero para predecir el resultado de un juego en función de la posición actual del tablero, con una mejora significativa con respecto a las versiones anteriores. El orador también señala que la transición de una arquitectura convolucional normal a una red residual resultó en una mejora importante. Además, un gráfico muestra cómo AlphaGo Zero descubrió y luego avanzó a partir de movimientos conocidos en el juego de Go. En general, el orador está impresionado con los resultados del equipo de Google DeepMind y alienta a los espectadores a hacer preguntas en la sección de comentarios.
 

AlphaZero from Scratch – Tutorial de aprendizaje automático



AlphaZero from Scratch – Tutorial de aprendizaje automático

00:00:00 - 01:00:00 El video "AlphaZero from Scratch – Machine Learning Tutorial" enseña a los usuarios cómo construir y entrenar el algoritmo AlphaZero usando Python y PyTorch para jugar juegos de mesa complejos a niveles sobrehumanos, con ejemplos dados para Tic -tac-toe y Connect 4. Uno de los componentes clave del algoritmo es la búsqueda del árbol de Monte Carlo, que implica seleccionar la acción más prometedora, expandir el árbol y simular el juego, con los resultados retropropagados para el entrenamiento. El tutorial demuestra la expansión de los nodos durante el algoritmo de investigación de Monte Carlo, el proceso de reproducción automática y cómo entrenar el modelo mediante funciones de pérdida que minimizan la diferencia entre la política y la distribución MCTS, y el valor y la recompensa final. El video termina creando un juego de Tic-tac-toe y probándolo a través de un bucle while.

01:00:00 - 02:00:00 En esta sección del tutorial sobre cómo construir AlphaZero desde cero, el instructor demuestra la implementación del algoritmo Monte Carlo Tree Search (MCTS) para el juego Tic-tac-toe. El algoritmo se implementa a través de una nueva clase para MCTS que incluye un método de búsqueda que define un bucle de iteraciones repetidas para las fases de selección, expansión, simulación y retropropagación. El video también cubre la implementación de la arquitectura de la red neuronal AlphaZero, que incluye dos encabezados, uno para política y otro para valor, y utiliza una red residual con conexiones de salto. El encabezado de política utiliza una función softmax para indicar la acción más prometedora, mientras que el encabezado de valor brinda una estimación de qué tan bueno es el estado actual. El orador también analiza la implementación del bloque de inicio y la red troncal para la clase ResNet y explica cómo usar el modelo AlphaZero para obtener una política y un valor para un estado determinado en Tic-Tac-Toe.

02:00:00 - 03:00:00 El tutorial "AlphaZero from Scratch" demuestra la construcción del algoritmo AlphaZero a través del aprendizaje automático. El presentador cubre una amplia gama de temas, desde la actualización del algoritmo MCTS, la reproducción automática y los métodos de entrenamiento, hasta mejoras como agregar temperatura a la distribución de probabilidad, disminución de peso y compatibilidad con GPU en el modelo, y agregar ruido al nodo raíz. El tutorial lleva al espectador paso a paso a través de la implementación de estas funciones al mostrar cómo codificar el estado del nodo, obtener políticas y resultados de valor, y ajustar la política usando softmax, movimientos válidos y ruido aleatorio de Dirichlet para agregar exploración mientras asegura acciones prometedoras no se pierden.

03:00:00 - 04:05:00 En este tutorial de YouTube sobre la creación de AlphaZero desde cero mediante el aprendizaje automático, el instructor cubre varios temas, como agregar exploración a la política con un factor de ruido, incorporar compatibilidad con CPU y GPU para entrenar modelos en juegos más complejos, actualizar el código fuente para crear un juego Connect Four, aumentar la eficiencia de la implementación de AlphaZero a través de la paralelización, crear dos nuevas clases en Python para juegos de juego automático, codificar estados para aumentar la eficiencia, implementar el algoritmo Monte Carlo Tree Search para AlphaZero, y entrenando un modelo para Connect Four usando fs0 paralelizado. El tutorial proporciona una guía paso a paso sobre cada tema con un enfoque en la creación de una implementación AlphaZero eficiente y efectiva. El presentador demuestra cómo crear un entorno Connect Four usando el paquete de entornos Kegel, luego ejecuta y visualiza el juego con dos agentes que usan el algoritmo de búsqueda MCTS basado en un modelo AlphaZero entrenado. El presentador también realiza correcciones menores en el código y define al jugador uno como el agente que usa el algoritmo MCTS para predicciones basadas en el modelo entrenado. El tutorial finaliza con el presentador proporcionando un repositorio de GitHub con cuadernos jupyter para cada punto de control y una carpeta de pesos con el último modelo para Tic-tac-toe y Connect Four, expresando interés en hacer un video de seguimiento en Mu Zero si hay alguno. interés en ello.


Parte 1

  • 00:00:00 En esta sección, el tutorial presenta el concepto de AlphaZero, un algoritmo de IA que utiliza técnicas de aprendizaje automático para aprender a jugar juegos de mesa complejos a niveles sobrehumanos. El algoritmo fue desarrollado inicialmente por DeepMind y puede lograr resultados impresionantes en juegos como Go e incluso inventar algoritmos novedosos en matemáticas. El tutorial enseñará a los usuarios cómo construir AlphaZero desde cero usando Python y PyTorch y entrenarlo y evaluarlo en juegos como Tic-tac-toe y Connect 4. El algoritmo tiene dos componentes, auto-juego y entrenamiento, y usa una red neuronal para producir una política y un valor basado en el estado de entrada. Al repetir este ciclo, el algoritmo puede optimizarse para jugar mejor que los humanos.

  • 00:05:00 En esta sección, el video explica la búsqueda del árbol de Monte Carlo, un algoritmo de búsqueda utilizado para la reproducción automática y el algoritmo general. Toma un estado, en este caso, una posición de bloque, y encuentra la acción más prometedora construyendo un árbol hacia el futuro. Cada nodo almacena un estado y un recuento total de victorias logradas al jugar en esa dirección hacia el futuro, así como el recuento total de visitas. La proporción ganadora de los hijos de cada nodo se usa para determinar la acción más prometedora, y esta información se puede usar en un juego real como el tres en raya. Los datos de los nodos se generan recorriendo el árbol en la fase de selección hasta llegar a un nodo hoja que se puede expandir aún más.

  • 00:10:00 En esta sección, el orador analiza las diferentes fases involucradas en Monte Carlo Tree Search (MCTS) para jugar. La fase de selección implica elegir un nodo secundario que tenga una fórmula UCB más alta y que haya sido visitado relativamente pocas veces. La fase de expansión consiste en crear un nuevo nodo y agregarlo al árbol, mientras que la fase de simulación consiste en jugar el juego aleatoriamente hasta llegar a un nodo terminal. En la fase de retropropagación, los resultados obtenidos en la fase de simulación se propagan hacia arriba en el árbol, actualizando el recuento de visitantes y ganadores para cada nodo.

  • 00:15:00 En esta sección del video, el instructor analiza un ejemplo del proceso de búsqueda del árbol de Monte Carlo (MCTS), comenzando con la fase de selección en la que el algoritmo recorre el árbol para elegir el siguiente nodo. Luego pasan a la fase de expansión donde se crea un nuevo nodo, seguida de la fase de simulación donde se toman acciones aleatorias para llegar a un nodo terminal. Luego, el algoritmo verifica si el juego se ganó, se perdió o si se violó una regla. Desde que se ganó el juego, se lleva a cabo la propagación hacia atrás, actualizando el recuento de visitas y victorias para los nodos atravesados durante el proceso MCTS. El proceso se reitera con una nueva fase de selección, y fase de expansión, con la creación de un nuevo nodo y la fase de simulación realizada de nuevo.

  • 00:20:00 En esta sección, el tutorial recorre el proceso de simulación y retropropagación en el algoritmo MCTS usando AlphaZero. El ejemplo presentado en este tutorial muestra una pérdida durante la etapa de simulación. Cuando se propaga hacia atrás, solo aumenta el recuento de visitas y el número total de victorias sigue siendo el mismo desde que la IA perdió el juego durante la simulación. Luego, el tutorial pasa a explicar los procesos de selección y expansión de MCTS usando AlphaZero. El tutorial demuestra cómo calcular el puntaje UCB para cada niño y cómo seleccionar al niño con el puntaje más alto. Luego, el proceso se repite con la IA calculando la fórmula UCB para cada nodo hasta llegar a un nodo hoja, donde tiene lugar la expansión.

  • 00:25:00 En esta sección del tutorial, la atención se centra en cómo cambia la técnica de investigación de Monte Carlo cuando se adapta al algoritmo General AlphaZero. Hay dos cambios críticos que se realizan en el algoritmo. En primer lugar, la póliza que se obtuvo del modelo se incorpora a la fase de selección actualizando la fórmula UCB con la información de la póliza. En segundo lugar, se elimina la fase de simulación y se utiliza el valor obtenido de la red neuronal para retropropagación, junto con la política para la fase de selección. Con estos cambios, la técnica de investigación de Monte Carlo puede mejorar significativamente cuando hay un modelo que entiende cómo jugar el juego.

  • 00:30:00 En esta sección del video "AlphaZero from Scratch – Machine Learning Tutorial", el presentador realiza un cambio menor para expandir las posibles direcciones del aceite durante la fase de expansión, de modo que se puedan crear todos los nodos posibles en lugar de solo uno nuevo nodo. Luego recorren iteraciones en una pizarra para mostrar cómo se adapta la investigación multicolor. Durante la fase de expansión, se crean nuevos nodos llamando a la red neuronal para obtener la política y el valor, y agregando la cantidad de victorias, el recuento de visitas y la información de la política a los nodos. Luego, en el paso de retropropagación, el valor se retropropaga. El presentador menciona la fórmula UCB y señala que la probabilidad de ganar no se puede calcular para los nodos con un recuento de visitas de cero, lo que debe abordarse para evitar un error de división por cero.

  • 00:35:00 En esta sección del tutorial, el orador explica el proceso de expansión de nodos durante el algoritmo de investigación de Monte Carlo. El algoritmo se utiliza para determinar el mejor movimiento para un estado dado en un juego. El orador muestra un ejemplo de cómo se expanden los nodos y cómo se calculan la política y el valor para cada nodo secundario. También se explica el proceso de retropropagación del valor del nuevo nodo secundario al nodo raíz. Luego, el tutorial continúa explicando el proceso de auto-juego, donde un algoritmo juega un juego contra sí mismo, comenzando con un estado en blanco y utilizando la investigación de Monte Carlo para determinar el mejor movimiento basado en la distribución del conteo de visitas de los niños de el nodo raíz.

  • 00:40:00 En esta sección, vemos cómo entrenar el modelo utilizando Monte Carlo Tree Search (MCTS). El objetivo es almacenar toda la información obtenida durante el juego, incluida la distribución de MCTS y la recompensa para cada estado. La recompensa depende del resultado final del juego para el jugador en ese estado. Una vez que hemos recopilado los datos, los usamos para entrenar el modelo usando una función de pérdida que minimiza la diferencia entre la política y la distribución de MCTS y el valor V y la recompensa final Z. Hacemos esto usando retropropagación para actualizar los pesos de la modelo Theta. En general, este proceso ayuda al modelo a comprender mejor cómo jugar el juego y optimizarlo.

  • 00:45:00 En esta sección, el video tutorial sobre cómo construir AlphaZero desde cero usando el aprendizaje automático comienza creando un Jupyter Notebook y construyendo un juego simple de tic-tac-toe con un conteo de filas y columnas, así como un tamaño de acción . Luego, el tutorial escribe métodos para obtener el estado inicial, el siguiente estado después de que se haya realizado una acción y los movimientos legales. La entrada de acción está codificada en un formato de fila y columna para usarse en una matriz NumPy. El código está escrito para ser flexible para resolver diferentes entornos o juegos de mesa, con planes de expandirse a Connect Four.

  • 00:50:00 En esta sección, el YouTuber está escribiendo un método que verificará si un jugador ganó o no después de su movimiento. Comienzan obteniendo la fila y la columna del movimiento y luego determinando el jugador que hizo ese movimiento. Luego, verifican todas las formas posibles de ganar el juego de tres en raya, que son tres en una fila, tres en una columna y dos diagonales, utilizando los métodos np.sum y np.diac. Además, comprueban si hay empate calculando la suma de movimientos válidos y comprobando si es cero. Por último, crean un nuevo método llamado obtener valor y lo terminan que devuelve el valor y verdadero si el juego ha terminado.

  • 00:55:00 En esta sección, el autor escribe un juego de tres en raya y un método de oponente para cambiar el jugador. Prueban el juego ejecutándolo y usan un bucle while. En el ciclo, se imprimen el estado y los movimientos válidos, y se solicita al usuario que ingrese su movimiento. El juego comprueba si la acción es válida y si el juego se ha terminado. Si el juego continúa, el jugador es volteado. Si el valor es igual a uno, el jugador gana, y si ha habido empate, se imprimirá.

Parte 2

  • 01:00:00 En esta sección del tutorial sobre la creación de AlphaZero desde cero mediante el aprendizaje automático, el instructor comienza eligiendo el tres en raya como el juego que se usará con fines de demostración. Se crea una nueva clase para la investigación multicolor (MCTS), que se inicializa con el juego y los hiperparámetros como argumentos. Dentro de esta clase, se define un método de búsqueda con un bucle para iteraciones repetidas de las fases de selección, expansión, simulación y propagación hacia atrás, que finalmente devuelven la distribución del recuento de visitas de los hijos del nodo raíz. Luego, se define una clase para un nodo con atributos como el estado del juego, el padre, la acción realizada, los hijos y el recuento de visitas. El nodo raíz también se define con el juego, los hiperparámetros, el estado inicial y Ninguno para los marcadores de posición padre y acción realizada.

  • 01:05:00 En esta sección, el video recorre el proceso de selección de nodos en el árbol durante el juego en el algoritmo AlphaZero. Se define el método para determinar si un nodo está completamente expandido, usando información sobre el número de movimientos expandibles y si el nodo no está terminado. Durante la fase de selección, el algoritmo selecciona hacia abajo mientras el nodo está completamente expandido. Para la selección, el algoritmo recorre todos los elementos secundarios del nodo, calcula la puntuación UCB para cada elemento secundario y luego elige el elemento secundario con la puntuación UCB más alta. La puntuación UCB se calcula utilizando el valor Q, una C constante para exploración o explotación y una función logarítmica. El valor Q se define como la suma de visitas del niño dividida por su recuento de visitas, con ajustes realizados para garantizar que el valor Q se encuentre entre un rango de 0 y 1.

  • 01:10:00 En esta sección, el video tutorial cubre el proceso de selección de AlphaZero. El código selecciona a un niño que tiene un valor muy negativo o bajo, ya que elegirlo pondrá al oponente en una mala situación. El valor Q del hijo se invierte para dar al padre un valor Q que es casi 1. De esta manera, el árbol se trabaja de tal manera que el hijo está en una mala posición. El vídeo repasa los pasos para implementar estos cambios en el código y explica la importancia de comprobar si el nodo finalmente seleccionado es terminal o no. Además, se agrega un nuevo método para tener en cuenta la perspectiva del juego en el atributo de obtención de valor.

  • 01:15:00 En esta sección del tutorial sobre la creación de AlphaZero desde cero mediante el aprendizaje automático, el instructor explica cómo verificar si un nodo es terminal, retropropagarlo y realizar expansión y simulación. Al muestrear un movimiento expandible fuera de los definidos, se crea un nuevo estado para un elemento secundario y se agrega un nuevo nodo a la lista de elementos secundarios para referencia posterior dentro del método de selección. El instructor también analiza la idea de cambiar de estado para cambiar a los jugadores en lugar de definirlos explícitamente, simplificando la lógica para los juegos de un solo jugador y asegurando que el código sea válido.

  • 01:20:00 En esta sección, el orador crea un nodo secundario para el juego Tic-Tac-Toe y explica el método de cambio de perspectiva. Establecen al jugador como -1 para el oponente y usan la multiplicación para cambiar la perspectiva. Después de crear el nodo secundario, lo agregan a la lista de elementos secundarios y lo devuelven. Luego, el orador continúa discutiendo el proceso de simulación, donde usan despliegues para realizar acciones aleatorias hasta que se alcanza un nodo terminal y se obtiene el valor. Usan el valor obtenido para propagar hacia atrás los nodos donde el jugador del nodo ganó para ser más prometedor.

  • 01:25:00 En esta sección del video, el presentador continúa construyendo el algoritmo Monte Carlo Tree Search (MCTS) para el programa de juegos AlphaZero. Muestran cómo usar el estado sin procesar actual para elegir una acción, obtener el siguiente estado y verificar si ese estado es terminal. El presentador escribe una declaración if para diferenciar entre el jugador uno o el jugador dos que reciben un valor positivo cuando ganan el juego, y luego procede a escribir el método de propagación hacia atrás para actualizar el valor y el recuento de visitas para cada nodo. Finalmente, el presentador crea una variable que calcula la probabilidad de las acciones más prometedoras, action_props.

  • 01:30:00 En esta sección, el tutorial en video muestra cómo implementar un algoritmo independiente de búsqueda de árbol de Monte Carlo (MCTS) para el juego Tic-tac-toe. El tutorial demuestra cómo recorrer todos los niños y escribir accesorios de acción para cada niño. El conteo de visitas de cada niño se usa para convertirlas en probabilidades. Luego, la suma de las probabilidades se divide por 1 para convertirlas en probabilidades. A continuación, se crea el objeto MCTS y se usa la raíz cuadrada de 2 para el valor C en la fórmula UCB. El script se prueba contra el juego y el algoritmo se prueba con el estado neutral. A continuación, se utiliza el árbol MCTS, junto con la mejor función secundaria, para devolver el elemento secundario que se ha visitado más veces.

  • 01:35:00 En esta sección, se analiza la arquitectura de la red neuronal para el algoritmo AlphaZero. El estado dado como entrada a la red neuronal es una posición del tablero codificada en tres planos diferentes para jugador positivo uno, jugador negativo uno y campos vacíos. Esta codificación permite reconocer patrones y comprender cómo jugar el juego. La arquitectura de red neuronal utilizada es una red residual con conexiones de salto para almacenar el valor X inicial y dar la salida como la suma de la salida de los bloques convolucionales y el valor X inicial. El modelo se divide en dos partes, la cabeza de política y la cabeza de valor, y para el caso del tic-tac-toe, hay nueve neuronas en la cabeza de política, una para cada acción potencial.

  • 01:40:00 En esta sección, el ponente explica la arquitectura de la red neuronal AlphaZero desde cero. La red tiene dos "jefes", uno para la política y otro para el valor. El encabezado de la política tiene nueve neuronas, y la salida se aplica con una función soft-max para convertirla en una distribución de probabilidades que indique qué tan prometedora es una determinada acción. La cabeza de valor tiene solo una neurona y usa la función de activación de 10 h para aplastar todos los valores potenciales en el rango de negativo a positivo, dando una estimación de qué tan bueno es el estado actual. El código se construye dentro de un cuaderno Jupyter utilizando el marco de aprendizaje profundo PyTorch. El modelo incluye un bloque de inicio y una columna vertebral de bloques residuales convolucionales, y cada bloque contiene una capa convolucional seguida de dos capas de normalización por lotes y una función de activación de ReLU.

  • 01:45:00 En esta sección, el orador analiza la creación del bloque de inicio para el modelo AlphaZero, que implica la creación de un bloque 2D conf, un bloque de norma por lotes y un bloque de valor. También configuraron una columna vertebral para el modelo utilizando una matriz de bloques de descanso y crearon una clase para bloques de descanso. Los bloques restantes consisten en un bloque conf, un bloque de norma por lotes y otro bloque conf, que se utilizan para actualizar la entrada utilizando conexiones omitidas. El método directo se define para alimentar la entrada a través de los bloques conf y agregar la salida resultante al residual.

  • 01:50:00 En esta sección, el orador repasa el código para crear una red residual (ResNet) para el algoritmo AlphaZero desde cero. Muestran cómo crear la columna vertebral de ResNet al recorrer los bloques residuales para el número especificado de capas ocultas. Luego crean el encabezado de política y el encabezado de valor utilizando nn.secuencial y definiendo las capas en la secuencia. Finalmente, el orador muestra cómo definir el método directo para la clase ResNet pasando la entrada a través del bloque de inicio, recorriendo los bloques residuales y devolviendo la suma al final.

  • 01:55:00 En esta sección, el orador explica cómo usar el modelo AlphaZero para obtener una política y un valor para un estado determinado en Tic-Tac-Toe. Escribe el código para obtener la política y el valor al pasar un estado de tensor a través del modelo y luego aplana la política y obtiene el elemento de valor. También explica la importancia de codificar el estado en el formato correcto y agregar una dimensión de lote al tensor.

parte 3

  • 02:00:00 En esta sección, el orador muestra cómo convertir un tensor de política en un flotante utilizando el método de puntos y luego aplica la función softmax para elegir acciones con la mayor probabilidad. Luego, el orador visualiza la distribución de políticas usando Matplotlib para mostrar dónde jugar. A continuación, el orador establece una semilla para Torch para garantizar la reproducibilidad y actualiza el algoritmo MCTS proporcionando una entrada de modelo ResNet para predecir un valor y una política basada en el estado del nodo hoja. La parte de simulación se elimina y el valor obtenido del modelo se usa para retropropagación.

  • 02:05:00 En esta sección del video, el presentador demuestra cómo codificar el estado del nodo de un juego de tres en raya y convertirlo en un tensor usando torch.tensor para proporcionarlo como entrada al modelo. La política, que consta de logits, debe convertirse en una distribución de probabilidades utilizando torch.softmax. El presentador también explica cómo enmascarar movimientos ilegales utilizando la política y movimientos válidos, y cómo cambiar la escala de las políticas para que representen porcentajes. El valor se extrae del encabezado de valor llamando a value.item(). Además, el presentador muestra cómo usar la política para la expansión y el valor para la propagación hacia atrás en caso de que el nodo sea un nodo hoja.

  • 02:10:00 En esta sección del tutorial en video sobre la creación de AlphaZero desde cero mediante el aprendizaje automático, el orador explica cómo actualizar los métodos de fórmula de expansión y UCB. El método de expansión se actualiza para expandirse inmediatamente en todas las direcciones posibles y almacenar la probabilidad dentro del objeto de nodo para su uso posterior en la fórmula UCB durante la selección. La nueva fórmula UCB utiliza una fórmula diferente a la investigación multicolor estándar y el orador demuestra cómo eliminar el registro matemático y agregar uno al recuento de visitas del niño. Estas actualizaciones permiten el uso del método UCB en un niño que no ha sido visitado antes.

  • 02:15:00 En esta sección, el instructor actualiza el MCTS con una política de derechos de los niños para seleccionar movimientos y lo prueba ejecutando un juego. Luego pasan a construir el algoritmo AlphaZero principal mediante la definición de una clase AlphaZero que incluye un modelo, un optimizador, un juego y otros argumentos. También definen los métodos de entrenamiento y reproducción automática y crean un ciclo que itera a través de múltiples ciclos de reproducción, recopilación de datos, entrenamiento del modelo y prueba nuevamente. El instructor también crea una clase de memoria para almacenar datos de entrenamiento y recorre cada juego autónomo en el ciclo de entrenamiento.

  • 02:20:00 En esta sección del videotutorial, el presentador repasa el código para el bucle de entrenamiento y reproducción automática para AlphaZero. Abarcan cómo extender los nuevos datos obtenidos del método de reproducción automática a la lista de memoria y cómo cambiar el modo del modelo al modo de evaluación para evitar perillas por lotes durante la reproducción. El ciclo de entrenamiento también se detalla con cómo llamar al método de entrenamiento y almacenar los pesos del modelo. Finalmente, se explica el método de reproducción automática, incluida la definición de una nueva memoria, la creación de un estado inicial y el recorrido del juego mientras se verifican los estados de la terminal y se devuelven los datos a la memoria en formato Tuple.

  • 02:25:00 En esta sección, el tutorial en video explica cómo almacenar el estado neutral, los accesorios de acción y la información del jugador en la memoria para usarlos más tarde para recopilar datos de entrenamiento. El tutorial demuestra cómo muestrear una acción de los accesorios de acción utilizando la función random.choice de NumPy y luego jugar en función de esta acción. El video también explica cómo verificar si el estado está terminado o no, y si lo está, cómo devolver el resultado final para cada instancia en la que ha jugado un jugador. Finalmente, el tutorial muestra cómo agregar el estado neutral, los apoyos de acción y el resultado a la variable de memoria y cómo recuperar estos datos más adelante para el entrenamiento.

  • 02:30:00 En esta sección del tutorial "AlphaZero from Scratch", el código se actualiza para hacerlo más general al cambiar los valores negativos a valores percibidos por el oponente para diferentes juegos. La visualización de bucles se mejora mediante el uso del paquete tqdm y las rutas de progreso. La implementación de AlphaZero se prueba creando una instancia de la clase con un modelo resnet, un optimizador Adam y argumentos específicos. El juego Tic-Tac-Toe se usa como ejemplo con 4 bloques de descanso y una dimensión oculta de 64. Se establecen la constante de exploración, el número de búsquedas, las iteraciones, los juegos de juego automático y las épocas, y el modelo se guarda para uso futuro. .

  • 02:35:00 En esta sección del tutorial, el método de entrenamiento se implementa dentro de la implementación de AlphaZero mezclando los datos de entrenamiento y recorriendo toda la memoria en lotes para muestrear un lote de muestras diferentes para el entrenamiento. Los estados, los apoyos de MCTS y las recompensas finales se obtienen de la muestra llamando al método zip para transponer la lista de tuplas a listas de arreglos MP. Estos luego se cambian a arreglos NP, y los objetivos de valor se remodelan para que cada valor esté en su propio subarreglo para una mejor comparación con la salida del modelo.

  • 02:40:00 En esta sección del tutorial, el creador del video analiza cómo convertir el estado, los objetivos de política y los objetivos de valor en tensores, utilizando torch.float32, para obtener la política de salida y el valor de salida del modelo mediante permitiéndole predecir el estado. Continúan definiendo la pérdida de la política y la pérdida de valor, que utilizan para calcular la suma de ambas pérdidas para minimizar la pérdida total a través de la propagación hacia atrás. Luego, demuestran el proceso de capacitación utilizando un tamaño de lote predeterminado de 64, con barras de progreso que muestran las iteraciones del proceso de capacitación. Después de entrenar el modelo durante 3 iteraciones, cargan el modelo estático para probar lo que la red neuronal ha aprendido sobre el juego.

  • 02:45:00 En esta sección del video tutorial, el presentador demuestra cómo usar el modelo de red neuronal para jugar un juego y probar su capacidad para predecir dónde hacer movimientos. Al ejecutar una simulación en la búsqueda MCTS, el modelo puede proporcionar una distribución de dónde jugar y una predicción de valor para el estado dado. El presentador también agrega compatibilidad con GPU al algoritmo para que sea más rápido durante el entrenamiento y las pruebas. El presentador muestra cómo declarar el dispositivo y pasarlo al modelo como argumento para usar una GPU Nvidia si está disponible. Además, el modelo se mueve al dispositivo durante el juego automático y el entrenamiento para optimizar la velocidad.

  • 02:50:00 En esta sección, el orador analiza varios ajustes que se pueden agregar a AlphaZero para mejorar su rendimiento. Primero, agregan disminución de peso y compatibilidad con GPU al modelo. A continuación, introducen el concepto de temperatura, que permite una distribución de probabilidades más flexible a la hora de muestrear acciones. Una temperatura más alta conduce a una mayor exploración, mientras que una temperatura más baja conduce a una mayor explotación. Finalmente, el orador sugiere agregar ruido a la política inicial dada al nodo raíz durante la investigación de Monte Carlo. Estos ajustes pueden mejorar significativamente los resultados del algoritmo AlphaZero.

  • 02:55:00 En esta sección del tutorial sobre la construcción de AlphaZero desde cero a través del aprendizaje automático, el enfoque está en agregar ruido al nodo raíz para incorporar la aleatoriedad y explorar más mientras se asegura que no se pierda ninguna acción prometedora. Esto se logra obteniendo primero una política y un valor llamando a save.model y usando torch.tensor y el dispositivo del modelo para el estado. Luego, la política se modifica con softmax y se multiplica con movimientos válidos para enmascarar movimientos ilegales. El ruido aleatorio de Dirichlet se agrega a la política multiplicando la política anterior por un coeficiente menor que uno y sumando este coeficiente con otro coeficiente multiplicado por el ruido aleatorio. De esta manera, la política se cambia para permitir una mayor exploración, especialmente al principio, cuando el modelo no sabe mucho sobre el juego.

parte 4

  • 03:00:00 En esta sección, el tutorial en video se enfoca en agregar exploración a la política mediante el uso de un factor de ruido. Al modificar la política, el bot puede priorizar acciones que no se han seleccionado a menudo al aumentar la exploración. El video describe cómo ajustar la ecuación para la política y usar el valor Alpha como entrada para la función de dirichlet NP dot random dot, que cambia la forma en que se ve la distribución aleatoria en función de la cantidad de acciones diferentes en el juego, por lo que Alpha podría cambiar dependiendo del entorno. La política de expansión del nodo raíz también se describe, asegurando que el nodo se propague hacia atrás (conteo de visitas establecido en uno) al momento de la expansión, de modo que el anterior esté de acuerdo con la selección del niño al comienzo de la investigación de Monte Carlo.

  • 03:05:00 En esta sección del tutorial, el instructor agrega compatibilidad con CPU y GPU para entrenar modelos en juegos más complejos como Connect Four. Definen un dispositivo usando torch.device() y verifican si torch.cuda.is_available() para decidir si usar una CPU o un dispositivo CUDA. También agregan el dispositivo a la pila de estados tensoriales y a la carga del archivo estático. El instructor entrena y prueba el modelo en Tic-Tac-Toe y muestra que el modelo ha aprendido a reconocer movimientos ilegales. Luego definen el juego de Connect Four con el número de filas, el número de columnas y el tamaño de la acción.

  • 03:10:00 En esta sección, el videotutorial explica cómo actualizar el código fuente para crear un juego Connect Four. El juego se inicializa con una matriz en blanco y un punto guardado en una variable de fila de cuatro para la cantidad de piedras necesarias para ganar. El método obtener el siguiente estado se actualiza para recuperar una fila mirando una columna dada y luego encontrando el campo vacío más profundo en esa columna para colocar una piedra. El método de obtención de movimientos válidos se actualiza para verificar la fila superior de los movimientos disponibles. El método de verificación de un ganador se copia del juego Tic Tac Toe con ajustes para verificar ambas diagonales, y el método obtener el siguiente estado se actualiza para usar la variable de acción en lugar de la variable de la columna. El código actualizado se prueba para asegurarse de que funciona.

  • 03:15:00 En esta sección, el locutor reemplaza Tic-tac-toe con el juego Connect Four y establece el número de búsquedas en 20 para validar. El tamaño del modelo también se cambia a 9 para el número de bloques de descanso y 128 para el dim oculto para permitir que el modelo aprenda mejor. Entonces se aumenta la eficiencia del entrenamiento para que lleve menos tiempo en entornos complejos. Luego, el modelo se entrena para una iteración, que lleva varias horas. El conjunto de evaluación se usa luego para probar si el modelo ha aprendido algo o no.

  • 03:20:00 En esta sección del tutorial, la atención se centra en aumentar la eficiencia de la implementación de AlphaZero a través de la paralelización. El plan es paralelizar la mayor cantidad posible de implementación agrupando los estados para obtener predicciones paralelas para la política y el valor. De esta manera, la cantidad de veces que se llama al modelo se reduce drásticamente, por lo que se aprovechan al máximo las capacidades de la GPU y se aumenta la velocidad. El tutorial explica cómo implementar la versión paralelizada usando Python sin usar paquetes como Ray, y se crea una nueva clase llamada "AlphaZeroParallel" y "MCTSParallel" copiando las clases originales.

  • 03:25:00 En esta sección, el disertante discute la creación de dos nuevas clases en Python: `SPG` para almacenar información sobre juegos de auto-juego, y `ParallelMCD`, que implementa los métodos `save_play` y `search` usando la nueva clase `SPG`. La clase `SPG` almacena el estado inicial del juego, una lista de memoria vacía y las variables `root` y `note` establecidas en `Ninguno`. La clase `ParallelMCD` también actualiza el método `set_play` para crear una lista de instancias `SPG` usando el `juego` y la cantidad de juegos paralelos como entradas. El bucle `while` luego ejecuta el método `set_play` hasta que todos los juegos automáticos hayan terminado, lo que permite una paralelización eficiente.

  • 03:30:00 En esta sección, el orador explica cómo obtener una lista de todos los estados y convertirlos en una matriz numérica para aumentar la eficiencia. También muestran cómo cambiar la perspectiva de todos los estados usando una llamada de función para multiplicar los valores con uno negativo para el jugador establecido en uno negativo. A continuación, el orador demuestra cómo pasar los estados neutrales a la investigación de Monte Carlo, actualizar el método de búsqueda de la investigación de Monte Carlo y obtener políticas en el video utilizando todos los estados de lote. Finalmente, explican cómo cambiar el orden del estado codificado para que funcione con varios estados y no solo uno cuando se llama al método obtener estado codificado, y cómo copiar este proceso al juego de tres en raya.

  • 03:35:00 este bucle en una matriz numpy y usando la vectorización de numpy en su lugar. Luego, podemos aplicar el modelo a todos los estados en la matriz numpy sin tener que recorrer cada uno, lo que ahorra mucho tiempo. Luego podemos remodelar la salida a su forma original y continuar con el resto de la búsqueda de MCTS como de costumbre. Finalmente, actualizamos las estadísticas para cada juego de juego automático y devolvemos el nodo raíz para la acción elegida. Esto completa la implementación de la búsqueda MCTS con política y red de valor utilizando el algoritmo AlphaZero.

  • 03:40:00 En esta sección del video, el instructor realiza algunos cambios en el código para almacenar todos los nodos expandibles en lugar de las clases de SPG. Luego, el enfoque cambia a descubrir qué juegos de juego seguro son ampliables o no mediante la creación de una lista para almacenarlos y obtener el índice de mapeo para cada juego de juego seguro. El instructor verifica si hay juegos expandibles y, si los hay, los estados se apilan y codifican para que la política y el valor se puedan obtener más adelante.

  • 03:45:00 En esta sección del tutorial, el instructor explica la implementación del código para el algoritmo Monte Carlo Tree Search para AlphaZero. Muestran cómo usar los estados expandibles y no es necesario descomprimir, comprimir o agregar ruido, además de crear un índice para obtener la política y mapear índices para asignar políticas en el índice del juego de juego automático. Los nodos se expanden usando la política SPG, retropropagados usando el valor de punto SPG y luego se obtienen accesorios de acción en lugar de usar el método OSF Planet. El instructor copia el código de paralelización y realiza cambios para trabajar con accesorios de acción en lugar del método OSF Planet como parte de la implementación del algoritmo Monte Carlo Tree Search para AlphaZero.

  • 03:50:00 En esta sección, el video tutorial se enfoca en actualizar el código para la implementación paralela de la búsqueda MCTS. El instructor enfatiza la importancia de eliminar los juegos de juego automático de la lista si son terminales y actualizar el estado llamando a `spg.state` en lugar de `SPG class`. El código también se cambia para agregar la memoria a la memoria regional general y voltear el jugador después de que se completa el bucle sobre todos los juegos de juego automático. El objetivo es crear un bucle suave que funcione de manera eficiente y elimine el círculo de la lista de juegos de juego automático en el momento adecuado.

  • 03:55:00 En esta sección, el orador analiza el entrenamiento de un modelo para Connect Four utilizando la implementación fs0 paralelizado. El modelo se entrena para ocho iteraciones y evalúa los resultados utilizando una placa Connect Four. El ponente señala que el número de búsquedas es bastante pequeño en comparación con otros algoritmos de búsqueda utilizados en la práctica, pero los resultados son satisfactorios. Juegan contra el modelo y hacen algunos movimientos, y el modelo responde en consecuencia. En general, la capacitación tomó algunas horas, pero el modelo final tiene una buena comprensión de cómo jugar el juego.
  • 04:00:00 En esta sección del tutorial, el presentador demuestra cómo crear un entorno Connect Four utilizando el paquete de entornos de Kegel y jugar con dos agentes. Los agentes usan el algoritmo de búsqueda MCTS para hacer predicciones basadas en un modelo AlphaZero entrenado. El presentador también realiza algunas correcciones menores al código, como la incorporación de accesorios de acción de temperatura en fs03 y el uso de save.optimizer en lugar del optimizador ordinario. Además, el presentador establece la temperatura en cero para obtener siempre el arc Max de la política y establece el épsilon reflejado en uno para agregar algo de aleatoriedad al juego. Finalmente, el presentador define al jugador uno como un agente calculado que usa el algoritmo MCTS para hacer predicciones basadas en el modelo entrenado.

  • 04:05:00 En esta sección de "AlphaZero from Scratch - Tutorial de aprendizaje automático", el orador modela el juego y los argumentos escribiendo códigos para el jugador 1 y el jugador 2, lo que brinda más flexibilidad para probar diferentes jugadores. Luego ejecutan la celda y obtienen visualizaciones de los modelos jugando uno contra el otro, lo que resultó en un empate ya que el modelo puede defenderse de todos los ataques. También demostraron cómo modificar el código de Tic-tac-toe cambiando el juego y los argumentos y actualizando la ruta, lo que llevó a que los modelos jugaran entre sí para volver a empatar. El tutorial se completó y el ponente proporcionó un repositorio de GitHub con cuadernos jupyter para cada punto de control y una carpeta de pesos con el último modelo para Tic-tac-toe y Connect Four. El orador también expresó su interés en hacer un video de seguimiento sobre Mu Zero si hay algún interés en él.
 

Google entra en pánico por ChatGPT [Las guerras de la IA han comenzado]



Google entra en pánico por ChatGPT [Las guerras de la IA han comenzado]

El video analiza cómo Google se está preparando para el potencial de los chatbots cada vez más poderosos y cómo esto podría afectar su modelo comercial. Se informa que Microsoft está trabajando en un chatbot que permitiría a los usuarios comunicarse con Bing de una manera más humana, y esta función será beneficiosa para las búsquedas donde las imágenes no existen actualmente. Microsoft ha dicho que están trabajando en estrecha colaboración con la IA abierta, por lo que esta característica no genera imágenes explícitas o inapropiadas. Entonces, parece que Bing está recibiendo una revisión importante con las funciones de chat GPT y Dali 2 integradas.

  • 00:00:00 Google, en 1998, estaba alquilando una casa al lado de otra casa. La mesa de ping pong estaba en la otra casa.

  • 00:05:00 El video analiza cómo Google está preocupado por el potencial de los chatbots cada vez más poderosos y cómo esto podría dañar su modelo de negocio. Según los informes, Google ha estado trabajando en un plan para combatir esto, y sus cofundadores, Larry Page y Sergey Brin, han sido invitados a una reunión para discutir el tema.

  • 00:10:00 En este video, se ve que Google compite con Microsoft, ya que este último está invirtiendo 10 mil millones de dólares adicionales en IA abierta. Sin embargo, esto puede no ser lo mejor para el movimiento de IA abierta, ya que puede conducir a la muerte de la IA antes de que realmente tenga la oportunidad de comenzar. También se informa que Google está trabajando en 20 proyectos de IA, algunos de los cuales son similares al chat GPT, lo que ha llevado a Microsoft a invertir 300 millones en la empresa. No está claro cómo se desarrollará esto, pero parece que Google se verá obligado a dejar los problemas de seguridad en un segundo plano y liberar sus productos de IA.

  • 00:15:00 El video habla sobre los rumores de que Microsoft está trabajando en un chatbot que permitiría a los usuarios comunicarse con Bing de una forma más humana. También menciona que esta característica será beneficiosa para las búsquedas donde las imágenes no existen actualmente. Finalmente, el video habla sobre cómo esta integración permitirá a los usuarios escribir texto y generar imágenes, lo que será especialmente beneficioso para las búsquedas donde las imágenes no existen actualmente. Microsoft ha dicho que están trabajando en estrecha colaboración con la IA abierta, por lo que esta característica no genera imágenes explícitas o inapropiadas. Entonces, parece que Bing está recibiendo una revisión importante con las funciones de chat GPT y Dali 2 integradas. Seguro que captará la atención de todos cuando se lance.
 

CONFERENCIA JENSEN HUANG (NVIDIA) e ILYA SUTSKEVER (OPEN AI).AI HOY Y VISIÓN DE FUTURO



CONFERENCIA JENSEN HUANG (NVIDIA) e ILYA SUTSKEVER (OPEN AI).AI HOY Y VISIÓN DE FUTURO

El CEO de NVIDIA, Jensen Huang, y el cofundador de OpenAI, Ilya Sutskever, discuten los orígenes y avances de la inteligencia artificial (IA) en una conferencia. Sutskever explica cómo el aprendizaje profundo se volvió claro para él, cómo el aprendizaje no supervisado a través de la compresión condujo al descubrimiento de una neurona que correspondía al sentimiento y cómo el entrenamiento previo de una red neuronal llevó a instruir y refinar con la colaboración humana y de IA. También analizan los avances y las limitaciones de GPT-4 y el aprendizaje multimodal, así como el papel de la generación de datos sintéticos y la mejora de la confiabilidad de los sistemas de IA. A pesar de ser el mismo concepto de hace 20 años, ambos se maravillan con el progreso realizado en la investigación de la IA.

  • 00:00:00 En esta sección, Jensen Huang, director ejecutivo de NVIDIA, elogia a Ilia Sutskever, cofundadora de OpenAI, por sus logros en el campo de la inteligencia artificial. Le pregunta a Ilia sobre su intuición sobre el aprendizaje profundo y cómo sabía que iba a funcionar. Ilia explica que estaba interesado en la inteligencia artificial debido a su curiosidad sobre la conciencia y su impacto, y parecía que el progreso en la IA realmente ayudaría con eso. Agrega que en 2002-2003, las computadoras no podían aprender nada y ni siquiera estaba claro si era posible en teoría, pero encontrar a Jeff Hinton, que trabajaba en redes neuronales, le dio esperanza a Ilia.

  • 00:05:00 En esta sección, Sutskever analiza los orígenes de AlexNet y cómo se le hizo clara la idea de usar el aprendizaje supervisado para construir una red neuronal grande y profunda. Explica que el campo del aprendizaje automático no estaba analizando las redes neuronales en ese momento y estaba usando otros métodos que eran teóricamente elegantes pero que no podían representar una buena solución. Sutskever también menciona el innovador método de optimización de otro estudiante de posgrado que demostró que se pueden entrenar grandes redes neuronales. Entonces quedó claro que si se entrenaba una gran red neuronal convolucional en el conjunto de datos de ImageNet, debía tener éxito. Sutskever también habla sobre la aparición de la GPU en el laboratorio y cómo Alex Krizhevsky pudo programar núcleos convolucionales rápidos y entrenar el conjunto de datos de la red neuronal, lo que llevó a romper el récord de visión por computadora por un margen tan amplio. La importancia de este avance fue que el conjunto de datos era obviamente difícil y estaba fuera del alcance de las técnicas clásicas.

  • 00:10:00 En esta sección, Jensen Huang e Ilya Sutskever analizan los primeros días de OpenAI y sus ideas iniciales sobre cómo abordar la inteligencia. En 2015-2016, el campo aún estaba en su infancia, con muchos menos investigadores y mucho menos entendido. La primera gran idea de OpenAI fue el concepto de aprendizaje no supervisado a través de la compresión, que era un problema sin resolver en el aprendizaje automático en ese momento. Sutskever creía que una compresión de datos realmente buena conduciría a un aprendizaje no supervisado, lo que permitiría la extracción de todos los secretos ocultos que existen en su interior. Esto condujo a varios trabajos en OpenAI, incluida la neurona de sentimiento, que descubrió una neurona dentro de un LSTM que correspondía a su sentimiento.

  • 00:15:00 En esta sección, Ilya Sutskever analiza el concepto de aprendizaje no supervisado y la importancia de predecir el próximo token en una secuencia como un objetivo valioso para aprender una representación. Menciona que la parte difícil del aprendizaje supervisado no es dónde obtener los datos, sino por qué molestarse en entrenar redes neuronales para predecir el próximo token. Escalar para mejorar el rendimiento también fue un factor importante en su trabajo, y el aprendizaje por refuerzo fue otra área crucial de enfoque, particularmente cuando se entrenó a un agente de aprendizaje por refuerzo para jugar el juego de estrategia en tiempo real, DotA 2, para competir contra los mejores jugadores. en el mundo.

  • 00:20:00 En esta sección, Ilya Sutskever explica el proceso de preentrenamiento de una gran red neuronal para predecir la siguiente palabra en diferentes textos de Internet, lo que conduce al aprendizaje de una representación comprimida abstracta utilizable del mundo. Sin embargo, el entrenamiento previo no especifica el comportamiento deseado que esperamos de la red neuronal, y aquí es donde entra en juego la segunda etapa de ajuste y aprendizaje reforzado de la colaboración humana e IA. La segunda etapa es esencial porque es donde nos comunicamos con la red neuronal y le indicamos qué hacer y qué no hacer.

  • 00:25:00 En esta sección, los ponentes comentan los avances en tecnología de IA como GPT-4, que se ha convertido en la aplicación de más rápido crecimiento en la historia de la humanidad a tan solo unos meses de su lanzamiento. GPT-4 es una mejora de Chat GPT, con una mayor precisión en la predicción de la siguiente palabra en el texto, lo que lleva a una mayor comprensión del texto. Al investigar e innovar constantemente la fidelidad, la IA se ha vuelto más confiable y precisa al seguir las instrucciones previstas. Además, la conversación puede refinar la ambigüedad hasta que la IA comprenda la intención del usuario. Además, el rendimiento mejorado de GPT-4 en muchas áreas, como puntajes SAT, puntajes GRE y exámenes de la barra, entre otros, es notable y digno de mención.

  • 00:30:00 En esta sección, los ponentes discuten las limitaciones actuales y el potencial de mejora en las capacidades de razonamiento de las redes neuronales, específicamente GPT4. Si bien las redes neuronales demuestran algunas habilidades de razonamiento, la confiabilidad sigue siendo un obstáculo importante en su utilidad. Los oradores sugieren que pedirle a la red neuronal que piense en voz alta e introducir planes de investigación ambiciosos podría mejorar la confiabilidad y la precisión. Actualmente, GPT4 no tiene una capacidad de recuperación integrada, pero se destaca por ser un predictor de la siguiente palabra y puede consumir imágenes.

  • 00:35:00 En esta sección, Jensen Huang e Ilya Sutskever analizan el aprendizaje multimodal y su importancia. Explican que el aprendizaje multimodal, que implica aprender tanto de texto como de imágenes, es útil para que las redes neuronales comprendan mejor el mundo, ya que los humanos son animales visuales. El aprendizaje multimodal también permite que las redes neuronales aprendan más sobre el mundo al proporcionar fuentes adicionales de información. Argumentan que si bien es importante ver para comprender cosas como el color, las redes neuronales de solo texto aún pueden aprender información que es difícil de aprender solo del texto a través de la exposición a billones de palabras.

  • 00:40:00 En esta sección, Sutskever y Huang analizan la importancia de las diferentes fuentes de datos en el aprendizaje de la IA, incluidas las imágenes y el audio. Tocan la idea de la multimodalidad y cómo la combinación de diferentes fuentes de datos puede ser extremadamente útil para aprender sobre el mundo y comunicarse visualmente. Sutskever también menciona un documento que sugiere que el mundo eventualmente se quedará sin tokens para entrenar y cómo la IA que genera sus propios datos podría ser una posible solución a ese problema.

  • 00:45:00 En esta sección, los ponentes discuten el papel de la generación de datos sintéticos en el entrenamiento y autoaprendizaje de la IA. Si bien no se debe subestimar la disponibilidad de los datos existentes, la posibilidad de que la IA genere sus propios datos para el aprendizaje y la resolución de problemas es una posibilidad futura. El enfoque en el futuro cercano estará en mejorar la confiabilidad de los sistemas de IA, de modo que se pueda confiar en ellos para la toma de decisiones importantes. El potencial de los modelos de IA, como GPT-4, para resolver problemas matemáticos de manera confiable y producir contenido creativo es emocionante, pero aún queda trabajo por hacer para mejorar su precisión y claridad en la comprensión y respuesta a la intención del usuario.

  • 00:50:00 En esta sección, Jensen Huang e Ilya Sutskever analizan el sorprendente éxito de las redes neuronales en la IA en la actualidad. A pesar de ser el mismo concepto de red neuronal de hace 20 años, se ha vuelto más serio e intenso a medida que se entrena en conjuntos de datos más grandes de diferentes maneras con el mismo algoritmo de entrenamiento fundamental. Los trabajos seminales de Sutskever sobre Alexnet y GPT en Open AI son logros notables, y Huang admira su capacidad para desglosar el problema y describir el estado del arte de los grandes modelos de lenguaje. Los dos se ponen al día y se maravillan con el progreso realizado en el campo de la IA.
 

Es hora de prestar atención a la IA (ChatGPT y más allá)



Es hora de prestar atención a la IA (ChatGPT y más allá)

El video analiza el desarrollo de la inteligencia artificial (IA) y cómo está cambiando la forma en que trabajamos y vivimos. Algunas personas están entusiasmadas con el potencial de la IA, mientras que otras están preocupadas por sus posibles implicaciones. El orador también proporciona un breve resumen de un episodio de podcast reciente.

  • 00:00:00 ChatGPT es un programa de inteligencia artificial que se lanzó en 2022 y es capaz de generar texto que intenta predecir cuál será la siguiente palabra en una oración en función de lo que ha visto en su conjunto masivo de datos de Internet. ChatGPT es una versión mejorada de gpt3, que AI abierta llama GPT 3.5. La principal diferencia entre GPT 3.5 y GPT es que agregaron comentarios humanos durante el proceso de capacitación, lo que se denomina aprendizaje de refuerzo supervisado. En esencia, durante el entrenamiento, los humanos clasificaron múltiples versiones de respuestas de la IA por calidad de mejor a peor y la IA es recompensada digitalmente cuando mejora el modelo. ChatGPT está siendo utilizado por empresarios en ciernes para preguntarse cuál es el próximo gran avance, ya que el CEO de IA abierta tiene algunas ideas interesantes sobre el futuro de toda la industria.

  • 00:05:00 ChatGPT es una startup diseñada para facilitar que los clientes presenten quejas, cancelen suscripciones y más. Además, ChatGPT puede formar opiniones sobre temas muy específicos, algo que ningún motor de búsqueda puede hacer. También se dice que ChatGPT es bueno en la codificación, algo que no se considera comúnmente como una habilidad que se puede mejorar con la IA. Si bien ChatGPT tiene muchas aplicaciones útiles, todavía se encuentra en sus primeras etapas y tiene un largo camino por recorrer antes de que pueda considerarse una tecnología verdaderamente revolucionaria. Sin embargo, vale la pena considerar las implicaciones potenciales de ChatGPT, y es probable que solo se vuelva más importante en el futuro.

  • 00:10:00 ChatGPT es un chatbot que es capaz de "hablar" de forma humana y se ha utilizado para cuestionar los límites éticos establecidos por la IA abierta. Se observa que ChatGPT puede ser impredecible e inestable, lo que dificulta su control. También se observa que ChatGPT tiene el potencial de reducir la cantidad de trabajadores necesarios en múltiples campos.

  • 00:15:00 El autor analiza los impactos potenciales de la automatización en la fuerza laboral y cómo prepararse. También analiza cómo la IA está progresando rápidamente, con algunas predicciones de futuro cercano que los emprendedores deben tener en cuenta.

  • 00:20:00 ChatGPT es una nueva plataforma tecnológica que se utilizará para crear modelos del futuro, como modelos de medicina o computadoras. Habrá un nuevo conjunto de nuevas empresas que utilizarán la plataforma para ajustar modelos grandes existentes para crear modelos específicos para una industria o caso de uso.

  • 00:25:00 El video analiza el desarrollo de la inteligencia artificial (IA) y cómo está cambiando la forma en que trabajamos y vivimos. Algunas personas están entusiasmadas con el potencial de la IA, mientras que otras están preocupadas por sus posibles implicaciones. El orador también proporciona un breve resumen de un episodio de podcast reciente.
Razón de la queja: