Gradient Descent 2

SGD and Batch, Mini-Batch

배치 경사 하강법 (Batch Gradient Descent, BGD) 배치 경사 하강법이란, 전체 학습 데이터를 하나의 배치로 묶어 학습시키는 경사 하강법입니다. 전체 데이터에 대한 모델의 오차의 평균을 구하고 이를 미분을 통해 경사를 산출하고 최적화를 진행합니다. 보통 딥러닝 라이브러리에서 배치를 지정하지 않으면 이 방법을 쓰고 있다고 생각할 수 있습니다. 배치 경사 하강법은 전체 데이터를 통해 학습시키기 때문에 가장 업데이트 횟수가 적습니다. (1 Epoch 당 1회 업데이트) 그리고 전체 데이터를 모두 한번에 처리하기 때문에 메모리가 가장 많이 필요합니다. 전체 데이터에 대해 경사를 구하기 때문에 수렴이 안정적입니다. 확률적 경사 하강법 (Stochastic Gradient Descent, SGD..

AI 2021.07.21

경사 하강법

경사 하강법 경사 하강법은 n차 함수의 출력을 0에 가깝게 만드는 입력을 탐색하는 알고리즘 입니다. 어떤 신경망이 있다고 가정해 보겠습니다. 이 신경망은 x 데이터를 입력하면 우리가 원하는 y를 출력해야 하지만 y와 다른 예측값인 t를 출력합니다. 이때 x와 y는 변화시키지 않고 가중치 w를 수정해 t가 y의 근사값이 되도록 만들어야 합니다. y와 다른 예측값을 출력했을 때 손실 함수는 0과는 거리가 있는 어떤 값을 출력합니다. 컴퓨터는 이 값을 통해 예측이 틀렸다는 것을 알 수 있습니다. 그리고 가중치를 수정해 손실을 0으로 근사하게 만드는 작업을 해야 합니다. 신경망 내부의 변수가 하나씩 늘어날 때 마다 함수공간의 차원이 하나씩 증가합니다. 또 각 퍼셉트론은 비선형 활성화 함수를 가지고 있기 때문에 ..

AI 2021.07.21