신경망 학습: 권장사항

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

실패 사례

몇 가지 일반적인 이유로 인해 역전파에서 문제가 나타날 수 있습니다.

경사 소실

입력 쪽에 가까운 하위 레이어의 경사가 매우 작아질 수 있습니다. 심층 네트워크에서 이러한 경사를 계산할 때는 많은 작은 항의 곱을 구하는 과정이 포함될 수 있습니다.

하위 레이어의 경사가 0에 가깝게 소실되면 이러한 레이어에서 학습 속도가 크게 저하되거나 학습이 중지됩니다.

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

경사 발산

네트워크에서 가중치가 매우 크면 하위 레이어의 경사에 많은 큰 항의 곱이 포함됩니다. 이러한 경우 경사가 너무 커져서 수렴하지 못하고 발산하는 현상이 나타날 수 있습니다.

batch 정규화를 사용하거나 학습률을 낮추면 경사 발산을 방지할 수 있습니다.

ReLU 유닛 소멸

ReLU 유닛의 가중 합이 0 미만으로 떨어지면 ReLU 유닛이 고착될 수 있습니다. 이러한 경우 활동이 출력되지 않으므로 네트워크의 출력에 어떠한 영향도 없으며 역전파 과정에서 경사가 더 이상 통과할 수 없습니다. 이와 같이 경사의 근원이 단절되므로, 가중 합이 다시 0 이상으로 상승할 만큼 ReLU가 변화하지 못할 수도 있습니다.

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

드롭아웃 정규화

신경망에는 드롭아웃이라는 또 하나의 정규화 형태가 유용합니다. 이는 단일 경사 스텝에서 유닛 활동을 무작위로 배제하는 방식입니다. 드롭아웃을 반복할수록 정규화가 강력해집니다.

  • 0.0 = 드롭아웃 정규화 없음
  • 1.0 = 전체 드롭아웃. 모델에서 학습을 수행하지 않습니다.
  • 0.0~1.0 범위 값 = 보다 유용함