Brain.js

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Brain.js
DeveloperOpen-source contributors
Initial releaseMay 10, 2010; 15 years ago (2010-05-10)
RepositoryBrain.js Repository
Written inJavaScript, TypeScript
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    PlatformNode.js, Web browser
    TypeNeural Networking
    LicenseMIT License
    Websitebrain.js.org

    Brain.js is a JavaScript library used for neural networking, which is released as free and open-source software under the MIT License.[1] It can be used in both the browser and Node.js backends.[2][3]

    Brain.js is most commonly used as a simple introduction to neural networking, as it hides complex mathematics and has a familiar modern JavaScript syntax.[4][5] It is maintained by members of the Brain.js organization and open-source contributors.

    Examples

    [edit | edit source]

    Creating a feedforward neural network with backpropagation:

    const net = new brain.NeuralNetwork();
    
    net.train([
      { input: [0, 0], output: [0] },
      { input: [0, 1], output: [1] },
      { input: [1, 0], output: [1] },
      { input: [1, 1], output: [0] },
    ]);
    
    console.log(net.run([1, 0]));
    

    Creating a recurrent neural network:

    const net = new brain.recurrent.RNN();
    
    net.train([
      { input: [0, 0], output: [0] },
      { input: [0, 1], output: [1] },
      { input: [1, 0], output: [1] },
      { input: [1, 1], output: [0] },
    ]);
    
    let output = net.run([0, 0]); // [0]
    output = net.run([0, 1]); // [1]
    output = net.run([1, 0]); // [1]
    output = net.run([1, 1]); // [0]
    

    Train the neural network on RGB color contrast:

    const net = new brain.NeuralNetwork();
    
    net.train([{
        input: {
          r: 0.03,
          g: 0.7,
          b: 0.5
        },
        output: {
          black: 1
        }
      },
      {
        input: {
          r: 0.16,
          g: 0.09,
          b: 0.2
        },
        output: {
          white: 1
        }
      },
      {
        input: {
          r: 0.5,
          g: 0.5,
          b: 1.0
        },
        output: {
          white: 1
        }
      }
    ]);
    
    const output = net.run({
      r: 1,
      g: 0.4,
      b: 0
    }); // { white: 0.99, black: 0.002 }
    
    console.log(output)
    
    [edit | edit source]

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).