본문 바로가기

PyTorch6

7. 2차원 행렬을 입력받는 합성함수의 도함수(실습) 저번시간에 입력이 2차원인 합성함수의 도함수를 구하였다. 1. 다시 복습을 해보자. 입력 X, W는 아래와 같다. g(X, W)함수를 아래와 같이 정의한다. σ(X) 함수를 아래와 같이 정의한다. h(X) 함수를 아래와 같이 정의한다. 합성함수 f(X, W) = h(σ(g(X, W)))를 정의한다. 합성함수의 정의와 연산의 결과는 아래와 같다. 이 때 도함수 ∂f/∂X 는 아래와 같이 성립한다고 유도하였다. ∂f/∂W 는 아래와 같다. 이번 실습은 ∂f/∂X 으로 진행한다. 2. 합성함수의 도함수 계산이 맞는지 직접 계산하여 확인해보기 위의 식을 numpy를 이용하여 적은 것이다. f(X, W)는 forward 함수, ∂f/∂X는 backward 함수로 정의하였다. import numpy as np # .. 2021. 12. 31.
6. 2차원 행렬을 입력받는 합성함수의 도함수(이론) 1. 2차원 행렬을 입력받는 합성함수의 정의 입력이 2차원인 경우에는 도함수를 어떻게 구할 수 있을까? 일단 합성함수부터 정의하자. 입력 X, W는 아래와 같다. g(X, W)함수를 아래와 같이 정의한다. σ(X) 함수를 아래와 같이 정의한다. h(X) 함수를 아래와 같이 정의한다. 합성함수 f(X, W) = h(σ(g(X, W)))를 정의한다. 합성함수의 정의와 연산의 결과는 아래와 같다. 딥러닝에서 상당히 유사하게 사용하는 forward 연산이다. g -> σ -> h 정방향 순서대로 연산하여 출력한다. 2. 도함수 구하기 도함수는 체인룰을 사용하여 forward 연산과 반대로 h -> σ -> g 순서대로 구한다. 그래서 backward 연산이다. 우리는 X의 변화에 따른 최종출력 f의 변화가 궁금.. 2021. 12. 31.