신경망을 훈련 할 때 훈련 / 테스트 오류가 갑자기 떨어지는 원인은 무엇입니까?


18

신경망 훈련 중 특정 시대에서 몇 번의 테스트 / 훈련 오류가 갑자기 떨어지는 것을 보았습니다.이 성능 향상의 원인은 무엇입니까?

ResNet 테스트 오류

이 이미지는 Kaiming He 's Github에서 가져 왔지만 유사한 논문이 많은 논문에 나타납니다.


하나의 관련 논문 : Smith et al. 2018, 학습 속도를 붕괴 배치 크기, 증가시키지 openreview.net/forum?id=B1Yy1BxCZ을
아메바

답변:


7

그들은 학습 속도를 변경했습니다. 하락은 정확히 30 및 60 시대이며, 누군가가 수동으로 설정한다는 점에 유의하십시오.


3.4 장에서는 오류가
정체

2

"최적화 환경"을 생각하십시오. 예를 들어 가중치가 두 개인 네트워크가있는 경우 표면에이 두 가중치의 모든 조합을 표시 할 수 있습니다. 여기서 각 포인트의 높이는 (x, y를 사용하는 경우 비용 함수가 반환하는 오류의 양을 나타냅니다. )를 두 가중치로 조정합니다. 가장 낮은 수준의 오류를 얻기 위해이 표면에서 가장 낮은 지점으로 이동하려고합니다.
문제는 때로는 표면이 두 개가 아닌 수백만 개의 매개 변수를 가진 네트워크에서 매우 미친 듯이 보일 수 있다는 것입니다. 진행이 느려지는 안장 지점에 갇혀 갑자기 언덕으로 내려갈 수 있습니다.
여기에 도움을 애니메이션이 시각화입니다 당신이 더 기본적인 그라데이션 하강 알고리즘이 훨씬 더 쉽게이 위치에 박히면서 볼 수 있듯이.
여기에 이미지 설명을 입력하십시오

이것에 대한 다른 원인도있을 수 있지만 이것이 가장 일반적으로 듣는 원인입니다. 네트워크에 포화 활성화 (또는 매우 적은 수의 훈련 입력으로 만 활성화되는 relu의 경우)를받는 여러 장치가있을 수 있으며 하나의 장치가 포화 상태에서 벗어날 수 있습니다. 나머지 부분을 채도에서 벗어나게하는 연쇄 반응을 시작하고 무게가 갑자기 구배 흐름을 증가 시키는가? 나는 그런 것을 보지 않았지만 다른 이유가 있다면 관심이 있습니다.


1
-1. 이것은 질문에 대한 답이 아니거나 적어도 어떻게하는지, 왜 당신이 쓴 것이 관련이 있는지 확실하지 않습니다. 왜 학습률을 낮추면 안 장점에서 벗어날까요?
amoeba

정의에 따라 SGD가 모든 반복마다 다른 최적화 표면을 볼 수 있기 때문에 애니메이션이 어쨌든 올바른지조차 확실하지 않습니다. 이 그래픽에서 최적화 표면은 고정되어 있으므로 여기서 어떻게 SGD를 설명 할 수 있는지 명확하지 않습니다. SGD "도트"는 전체 배치 그라디언트 디센트와 유사하게 작동하며, 최적화 표면은 전체 교육 과정에서 고정됩니다.
Josh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.