В библиотеке Synaptic метод
Network.activate играет ключевую роль в процессе прямого
распространения сигнала через нейронную сеть. Этот метод используется
для получения ответа сети на входные данные и является основой всех
вычислительных операций сети до применения обратного распространения
ошибок.
activateМетод activate принимает на вход вектор
чисел, представляющий значения входных нейронов. Сеть состоит
из нейронов, организованных в слои, и каждый нейрон вычисляет свою
активацию по формуле:
[ y = f(_i w_i x_i + b)]
где:
sigmoid).При вызове network.activate(input) библиотека
автоматически выполняет следующие шаги:
input.Таким образом, activate реализует процесс
прямого распространения сигнала (forward
propagation).
[x1, x2, x3, ...]. Размер массива должен совпадать с числом
нейронов во входном слое.activate
всегда является массивом чисел, соответствующих каждому нейрону
выходного слоя. Для однослойной сети это один массив, для многослойной
сети — массив итоговых значений.activate
можно вызывать многократно с разными входами без необходимости
пересоздавать сеть.Пример базового вызова:
const synaptic = require('synaptic');
const { Layer, Network } = synaptic;
const inputLayer = new Layer(2);
const hiddenLayer = new Layer(3);
const outputLayer = new Layer(1);
inputLayer.project(hiddenLayer);
hiddenLayer.project(outputLayer);
const myNetwork = new Network({
input: inputLayer,
hidden: [hiddenLayer],
output: outputLayer
});
const output = myNetwork.activate([0.5, 0.8]);
console.log(output);
В этом примере сигнал проходит через два слоя: скрытый и выходной, и возвращает итоговое значение сети.
Synaptic позволяет изменять функцию активации каждого нейрона, что влияет на поведение прямого распространения:
sigmoid) — стандартная,
значения от 0 до 1.tanh) —
значения от -1 до 1, полезен для центровки данных.identity) — простая передача
входа без искажения.Пример изменения функции активации:
hiddenLayer.set({
squash: synaptic.Neuron.tanh
});
При следующем вызове activate нейроны скрытого слоя
будут использовать tanh вместо сигмоиды.
Метод activate является первым шагом в цикле обучения
нейронной сети. Прямое распространение необходимо для:
propagate использует результат activate для
корректировки весов.Типичный цикл обучения выглядит так:
const input = [1, 0];
const target = [1];
const output = myNetwork.activate(input);
myNetwork.propagate(0.3, target);
Здесь 0.3 — скорость обучения, target —
эталонный результат.
activate текущие значения нейронов остаются в памяти сети,
что позволяет использовать их в последующих вычислениях, например, для
рекуррентных сетей.activate убедиться, что структура сети
корректно соединена (input → hidden → output).Метод Network.activate — фундаментальный инструмент
Synaptic для вычисления выходов сети по входным данным.
Он обеспечивает точное и предсказуемое прямое распространение сигнала,
формируя основу для всех последующих операций обучения и анализа
нейронной сети.