역전파의 효율성, 야코비안, 헤시안 행렬
역전파의 중요한 측면 중 하나는 계산적 효율성이다.
가중치와 편향의 숫자 W 가 증가함에 따라 오류 함수의 미분을 계산하는 데 필요한 컴퓨터 연산의 숫자가 어떻게 비례하여 증가하는지 살펴보도록 하자.
w 가 충분히 큰 경우, 오류 함숫값을 계산하는 데는 O(W) 만큼의 연산이 필요하다.
희박한 연결을 가진 네트워크를 제외하면 가중치의 숫자가 보통 유닛들의 숫자보다 훨씬 크고, 순전파 단계에서 필요한 계산의 대부분은 가중치 합을 구하는 데 든다.
합산의 각 항에서는 한 번의 곱셈과 한 번의 덧셈이 일어나게 되고, 전체 비용은 O(W) 가 된다.
역전파를 사용하지 않고 오류 함수의 미분값을 계산하는 방법 중 하나로, 유한 차분법, 충분히 작은 숫자로 변화량을 계산, 여기에 더해 중심 차분을 사용하여 유한 차분법의 정확도를 증가시킬 수 있다.
유한 차분의과 비교했을 때 두 배의 계산량이 더 필요하다.
수치 미분을 사용할 경우 계산복잡도가 O(W) 에 비례한단느 성질이 사라진다. 각각의 순전파 단계는 O(W) 만큼의 계산을 필요로 하며, 네트워크 상에 개별적으로 섭동되어야 할 W 개의 가중치가 있기 때문에 전체 계산 복잡도는 O(W^2) 가 된다.
수치 미분은 실제 사례에서 오류가 없는지, 올바르게 구현되었는지 확인하는 데 사용된다.
야코비안 행렬
오륫값을 네트워크 상에서 역으로 전파함으로써 가중치에 대한 미분값을 계산,
역전파 테크닉은 다른 종류의 미분값을 구하는 데도 사용 가능하다.
야코비안 행렬 계산, 해당 행렬의 각 원소는 네트워크상의 출력값을 입력값으로 미분한 값으로 주어진다.
다른 모든 입력값들을 고정한 채로 계산한다. 여러 별개의 모듈들로부터 만들어진 시스템에서 유용,
야코비안 행렬은 각 입력 변수들의 변화에 대한 출력값의 지역적 민감도를 제공해준다.
야코비안 행렬을 찾고자 하는 입력 공간의 포인트에 해당하는 입력 벡터를 네트워크에 적용하고 순전파시켜서 모든 은닉 유닛과 출력 유닛의 활성도를 계산한다.
헤시안 행렬
역전파 테크닉은 오류 함수의 이차 미분값을 구하는 데도 사용할 수 있다.
뉴럴 컴퓨팅의 여러 측면에서 헤시안은 중요한 역할을 한다.
- 뉴럴 네트워크에 사용되는 몇몇 비선형 최적화 알고리즘들은 오류 표면의 이차 성질에 기반한다.
- 훈련 데이터에 적은 변화가 생겼을 경우에 빠르게 ff 를 재훈련 하는 과정에 있어서 헤시안이 기반이 된다.
- 헤시안의 역은 덜 중요한 가중치를 찾는 과정에 사용된다.
- 헤시안은 베이지안 뉴럴 네트워크에서 사용되는 라플라스 근사에서 중요한 역할을 한다. 헤시안의 역은 훈련된 네트워크의 예측 분포를 결정하는 데 사용되며, 헤시안의 고윳값들은 초매개변수값을 결정하는 데 사용된다. 헤시안의 행렬식은 모델 증거를 계산하는 데 사용된다.
고려해야 할 점으로 헤시안 행렬을 계산하는 효율성이다. 네트워크 상에 W 개의 매개변수가 있을 경우, 헤시안 행렬은 W * W 차원을 가지게 된다. 따라서 헤시안을 계산하는 데 필요한 계산의 수는 O(W^2) 에 비례하게 증가할 것이다.
헤시안의 응용 사례에서는 헤시안 행렬 그 자체보다는 역행렬이 필요하다. 이러한 이유로 헤시안 행렬의 대각 근사를 구하는 것이 유의미할 수 있다.
대각 근사 - 주대각 성분 외의 모든 값을 0으로 설정,