深層学習の学習:指標など
BLEU
機械翻訳の評価指標の一つでBLEUがある。
この評価方法の前提は、「プロの翻訳者の訳と近ければ近いほど、その機械翻訳の精度は高い」という考え方である。
BLEUは0~1の間で表現され、それを100倍したものをBLEUスコアとして用いる。
目安としては40以上なら高品質と言える。
BLUEスコアは、下記のような式で計算される。
ここで、
BLEUでは、機械翻訳が参照翻訳より短い場合は、ペナルティを与え、機械翻訳が参照翻訳より長い場合はペナルティを与えないBP(Brevity penalty)がある。
cを機械翻訳の長さとして、下記のようにあらわされる。
soft plus関数およびsigmoid関数との関係
soft plus関数は、下記のように定義する。
グラフにすると、下記のような形で、ReLu関数に近いが、連続的につながっていて、全域で微分可能であることが特徴である。
sigmoidとsoft plus関数の関係
シグモイドは下記の関数である。
soft plus関数の実装
簡易的には、pythonで下記の実装もありえる。
import numpy as np def softplus(x): return np.log(1.0+np.exp(x))
ただ、x=1000を超えるような数をいれるとオーバーフローをする場合がある。
そこで、下記のような実装の工夫があり得る。
この変形を用いて、
import numpu as np return maximum(x,0)+log(1+np.exp(-np.abs(x)))