RMSProp 및 Adam 대 SGD


12

RMSProp, Adam 및 SGD가있는 네트워크를 사용하여 EMNIST 검증 세트에 대한 실험을 수행하고 있습니다. L2 정규화 (1e-05 페널티)뿐만 아니라 SGD (학습률 0.1) 및 탈락 (0.1 탈락 확률)으로 87 % 정확도를 달성하고 있습니다. RMSProp 및 Adam을 사용하여 동일한 정확한 구성과 0.001의 초기 학습 속도를 테스트 할 때 85 %의 정확도와 훨씬 덜 부드러운 훈련 곡선을 달성하고 있습니다. 나는이 행동을 설명하는 방법을 모른다. 훈련 곡선에서 매끄러움이 부족하고 정확도가 낮고 오류율이 높은 이유는 무엇입니까?


이것은 네트워크에 따라 다릅니다. 네트워크에 대한 세부 정보를 알려주시겠습니까? 또한 학습 곡선을 제공 할 수 있습니까?
Memming

이것은 5 개의 계층 (각 계층의 Dropout, Affine, ELU)을 가진 네트워크로, 150 개의 숨겨진 차원, 사용 된 ELU 활성화 기능, SGD에 대한 0.1 학습 속도, RMS 및 Adam에 대한 0.001 학습 속도, 1e를 사용한 L2 정규화와 같이 설정됩니다. -05 페널티, 탈락 0.1 배제 확률.
Alk

"정확한 동일한 구성 ... 초기 학습 속도 0.001"이라고 말하면 다른 학습 속도를 사용했거나 학습 속도가 같은 실험과 다른 학습 속도가있는 실험을 두 번 수행 했습니까? 어떤 매개 변수가 무엇을 기본값으로 사용하는지에 따라 실제 소프트웨어에 따라 다를 수 있습니다.
Wayne

그래서 저는 SGD에 0.1을, Adam과 RMSProp에 0.001을 사용했습니다. 내가 0.1 학습 속도로 Adam과 RMSProp를 실행했을 때 둘 다 60 %의 정확도로 잘못 수행했기 때문입니다. 또한 Adam의 논문에서 0.001이 권장되는 값입니다.
Alk

학습 곡선을 게시하고 테스트 또는 교육 데이터의 오류를 측정하는지 여부를 게시해야합니다.
Jakub Bartczuk

답변:


4

온라인으로 몇 가지 기사와 Keras 문서를 조사한 후 RMSProp 옵티 마이저를 반복 신경망에 권장하는 것이 좋습니다. https://github.com/keras-team/keras/blob/master/keras/optimizers.py#L209

확률 적 그라디언트 디센트는 각 배치 사이의 학습 속도와 운동량을 활용하여 필자의 경우 손실 함수 정보를 기반으로 모델의 가중치를 최적화하는 것으로 보입니다.

최적화 알고리즘에 대한 추가 정보 는 http://ruder.io/optimizing-gradient-descent/index.html 을 제안 합니다.


"RMSProp 옵티마이 저가 반복적 인 신경망에 권장 됨"이 무엇을 의미하는지 잘 모르겠습니다. 당신이 넣은 링크가 이제 끊어졌으며 어디에도 추천되지 않습니다.
Harshal Parekh '
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.