역전파는 신경망의 가장 일반적인 학습 알고리즘입니다.
이를 통해 다층 신경망에서 기울기 하강을 실행할 수 있습니다.
Keras와 같은 많은 머신러닝 코드 라이브러리는 역전파를 자동으로 처리하므로 사용자가 기본 계산을 직접 수행할 필요가 없습니다. 다음 동영상을 시청하여 역전파의 작동 방식에 관한 개념적 개요를 알아보세요.
신경망 학습 권장사항
이 섹션에서는 역전파의 실패 사례와 신경망을 정규화하는 가장 일반적인 방법을 설명합니다.
경사 소실
하위 신경망 계층 (입력층에 더 가까운 계층)의 경사는 매우 작아질 수 있습니다.
심층 네트워크 (히든 레이어가 2개 이상인 네트워크)에서 이러한 기울기를 계산하려면 많은 작은 항의 곱을 취해야 할 수 있습니다.
하위 레이어의 경사 값이 0에 가까워지면 경사가 '사라진다'고 합니다. 사라지는 기울기가 있는 레이어는 매우 느리게 학습되거나 전혀 학습되지 않습니다.
ReLU 활성화 함수는 사라지는 기울기를 방지하는 데 도움이 될 수 있습니다.
폭발하는 그라데이션
네트워크의 가중치가 매우 큰 경우 하위 레이어의 기울기에는 많은 큰 항의 곱셈이 포함됩니다. 이 경우 수렴하기에는 너무 커지는 폭발적인 경사가 발생할 수 있습니다.
배치 정규화는 학습률을 낮추는 것처럼 경사 발산을 방지하는 데 도움이 될 수 있습니다.
비활성 ReLU 단위
ReLU 유닛의 가중치 합계가 0 아래로 떨어지면 ReLU 유닛이 중단될 수 있습니다. 0을 출력하여 네트워크의 출력에 아무것도 기여하지 않으며 역전파 중에 더 이상 그라디언트가 이를 통해 흐를 수 없습니다. 기울기 소스가 차단되면 ReLU의 입력이 가중치 합계를 0 위로 다시 가져올 만큼 충분히 변경되지 않을 수 있습니다.
학습률을 낮추면 ReLU 유닛이 죽지 않도록 할 수 있습니다.
드롭아웃 정규화
드롭아웃 정규화라는 또 다른 정규화 형태는 신경망에 유용합니다. 드롭아웃은 단일 경사 단계에 대해 네트워크에서 유닛 활성화를 무작위로 '드롭아웃'하는 방식으로 작동합니다.
드롭아웃이 많을수록 정규화가 강력해집니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2024-11-08(UTC)"],[[["Backpropagation is the primary training algorithm for neural networks, enabling gradient descent for multi-layer networks and often handled automatically by machine learning libraries."],["Vanishing gradients occur when gradients in lower layers become very small, hindering their training, and can be mitigated by using ReLU activation function."],["Exploding gradients happen when large weights cause excessively large gradients, disrupting convergence, and can be addressed with batch normalization or lowering the learning rate."],["Dead ReLU units emerge when a ReLU unit's output gets stuck at 0, halting gradient flow, and can be avoided by lowering the learning rate or using ReLU variants like LeakyReLU."],["Dropout regularization is a technique to prevent overfitting by randomly dropping unit activations during training, with higher dropout rates indicating stronger regularization."]]],[]]