Модуль: Обратное распространение (Backpropagation)


Один нейрон

Один нейрон

Напишите программу, которая вычисляет прямой и обратный проход одного нейрона. В решении оформите функцию:

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
Выходные данные

Выведите три строки:

  1. loss;
  2. все элементы d_w через пробел;
  3. 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

Напишите программу
Auto
       

time 1500 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
Python1