Backpropagation은 누수 추상화이다 (2016)
-
스탠포드 대학의 CS231n 과목에서는 학생들이 백프로퍼게이션 알고리즘을 직접 구현해보도록 과제에 포함시켰습니다. 이는 프레임워크가 자동으로 계산 해주는 부분을 학생들이 수동으로 수행하도록 한 것입니다.
-
백프로퍼게이션은 학습 과정의 복잡한 부분을 추상화하여 쉽게 이해할 수 없게 만드는 문제를 안고 있습니다. 이를 통해 임의의 레이어를 쌓으면 자동으로 학습이 일어날 것이라는 착각에 빠질 수 있습니다.
-
시그모이드(혹은 tanh) 비선형 함수는 적절한 데이터 전처리와 무게 초기화가 이루어지지 않으면 학습이 멈출 수 있습니다. 이는 "기울기 소실 문제"를 일으키며, 학습속도에 영향을 줍니다.
-
ReLU는 특정 조건하에 죽은 뉴런을 만들어낼 수 있습니다. 이는 뉴런이 활성화되지 않는 경우로, 다시 활성화될 가능성이 없기 때문에 네트워크 성능에 부정적인 영향을 미칩니다.
-
RNN에서는 기울기 폭발 문제가 발생할 수 있습니다. 이는 반복되는 가중치 행렬 연산으로 인해 기울기가 무한대로 증가하게 되는 현상입니다. 이를 해결하기 위해 기울기 클리핑이나 LSTM을 사용합니다.
-
딥 Q 러닝(DQN)에서는 오류가 백프로퍼게이션에 부정적 영향을 미치지 않도록 조정해야 합니다. 개발자들은 기울기를 클립하려 했으나, 실제로는 기울기가 잘못 조정되고 있었습니다.
-
이 글은 백프로퍼게이션의 중요성과 그 이해 부족이 어떻게 네트워크 디버깅 및 개발에 영향을 미칠 수 있는지를 강조하고 있습니다. 백프로퍼게이션을 제대로 이해하면 신경망 구축과 오류 수정 능력이 향상됩니다.
-
CS231n 강의는 직관적 이해를 강조하여 수학적 복잡성을 줄이면서 백프로퍼게이션을 설명하고 있습니다. 이 강의를 통해 문제에 더 신중하게 접근할 수 있는 이해를 제공하겠다고 말합니다.