반응형 AI/밑딥18 딥러닝) 활성화 함수 ReLU 계층 , Sigmoid 계층 구현 1. ReLU 계층 구현 (forward/ backward) 활성화 함수 중 하나인 ReLU함수는 아래와 같다. 순전파에서 입력이 x > 0이면 역전파에서 upstream 값을 그대로 downstrem으로 보내는 반면, 입력이 x 2021. 3. 15. 딥러닝) 오차 역전파 backpropagation , 연쇄법칙 chain rule , 기울기 효율적으로 구하기 신경망 모델을 최적화 하기 위해서는 손실 함수의 값을 최소화하는 가중치 매개변수를 찾아야 한다. 복잡한 손실 함수에서 더 좋은 가중치를 찾기 위해 경사하강법(Gradient Descent)을 이용하여 가중치를 갱신하고자 하는데 이때 필요한 것이 기울기이다. 그 이유는 기울기가 이 경사 하강법에서 기울기가 손실 함수의 값을 줄일 수 있는 방향을 제시해주는 지표이기 때문이다. 이전 포스팅에서는 기울기를 구하기 위해 아래와 같이 수치 미분을 통해 기울기를 구하였다. 즉 도함수의 정의로 계산하였다. 그러나 수치 미분은 구현하기는 쉬우나 모든 가중치 매개변수에 대해 하나하나 일일이 계산해야 하므로 시간이 오래 걸리며 비효율적이다. 따라서 가중치 매개변수의 기울기를 효율적으로 구하기 위해 '오차역전파(backpro.. 2021. 3. 8. 딥러닝) 신경망 학습 알고리즘 , Stochasitc Gradient Descent , epoch, iteration , batch size 1. 신경망 학습 알고리즘 구현신경망에는 적응 가능한 가중치와 편향이 있고, 이 가중치와 편향을 training data에 적응하도록 조정하는 과정을 '학습'이라 한다. 신경망의 학습은 4가지 단계로 이루어진다. 1단계 - 미니배치training data 중 일부를 random으로 가져온다. 선별된 데이터를 미니배치라 하며, 미니배치의 손실 함수 값을 줄이는 것이 목표이다. 2단계 - 기울기 산출미니배치의 손실 함수 값을 줄이기 위해 손실 함수의 값을 가장 작게하는 방향을 제시해주는 각 가중치 매개변수의 기울기를 구한다. 3단계 - 매개변수 갱신가중치 매개변수를 기울기 방향으로 갱신한다. 4단계 - 반복1~3단계를 반복한다. 신경망의 학습은 경사 하강법으로 매개변수를 갱신하는 과정이다. 하지만 매개변수를.. 2021. 3. 2. 딥러닝) 기울기 , 경사하강법 , gradient descent , learning rate 1. 기울기 함수 f를 x0과 x1에 대해 동시에 편미분을 계산하면 아래와 같다. 이처럼 모든 변수의 편미분을 벡터로 정리한 것을 기울기(gradient)라고 한다. 참고로 위의 구현에서 np.zeros_like(x)는 x와 형상이 같고 그 원소가 모두 0인 배열을 만드는 함수이다. 위에서 구현한 기울기 함수를 이용해서 아래의 손실 함수에 대한 기울기를 실제로 구해보도록 하자. 기울기는 각 지점에서 함수의 값이 낮아지는 방향을 가리키킨다. ★기울기가 가리키는 쪽은 각 장소에서 함수의 출력 값을 가장 크게 줄이는 방향임을 기억해야 한다. 2. 경사 하강법 신경망은 학습을 통해 최적의 매개변수(가중치와 편향)를 찾는다. 최적의 매개변수란 손실 함수가 최솟값이 될 때의 매개변수 값을 의미한다. 매개변수의 기울.. 2021. 2. 27. 이전 1 2 3 4 5 다음 728x90 반응형