Si entiendo su pregunta correctamente, debe corregir la semilla del generador de números aleatorios . Aquí hay alguna explicación:
Esencialmente, el entrenamiento de la red neuronal (o el entrenamiento de muchos otros modelos de aprendizaje automático) implica algo de aleatoriedad, como mezclar aleatoriamente los puntos de datos y luego usar los datos barajados secuencialmente para SGD, inicializando los pesos de las capas al azar, etc. Ahora , los números aleatorios se generan en el software utilizando generadores de números pseudoaleatorios (PRNG); se denominan “pseudo” porque no son realmente aleatorios; usan un proceso determinista para generar los números que parecen aleatorios, pero si conoce el proceso determinista, puede predecir los siguientes números, a diferencia de los números aleatorios verdaderos.
Una explicación de muy alto nivel de PRNG es la siguiente: comienza con alguna entrada [matemática] x [/ matemática], llamada semilla, y genera el primer número aplicando alguna función [matemática] f [/ matemática] en [matemática] x [/ math], para obtener [math] f (x) [/ math]. Luego, aplica repetidamente una función [matemática] g [/ matemática] al número aleatorio anterior, obteniendo así una secuencia de números aleatorios [matemática] f (x) [/ matemática], [matemática] g (f (x)) [/ math], [math] g (g (f (x))) [/ math], etc. La razón por la que obtienes diferentes resultados en este momento es que [math] x [/ math] no está fijo por defecto, y varía de una carrera a otra. Sin embargo, puede corregir [matemáticas] x [/ matemáticas] al comienzo de su programa. (Simplemente busque en Google cómo establecer la semilla en el idioma que está utilizando).
- ¿Cómo puede 'la nube' democratizar la IA?
- ¿Cuáles son algunas aplicaciones de teléfonos inteligentes que funcionan con algoritmos basados en IA?
- ¿Cómo puede ser útil la IA para responder al problema "difícil" de la conciencia?
- ¿Qué proyectos interesantes, incluida la programación distribuida y la inteligencia artificial, deben hacer y demostrar que son bastante buenos?
- ¿Cuáles son los pocos aspectos del cálculo que siempre ocurren en el aprendizaje automático?
Tenga en cuenta que después de corregir la semilla, obtendrá exactamente la misma salida cada vez que ejecute su programa en la misma máquina, utilizando la misma versión del compilador y versiones de la biblioteca (si está utilizando bibliotecas). Si cambia de máquina, o usa una versión diferente del compilador o las bibliotecas, puede obtener una respuesta diferente, porque [math] f [/ math] y [math] g [/ math] no están necesariamente arregladas en diferentes versiones, y pueden incluso dependerá del hardware.