교육 손실은 시간이 지남에 따라 증가합니다 [중복]


21

4 가지 유형의 시퀀스를 분류하기 위해 모델 (Recurrent Neural Network)을 훈련하고 있습니다. 훈련을 진행할 때 훈련 배치에서 샘플의 90 % 이상을 올바르게 분류 할 때까지 훈련 손실이 줄어드는 것을 볼 수 있습니다. 그러나 몇 번의 에포크 후에 훈련 손실이 증가하고 정확도가 떨어짐을 알 수 있습니다. 훈련 세트에서 성능이 시간이 지남에 따라 악화되지 않아야한다고 기대할 수 있기 때문에 이것은 이상하게 보입니다. 교차 엔트로피 손실을 사용하고 있으며 학습 속도는 0.0002입니다.

업데이트 : 학습 속도가 너무 높은 것으로 나타났습니다. 학습률이 낮 으면이 동작을 관찰 할 수 없습니다. 그러나 나는 여전히 이것이 독특하다고 생각합니다. 왜 이런 일이 발생했는지에 대한 좋은 설명은 환영합니다

손실이 감소했다가 증가합니다

답변:


6

CNN을 훈련 할 때 이와 비슷한 행동을했습니다. 오류 계산을 위해 학습 속도가 떨어지는 경사 하강을 사용했기 때문입니다. 반복 횟수를 대폭 늘리고이 동작이 새로운 낮은 학습 속도로 훨씬 나중에 나오는지 확인 했습니까?


그러나 실제로 그렇습니다. 낮은 학습률로 인해 다시는 올라가지 않을 것이라는 점이 있습니다. 왜 이런 일이 발생하는지 이론적으로 설명을 찾고 있습니다
dins2018

어떤 최적화 알고리즘을 사용하십니까?
Freundlicher

나는 Adam 옵티 마이저를 lr = 0.00001, 베타 = (0.5, 0.999)로 사용합니다
dins2018

1
나는 당신이이 최소 학습 속도에 대해 로컬 최소값까지 천천히 느리게 생각하여 손실 값이 다시 약간 증가하는 지점 (최소값을 초과하기 때문에)이 너무 많은 반복을 요구한다고 생각합니다. 손실 값의 이러한 증가는 Adam으로 인해 발생합니다. 즉, 로컬 최소값을 초과하고 특정 반복 횟수를 초과하면 적은 수를 더 작은 수로 나누고 손실 값이 폭발합니다.
Freundlicher

2
beta1 = 0.9 및 beta2 = 0.999를 설정할 수 있습니다. 이것이이 동작에 대해 작동해야하는 공통 값입니다.
Freundlicher

1

학습률이 너무 높기 때문에, 분산 기능이 최소가되어 손실 기능을 찾는 데 실패합니다. 특정 시대 이후 스케줄러를 사용하여 학습 속도를 낮추면 문제를 해결하는 데 도움이됩니다.


0

학습 속도가 높으면 그래디언트와 반대 방향으로 너무 많이 움직이고 로컬 최소 점에서 멀어지면서 손실을 증가시킬 수 있습니다. 학습 속도 예약 및 그라디언트 클리핑이 도움이 될 수 있습니다.


이력서에 오신 것을 환영합니다. 보다 정확한 답변을 제공하는 것이 가장 좋습니다 . stats.stackexchange.com/help/how-to-answer 에서 지침을 참조하십시오 .
ReneBt
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.