Búsqueda · 23 momentos en 9 episodios
Francis VillatoroBorja TosarJuan Carlos GilGastón GiribetIgnacio Crespoparámetros de matrices vectoresentrenamiento de la red neuronalajuste de parámetros durante entrenamientored neuronal multicapa villatorodatos de entrenamiento francis villatorosalida correcta comparada con iVooxerror para corregir parámetros reddescenso del gradiente modifica pesosred neuronal divide conjunto entrenamientoalgoritmo descenso gradiente calcula erroresépocas de entrenamiento de red neuronaldatos de entrenamiento múltiples épocasredes neuronales pequeñas y grandesFrancis VillatoroOpenAISoftMask
Ajuste de parámetros durante entrenamiento
Ep577: Planeta Enano; Errores en IAs; Romper Agujeros Negros; Habitabilidad Química; Virus y Monos
29 de octubre de 20263 momentos
Con
0:000:301:001:302:002:303:03
Francis Villatoro explica el funcionamiento básico de una red neuronal multicapa, describiendo cómo se ajustan sus parámetros durante el entrenamiento.
…a nadie se le ocurriera que esto podía ser relevante porque ya se sabía en el entrenamiento de redes neuronales. Muchas veces cuando vemos en libros, etc., la curva de las pérdidas, de la calidad del entrenamiento, del error que comete la red: La red es un Sistema en el que yo meto una entrada, obtengo una salida y en el proceso de entrenamiento la red tiene una serie de parámetros, muchos parámetros, una serie de matrices y vectores que caracterizan la dinámica, el comportamiento de la red neuronal multicapa. Cada capa tiene sus matrices y sus vectores. Yo meto una entrada y claro, yo tengo que ajustar, entrenar la red, los parámetros. Yo no sé cuáles son los parámetros correctos, entonces voy. metiendo entradas y las salidas las comparo con los datos de entrenamiento. Yo sé cuál es la salida correcta, pues comparo la salida de la red neuronal con la salida correcta y eso me permite determinar el error que yo uso para corregir el estado actual de los parámetros de la red. Yo opero en un conjunto de pasos de entrenamiento. Básicamente suelo dividir el conjunto de entrenamiento, que suele ser un conjunto grande, en una serie de bloques; y para cada bloque veo cuáles son las salidas de la red neuronal, calculo los errores y uso lo que se llama el gradiente, el algoritmo del descenso del gradiente. Ahora explicaré un poquito de qué va; y uso esos errores para modificar los pesos. Entonces, cada paso yo modifico los pesos y voy repitiendo. Estos pasos hasta que acabo con todo el conjunto de entrenamiento; en ese momento hablo de una época de entrenamiento y normalmente una red neuronal requiere múltiples épocas en las que voy pasando por todos los datos de entrenamiento. Una de las cosas que se había observado en ciertas redes, sobre todo en redes relativamente pequeñas, pero ahora hay evidencia también en una red grande: es que el error de la red durante el entrenamiento. No era monótono. Muchas veces en los libros vemos que el error es alto; el error baja rápidamente. Después se relaja y baja pero mucho más despacio. Es la curva ideal para el entrenamiento. Pero se habían observado muchos casos en los que el error baja y…
Significado #1 · Palabras #1
Francis Villatoro explica el funcionamiento básico de una red neuronal multicapa, describiendo cómo se ajustan sus parámetros durante el entrenamiento.
Habla: Francis VillatoroSignificado #1 · Palabras #1parámetros de matrices vectoresentrenamiento de la red neuronalajuste de parámetros durante entrenamientored neuronal multicapa villatorodatos de entrenamiento francis villatorosalida correcta comparada con iVooxerror para corregir parámetros reddescenso del gradiente modifica pesosred neuronal divide conjunto entrenamientoalgoritmo descenso gradiente calcula erroresépocas de entrenamiento de red neuronaldatos de entrenamiento múltiples épocasredes neuronales pequeñas y grandes…a nadie se le ocurriera que esto podía ser relevante porque ya se sabía en el entrenamiento de redes neuronales. Muchas veces cuando vemos en libros, etc., la curva de las pérdidas, de la calidad del entrenamiento, del error que comete la red: La red es un Sistema en el que yo meto una entrada, obtengo una salida y en el proceso de entrenamiento la red tiene una serie de parámetros, muchos parámetros, una serie de matrices y vectores que caracterizan la dinámica, el comportamiento de la red neuronal multicapa. Cada capa tiene sus matrices y sus vectores. Yo meto una entrada y claro, yo tengo que ajustar, entrenar la red, los parámetros. Yo no sé cuáles son los parámetros correctos, entonces voy. metiendo entradas y las salidas las comparo con los datos de entrenamiento. Yo sé cuál es la salida correcta, pues comparo la salida de la red neuronal con la salida correcta y eso me permite determinar el error que yo uso para corregir el estado actual de los parámetros de la red. Yo opero en un conjunto de pasos de entrenamiento. Básicamente suelo dividir el conjunto de entrenamiento, que suele ser un conjunto grande, en una serie de bloques; y para cada bloque veo cuáles son las salidas de la red neuronal, calculo los errores y uso lo que se llama el gradiente, el algoritmo del descenso del gradiente. Ahora explicaré un poquito de qué va; y uso esos errores para modificar los pesos. Entonces, cada paso yo modifico los pesos y voy repitiendo. Estos pasos hasta que acabo con todo el conjunto de entrenamiento; en ese momento hablo de una época de entrenamiento y normalmente una red neuronal requiere múltiples épocas en las que voy pasando por todos los datos de entrenamiento. Una de las cosas que se había observado en ciertas redes, sobre todo en redes relativamente pequeñas, pero ahora hay evidencia también en una red grande: es que el error de la red durante el entrenamiento. No era monótono. Muchas veces en los libros vemos que el error es alto; el error baja rápidamente. Después se relaja y baja pero mucho más despacio. Es la curva ideal para el entrenamiento. Pero se habían observado muchos casos en los que el error baja y…
Francis Villatoro explica cómo la entropía cruzada se utiliza para estimar el progreso del entrenamiento de redes neuronales, comparando los resultados obtenidos con una distribución de probabilidad conocida.
Habla: Francis VillatoroSignificado #12entropía cruzada entrenamiento redes neuronalessoftmask estimación probabilidades redprogresión entrenamiento distribución probabilidadépocas de entrenamiento información…verdadero a partir de las probabilidades de ese mensaje verdadero. Entonces, lo que me da la entropía cruzada es la cantidad de información que yo he adquirido en este momento del descifrado. Eso en redes neuronales se interpreta como una estimación de la Calidad del entrenamiento. Cuando yo estoy entrenando la red, yo estoy generando resultados y comparo los resultados con los resultados verdaderos, de los cuales sí tengo una distribución de probabilidad. Entonces uso las probabilidades de los resultados verdaderos y las estimaciones, por ejemplo mediante SoftMask, de las probabilidades de los resultados de la red y eso me da, esa correlación, esa entropía cruzada me da una estimación de lo que estoy progresando en mi entrenamiento: si estoy ganando información en cómo estoy procesando, cómo estoy pasando, cómo está evolucionando cada una de las etapas y cada una de las épocas de entrenamiento o si no estoy ganando información. Lo que se observaba en esos procesos en los que El entrenamiento oscilaba, era que la entropía cruzada oscilaba. Yo iba aprendiendo y de repente dejaba de aprender y desaprendía. Y entonces subía la entropía cruzada y después volvía a bajar porque volvía y tenía un comportamiento oscilatorio. Entonces se…
Francis Villatoro menciona un artículo publicado hace unas semanas por investigadores chinos que utilizan una red neuronal con 450 millones de parámetros para el entrenamiento.
Habla: Francis VillatoroSignificado #11red neuronal investigadores chinosparámetros entrenamiento red neuronalopenai billones de parámetrosred neuronal con 50000 millones tokensentrenamiento inestable de red neuronalerrores del 200 en gradientesredes neuronales inestables villatoroentrenamiento de redes relativamente grandes…casos hasta 3, o sea, porque son redes tan grandes con tal número de parámetros que esto les afecta poco. Entonces, bueno, pues, en principio, estas pequeñas diferencias cancelativas son, entre comillas, irrelevantes para este tipo de problemas. Pero se Ha publicado un artículo, y se publicó en septiembre el 28 de septiembre, o sea, hace un par de semanas. De unos investigadores chinos que utilizan una red que no es pequeña, ¿vale? Una red que no es pequeña para la escala normal: es una red que tiene 450 millones de parámetros de entrenamiento, ¿vale? O sea que es pequeña comparada con las de OpenAI y que tienen billones con B, millones de millones de parámetros, ¿no? Aquí estamos hablando de solo 450 millones, pero 450 millones de parámetros son ya unos cuantos, ¿eh? Requieren... Y lo que han observado en una red en la que estaban entrenando con una cantidad de memoria por relativamente pequeña, 50.000 millones de tokens, ¿eh? Han observado que aparece este tipo de fenómeno en el proceso de entrenamiento: cuando el entrenamiento tiene muchas épocas, llega un momento en que de repente se va de olla y se va. Y se desvía una barbaridad con errores enormes, errores en los gradientes que pueden llegar a ser del 200%, del 200%, 219% en algunos parámetros. Es una barbaridad, con lo que incluso en el entrenamiento de este tipo de redes relativamente grandes también se observa este fenómeno y la solución es tan sencilla como cambiar unas restas en un cierto lugar y corregirlas. Por cierto, este artículo del 28 de septiembre se publicó antes que el de DeepMind y utiliza la misma técnica de resolver estas diferencias cancelativas, o sea que se ha publicado esto varias veces. Qué curioso, Francis; deja que te pregunte por esto porque…
