Cerveau.js

Brain.js est une bibliothèque JavaScript qui facilite la compréhension des réseaux de neurones car elle masque la complexité des mathématiques.

Construire un réseau de neurones

Construire un réseau de neurones avec Brain.js :

Exemple:

// Create a Neural Network
const network = new brain.NeuralNetwork();

// Train the Network with 4 input objects
network.train([
 {input:[0,0], output:{zero:1}},
 {input:[0,1], output:{one:1}},
 {input:[1,0], output:{one:1},
 {input:[1,1], output:{zero:1},
]);

// What is the expected output of [1,0]?
result = network.run([1,0]);

// Display the probability for "zero" and "one"
... result["one"] + " " + result["zero"];

Exemple expliqué :

Un réseau de neurones est créé avec :new brain.NeuralNetwork()

Le réseau est entraîné avecnetwork.train([examples])

Les exemples représentent 4 valeurs d'entrée avec une valeur de sortie correspondante.

Avec network.run([1,0]), vous demandez "Quelle est la sortie probable de [1,0] ?"

La réponse du réseau est :

  • un : 93 % (proche de 1)
  • zéro : 6 % (proche de 0)

Comment prédire un contraste

Avec CSS, les couleurs peuvent être définies par RVB :

Exemple

Color RGB
BlackRGB(0,0,0)
YellowRGB(255,255,0)
RedRGB(255,0,0)
WhiteRGB(255,255,255)
Light GrayRGB(192,192,192)
Dark GrayRGB(65,65,65)

L'exemple ci-dessous montre comment prédire l'intensité d'une couleur :

Exemple:

// Create a Neural Network
const net = new brain.NeuralNetwork();

// Train the Network with 4 input objects
net.train([
// White RGB(255, 255, 255)
{input:[255/255, 255/255, 255/255], output:{light:1}},
// Light grey (192,192,192)
{input:[192/255, 192/255, 192/255], output:{light:1}},
// Darkgrey (64, 64, 64)
{ input:[65/255, 65/255, 65/255], output:{dark:1}},
// Black (0, 0, 0)
{ input:[0, 0, 0], output:{dark:1}},
]);

// What is the expected output of Dark Blue (0, 0, 128)?
let result = net.run([0, 0, 128/255]);

// Display the probability of "dark" and "light"
... result["dark"] + " " + result["light"];

Exemple expliqué :

Un réseau de neurones est créé avec :new brain.NeuralNetwork()

Le réseau est entraîné avecnetwork.train([examples])

Les exemples représentent 4 valeurs d'entrée et une valeur de sortie correspondante.

Avec network.run([0,0,128/255]), vous demandez « Quelle est la sortie probable du bleu foncé ? »

La réponse du réseau est :

  • Foncé : 95 %
  • Lumière : 4 %

Pourquoi ne pas modifier l'exemple pour tester la sortie probable du jaune ou du rouge ?