Tensorflow.js es una biblioteca de código abierto desarrollada por Google para ejecutar modelos de aprendizaje automático y redes neuronales de aprendizaje profundo en el entorno del navegador o del Node.
La función tf.train.adadelta() se usó para crear un tf.AdadeltaOptimizer que usa el algoritmo adadelta. El algoritmo adadelta es una extensión del algoritmo de optimización gradiente decente. Se utiliza para optimizar las redes neuronales.
Sintaxis:
tf.train.adadelta(learningRate)
Parámetros:
- learningRate: Especifica la tasa de aprendizaje que utilizará el algoritmo de descenso de gradiente adadelta.
- rho: especifica la disminución de la tasa de aprendizaje en cada actualización.
- épsilon: Especifica una épsilon constante que se utiliza para mejorar la condición de actualización de graduación. Opcional
Valor de retorno: Devuelve un tf.adadeltaOptimizer
Ejemplo 1: Ajuste una función f=(a*x+y) usando el optimizador adadelta, aprendiendo los coeficientes a y b.
Javascript
// Importing tensorflow import * as tf from "@tensorflow/tfjs" const xs = tf.tensor1d([0, 1, 2, 3]); const ys = tf.tensor1d([1.1, 5.9, 16.8, 33.9]); // Choosing variable coefficients const a = tf.scalar(Math.random()).variable(); const b = tf.scalar(Math.random()).variable(); // Defining function f = (a*x + b) const f = x => a.mul(x).add(b); const loss = (pred, label) => pred.sub(label).square().mean(); const learningRate = 0.01; // Creating optimizer const optimizer = tf.train.adadelta(learningRate); // Train the model. for (let i = 0; i < 10; i++) { optimizer.minimize(() => loss(f(xs), ys)); } // Make predictions. console.log( `a: ${a.dataSync()}, b: ${b.dataSync()}}`); const preds = f(xs).dataSync(); preds.forEach((pred, i) => { console.log(`x: ${i}, pred: ${pred}`); });
Producción:
a: 5.39164924621582, b: 1.8858184814453125} x: 0, pred: 1.8858184814453125 x: 1, pred: 7.277467727661133 x: 2, pred: 12.669116973876953 x: 3, pred: 18.060766220092773
Ejemplo 2: Ajuste una ecuación cuadrática usando el optimizador adadelta, aprendiendo los coeficientes a, b y c. La configuración del optimizador es la siguiente:
- tasa de aprendizaje = 0.01
- ro = 0,2
- épsilon = 0,5
Javascript
// Importing tensorflow import * as tf from "@tensorflow/tfjs" const xs = tf.tensor1d([0, 1, 2, 3]); const ys = tf.tensor1d([1.1, 5.9, 16.8, 33.9]); const a = tf.scalar(Math.random()).variable(); const b = tf.scalar(Math.random()).variable(); const c = tf.scalar(Math.random()).variable(); const f = x => a.mul(x.square()).add(b.mul(x)).add(c); const loss = (pred, label) => pred.sub(label).square().mean(); // Setting configurations for our optimizer const learningRate = 0.01; const rho = 0.2; const epsilon = 0.5; // Creating the optimizer const optimizer = tf.train.adadelta(learningRate, rho, epsilon); // Train the model. for (let i = 0; i < 10; i++) { optimizer.minimize(() => loss(f(xs), ys)); } // Make predictions. console.log( `a: ${a.dataSync()}, b: ${b.dataSync()}, c: ${c.dataSync()}`); const preds = f(xs).dataSync(); preds.forEach((pred, i) => { console.log(`x: ${i}, pred: ${pred}`); });
Producción:
a: 3.1871466636657715, b: 1.5096971988677979, c:0.8317463397979736 x: 0, pred: 0.8317463397979736 x: 1, pred: 5.528590202331543 x: 2, pred: 16.599727630615234 x: 3, pred: 34.04515838623047
Referencia: https://js.tensorflow.org/api/1.0.0/#train.adadelta
Publicación traducida automáticamente
Artículo escrito por abhinavjain194 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA