반응형

매개변수 갱신 3

[딥러닝] 매개변수 갱신 - Adam, 어느 갱신 방법을 이용할 것인가?

사이토고키의 을 공부하고 정리하였습니다. 매개변수 갱신 - Adam 모멘텀은 공이 그릇 바닥을 구르는 듯한 움직임을 보였습니다. AdamGrad는 매개벼수의 원소마다 적응적으로 갱신 정도를 조정했습니다. 두 기법을 융합한 기법이 바로 Adam입니다. 위 두 방법의 이점을 조합했으므로 매개변수 공간을 효율적으로 탐색해줄 것이라고 기대할 수 있습니다. 하이퍼파라미터의 '편향 보정'이 진행된다는 점도 Adam의 특징입니다. Adam에 의한 최적화 갱신 경로를 확인해보겠습니다. Adam 갱신 과정도 모멘텀과 비슷한 패턴으로 움직입니다. 이는 학습의 갱신 강도를 적응적으로 조정해서 얻는 혜택입니다. Adam은 하이퍼파라미터를 3개 설정합니다. 하나는 지금까지의 학습률, 나머지 두 개는 일차 모멘텀용 계수와 이차 ..

[딥러닝] 매개변수 갱신 - AdaGrad 기법

사이토고키의 을 공부하고 정리하였습니다. AdaGrad 신경망 학습에서는 학습률 값이 중요합니다. 이 값이 너무 작으면 학습 시간이 너무 길어지고, 반대로 너무 크면 발산하여 학습이 제대로 이뤄지지 않습니다. 이 학습률을 정하는 효과적 기술로 학습률 감소(learning rate decay)가 있습니다. 이는 학습을 진행하면서 학습률을 점차 줄여가는 방법입니다. 학습률을 서서히 낮추는 가장 간단한 방법은 매개변수 '전체'의 학습률 값을 일괄적으로 낮추는 것입니다. 이를 더욱 발전시킨 것이 AdaGrad입니다. AdaGrad는 '각각의' 매개변수에 '맞춤형'값을 만들어 줍니다. AdaGrad는 개별 매개변수에 적응적으로 학습률을 조정하면서 학습을 진행합니다. AdaGrad의 갱신 방법은 수식으로는 다음과 ..

[딥러닝] 매개변수 갱신 - 모멘텀(Momentum) 기법

사이토고키의 을 공부하고 정리해보았습니다. 모멘텀 - Momentum 모멘텀은 '운동량'을 뜻하는 단어로, 물리와 관계가 있습니다. 모멘텀 기법은 수식으로 다음과 같이 쓸 수 있습니다. SGD와 비교해보았을 때 v라는 변수가 새로 나옵니다. 이는 물리에서 말하는 속도에 해당합니다. 기울기 방향으로 힘을 받아 물체가 가속된다는 물리 법칙을 나타냅니다. 모멘텀 구현 코드 class Momentum: def __init__(self, lr=0.01, momentum=0.9): self.lr = lr self.momentum = momentum self.v = None def update(self, params, grads): if self.v is None: self.v = {} for key, val in ..

반응형