다음의 예를 계산 그래프 방법으로 풀어보도록 하자.
왼쪽은 덧셈노드의 순전파이고 오른쪽은 덧셈 노드의 역전파이다.
L을 x의 대해서 미분하면 1
L을 y의 대해서 미분하면 1
class AddLayer:
def __init__(self):
pass
def forward(self, x, y):
out = x + y
return out
def backward(self, dout):
dx = dout * 1
dy = dout * 1
return dx, dy
왼쪽은 곱셈 노드의 순전파이고 오른쪽은 곱셈 노드의 역전파이다.
L을 x의 대해서 미분하면 y
L을 y의 대해서 미분하면 x
아래의 코드는 곱셈노드의 역전파 파이썬 코드이다.
class MulLayer:
def __init__(self):
self.x = None
self.y = None
def forward(self, x, y):
self.x = x
self.y = y
out = x * y
return out
def backward(self, dout):
dx = dout * self.y # x와 y를 바꾼다.
dy = dout * self.x
return dx, dy
11.Sigmoid층과 relu층 역전파,미분 (0) | 2023.01.24 |
---|---|
10.Affine층 계산 그래프 (0) | 2023.01.24 |
8.경사하강법 (0) | 2023.01.22 |
7.수치미분과 기울기 (0) | 2023.01.22 |
6.엔트로피 (0) | 2023.01.22 |