Learning What’s Easy: Fully Differentiable Neural Easy-First Taggers (Martins and Kreutzer, 2017) を読んだので出てきた数式をまとめた
前提知識
- 集合の記号がわかっていること
- arg min f(x)の意味 がわかる
- n次元ベクトル の定義を知っている
- カルバック・ライブラー情報量のWikiを読んだ
- 交差エントロピー のWikiを読んだ
csoftmaxの定義
- 確率単体を定義する
- 入力であるn次元ベクトルの次元数が$L$であることを想定(つまりただの長さLの配列)
- $\Delta^{L-1} := \left\{ \alpha \in \mathbb{R}^L | 1^{\top} \alpha = 1, \alpha \geq 0 \right\}$
- 入力の1行を足し込むと1.0になるようにするということ?
- ちょっとよくわからなかった、誰か教えてください
まず、softmax関数を変分的スタイル(?; 原文でもクエスチョンマークがついている)で表すと以下のようになるとのこと
$\begin{aligned} {\bf softmax(z)} &= \underbrace{\underset{\alpha \in \Delta^{L-1}}{argmin}\ {\bf KL(\alpha||softmax(z))}}_{from\ KL(P||Q) = H(P,Q)-H(P)} \\ &= \underset{\alpha \in \Delta^{L-1}}{argmin}\ \underbrace{{\bf H}(\alpha, {\bf softmax(z)})}_{from\ H(p, q) = -\underset{x}{\Sigma} p(x)\ log\ q(x)} - {\bf H}(\alpha) \\ &= \underset{\alpha \in \Delta^{L-1} }{argmin} -{\bf H}(\alpha) -z^{\top} \alpha \end{aligned}$
…↑式変形のところはちょっと自信がないです。間違えてたら教えてください。
$\begin{aligned} {{\bf csoftmax}({\bf z;u}) := \underset{\alpha \in \Delta^{L-1} }{argmin} -{\bf H}(\alpha) -z^{\top} \alpha } \\ s.t.\ \alpha \leq u,\ where\ u \in \mathbb{R}^L \end{aligned}$
$u$はまた、upper bound(上限)という意味でつけてるのだろうが、どこで定義してるのか…
定義の式の意味
- カルバック・ライブラー情報量
- ${\bf KL, H}$ はそれぞれカルバック・ライブラー情報量とそのエントロピーを指す、なんやねんそれ
- Rのドキュメントに記事があった
- Kullback-Leibler Divergence
- 2つの確率単体P, Qがある場合その距離を計算できるらしい
$\begin{aligned} KL(P||Q) = \Sigma P(P)*log2(P(P)/P(Q))=H(P,Q)-H(P) \end{aligned}$
- 交差エントロピー
- 交差エントロピー、計算機でやるので、pとqは間違いなく離散、ヨシッ(適当)以下が成り立つらしい
$H(p, q) = -\underset{x}{\Sigma}p(x) log\ q(x)$
αはこれから作るというのにこんな式変形していいのだろうか?
とりあえず、これで…あとは
- arg min f(x)の意味 で書いたように、これは "$-H(\alpha) -z^{\top} \alpha$" を最小にするような$\alpha$の集合(というかベクトル)を求めるということを意味する。
どうやって$\alpha$を求めるのか
- TODO