AI37 [ Chapter.05 ] 단순한 계층 구현하기 backward를 계산하는데 forward 없이 계산할 수 없습니다. 1. 곱셈 계층 backward() 에서는 상류에서 넘어온 미분(dout)에 순전파 때의 값을 서로 바꿔 곱해줍니다. backward()가 받는 인수는 순전파의 출력에 대한 미분임을 꼭 기억합니다. 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 # 출력에 입력 y를 곱합니다. dy = dout * self.x # 출력에 입력 x를 곱합나다. return dx, dy 2... 2022. 8. 2. [ Chapter.05 ] 역전파 1. 덧셈 노드의 역전파 덧셈노드에서 역전파는 입력 신호를 다음 노드로 출력할 뿐이므로 오른쪽 값을 그대로 왼쪽으로 전달합니다. 2. 곱셈 노드의 역전파 3. 사과 쇼핑의 예 이 문제에서는 사과의 가격, 사과의 개수, 소비세라는 세 변수 각각이 최종 금액에 어떻게 영향을 주느냐를 풀고자 합니다. 사과 가격에 대한 지불 금액의 미분, 사과 개수에 대한 지불 금액의 미분, 소비세에 대한 지불 금액의 미분을 구해야 합니다. 최종적으로 사과 가격을 가장 많이 증가시키는 것은 부가세임을 알 수 있습니다. 2022. 8. 2. [ Chapter.05 ] 계산 그래프 / 연쇄 법칙 Backpropogation은 편미분을 구하는 방법을 제시하는 것입니다. 신경망의 손실함수를 각 매개변수로 편미분한 값을 구하는 방법으로 수치미분보다 계산 효율적인 방법입니다. # 계산 그래프 1. 계산 그래프로 풀다 계산 그래프는 왼쪽에서 오른쪽으로 계산을 진행합니다. 이를 순전파 forward propogation 이라고 합니다. 오른쪽에서 왼쪽으로 가는 반대 방향의 전파를 backward propogation라고 합니다. 역전파는 이후에 미분을 계산할 때 중요한 역할을 합니다. 2. 국소적 계산 계산 그래프의 특징은 국소적 계산을 전파함으로써 최종 결과를 얻는 것입니다. 국소적이란 자신과 직접 관계된 작은 범위를 의미합니다. 즉, 전체를 보지 않고 자신과 관계된 정보만으로 결과를 출력한다는 것입니다.. 2022. 8. 2. [ Chapter.04 ] 수치 미분 1. 미분 미분은 특정 순간의 변화량을 의미합니다. 2. 수치미분의 예 3. 편미분 함수를 구성하는 모든 변수의 편미분을 벡터로 나타낸 것을 gradient라고 합니다. 4. 기울기 정답이 되도록 w를 찾고자합니다. 그러기 위해서는 loss가 정의 되어야 하고, loss를 모든 w에 대하여 편미분 해줍니다. 01) 경사법(경사 하강법) 경사법은 현 위치에서 기울어진 방향으로 일정 거리만큼 이동합니다. 이동하면서 함수의 값을 점차 줄이는 것을 경사법이라고 합니다. 학습률은 한 번의 학습으로 얼마만큼 학습해야 할지, 즉 매개변수 값을 얼마나 갱신하느냐를 정하는 것입니다. learning rate가 큰 경우 발산하고, 작은 경우는 거의 변화가 없기 때문에 잘 설정해줘야 합니다. 02) 신경망에서의 기울기 2022. 8. 1. 이전 1 2 3 4 ··· 10 다음