Computational graph

계산그래프는 계산 과정을 그래프로 나타낸 것이다. 여기서의 그래프는 우리가 잘 아는 그래프 자료구조로 복수의 node와 edge로 표현된다.

images_kimkihoon0515_post_d0391457-190f-4264-ba03-d2b360933212_image.png

forward & back propagation

그림에서 왼쪽에서 오른쪽으로 진행하는 것을 순전파라고 하고 반대로 진행하는 것을 역전파라고 한다.

계산 그래프를 활용하면 역전파를 통해 미분을 효율적으로 계산할 수 있다.

chain rule

역전파는 국소적인 미분을 순방향과는 반대인 오른쪽에서 왼쪽으로 전달하는데 이 원리는 연쇄법칙에 따른 것이다.

images_kimkihoon0515_post_ae0f587b-5943-4a4f-a73e-66d5ec92b4ee_image.png

역전파

덧셈 노드의 역전파

덧셈 노드의 역전파는 1을 곱하기만 할 뿐이므로 입력된 값을 그대로 다음 노드로 보내게 된다.

images_kimkihoon0515_post_4a37c891-54f4-4d30-8866-34825c527021_image.png

곱셈 노드의 역전파

곱셈 노드의 역전파는 상류의 값에 순전파 때의 입력 신호들을 서로 바꾼 값을 곱해서 하류로 흘려보낸다.

images_kimkihoon0515_post_d6d97208-0e67-445f-86c5-225775c17c2b_image.png

활성화 함수 계층 구현하기

ReLU 계층

ReLU의 수식과 이를 미분한 식은 다음과 같다.

images_kimkihoon0515_post_706edd9c-aa40-4a4e-bbf7-e503aafea599_image.png