Controllability / lesson 03
Turn error into a directed signal
Error says what is wrong. Sensitivity says where change has leverage.
Know what the primitive owns.
Problem
A large error alone does not identify where an adjustment matters. High sensitivity alone does not mean an adjustment is needed.
System boundary
The example exposes error × sensitivity as a feedback signal. A caller still owns any later parameter update and initiates another run explicitly.
State changes become visible.
Inspectable: Prediction, target, error, sigmoid sensitivity, update signal, evaluation, and feedback.
Move the prediction between 0 and 1 with target fixed at 1.
Static specimen / JavaScript adds controls without changing the lesson.
Same idea, honest surfaces.
const prediction = run.output[0] ?? 0;
const signal = errorSensitivity(
sigmoid,
prediction,
target[0] ?? 0,
);
console.log(signal.error);
console.log(signal.sensitivity);
console.log(signal.updateSignal);
prediction = run.output[0]
target = 1.0
error = target - prediction
local_sensitivity = sigmoid.derivative_from_output(prediction)
update_signal = error * local_sensitivity
print(error)
print(local_sensitivity)
print(update_signal)
What this does not imply.
Feedback is data after a completed run. It is not a cyclic edge and this lesson does not train the network.