Brain.js là một thư viện JavaScript giúp dễ dàng hiểu về mạng nơ-ron nhân tạo vì nó che giấu sự phức tạp của các phép toán.
Xây dựng mạng nơ-ron nhân tạo
Xây dựng mạng nơ-ron nhân tạo với Brain.js:
Ví dụ:
// 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"];
Giải thích ví dụ:
Một mạng nơ-ron nhân tạo được tạo bằng lệnh: new brain.NeuralNetwork()
Mạng được huấn luyện bằng lệnh network.train([examples])
Các ví dụ đại diện cho 4 giá trị đầu vào với giá trị đầu ra tương ứng.
Với lệnh network.run([1,0]), bạn hỏi "Giá trị đầu ra có khả năng xảy ra nhất của [1,0] là gì?"
Câu trả lời từ mạng là:
- 1: 93% (gần 1)
- 0: 6% (gần 0)
Cách dự đoán độ tương phản
Với CSS, màu sắc có thể được thiết lập bằng RGB:
Ví dụ:
| Màu | RGB |
|---|---|
| Đen | RGB(0,0,0) |
| Vàng | RGB(255,255,0) |
| Đỏ | RGB(255,0,0) |
| Trắng | RGB(255,255,255) |
| Xám nhạt | RGB(192,192,192) |
| Xám đậm | RGB(65,65,65) |
Ví dụ dưới đây minh họa cách dự đoán độ đậm nhạt của một màu:
Ví dụ:
// 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"];
Giải thích ví dụ:
Một mạng nơ-ron nhân tạo được tạo bằng lệnh: new brain.NeuralNetwork()
Mạng được huấn luyện bằng lệnh network.train([examples])
Các ví dụ đại diện cho 4 giá trị đầu vào và 1 giá trị đầu ra tương ứng.
Với lệnh network.run([0,0,128/255]), bạn hỏi "Giá trị đầu ra có khả năng nhất của màu xanh đậm là gì?"
Câu trả lời từ mạng là:
- Đậm: 95%
- Nhạt: 4%
Tại sao không chỉnh sửa ví dụ để kiểm tra giá trị đầu ra có khả năng nhất của màu vàng hoặc màu đỏ?