Один нейрон
Напишите программу, которая вычисляет прямой и обратный проход одного нейрона. В решении оформите функцию:
def neuron_backward(x, w, b, y):
...
Здесь x и w — списки одинаковой длины.
Нейрон вычисляет:
\(z=x\cdot w+b,\quad a=\operatorname{ReLU}(z),\quad L=(a-y)^2\).
Входные данные
n
x1 x2 ... xn
w1 w2 ... wn
b y
Выходные данные
Выведите три строки:
loss;
- все элементы
d_w через пробел;
d_b.
Все числа выводите ровно с 6 знаками после точки.
Важно: d_w должен содержать столько же элементов, сколько w. PyTorch и autograd использовать нельзя.
| № | Входные данные | Выходные данные |
|
1
|
3
1 2 3
0.5 -0.25 1
0.5 2
|
2.250000
3.000000 6.000000 9.000000
3.000000
|
|
2
|
2
2 1
-1 -2
0 3
|
9.000000
0.000000 0.000000
0.000000
|