신경망 학습: 권장사항

이 섹션에서는 역전파의 실패 사례와 신경망을 정규화하는 가장 일반적인 방법을 설명합니다.

실패 사례

일반적으로 역전파에 문제가 발생하는 데는 여러 가지 방법이 있습니다.

경사 소실

하위 레이어 (입력에 가까운 위치)의 경사가 매우 작아질 수 있습니다. 심층 네트워크에서 이러한 경사를 계산하려면 많은 작은 항의 곱을 구해야 할 수 있습니다.

하위 레이어의 경사가 0으로 소실되면 학습 속도가 매우 느려지거나 전혀 학습되지 않습니다.

ReLU 활성화 함수를 통해 경사 소실을 방지할 수 있습니다.

그라데이션 발산

네트워크의 가중치가 매우 크면 하위 레이어의 경사에 많은 큰 항의 곱이 포함됩니다. 이 경우 그라데이션이 발산될 수 있습니다. 경사가 너무 커져서 수렴되지 않습니다.

배치 정규화는 학습률을 낮추는 것과 같이 경사 발산을 방지하는 데 도움이 될 수 있습니다.

불량 ReLU 유닛

ReLU 유닛의 가중 합계가 0 미만으로 떨어지면 ReLU 유닛이 고착될 수 있습니다. 이 함수는 활성화 출력을 0으로 출력하여 네트워크의 출력에 아무런 영향을 미치지 않으며, 역전파 중에 경사가 더 이상 이를 통과할 수 없습니다. 경사 소스가 잘리면 가중 합이 다시 0보다 커지도록 ReLU에 대한 입력이 변경되지 않을 수 있습니다.

학습률을 낮추면 ReLU 유닛이 소멸되는 것을 방지할 수 있습니다.

드롭아웃 정규화

신경망에는 드롭아웃이라는 또 다른 정규화 형태가 유용합니다. 이 방식은 단일 경사 스텝에서 단위 활성화를 네트워크에서 무작위로 '배제'하는 방식으로 작동합니다. 드롭아웃이 많을수록 정규화가 강력해집니다.

  • 0.0 = 드롭아웃 정규화 없음
  • 1.0 = 모든 항목을 드롭아웃합니다. 모델은 아무것도 학습하지 않습니다.
  • 0.0~1.0 사이의 값 = 보다 유용함