next up previous contents
次へ: 音素HMM 上へ: アルゴリズムの改良 戻る: 単語trigramの値の検索方法   目次

対数の加算の計算方法

音声認識において連続分布のHMMを使用したとき、計算のダイナミックレンジ が大きく変化するため対数で計算する。そのとき対数の足し算が必要になる。 このアルゴリズムとして線形補間の方法が報告されている[4]。本論 文では、この方法と他に以下の方法を採用した。


$\displaystyle A$ $\textstyle =$ $\displaystyle \log(a)$  
$\displaystyle B$ $\textstyle =$ $\displaystyle \log(b)$  
$\displaystyle C$ $\textstyle =$ $\displaystyle \log(a+b)$  
  $\textstyle =$ $\displaystyle \log(a) +\log (1+b/a)$ (2.53)
  $\textstyle =$ $\displaystyle A + \log ( 1 + \exp( B - A) )$  

を利用して以下のように対数同士の足し算を計算する。


$\displaystyle if$ $\textstyle ( A \gg B )$ $\displaystyle A;$ (2.54)
$\displaystyle else  if$ $\textstyle ( B \gg A )$ $\displaystyle B;$  
$\displaystyle else  if$ $\textstyle ( A \geq B)$ $\displaystyle A + \log ( 1 + \exp( B - A) ) ;$  
$\displaystyle else  if$ $\textstyle ( B \geq A)$ $\displaystyle B + \log ( 1 + \exp( A - B) ) ;$  

なお、この方法はHTK[15]において使用されている。



Jin'ichi Murakami 平成13年1月5日