2020/10/15 11:33 更新
csoftmaxでconstraintな活性関数
33 いいね ブックマーク
目次

Learning What’s Easy: Fully Differentiable Neural Easy-First Taggers (Martins and Kreutzer, 2017) を読んだので出てきた数式をまとめた

前提知識

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(上限)という意味でつけてるのだろうが、どこで定義してるのか…

定義の式の意味

$\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