Francis Villatoro reflexiona sobre un problema común que surge en redes neuronales, asumiendo que los profesionales del campo son conscientes de él y toman medidas para solucionarlo.
…más caras, menos caras, pero es verdad. O sea, solo lo aplicas en principio cuando se ve que es necesario. Esto es conocido desde que hay bits, vamos. Desde que hay ordenadores, desde que las primeras mujeres empezaron a programar en la década de los 1940. Y entonces esto es un problemita que aparece en muchas circunstancias y aparece, por ejemplo, en redes neuronales. Y es una cosa que uno, yo, que he dado clase de método numérico durante 30 años, pues siempre he pensado que en redes neuronales la gente sabía esto y lo arreglaba. Y resulta que no, que las librerías estándares en Python que se usan más para la implementación de redes neuronales como PyTorch, como TensorFlow, como JAX, no lo tienen implementado; no hacen esta corrección. Y claro, uno puede decir: bueno, pero esa corrección es poco relevante, bueno, poco relevante entre comillas, porque ahora se ha puesto de moda en todas las redes neuronales modernas. Todo lo que llaman apariencia de profundo, se utiliza una manera de estimar probabilidades para los resultados de la salida, que a partir de esas probabilidades yo calculo lo que llaman la pérdida, el error de la red neuronal y con ese error, hago un cálculo de una cosa que se llama el gradiente, la sensibilidad, de la salida a los parámetros de la red; modifico la red. Y cuando yo hago la operación más usada, se llama SoftMax. La idea es utilizar exponenciales. La idea es: la red, a partir de una entrada, me devuelve una salida, y las salidas son una serie de etiquetas que yo he convenido, una serie de números, pues yo qué…
Francis Villatoro explica cómo se ajustan los parámetros de una red neuronal multicapa comparando las salidas de la red con los datos de entrenamiento.
Habla: Francis VillatoroPalabras #15red neuronal multicapa villatorodatos de entrenamiento francis villatorosalida correcta comparada con iVooxerror para corregir parámetros red…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…
Francis Villatoro describe un comportamiento inusual en el error durante el entrenamiento de redes neuronales, contrastándolo con la curva ideal descrita en los libros.
Habla: Francis VillatoroSignificado #10épocas de entrenamiento de red neuronaldatos de entrenamiento múltiples épocasredes neuronales pequeñas y grandeserror en redes neuronalescurva ideal entrenamiento librososcilaciones error amplitud decreciente…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 llega un momento en que el error crece, y después vuelve a bajar y crece, y vuelve a bajar y crece, y bueno, sí, la red acaba convergiendo a algo; pues esas oscilaciones son cada vez de menor amplitud y acabo más o menos convergiendo a algo que me permite decir que esta. Red más o menos está entrenada, pero hay redes incluso que este comportamiento oscilatorio no se detiene y se mantiene ad eternum. Entonces se pensaba que era algo debido a la dinámica no lineal de las redes y que la causa tenía que ser una causa como muy…
Francis Villatoro reflexiona sobre un problema común que surge en redes neuronales, asumiendo que los profesionales del campo son conscientes de él y toman medidas para solucionarlo.
Habla: Francis VillatoroSignificado #1 · Palabras #12redes neuronales problemita comúnmétodo numérico clases francis villatoroproblema redes neuronales profesionalespytorch tensorflow jax redes neuronalespérdida error red neuronalgradiente sensibilidad salida parámetrosaparición de profundo estimar probabilidades…más caras, menos caras, pero es verdad. O sea, solo lo aplicas en principio cuando se ve que es necesario. Esto es conocido desde que hay bits, vamos. Desde que hay ordenadores, desde que las primeras mujeres empezaron a programar en la década de los 1940. Y entonces esto es un problemita que aparece en muchas circunstancias y aparece, por ejemplo, en redes neuronales. Y es una cosa que uno, yo, que he dado clase de método numérico durante 30 años, pues siempre he pensado que en redes neuronales la gente sabía esto y lo arreglaba. Y resulta que no, que las librerías estándares en Python que se usan más para la implementación de redes neuronales como PyTorch, como TensorFlow, como JAX, no lo tienen implementado; no hacen esta corrección. Y claro, uno puede decir: bueno, pero esa corrección es poco relevante, bueno, poco relevante entre comillas, porque ahora se ha puesto de moda en todas las redes neuronales modernas. Todo lo que llaman apariencia de profundo, se utiliza una manera de estimar probabilidades para los resultados de la salida, que a partir de esas probabilidades yo calculo lo que llaman la pérdida, el error de la red neuronal y con ese error, hago un cálculo de una cosa que se llama el gradiente, la sensibilidad, de la salida a los parámetros de la red; modifico la red. Y cuando yo hago la operación más usada, se llama SoftMax. La idea es utilizar exponenciales. La idea es: la red, a partir de una entrada, me devuelve una salida, y las salidas son una serie de etiquetas que yo he convenido, una serie de números, pues yo qué…
Francis Villatoro describe un problema observado durante el entrenamiento de redes neuronales, donde estas pueden volverse inestables y generar errores significativos.
Habla: Francis VillatoroSignificado #3errores del 200 en gradientesredes neuronales inestables villatoroentrenamiento de redes relativamente grandes…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…
Francis Villatoro explica que es posible que cierta información no se haya aprendido correctamente durante el entrenamiento de redes neuronales debido a fenómenos indetectables sin un análisis específico.
Habla: Francis VillatoroSignificado #7redes neuronales entrenamiento indetectableanálisis específico redes neuronales…se preocupe, que nosotros esto no lo hemos visto en nuestras redes. Esto lo hemos visto en los ejemplos de juguetes de los demás, ¿no? Pero lo nuestro no lo hemos visto, ¿eh? Es un ataque defensivo. Lo que sí está claro es que nunca lo puedes saber, ¿vale? O sea, si no haces un análisis específico para detectar esto, nunca puedes saber si te ha ocurrido. Entonces es posible que en algunas ocasiones cierta información no se haya, en el entrenamiento no se haya aprendido bien por culpa de este tipo de fenómenos y eso es algo que tú no lo sabes porque está ahí metido, está dentro de la red, solamente de manera controlada en experimentos muy específicos tú puedes llegar a detectar ese tipo de fenómenos. Habrá que seguir investigando eso y Francis, sé que te tienes que ir, pero si quieres añadir algo, quédate un ratito más y a la vuelta de la pausa nos añades el final y te hacemos un par de preguntas, porque hemos llegado a esa hora, a esa hora en la que…
Francis Villatoro plantea la posibilidad de que existan otros errores no detectados en otras disciplinas que puedan estar afectando el rendimiento de las redes neuronales, a pesar de que los algoritmos son relativamente sencillos.
Habla: Francis VillatoroSignificado #6errores no detectados en disciplinasalgoritmos relativamente sencillosredes neuronales y francis villatoro…Esto me interesa, y es lo que te quería preguntar antes porque dices que puede que en parte estos retrasos se deban a este error que se ha detectado, y que ya en otros contextos se conocía. La cosa es que estuvieran al tanto los ingenieros que se dedican. A programar estas redes y a entrenarlas. La pregunta es: si del mismo modo que este error pasaba desapercibido pero se conocía, puede haber otros que se conozcan en otras disciplinas y que estén afectando también aquí y que todavía no se hayan detectado. Es posible. De todas formas, los algoritmos son relativamente sencillos. Los algoritmos de entrenamiento y de funcionamiento de estas redes, o sea, una de las grandes cosas que ha ocurrido en los últimos 15 años es que de todas las cosas de las que había cientos de variantes de los algoritmos, por mera evolución darwiniana, han quedado uno de cada cosa. Y entonces ahora mismo, pues el soft mass, la entropía cruzada, varios algoritmos de gradientes tocasticos, varios algoritmos que se están usando y que eran uno de los muchos que se…
Francis Villatoro concluye su participación en el programa, agradeciendo a los presentes y despidiéndose. Menciona que el uso de fenómenos caóticos en redes neuronales es poco común debido a la falta de control.
Habla: Francis VillatoroSignificado #5redes neuronales comportamiento caóticosensibilidad condiciones iniciales redes neuronalescuencas de atracción atractores fractalesefecto mariposa caos deterministaredes neuronales fenómenos caóticosrobustez redes metabólicas protección adnadn célula extremadamente bien conservado…que tenemos una sensibilidad con las condiciones iniciales, etc., es otro fenómeno y es relevante. En redes normales, por ejemplo, las redes normales se diseñan para que el algoritmo de gradiente converja, eso sí, asumiendo un número infinito de pasos, etc. Pero hay garantías de que ese tipo de no linealidad no aparece. Hay redes normales en las que se aprovecha ese tipo de normalidad, que tienen comportamiento caótico y tú aprovechas esa sensibilidad a las condiciones iniciales para permitir que la red almacene más de lo que debería almacenar, que las cuencas de atracción sean lo más pequeñas posibles de cada uno de los atractores y aunque su borde es muy fractal, que sean lo más pequeñas posibles y te metan la mayor cantidad posible de información. Ahí sí se puede introducir ese tipo de fenómenos de sensibilidad a la condición inicial, de efecto mariposa, caos determinista, etc. Pero eso es un reducto en el campo de las redes neuronales. La mayor parte de la gente no usa ese tipo de cosas porque son incontrolables. Tú no tienes garantías de que controles bien el asunto. En la naturaleza se dan, hay muchos fenómenos no lineales, pero se dan menos de lo que, sobre todo en temas robustos, temas de robustez, todas las redes metabólicas asociadas a la protección del ADN son extremadamente basales y extremadamente bien conservadas y extremadamente estables, tienen una robustez tremenda, porque es una cosa, lo más preciado que tiene la célula, el ADN, ya hay que protegerlo Ahora sí, Francis, clavado, cinco y cuarto, muchísimas gracias por habernos acompañado Un placer Y hasta la semana que viene Venga, chao, chao, os escucho Chao, Francis Chao, compañero Y Gastón, nos decías que tienes algo que comunicarnos antes de que hablemos de agujeros negros. Ah, sí, quería anunciar una serie de charlas que son dos charlas en realidad que Cecilia Garrafo y yo vamos a dar en Puerto Rico, en San Juan de Puerto Rico, la…