Gradient of Entropy Minimization Loss

\(\newcommand{\x}{\boldsymbol{x}} \newcommand{\z}{\boldsymbol{z}} \newcommand{\w}{\boldsymbol{w}} \newcommand{\bmu}{\boldsymbol{\mu}} \newcommand{\XX}{\mathcal{X}} \newcommand{\YY}{\mathcal{Y}} \newcommand{\bR}{\mathbb{R}} \newcommand{\to}{\rightarrow}\)

给定模型 \(f:\XX \to \bR^{K}\),其中 \(K\) 为类别的数量。\(f(\x)=[v_1;v_2;\ldots;v_K]\) 表示模型对于样本 \(\x\) 的输出 Logit 值,则模型对样本\(\x\) 的输出概率定义为:

\[\begin{equation}
p_i=\frac{\exp{(v_i) }}{\sum_{k=1}^K \exp(v_k)}
\label{eq:logits}
\end{equation}
\]

基于模型的输出概率,我们可以模型输出概率的熵与熵最小化损失:

\[\begin{equation}
\ell(\x) = -\sum_{k=1}^K p_k \ln p_k
\label{eq:em_loss}
\end{equation}
\]

为了能够进一步分析,熵最小化损失对于模型机理的影响,我们可以推导出损失对 Logit 值的梯度:

\[\begin{equation}
\begin{aligned}
\frac{\partial \ell(\x)}{\partial v_i}
&=\sum_{k=1}^K \frac{\partial \ell(\x)}{\partial p_k} \frac{\partial p_k}{\partial v_i}\\
&= \sum_{k=1}^K (-\ln p_k – 1) (\mathbb{I}[i=k] \cdot p_i – p_i p_k)\\
&= – p_i (\ln p_i + 1 – \sum_{i=1}^K p_k \ln p_k – \sum_{k=1}^K p_k) \\
&= p_i (\sum_{i=1}^K p_k \ln p_k – \ln p_i) \\
\end{aligned}
\label{eq:grad_of_em}
\end{equation}
\]