3Сеть учится XOR
Баллы: 0 / 10
Сеть, которая сама научилась XOR
Обучите небольшую нейронную сеть решать XOR:
| x₁ |
x₂ |
y |
| 0 |
0 |
0 |
| 0 |
1 |
1 |
| 1 |
0 |
1 |
| 1 |
1 |
0 |
Архитектура: 2 входа → 2 ReLU-нейрона → 1 линейный выход.
Начальные параметры, learning_rate = 0.1 и 500 шагов уже заданы.
Реализуйте
forward: z1, a1, prediction и MSE-loss.
backward: d_prediction, dW2, db2, da1, dz1, dW1, db1.
step — обновление W1, b1, W2, b2.
- Цикл обучения из
500 шагов.
- Численную проверку хотя бы одного градиента:
g = (loss(w + eps) - loss(w - eps)) / (2 * eps)
eps = 1e-5
Выведите
loss до и после обучения;
- 4 вещественных прогноза;
- 4 ответа:
prediction >= 0.5 → 1, иначе 0;
- аналитический и численный градиент.
В комментарии объясните, почему XOR нельзя решить одной линейной моделью и зачем нужен скрытый слой с ReLU.
Нельзя: PyTorch, TensorFlow, JAX, autograd, готовые классификаторы и заранее подобранные финальные веса.
Ваш ответ
Тренировка — проверяйте части и берите подсказки по ходу.
Для проверки решения задачи необходимо зарегистрироваться или авторизоваться!