Back propagation

강승구·2022년 12월 29일
0

순전파 (Forward Propagation)

순전파란 input data를 기반으로 신경망을 따라 input layer 부터 output layer 까지 차례대로 변수들을 계산하고 추론한 결과를 의미한다.

순전파 과정


위와 같은 인공 신경망에서 파란색 숫자는 input value를 의미하고 빨간색 숫자는 weight 값을 의미한다.

각 입력은 input layer에서 hidden layer로 향하면서 각 입력에 해당하는 weight와 곱해지고 결과적으로 weight sum으로 계산되어 hidden layer 뉴런의 sigmoid함수의 입력값이 된다.
z1=w1x1+w2x2=0.3x0.1+0.25x0.2=0.08z_1 = w_1x_1+w_2x_2 = 0.3x0.1 + 0.25x0.2 = 0.08
z2=w3x1+w4x2=0.4x0.1+0.35x0.2=0.11z_2 = w_3x_1+w_4x_2 = 0.4x0.1 + 0.35x0.2 = 0.11

z1z_1z2z_2는 각각의 hidden layer 뉴런에서 sigmoid 함수를 지나는데 sigmoid 함수의 결과값(h1,h2h_1, h_2)이 해당하는 hidden layer의 출력값이 된다.
h1=sigmoid(z1)=0.51998934h_1 = sigmoid(z_1) = 0.51998934
h2=sigmoid(z2)=0.52747230h_2 = sigmoid(z_2) = 0.52747230

h

역전파 개념

역전파는 순전파의 방향과 반대로 연산이 진행된다.
순전파 과정을 통해 나온 오차(Cost)를 활용해 각 계층(Layer)의 가중치(Weight)와 편향(Bias)을 최적화한다.
역전파 과정에서는 각각의 가중치와 편향을 최적화 하기 위해 연쇄 법칙(Chain Rule)을 활용한다.

새로 계산된 가중치는 최적화(Optimization) 알고리즘을 통해 실젯값과 예측값의 차이를 계산하여 오차를 최소로 줄일 수 있는 가중치(Weight)와 편향(Bias)을 계산하게 된다.



역전파의 한계

역전파 알고리즘도 한계점은 있다. 은닉층에서 시그모이드(Sigmoid) 함수를 사용하면 가중치 조정을 위해 경사감소법을 사용하는데, 계단형식 함수를 미분가능하도록 곡선화 한다. 은닉층이 깊어질 수록 가중치가 0으로 수렴하며 정확성이 감소한다. 이러한 역전파 알고리즘의 문제점을 해결하기 위해 ReLu 알고리즘을 사용한다. ReLu는 x 값이 0이하이면 0을 출력, 0 이상이면 비례함수를 적용하여 max(0,x) 함수를 사용한다.

profile
강승구

0개의 댓글