Один нейрон считает взвешенную сумму признаков со смещением — это прямая. Когда нужные ответы нельзя разделить прямой, одного нейрона не хватает, и требуется скрытый слой.
Между слоями обязательно стоит функция активации. Без неё два слоя схлопываются в один: произведение двух матриц весов — снова одна матрица, и глубина исчезает вместе со смыслом её добавлять.
Подробно это разобрано в учебнике: Прямой проход и функция активации
У сети два входа: x₁ и x₂. Каждый принимает только два значения — ноль или единицу. Поэтому возможных входов ровно четыре.
Сеть должна выдавать единицу, когда на входе ровно одна единица, и ноль в остальных случаях.
| вход | 0 0 | 0 1 | 1 0 | 1 1 |
| ответ | 0 | 1 | 1 | 0 |
Эта функция называется исключающим ИЛИ. Одного нейрона здесь не хватит: какие веса ни подбирай, верного ответа на всех четырёх входах не получится.
Собери сеть со скрытым слоем из двух нейронов и ReLU между слоями. Веса подбери рассуждением, а не перебором.
Программа задаёт веса числами, считает выход для всех четырёх входов и печатает, совпал ли результат с ожидаемым.