Softmax は L1 ノルムに関してリプシッツ連続


事前知識

  • Softmax については,この記事などを参照してください.
  • リプシッツ連続については,この記事などを参照してください.

命題

Proposition 1.
softmax(x)\text{softmax}(\mathbf{x}) は L1 ノルムに関して λ2\frac{\lambda}{2}-リプシッツ連続である.

証明

Lip1(softmax)=supxRnJsoftmax(x)1=λ2\text{Lip}_1(\text{softmax}) = \underset{x\in\mathbb R^n}{\sup}\|J_{\text{softmax}}(\mathbf x)\|_1 = \frac\lambda 2 を示せればいい.

Jsoftmax(x)=λ(diag(softmax(x))softmax(x)softmax(x)T)J_{\text{softmax}}(\mathbf x) = \lambda(\text{diag}(\text{softmax}(\mathbf x)) - \text{softmax}(\mathbf x)\text{softmax}(\mathbf x)^T) なので,

Jsoftmax(x)1=max1jdi=1dJsoftmax(x)ij=max1jdi=1dλsoftmax(x)i(δijsoftmax(x)j)=max1jdλ(softmax(x)j(1softmax(x)j)+softmax(x)jijsoftmax(x)i)=max1jd2λ(softmax(x)j(1softmax(x)j))=2λ(max1jdsoftmax(x)j(1softmax(x)j))\begin{align*} \|J_{\text{softmax}}(\mathbf x)\|_1 &= \underset{1\le j \le d}{\max} \sum\limits_{i=1}^d |J_{\text{softmax}}(\mathbf x)_{ij} | \\ &= \underset{1\le j \le d}{\max} \sum\limits_{i=1}^d |\lambda\text{softmax}(\mathbf x)_i(\delta_{ij}-\text{softmax}(\mathbf x)_j)| \\ &= \underset{1\le j \le d}{\max} \lambda \left( \text{softmax}(\mathbf x)_j (1-\text{softmax}(\mathbf x)_j) + \text{softmax}(\mathbf x)_j \sum\limits_{i\ne j} \text{softmax}(\mathbf x)_i \right) \\ &= \underset{1\le j \le d}{\max} 2\lambda \left( \text{softmax}(\mathbf x)_j(1-\text{softmax}(\mathbf x)_j) \right) \\ &= 2\lambda\left( \underset{1\le j \le d}{\max} \text{softmax}(\mathbf x)_j(1-\text{softmax}(\mathbf x)_j) \right) \end{align*}

任意の jj0<softmax(x)j<10<\text{softmax}(\mathbf x)_j<1 が成り立つので,関数 f(x)=x(1x),x(0,1)f(x)=x(1-x),\:x\in(0,1) を考えると,x=12x=\frac12 で最大値 14\frac14 を取る. max1jdsoftmax(x)j=12\underset{1\le j\le d}{\max} \text{softmax}(\mathbf x)_j = \frac12 となるような x\mathbf x は存在するので,以下が成り立つ.

Jsoftmax(x)1=2λ(max1jdsoftmax(x)j(1softmax(x)j))=2λ14=λ2\|J_{\text{softmax}}(\mathbf x)\|_1 = 2\lambda\left( \underset{1\le j \le d}{\max} \text{softmax}(\mathbf x)_j(1-\text{softmax}(\mathbf x)_j) \right) = 2\lambda\cdot \frac14 = \frac\lambda2

\square

References