Fisher Information과 Negative Log-Likelihood의 Hessian과의 관계

Thu 28 September 2017

Overcoming catastrophic forgetting in neural networks 논문의 Elastic Weight Consolidation 방법을 보면 Neural Network 모델의 Negative Log-Likelihood의 Hessian Matrix를 Fisher Information Matrix를 이용해서 근사하는 부분이 있다. Hessian Matrix를 계산하기 위해서는 아주 큰 Parameter Vector \(\theta\)에 대한 두 번 미분을 해야 하므로 계산이 어렵지만, Fisher Information은 \(\theta\)에 대해 한 번만 미분해도 구할 수 있기 때문에 계산상의 장점이 있기 때문이다. 여기서는 둘 사이의 정확한 관계를 수식으로 유도해본다.

먼저 각각의 정의를 보면 Fisher Information Matrix는

$$\begin{aligned} F & =\mathbb{E}_{\mathbf{x}\sim q_{\mathbf{x}}}[\mathbb{E}_{y\sim P_{y|\mathbf{x},\theta}}[(\frac{\partial\log P(y|\mathbf{x},\theta)}{\partial\theta})^{\top}(\frac{\partial\log P(y|\mathbf{x},\theta)}{\partial\theta})]]\\ & =-\mathbb{E}_{\mathbf{x}\sim q_{\mathbf{x}}}[\mathbb{E}_{y\sim P_{y|\mathbf{x},\theta}}[\frac{\partial}{\partial\theta}(\frac{\partial\log P(y|\mathbf{x},\theta)}{\partial\theta})]],\end{aligned}$$

Negative Log-Likelihood의 Hessian matrix는

$$\begin{aligned} H & =\frac{\partial}{\partial\theta}(\frac{\partial}{\partial\theta}\mathbb{E}_{\mathbf{x}\sim q_{\mathbf{x}}}[\mathbb{E}_{y\sim Q_{y|\mathbf{x}}}[-\log P(y|\mathbf{x},\theta)]])\\ & =-\mathbb{E}_{\mathbf{x}\sim q_{\mathbf{x}}}[\mathbb{E}_{y\sim Q_{y|\mathbf{x}}}[\frac{\partial}{\partial\theta}(\frac{\partial\log P(y|\mathbf{x},\theta)}{\partial\theta})]]\end{aligned}$$

이다. 각 정의에서, 두번째 줄은 Leibniz Integration Rule을 사용해 Expectation과 미분의 순서를 바꾼 결과다.

수식을 보면 \(F\)\(H\)는 한 가지 차이를 제외하고 완전히 같은데, \(F\)의 경우 \(y\)에 대한 Expectation이 모델의 분포인 \(P(y|\mathbf{x},\theta)\) 에 대해 취해진 반면 \(H\)의 경우엔 True 데이터의 분포인 \(Q(y|\mathbf{x})\)에 대해서 취해진다.

Activation Function이 Canonical Exponential-Family인 경우

앞서 다룬 수식은 일반적인 Supervised Learning 모델에 대한 것이다. 그런데 \(y\) 의 Conditional 분포에서 Activation Function이 Canonical Exponential Family1 로 표현될 수 있는 경우 수식을 좀 더 전개할 수 있다. 즉, \(\mathbf{z}=f(\mathbf{x},\theta)\)가 Neural Net을 쭉 통과한 마지막 층의 Pre-activation 이라고 할 때

$$P(y|\mathbf{x},\theta)=R(y|f(\mathbf{x},\theta))=R(y|\mathbf{z})$$

에서 \(R(y|\mathbf{z})\)이 Canonical Exponential Family이면 정의에 따라 다음과 같이 쓸 수 있다.

$$\log R(y|\mathbf{z})=\mathbf{z}{}^{\top}\mathbf{T}(y)-A(\mathbf{\eta}(\mathbf{z}))+\log h(y).$$

이때 양변에 \(\mathbf{z}\) 에 대한 Hessian을 씌우면, \(\mathbf{z}\)의 1차항만 존재하는 첫 번째 Term과 \(\mathbf{z}\)와 무관한 세 번째 Term은 사라지게 되고, 다음과 같이 \(y\)와 독립이 됨을 알 수 있다.

$$H_{\mathbf{z}}(\log R(y|\mathbf{z}))=-H_{\mathbf{z}}(A(\mathbf{\eta}(\mathbf{z}))).$$

따라서, \(y\)에 대한 Expectation을 그 분포와 상관없이 제거할 수 있으며,

$$\mathbb{E}_{y}[H_{\mathbf{z}}(\log R(y|\mathbf{z}))=H_{\mathbf{z}}(\log R(y|\mathbf{z})$$

이 경우 Fisher Information과 Hessian을 각각 구해보면 다음과 같다.

Fisher Information

$$\begin{aligned} F & =\mathbb{E}_{\mathbf{x}\sim q_{\mathbf{x}}}[\mathbb{E}_{y\sim R_{y|\mathbf{z}}}[(\frac{\partial\mathbf{z}}{\partial\theta})^{\top}(\frac{\partial\log R(y|\mathbf{z})}{\partial\mathbf{z}})^{\top}(\frac{\partial\log R(y|\mathbf{z})}{\partial\mathbf{z}})(\frac{\partial\mathbf{z}}{\partial\theta})]]\\ & =\mathbb{E}_{\mathbf{x}\sim q_{\mathbf{x}}}[(\frac{\partial\mathbf{z}}{\partial\theta})^{\top}\mathbb{E}_{y\sim R_{y|\mathbf{z}}}[(\frac{\partial\log R(y|\mathbf{z})}{\partial\mathbf{z}})^{\top}(\frac{\partial\log R(y|\mathbf{z})}{\partial\mathbf{z}})](\frac{\partial\mathbf{z}}{\partial\theta})]\\ & =\mathbb{E}_{\mathbf{x}\sim q_{\mathbf{x}}}[(\frac{\partial\mathbf{z}}{\partial\theta})^{\top}\mathbb{E}_{y\sim R_{y|\mathbf{z}}}[-H_{\mathbf{z}}(\log R(y|\mathbf{z}))](\frac{\partial\mathbf{z}}{\partial\theta})]\\ & =-\mathbb{E}_{\mathbf{x}\sim q_{\mathbf{x}}}[(\frac{\partial\mathbf{z}}{\partial\theta})^{\top}H_{\mathbf{z}}(\log R(y|\mathbf{z}))(\frac{\partial\mathbf{z}}{\partial\theta})]\end{aligned}$$

Hessian of Negative Log-Likelihood

$$\begin{aligned} H & =-\mathbb{E}_{\mathbf{x}\sim q_{\mathbf{x}}}[\mathbb{E}_{y\sim Q_{y|\mathbf{x}}}[\frac{\partial}{\partial\theta}(\frac{\partial\log R(y|\mathbf{z})}{\partial\mathbf{z}}\frac{\partial\mathbf{z}}{\partial\theta})]]\\ & =-\mathbb{E}_{\mathbf{x}\sim q_{\mathbf{x}}}[\mathbb{E}_{y\sim Q_{y|\mathbf{x}}}[(\frac{\partial\mathbf{z}}{\partial\theta})^{\top}H_{\mathbf{z}}(\log R(y|\mathbf{z}))(\frac{\partial\mathbf{z}}{\partial\theta})+\sum_{k}(\frac{\partial\log R(y|\mathbf{z})}{\partial z_{k}})H_{\theta}(z_{k})]]\\ & =-\mathbb{E}_{\mathbf{x}\sim q_{\mathbf{x}}}[(\frac{\partial\mathbf{z}}{\partial\theta})^{\top}\mathbb{E}_{y\sim Q_{y|\mathbf{x}}}[H_{\mathbf{z}}(\log R(y|\mathbf{z}))](\frac{\partial\mathbf{z}}{\partial\theta})]-\mathbb{E}_{\mathbf{x}\sim q_{\mathbf{x}}}[\sum_{k}\mathbb{E}_{y\sim Q_{y|\mathbf{x}}}[(\frac{\partial\log R(y|\mathbf{z})}{\partial z_{k}})]H_{\theta}(z_{k})]\\ & \approx-\mathbb{E}_{\mathbf{x}\sim q_{\mathbf{x}}}[(\frac{\partial\mathbf{z}}{\partial\theta})^{\top}H_{\mathbf{z}}(\log R(y|\mathbf{z}))(\frac{\partial\mathbf{z}}{\partial\theta})]=F\end{aligned}$$

마지막 줄의 근사는 모든 \(\mathbf{x}\sim q_{\mathbf{x}}\), 와 \(k\)에 대하여 \(\mathbb{E}_{y\sim Q_{y|\mathbf{x}}}[\frac{\partial\log R(y|\mathbf{z})}{\partial z_{k}}]\approx0\)인 경우 가능한 근사이다.

이 조건은 사실 \(\mathbb{E}_{\mathbf{x}\sim q_{\mathbf{x}}}[\mathbb{E}_{y\sim Q_{y|\mathbf{x}}}[\frac{\partial\log R(y|\mathbf{z})}{\partial z_{k}}]]\approx0\) 조건에 비해 더 까다로운데, 후자의 경우 \(y\)에 대한 Expectation이 꼭 모두 0이 아니더라도 \(\mathbf{x}\)에 대한 Expectation을 취하는 과정에서 합쳐서 0이 되어도 괜찮기 때문이다. 즉, 후자의 조건은 전자의 조건을 만족하기 위한 필요 조건이지만 충분 조건은 아니다. 하지만 보통은 충분조건이 된다고 보고 후자의 조건만을 따져서, Log-Likelihood의 Gradient가 0에 가까우면, 즉 Local Optima에 있으면 Fisher Information으로 Hessian을 근사하는 것 같다.


  1. Natural Parameter가 Parameter와 같은 경우 즉, \(\mathbf{\eta}(\mathbf{z})=\mathbf{z}\)를 뜻한다. Softmax를 통과시켜 나온 확률들로 Parameterize되는 Categorical 분포나, Covariance를 고정시킨 채 Mean에 의해서만 Parameterize되는 Normal 분포 등이 여기에 해당된다. 

Category: Bayesian Machine Learning

Comments