Mind.js — это JavaScript-библиотека для работы с нейронными сетями и обучаемыми системами, ориентированная на быстрый старт и простое внедрение моделей машинного обучения в веб-приложения. Основу работы с библиотекой составляет создание сети, настройка параметров обучения и управление входными и выходными данными.
Для использования Mind.js необходимо подключить скрипт в проект:
<script src="https://cdn.jsdelivr.net/npm/mindjs/dist/mind.min.js"></script>
После этого объект mind становится доступен в глобальной
области видимости.
Нейронная сеть создаётся с помощью конструктора
Mind.NeuralNetwork. Основные шаги:
const net = new Mind.NeuralNetwork({
learningRate: 0.01,
hiddenLayers: [10, 10],
activation: 'sigmoid'
});
Параметры конфигурации:
learningRate — скорость обучения сети. Значение должно
быть в диапазоне 0–1. Слишком большое значение может вызвать
нестабильность, слишком маленькое — замедлит обучение.hiddenLayers — массив, указывающий количество нейронов
в скрытых слоях. Пример: [10, 10] создаёт два скрытых слоя
по 10 нейронов.activation — функция активации нейронов. Поддерживаются
sigmoid, relu, tanh. Выбор
функции влияет на способность сети моделировать нелинейные
зависимости.Mind.js ожидает, что данные будут представлены в виде массива
объектов с ключами input и output:
const trainingData = [
{ input: [0, 0], output: [0] },
{ input: [0, 1], output: [1] },
{ input: [1, 0], output: [1] },
{ input: [1, 1], output: [0] }
];
Особенности формата:
input — массив чисел, представляющих признаки
задачи.output — массив чисел, представляющих ожидаемый
результат. Размер массива должен соответствовать количеству выходных
нейронов сети.Для запуска процесса обучения используется метод
train:
net.train(trainingData, {
iterations: 20000,
errorThresh: 0.005,
log: true,
logPeriod: 1000
});
Ключевые опции:
iterations — максимальное количество циклов
обучения.errorThresh — порог ошибки, при достижении которого
обучение останавливается.log — включение вывода прогресса в консоль.logPeriod — частота вывода прогресса в итерациях.Метод train автоматически оптимизирует веса сети методом
обратного распространения ошибки с учётом выбранной функции активации и
learning rate.
После обучения сеть готова к работе с новыми данными:
const output = net.run([1, 0]); // [0.98]
Метод run возвращает массив значений выходных нейронов.
Для задач классификации обычно применяется пороговое преобразование:
значения > 0.5 интерпретируются как 1, ≤ 0.5 — как 0.
Для сохранения обученной сети используется сериализация:
const json = net.toJSON();
Восстановление из сохранённого состояния:
const net2 = new Mind.NeuralNetwork();
net2.fromJSON(json);
Сериализация позволяет сохранять сеть в локальное хранилище, базу данных или передавать по сети для последующего использования без повторного обучения.
Mind.js обеспечивает лёгкий старт для создания и обучения нейронных сетей в браузере или Node.js. Правильная инициализация сети, корректная конфигурация параметров и подготовка данных напрямую определяют успешность обучения и точность предсказаний.