Brain.js

Brain.js 는 수학의 복잡성을 숨기기 때문에 신경망을 쉽게 이해할 수 있는 JavaScript 라이브러리입니다.

신경망 구축

Brain.js로 신경망 구축:

예시:

// 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"];

설명된 예:

신경망은 다음으로 생성됩니다.new brain.NeuralNetwork()

네트워크는 다음과 같이 훈련됩니다.network.train([examples])

예제는 해당 출력 값과 함께 4개의 입력 값을 나타냅니다.

를 사용하면 network.run([1,0])"[1,0]의 가능한 출력은 무엇입니까?"

네트워크의 답변은 다음과 같습니다.

  • 1: 93%(1에 가까움)
  • 0: 6%(0에 가까움)

대비를 예측하는 방법

CSS를 사용하면 RGB로 색상을 설정할 수 있습니다.

예시

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)

아래 예는 색상의 어두움을 예측하는 방법을 보여줍니다.

예시:

// 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"];

설명된 예:

신경망은 다음으로 생성됩니다.new brain.NeuralNetwork()

네트워크는 다음과 같이 훈련됩니다.network.train([examples])

예제는 4개의 입력 값에 해당하는 출력 값을 나타냅니다.

를 사용하면 network.run([0,0,128/255])"진한 파란색의 가능한 출력은 얼마입니까?"

네트워크의 답변은 다음과 같습니다.

  • 다크: 95%
  • 빛: 4%

노란색 또는 빨간색의 가능한 출력을 테스트하기 위해 예제를 편집하지 않는 이유는 무엇입니까?