\(\text{softmax}(f(x))\) からのサンプリングを微分可能な式で表現するためのテクニック
クラス数 \(k\) として
\[\pi = ( \pi_1, \pi_2, \ldots, \pi_k) = \text{softmax}(f(x)) \in \mathbb{R}^k\]
とする. ここから確率分布 \(\pi\) に従って one-hot ベクトル \(z\) をサンプリングする. 例えば
\[z = (0, 1, 0, \ldots, 0)\]
みたいな感じ.
直接 \(\pi_i\) の \(\text{arg max}\) を見るのではなく適当なノイズを加えることでサンプリングを擬似的に再現してる.