Francis Villatoro explica cómo la resta de dos números similares provoca una pérdida de dígitos y introduce el concepto de 'cancelación catastrófica'. Menciona un ejemplo con los números 2.32 x 10^-3 y 1.00 elevado a 0.
…elevado a 4. Tengo tres dígitos. Yo puedo representar en tres dígitos mi número. Si yo tengo dos números, pi y el doble de pi, y lo resto, la diferencia tiene infinitos dígitos. Yo la puedo escribir con esos tres dígitos significativos pues la diferencia de Dos números, yo qué sé, 2.32 por 10 a la menos 3. Pero ¿qué pasa cuando yo resto dos números? Si yo resto dos números que son parecidos, yo pierdo dígitos. Eso se llama cancelación catastrófica. Si yo cojo por el número 1.00, el 1, por exponente elevado a 0, o sea, el número 1. 1.00, y de resto el número 9.999. Perdón, estamos tomando tres dígitos: 9.99 por 10 a la menos 1, es decir, el 0,999. Yo sé que la diferencia va a ser 0.0001, pero no me cabe en tres dígitos; en tres dígitos como mucho puedo poner un 1, 1.0010 a la menos 1…
Francis Villatoro explica un concepto relacionado con métodos numéricos, concretamente una diferencia cancelativa, y expresa su sorpresa por el hecho de que no se tenga más en cuenta.
Habla: Francis VillatoroSignificado #2 · Palabras #16diferencia cancelativa métodos numéricosmétodos numéricos y francis villatorosorpresa por diferencia cancelativadiferencia cancelativa en ordenadoresprocesadores de 64 bitsalmacenamiento finito de números…DeepMind publica algo se entera todo el mundo, desvelan una posible explicación de este fenómeno oscilatorio en el entrenamiento que es súper convincente porque en los ejemplos que han puesto corrige perfectamente, y además es una cosa como súper lógica. Y es lo que en métodos numéricos llamamos una diferencia cancelativa. La diferencia cancelativa es algo que parece algo tan obvio que hay que tener en cuenta y que todo el mundo se supone que lo tiene en cuenta, que a uno se sorprende de que prácticamente nadie lo tiene en cuenta. O sea, es de este tipo de cosas elementales. ¿Qué es la diferencia cancelativa? Imaginemos que tenemos dos números que son muy parecidos y yo los resto. Si yo tengo, claro, en el ordenador yo tengo que almacenar los números en un tamaño finito. Normalmente por defecto en los procesadores que estamos usando se trabaja con 64 bits, con 8 bytes. Entonces, en esos 64 bits hay que meter un número que tiene una mantiza y un exponente Un número, por ejemplo, 1,32 por 10 elevado a menos 14 El menos 14 es el exponente, por supuesto los números se almacenan en binario Y sería 2 elevado a menos el número que…
Francis Villatoro explica cómo la resta de dos números similares provoca una pérdida de dígitos y introduce el concepto de 'cancelación catastrófica'. Menciona un ejemplo con los números 2.32 x 10^-3 y 1.00 elevado a 0.
Habla: Francis VillatoroSignificado #1 · Palabras #6cancelación catastrófica de dígitosnúmeros similares resta pérdida dígitosejemplo cancelación números 2 32x10-3…elevado a 4. Tengo tres dígitos. Yo puedo representar en tres dígitos mi número. Si yo tengo dos números, pi y el doble de pi, y lo resto, la diferencia tiene infinitos dígitos. Yo la puedo escribir con esos tres dígitos significativos pues la diferencia de Dos números, yo qué sé, 2.32 por 10 a la menos 3. Pero ¿qué pasa cuando yo resto dos números? Si yo resto dos números que son parecidos, yo pierdo dígitos. Eso se llama cancelación catastrófica. Si yo cojo por el número 1.00, el 1, por exponente elevado a 0, o sea, el número 1. 1.00, y de resto el número 9.999. Perdón, estamos tomando tres dígitos: 9.99 por 10 a la menos 1, es decir, el 0,999. Yo sé que la diferencia va a ser 0.0001, pero no me cabe en tres dígitos; en tres dígitos como mucho puedo poner un 1, 1.0010 a la menos 1…
Francis Villatoro explica cómo evitar las cancelaciones catastróficas al restar números parecidos, proponiendo métodos para reescribir restas como multiplicaciones y divisiones.
Habla: Francis VillatoroSignificado #4pérdida de dígitos significativos iVooxerror enorme en resta memoriaaritmética exacta y precisióndiferencia cancelativa ordenadorreescribir restas como multiplicacionescancelaciones catastróficas en números parecidosmétodos numéricos para evitar cancelacionessimulación de tesis con métodos numéricos…tres dígitos: 9.99 por 10 a la menos 1, es decir, el 0,999. Yo sé que la diferencia va a ser 0.0001, pero no me cabe en tres dígitos; en tres dígitos como mucho puedo poner un 1, 1.0010 a la menos 1 claro, si en realidad el número que yo estaba restando no Era 0,99, sino que era 0,999, sino que era 0,999, 8764321 pero que lo he redondeado a 0,99. Cuando yo hago la resta en memoria, lo que me queda es un número que tiene un solo dígito significativo: 0,001. El resto de los dígitos se han perdido; tengo un error enorme. Me cabrían si yo hubiera calculado con aritmética exacta o con mayor número de dígitos significativos; esa diferencia me habría dado cuenta de que tengo dígitos que puedo poner ahí, pero no los puedo poner porque el ordenador no lo sabe. Esos dígitos se han perdido. Esta diferencia cancelativa aparece. cada vez que yo resto dos números parecidos y hay mecanismos para evitar estas cancelaciones catastróficas. Hay mecanismos que te permiten ciertas restas reescribirlas sin que haya una resta. Básicamente la idea es que cuando yo tengo que restar dos cosas que tienen un tamaño parecido, pues a veces, por ejemplo, si tengo a menos b, pues puedo multiplicarlo por a más b y dividirlo por a más b, entonces arriba tengo a al cuadrado menos b al cuadrado, que lo mismo ya no son tan parecidos y eso hace una diferencia, o puedo multiplicarlo incluso por el mismo número y elevar al cuadrado. Hay maneras de eliminar esas restas y eso está muy estudiado en todos los libros de métodos numéricos En sistemas modernos lo que se puede hacer, estaba mirando el código de mi tesis de simulación mientras hablabas y ahí lo tengo Puedes comparar los dos números, puedes comparar la diferencia de los dos números respecto del épsilon de la función Epsilon que te da la librería numérica que la estás tratando. Y si aquello se dispara o produce un error, entonces sabes que no puedes hacer…
Francis Villatoro explica cómo se pueden utilizar funciones alternativas a los logaritmos y exponenciales para evitar problemas numéricos en redes neuronales.
Habla: Francis VillatoroSignificado #19 · Palabras #4exponencial m1 corregida en coprocesadoresfunciones alternativas a logaritmos exponencialesdiferencias cancelativas en funciones neuronalesdiferencias cancelativas en compiladoressoftplus como alternativa a softmaxalgoritmos entrenamiento redes neuronalesoperador softmax en paquetes iacancelación en función softmax deepmindcolapso en softmass por cancelacionesprobabilidades colapsan valores incorrectos cero…en todos los libros de texto, es trivial: es cambiar ligeramente la manera en que escribes los logaritmos. Porque tienes que aplicar logaritmos y entonces tú puedes reescribir los logaritmos utilizando funciones alternativas al logaritmo y la exponencial. Hay funciones como el logaritmo de 1 más x, que es una función que te garantiza que funciona; está implementada en la máquina de tal manera que funciona incluso cuando x está muy próximo a la unidad. En lugar de tú evaluar, hacer una resta entre dos números y después aplicar el logaritmo, puedes aplicar una función que garantiza que incluso cuando podría haber diferencia cancelativa se está corregida, está corregida; y lo mismo pasa con la exponencial. La exponencial de x-1 es una función que tiene nombre y apellidos: es la exponencial m1, exponencial menos 1, que es una función también corregida para que no haya diferencias cancelativas; y eso está implementado en los coprocesadores. Tú las puedes usar, pero tienes que saber que existen y tienes que preocuparte de este problema. Si no te preocupa este problema, no los usas. Pero para eso está el compilador, ¿no? O debería. O el agente de IA que sepa que hay que usar esas expresiones raras. Claro, muchas veces uno confía en que los compiladores optimicen, pero hay muchas cosas que los compiladores no optimizan. Y este tipo de cosas, este tipo de diferencias cancelativas, en general a los ordenadores les cuesta trabajo identificarla de manera automática. Entonces, la solución es realmente sencilla: por ejemplo, sustituir el operador softmax, súper famoso, por otro que viene en todos los paquetes de IA, que es el softplus, que calcula una operación en la que se evita la diferencia cancelativa. Entonces, con cambios realmente triviales y que se pueden implementar en cualquier algoritmo que tengas de entrenamiento de redes neuronales, porque además lo permiten los algoritmos modificar las funciones que aplicas para hacer ciertas operaciones, con un par de pequeñas sustituciones automáticamente resuelves el problema y te lo quitas de encima. entonces es una cosa que se ha ido publicando en varios artículos; en los últimos años y medio ha habido varios artículos que han identificado esto, pero la bomba ha explotado el viernes pasado cuando la han publicado desde DeepMind. entonces aquí hay: este fenómeno que he contado es el fenómeno de la cancelación, o sea, se llaman del colapso en el softmass; el hecho de que por cancelaciones, por restas de números muy próximos las probabilidades colapsan y muchas probabilidades de los valores que no son el valor correcto acaban siendo cero relativo a la probabilidad del valor correcto. Y después hay otro fenómeno que también se ha identificado: que es la entropía cruzada. Bueno, todo esto viene calculado a partir de la entropía cruzada. La entropía cruzada es la manera de estimar los errores. La teoría de la información de Shannon, Shannon…
Francis Villatoro explica la relevancia de la cancelación de Softmax en los procesos de destilado, mencionando cómo empresas chinas, restringidas por las leyes de Trump y la prohibición de venta de tecnología NVIDIA avanzada, están encontrando soluciones alternativas.
Habla: Francis VillatoroSignificado #16softwares chinas y leyes trumpdestilado con cancelación softmaxnvidia prohíbe tecnología china…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 ha observado el otro fenómeno que era el colapso de Softmax y también la cancelación de Softmax. La Cancelación de Softmax es relevante en los procesos de destilado. Todos hemos oído hablar de las compañías chinas que se supone que con recursos limitados por la ley de Trump de que les prohíbe a NVIDIA venderles la última máquina, la última tarjeta, la más avanzada. No se puede vender en China, solo se puede vender. la segunda más avanzada, que es súper avanzada y que vale un dineral. Las empresas chinas, en lugar de poderse gastar 5.000 millones de dólares en máquinas, se tienen que gastar 1 .000 millones de dólares. No estamos hablando de pecata a minuta. A veces se…
Francis Villatoro explica una técnica llamada 'soft mass cancellation' utilizada para cancelar la estimación de probabilidades durante el destilado de redes neuronales. Menciona que la solución obtenida es similar a la de otros casos.
Habla: Francis VillatoroSignificado #7soft mass cancellation destiladoestimación de probabilidades soft masssolución similar en destilado…lo que pasa es que ahora estamos comparando la probabilidad a las respuestas que ofrece el profesor con la probabilidad que durante el entrenamiento por destilado ofrece el estudiante. Entonces, cuando ambas probabilidades se acercan a uno, me encuentro. Con la diferencia cancelativa. Entonces, lo llaman soft mass cancellation. Es la cancelación de la estimación de probabilidades basada en soft mass en el caso de destilado. Y aquí la solución es prácticamente la misma que se obtiene en el otro caso. Entonces, estos son los dos ejemplos en los que ellos han puesto diferentes redes relativamente pequeñas y claro, aquí la gran pregunta es lo que comentaba Ignacio, ¿no? Lo que se ha comentado mucho en redes sociales: ¿Esto realmente nos preocupa? Porque, la verdad, lo que le pase a los estudiantes de mi clase cuando yo les obligue a entrenar redes neuronales relativamente pequeñas, pues le importa un comino a todos nuestros…
Francis Villatoro explica que, a pesar de la relativa simplicidad de los algoritmos actuales, existen numerosos puntos donde las diferencias cancelativas pueden aparecer en redes neuronales con aprendizaje profundo.
Habla: Francis VillatoroSignificado #8redes neuronales aprendizaje profundodiferencias cancelativas sistemas dinámicosestudio sistemático redes neuronales villatoro…clave, que es fácil en principio asegurarse de si están funcionando porque no hay un abanico tan grande de algoritmos que se nos puedan estar escapando. Tenemos cuatro más o menos ahí, que evidentemente son más, y se puede investigar cada caso. Exactamente. En principio, pero aún así, hay muchos huecos en los que las diferencias cancelativas, por ejemplo, pueden aparecer en cantidad de lugares. Y entonces un estudio sistemático de todas las posibles diferencias cancelativas en ese tipo de sistemas dinámicos, de redes neuronales en aprendizaje profundo, que yo sepa nadie lo ha hecho y habrá que hacerlo porque puede generar sorpresas. Pues si algún oyente se anima ya tiene tareas para. El fin de semana, ¿no? Se puede poner con ello. Francis, te voy a despedir ya para que tengas tiempo de llegar con calma a clase. No sé si algún compañero quiere preguntar algo, alguna cosita. No, yo solamente voy a expresar mi sorpresa porque yo me imaginé…
Ignacio Crespo, respondiendo a una pregunta del público enviada por Tomás Vila, plantea la posibilidad de comparar la cancelación catastrófica con el colapso mutacional en el ADN.
Habla: Ignacio CrespoSignificado #13cancelación catastrófica colapso mutacionalvariabilidad resultados red neuronalsimulaciones proceso naturaleza discretizadaamplificación errores mecanismo desconocido…a pasar, pero es un coste que tienes ahí, una resta; estás comparando si dos cosas son iguales, estás haciendo unas restas que consumen máquinas. Entonces, mucha gente no lo hace con la confianza de que estas cosas estocásticamente se diluyen y no afectan. Como te veo con ganas de apurar hasta ahí cuarto exacto, si quieres Francis, te doy una pregunta del público que la tenemos por aquí de Tomás Vila. Nos la ha dejado y dice esto: que comentas sobre la cancelación catastrófica puede ser parecido a el colapso mutacional que se aprecia en el ADN cuando con el paso de las generaciones fitness es menor que carga mutacional, o sea, puede introducir entiendo variabilidad en los resultados que sean interesantes, que sean adaptativos para la red neuronal. Hombre, simulaciones de ese proceso sí, pero en lo que es la naturaleza, en principio, la naturaleza que sepamos no está discretizada a la hora de operar; la naturaleza actúa más o menos de manera analógica. Se refiere a que ese mecanismo que yo desconozco bien y no puedo argumentar, también produce una amplificación de los errores, entonces en ese sentido yo creo que La amplificación de los errores asociadas a caos deterministas y al hecho de 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…