JP6918358B2 - Approximate calculation device, approximate calculation method and program - Google Patents
Approximate calculation device, approximate calculation method and program Download PDFInfo
- Publication number
- JP6918358B2 JP6918358B2 JP2017202006A JP2017202006A JP6918358B2 JP 6918358 B2 JP6918358 B2 JP 6918358B2 JP 2017202006 A JP2017202006 A JP 2017202006A JP 2017202006 A JP2017202006 A JP 2017202006A JP 6918358 B2 JP6918358 B2 JP 6918358B2
- Authority
- JP
- Japan
- Prior art keywords
- power
- calculation
- fractional part
- approximate
- approximation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004364 calculation method Methods 0.000 title claims description 121
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 238000000926 separation method Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 description 84
- 239000013598 vector Substances 0.000 description 28
- 238000013528 artificial neural network Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 5
- 238000000034 method Methods 0.000 description 5
- 238000012886 linear function Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000013530 stochastic neural network Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003183 myoelectrical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Landscapes
- Complex Calculations (AREA)
Description
本発明は、近似計算装置、近似計算方法及びプログラム、特に混合ガウスモデルを用いたベイズ識別に好適な近似計算装置、近似計算方法及びプログラムに関する。 The present invention relates to an approximate calculation device, an approximate calculation method and a program, particularly an approximate calculation device, an approximate calculation method and a program suitable for Bayesian identification using a mixed Gaussian model.
筋電義手やブレインマシンインターフェース等において生体信号のパターン識別が用いられるが、これには混合ガウスモデル(Gaussian Mixture Model;GMM)に基づくベイズ識別が有効であることが知られているが、GMMの演算をリアルタイムで処理しようとすると実装コストが膨大となるという問題がある。 Pattern identification of biological signals is used in myoelectric prosthetic hands, brain-machine interfaces, etc., and it is known that Bayesian identification based on the Gaussian Mixture Model (GMM) is effective for this, but GMM's There is a problem that the implementation cost becomes enormous when trying to process the calculation in real time.
一方、リアルタイム処理においてべき乗の計算を行う場合がある。
例えば、特許文献1には、混合ガウスモデルを適用したニューラルネットワークに生体信号を入力し、電動義手を操作することが記載されている。混合ガウスモデルで事後確率の計算を行う際、指数関数を含む計算を行う。
On the other hand, there are cases where exponentiation is calculated in real-time processing.
For example,
リアルタイム処理においてべき乗の計算を行う場合、べき乗の計算を高速に行う必要がある。べき乗の計算を比較的簡単な計算に置き換えることができれば、計算の高速化を図ることができ、また、比較的容易に計算のハードウェア実装を行える。 When calculating exponentiation in real-time processing, it is necessary to calculate exponentiation at high speed. If the exponentiation calculation can be replaced with a relatively simple calculation, the calculation can be speeded up, and the calculation can be implemented in hardware relatively easily.
本発明は、べき乗の計算を比較的簡単な計算に置き換えることができる近似計算装置、近似計算方法およびプログラムを提供する。 The present invention provides an approximate calculator, an approximate calculation method and a program that can replace the power calculation with a relatively simple calculation.
本発明の第1の態様によれば、近似計算装置は、2の実数乗の指数を整数部分と0以上1未満の小数部分とに分離する指数分離部と、前記小数部分について2のべき乗を、0以上1未満の区間が複数の区間に分割された部分区間のうち前記小数部分が含まれる部分区間を示す指標値を前記部分区間の個数で除算した値をべき数とする2のべき乗と、−1を前記個数で除算した値をべき数とする2のべき乗と、前記個数とに基づく1次係数、および、前記指標値を前記個数で除算した値をべき数とする2のべき乗と、−1を前記個数で除算した値をべき数とする2のべき乗と、前記指標値とに基づく定数項を用いた1次式による直線近似で計算する小数部分計算部と、前記整数部分についての2のべき乗の計算結果と、前記小数部分計算部による前記小数部分についての2のべき乗の計算結果とを乗算する乗算部と、を備える。 According to the first aspect of the present invention, the approximate computing device has an exponent separation part that separates an exponent of the real power of 2 into an integer part and a fractional part of 0 or more and less than 1, and a power of 2 for the fractional part. , A power of 2 whose power is the value obtained by dividing the index value indicating the subsection including the fractional portion of the subsections in which the section from 0 or more and less than 1 is divided into a plurality of sections by the number of the subsections. , -1 to the power of 2 with the value divided by the number as the power, the linear coefficient based on the number, and the power of 2 with the value obtained by dividing the index value by the number as the power. , -1 divided by the number is a power of 2, and a fractional partial calculation unit calculated by linear approximation by a linear equation using a constant term based on the index value, and the integer part. It is provided with a multiplication unit for multiplying the calculation result of the power of 2 by the fractional part calculation unit and the calculation result of the power of 2 for the fractional part.
前記整数部分について2のべき乗をシフト演算で計算する整数部分計算部を備えるようにしてもよい。 An integer partial calculation unit that calculates a power of 2 for the integer portion by a shift operation may be provided.
前記小数部分計算部は、前記0以上1未満の区間を分割した区間における2のべき乗の両端を結んだ線分にて前記直線近似を行うようにしてもよい。 The fractional partial calculation unit may perform the linear approximation with a line segment connecting both ends of the power of 2 in the section obtained by dividing the section of 0 or more and less than 1.
ネイピア数の実数乗を2の実数乗に換算する底変換部を備えるようにしてもよい。 It may be provided with a bottom conversion unit that converts the real power of the Napier number into the real power of 2.
前記底変換部は、混合ガウスモデルに基づくベイズ識別におけるネイピア数の実数乗を2の実数乗に換算するようにしてもよい。 The bottom conversion unit may convert the real power of the Napier number in the Bayesian identification based on the mixed Gaussian model into the real power of 2.
本発明の第2の態様によれば、近似計算方法は、プログラミング可能な装置が、2の実数乗の指数を整数部分と0以上1未満の小数部分とに分離する指数分離ステップと、前記装置が、前記小数部分について2のべき乗を、0以上1未満の区間が複数の区間に分割された部分区間のうち前記小数部分が含まれる部分区間を示す指標値を前記部分区間の個数で除算した値をべき数とする2のべき乗と、−1を前記個数で除算した値をべき数とする2のべき乗と、前記個数とに基づく1次係数、および、前記指標値を前記個数で除算した値をべき数とする2のべき乗と、−1を前記個数で除算した値をべき数とする2のべき乗と、前記指標値とに基づく定数項を用いた1次式による直線近似で計算する小数部分計算ステップと、前記装置が、前記整数部分についての2のべき乗の計算結果と、前記小数部分計算ステップでの前記小数部分についての2のべき乗の計算結果とを乗算する乗算ステップと、を含む。
According to a second aspect of the present invention, the approximate calculation method, programmable devices, the exponent separation step of separating the real number squared index of 2 to the integer part and zero or more less than one fractional portion, said device However, the power of 2 for the fractional part was divided by the number of the partial sections, which is an index value indicating the partial section including the fractional part among the partial sections in which the
本発明の第3の態様によれば、プログラムは、プログラミング可能な装置に2の実数乗の指数を整数部分と0以上1未満の小数部分とに分離する指数分離ステップと、前記小数部分について2のべき乗を、0以上1未満の区間が複数の区間に分割された部分区間のうち前記小数部分が含まれる部分区間を示す指標値を前記部分区間の個数で除算した値をべき数とする2のべき乗と、−1を前記個数で除算した値をべき数とする2のべき乗と、前記個数とに基づく1次係数、および、前記指標値を前記個数で除算した値をべき数とする2のべき乗と、−1を前記個数で除算した値をべき数とする2のべき乗と、前記指標値とに基づく定数項を用いた1次式による直線近似で計算する小数部分計算ステップと、前記整数部分についての2のべき乗の計算結果と、前記小数部分計算ステップでの前記小数部分についての2のべき乗の計算結果とを乗算する乗算ステップと、を実行させるためのプログラムである。 According to a third aspect of the invention, the program provides a programmable device with an exponent separation step that separates an exponent of 2 to the power of an integer into an integer part and a fractional part greater than or equal to 0 and 2 for the fractional portion. The exponentiation is defined as the power obtained by dividing the index value indicating the subsection including the fractional portion of the subsections in which the section from 0 or more and less than 1 is divided into a plurality of sections by the number of the subsections. The power of 2 and the power of 2 with the value obtained by dividing -1 by the number as the power, the linear coefficient based on the number, and the value obtained by dividing the index value with the number as the power 2 A power of 2, a power of 2 whose value is -1 divided by the number, and a fractional partial calculation step calculated by linear approximation by a linear equation using a constant term based on the index value, and the above. This is a program for executing a multiplication step of multiplying the calculation result of the power of 2 for the integer part and the calculation result of the power of 2 for the fractional part in the fractional part calculation step.
本発明によれば、べき乗の計算を比較的簡単な計算に置き換えることができる。 According to the present invention, the calculation of exponentiation can be replaced with a relatively simple calculation.
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本発明の実施形態に係る近似計算装置の機能構成を示す概略ブロック図である。図1に示すように、近似計算装置10は、底変換部11と、指数分離部12と、整数部分計算部13と、小数部分計算部14と、乗算部15とを備える。
Hereinafter, embodiments of the present invention will be described, but the following embodiments do not limit the inventions claimed. Also, not all combinations of features described in the embodiments are essential to the means of solving the invention.
FIG. 1 is a schematic block diagram showing a functional configuration of an approximate calculation device according to an embodiment of the present invention. As shown in FIG. 1, the
近似計算装置10は、べき乗の近似計算を行う。
底変換部11は、ネイピア数(e=2.71828・・・)の実数乗を2の実数乗に換算する。例えば、底変換部11は、混合ガウスモデル(Gaussian Mixture Model;GMM)に基づくベイズ識別におけるネイピア数の実数乗を2の実数乗に換算する。
但し、近似計算装置10が近似計算を行うべき乗は、底がネイピア数のものに限定されない。例えば、近似計算装置10が、底が10のべき乗の入力を受け、底変換部11が、底が10のべき乗を底が2のべき乗に換算するようにしてもよい。あるいは、近似計算装置10が、底が元々2であるべき乗の入力を受けて近似計算を行うようにしてもよい。
The
The
However, the power to which the
指数分離部12は、2の実数乗の指数を整数部分と0以上1未満の小数部分とに分離する。
整数部分計算部13は、指数の整数部分について2のべき乗をシフト演算(ビットシフト)で計算する。
小数部分計算部14は、指数の小数部分について2のべき乗を直線近似で計算する。
小数部分計算部14が、0以上1未満の区間を分割した区間毎の直線近似にて、指数の小数部分についての2のべき乗を計算するようにしてもよい。さらには、小数部分計算部14が、0以上1未満の区間を分割した区間における2のべき乗の両端を結んだ線分にて直線近似を行うようにしてもよい。
The
The integer
The fractional
The fractional
乗算部15は、整数部分計算部13による指数の整数部分についての2のべき乗の計算結果と、小数部分計算部14による小数部分についての2のべき乗の計算結果とを乗算する。
これにより、近似計算装置10は、べき乗の計算を四則演算およびシフト演算といった比較的簡単な計算に置き換えることができる。
近似計算装置10が行うべき乗の近似計算について、式を参照して説明する。
The
As a result, the
The approximate calculation of the power to be performed by the
混合ガウスモデルにおいて、特徴ベクトルxをD次元の実数ベクトルとすると、特徴ベクトルxの生起確率密度関数f(x)は、式(1)のように示される。 In the mixed Gaussian model, assuming that the feature vector x is a D-dimensional real number vector, the occurrence probability density function f (x) of the feature vector x is expressed by Eq. (1).
ここで、c(cは、1≦c≦Cの正整数)は、各クラスを識別する識別番号であり、Cはクラス数を示す。m(mは、1≦m≦Mcの正整数)は、クラスcを構成するコンポーネントを識別する識別番号であり、Mcは、クラスcを構成するコンポーネントの数を示す。混合ガウスモデルでは、正規分布(ガウス分布)の重ね合わせによってクラスが構成されており、ここでいうコンポーネントは、クラスを構成する正規分布である。
また、μc,m、Σc,m、γc,m(0≦γc,m≦1)は、それぞれ、クラスcのコンポーネントmの平均ベクトル、分散共分散行列、他のコンポーネントとの混合比を示す。全てのクラスcの全てのコンポーネントmの混合比γc,mの合計は1、すなわち、式(2)を満たすものとする。
Here, c (c is a positive integer of 1 ≦ c ≦ C) is an identification number for identifying each class, and C indicates the number of classes. m (m is 1 positive integer of ≦ m ≦ M c) is an identification number that identifies the components that make up the class c, M c denotes the number of components forming the class c. In the mixed Gaussian model, the class is constructed by superimposing the normal distribution (Gaussian distribution), and the component referred to here is the normal distribution that constitutes the class.
Further, μ c, m , Σ c, m , γ c, m (0 ≦ γ c, m ≦ 1) are the mean vector of the component m of the class c, the variance-covariance matrix, and the mixture with other components, respectively. Shows the ratio. It is assumed that the sum of the mixing ratios γ c and m of all the components m of all the classes c is 1, that is, the equation (2) is satisfied.
また、正規分布M(x;μc,m,Σc,m)は、式(3)のように示される。 The normal distribution M (x; μ c, m , Σ c, m ) is expressed by Eq. (3).
ここで、指数関数expは、ネイピア数eのべき乗を示す。Dは、上記のように特徴ベクトルの次元数を示す。
指数zc,mは、式(4)のように示される。
Here, the exponential function exp indicates the power of the Napier number e. D indicates the number of dimensions of the feature vector as described above.
The indices z c and m are expressed by Eq. (4).
ここでは、上付きの「T」は、行列またはベクトルの転置を示す。上付きの「−1」は逆行列を示す。
特徴ベクトルxをクラスに分類する際の、クラスcのコンポーネントmに対する事後確率は式(5)のように示される。
Here, the superscript "T" indicates the transpose of a matrix or vector. The superscript "-1" indicates the inverse matrix.
The posterior probabilities for the component m of class c when classifying the feature vector x into classes are shown by Eq. (5).
正規分布を指数関数を用いて表記すると、式(5)は式(6)のように示される。 When the normal distribution is expressed using an exponential function, equation (5) is expressed as equation (6).
式(6)における指数関数expの定義域は[−∞,0]と広く、これら指数関数の演算に時間を要することが考えられる。
そこで、指数関数を高速かつ高精度に演算できる近似式を構築する。特に、ハードウェア実装を考慮して近似式を構築する。
まず、指数関数expを2のべき乗で表現すると式(7)のように示される。
The domain of the exponential function exp in Eq. (6) is as wide as [-∞, 0], and it is considered that it takes time to calculate these exponential functions.
Therefore, we construct an approximate expression that can calculate the exponential function at high speed and with high accuracy. In particular, the approximate expression is constructed in consideration of the hardware implementation.
First, when the exponential function exp is expressed by a power of 2, it is expressed as in Eq. (7).
ここで、kは式8のように示される定数である。
Here, k is a constant expressed as in
式(7)を用いた指数関数expから2のべき乗への換算は、底変換部11が行う処理の例に該当する。
式(7)のzkを整数部分と小数部分とに分けると、式(9)のように示される。
The conversion of the exponential function exp to the power of 2 using the equation (7) corresponds to an example of processing performed by the
When the zk of the equation (7) is divided into an integer part and a decimal part, it is expressed as the equation (9).
ここで、αはzkの整数部分であり、式(10)のように示される。 Here, α is an integer part of zk and is expressed as in equation (10).
関数floorは、整数への切り捨てを示す。具体的には関数floorは、引数を超えない最大の整数を示す。
式(9)のβはzkの小数部分であり、式(11)のように示される。
The function floor indicates truncation to an integer. Specifically, the function floor indicates the maximum integer that does not exceed the argument.
Β in equation (9) is a fractional part of zk and is expressed as in equation (11).
βの定義域は[0,1)、すなわち0≦β<1である。指数zkを整数部分αと小数部分βとに分離する処理は、指数分離部12の処理の例に該当する。
ここで、βの定義域を等間隔にn分割して、区間毎に2βをテイラー展開に基づいて線形近似する。2次以上の項を無視できると仮定すると、tの周りにおける2βのテイラー展開は、式(12)のように示される。
The domain of β is [0,1), that is, 0 ≦ β <1. The process of separating the exponent zk into the integer part α and the decimal part β corresponds to the example of the process of the
Here, the domain of β is divided into n at equal intervals, and 2 β is linearly approximated for each interval based on the Taylor expansion. Assuming that quadratic or higher terms can be ignored, the Taylor expansion of 2 β around t is given by Eq. (12).
また、βの定義域[0,1)を等間隔にn分割した各区間は、式(13)のように示される。 Further, each interval in which the domain [0,1] of β is divided into n at equal intervals is shown by Eq. (13).
すなわち、(l−1)/n≦β<l/nであり、lは、1≦l≦nの正整数である。
各区間の中間点をtn,lとすると、式(14)のように示される。
That is, (l-1) / n ≦ β <l / n, and l is a positive integer of 1 ≦ l ≦ n.
Assuming that the midpoint of each interval is t n, l , it is expressed as in Eq. (14).
中間点tn,lの周りにおける2βのテイラー展開は、式(15)のように示される。 The Taylor expansion of 2 β around the midpoint t n, l is given by Eq. (15).
式(15)は、式(16)のように示すことができる。 Equation (15) can be expressed as Equation (16).
ここで、an,lは、式(17)のように示される。 Here, an and l are expressed as in the equation (17).
また、bn,lは、式(18)のように示される。式(16)はβの一次関数であり、βを直線近似する。 Further, b n and l are expressed by the equation (18). Equation (16) is a linear function of β and linearly approximates β.
式(16)による2βの近似を用いて、exp(z)を式(19)のように近似できる。 Using the approximation of 2 β by equation (16), exp (z) can be approximated as in equation (19).
さらに、係数an,lおよびbn,lを簡単化する。
式(17)に式(14)を代入すると、係数an,lは式(20)のように示される。
In addition, the coefficients an , l and b n, l are simplified.
Substituting the equation (14) into the equation (17), the coefficients an and l are shown as in the equation (20).
また、式(18)に式(14)を代入すると、係数bn,lは式(21)のように示される。 Further, when the equation (14) is substituted into the equation (18), the coefficients b n and l are shown as the equation (21).
式(20)および式(21)の「(2l−1)/2n」(=tn,l)、および、2の自然対数「ln2」を近似式で置き換える。
nの値を大きくしていくと、(2l−1)/2nは、1/nに収束する。これは、式(22)のように示される。
Replace "(2l-1) / 2n" (= t n, l ) in Eqs. (20) and (21) with the natural logarithm "ln2" of 2.
As the value of n is increased, (2l-1) / 2n converges to 1 / n. This is expressed as in equation (22).
また、nの値を大きくしていくと、(1−2−1/n)nは、ln2に収束する。これは式(23)のように示される。 Further, as the value of n is increased, ( 1-2-1 / n ) n converges to ln2. This is expressed by equation (23).
式(22)に基づき、係数an,lおよびbn,lの(2l−1)/2nを1/nに置き換える。また、式(23)に基づき、係数an,lおよびbn,lのln2を(1−2−1/n)nに置き換える。
係数an,lから置き換え後の係数a’n,lは、式(24)のように示される。
Based on the equation (22), the coefficients an , l and b n, l (2l-1) / 2n are replaced with 1 / n. Further, based on the equation (23), ln2 of the coefficients an , l and b n, l is replaced with (1-2-1 / n ) n.
The coefficients a'n, l after replacement from the coefficients an n, l are expressed by Eq. (24).
係数bn,lから置き換え後の係数b’n,lは、式(25)のように示される。 The coefficients b'n , l after replacement from the coefficients b n, l are expressed by Eq. (25).
式(16)の係数an,lおよびbn,lを係数a’n,lおよびb’n,lで置き換えて、2βの近似は式(26)のように示される。
Substituting coefficients a n of formula (16), l and b n, the l coefficient a 'n, l and b' n, at l,
式(26)は、2βの示す曲線をn分割した各区間の曲線を、両端を結んだ直線で近似している。
図2は、式(26)による2βの近似の例を示す図である。図2は、2βの定義域を2分割する場合の例を示している。図2のグラフの横軸はβの値を示し、縦軸は2βの値を示す。
Equation (26) approximates the curve of each section obtained by dividing the curve indicated by 2 β into n by a straight line connecting both ends.
FIG. 2 is a diagram showing an example of approximation of 2 β by the equation (26). FIG. 2 shows an example in which the domain of 2 β is divided into two. The horizontal axis of the graph of FIG. 2 shows the value of β, and the vertical axis shows the value of 2 β .
線L11は、2βを示す。点P11、P12、P13は、それぞれ、βの定義域を分割した区間の端部と線L11との交点を示す。点P11は、β=0の直線と線L11との交点を示す。点P12は、β=0.5の直線と線L11との交点を示す。点P13は、β=1の直線と線L11との交点を示す。
線L12a、線L12bは、それぞれβの区間[0,0.5)、[0.5,1)にて線L11を近似する。線L12aは、点P11と点P12とを結んだ直線(線分)である。線L12bは、点P12と点P13とを結んだ直線(線分)である。
このように、式(26)によれば、直感的に把握しやすい態様でβ2を近似することができる。
Line L11 shows 2 β. Points P11, P12, and P13 indicate the intersections of the end of the section in which the domain of β is divided and the line L11, respectively. The point P11 indicates the intersection of the straight line β = 0 and the line L11. The point P12 indicates the intersection of the straight line β = 0.5 and the line L11. The point P13 indicates the intersection of the straight line β = 1 and the line L11.
The line L12a and the line L12b approximate the line L11 in the sections [0,0.5) and [0.5,1) of β, respectively. The line L12a is a straight line (line segment) connecting the points P11 and P12. The line L12b is a straight line (line segment) connecting the points P12 and P13.
As described above, according to the equation (26), β 2 can be approximated in a manner that is easy to grasp intuitively.
式(26)による近似を指数関数expの近似に適用する。具体的には、式(19)の係数an,lおよびbn,lを係数a’n,lおよびb’n,lで置き換えて、指数関数expの近似は式(27)のように示される。 The approximation by equation (26) is applied to the approximation of the exponential function exp. Specifically, by replacing the coefficient a n of formula (19), l and b n, the l by a factor a 'n, l and b' n, l, the approximation of the exponential function exp is as in Equation (27) Shown.
式(27)における2αは、二進数表現におけるシフト演算(ビットシフト)で演算できる。また、a’n,lβ+b’n,lは、βの一次関数である。このように、式(27)によれば、指数関数expをシフト演算と線形方程式で近似することができる。簡単な処理で演算を行える点で、式(27)によれば、指数関数expの演算を高速化することができる。特に式(27)は、シフト演算を用いる点、および、一次関数といった簡単な関数を用いる点でハードウェア実装が容易である。式(27)をハードウェア実装することで、指数関数expの演算を高速化することができる。
式(27)の「2α」の計算は、整数部分計算部13の処理の例に該当する。式(27)の「a’n,lβ+bn,l」の計算は、小数部分計算部14の処理の例に該当する。これらの計算結果の乗算は、乗算部15の処理の例に該当する。
2 α in equation (27) can be calculated by a shift operation (bit shift) in binary representation. Further , a'n, l β + b'n , l are linear functions of β. As described above, according to the equation (27), the exponential function exp can be approximated by the shift operation and the linear equation. According to the equation (27), the calculation of the exponential function exp can be speeded up in that the calculation can be performed by a simple process. In particular, Eq. (27) is easy to implement in hardware because it uses a shift operation and a simple function such as a linear function. By implementing the equation (27) in hardware, the operation of the exponential function exp can be speeded up.
The calculation of “2 α ” in the equation (27) corresponds to the processing example of the integer
次に、指数関数expの近似を混合ガウスモデルに適用する。
正規分布を示す式(3)に式(27)の近似を導入して、正規分布は式(28)のように近似される。
Next, the approximation of the exponential function exp is applied to the mixed Gaussian model.
By introducing the approximation of equation (27) into equation (3) showing the normal distribution, the normal distribution is approximated as in equation (28).
ここで、Anは実数定数であり、式(29)のように示される。 Here, An is a real number constant and is expressed as in Eq. (29).
式(28)に示す正規分布の近似Mapp(x;μc,m,Σc,m)を近似ガウス分布(または近似正規分布)と称する。
近似ガウス分布Mapp(x;μc,m,Σc,m)について、式(30)が成り立つ。
The approximate Mapp (x; μ c, m , Σ c, m ) of the normal distribution shown in the equation (28) is referred to as an approximate Gaussian distribution (or an approximate normal distribution).
Equation (30) holds for the approximate Gaussian distribution Mapp (x; μ c, m , Σ c, m).
また、近似ガウス分布Mapp(x;μc,m,Σc,m)について、式(31)が成り立つ。 Further, equation (31) holds for the approximate Gaussian distribution Mapp (x; μ c, m , Σ c, m).
式(30)および式(31)より、近似ガウス分布Mapp(x;μc,m,Σc,m)は確率密度関数である。
近似ガウス分布Mapp(x;μc,m,Σc,m)を式(1)に適用すると式(32)のようになる。
From Eqs. (30) and (31), the approximate Gaussian distribution Mapp (x; μ c, m , Σ c, m ) is a probability density function.
When the approximate Gaussian distribution M app (x; μ c, m , Σ c, m ) is applied to Eq. (1), Eq. (32) is obtained.
fapp(x)は、混合ガウスモデルの生起確率密度関数f(x)を模擬する。fapp(x)を用いての混合ガウスモデルの模擬を、近似混合ガウスモデル(近似GMM)と称する。
式(26)の近似を式(5)に適用して、近似GMMに基づいたベイズ推定におけるクラスcのコンポーネントmに対する事後確率papp(c,m|x)は、式(33)のように示される。
f app (x) simulates the probability density function f (x) of a mixed Gaussian model. Simulation of a mixed Gaussian model using fapp (x) is referred to as an approximate mixed Gaussian model (approximate GMM).
Applying the approximation of equation (26) to equation (5), the posterior probability papp (c, m | x) for the component m of class c in Bayesian estimation based on the approximation GMM is as in equation (33). Shown.
α、βのいずれもクラスcおよびコンポーネントm毎に値をとるため、添え字cおよびm、あるいは、c’およびm’を付している。
このように、近似GMMによれば、指数関数を用いずにGMMに基づくベイズ推定を近似可能であり、この点で演算を高速化することができる。
Since each of α and β takes a value for each class c and component m, the subscripts c and m or c'and m'are added.
As described above, according to the approximate GMM, the Bayesian estimation based on the GMM can be approximated without using the exponential function, and the calculation can be speeded up in this respect.
次に、近似GMMのニューラルネットワークへの適用について説明する。以下、近似GMMを適用したニューラルネットワークを、近似GMMに基づく確率ニューラルネットワークと称する。
式(5)を、平均ベクトルμc,mおよび共分散逆行列Σc,m −1を用いて展開すると、式(34)のように、新たな入力ベクトルXと、η(c,m)とを用いて指数関数の引数を見かけ上線形化できる。
Next, the application of the approximate GMM to the neural network will be described. Hereinafter, the neural network to which the approximate GMM is applied is referred to as a stochastic neural network based on the approximate GMM.
When equation (5) is expanded using the mean vector μ c, m and the covariance inverse matrix Σ c, m -1 , a new input vector X and η (c, m) are obtained as shown in equation (34). The arguments of the exponential function can be apparently linearized using and.
ここで、新たな入力ベクトルXは、式(35)のように示される。 Here, the new input vector X is expressed by Eq. (35).
すなわち、新たな入力ベクトルXは、元の入力ベクトルxの要素x1,・・・,xDのうち2つ以下の要素の積を要素としている。
また、η(c,m)は、式(36)のように示される。
That is, the new input vector X has the product of two or less elements of the elements x 1 , ..., X D of the original input vector x as elements.
Further, η (c, m) is expressed by the equation (36).
ここで、si,j (c,m)は、共分散逆行列Σc,m −1の要素であり、式(37)のように示される。 Here, si , j (c, m) is an element of the covariance inverse matrix Σ c, m -1 , and is expressed by Eq. (37).
また、η0 (c,m)は、式(38)のように示される。 Further, η 0 (c, m) is expressed by the equation (38).
δijはクロネッカーのデルタ(Kronecker Delta)であり、式(39)のように示される。 δ ij is the Kronecker Delta and is expressed as in Eq. (39).
式(34)に式(24)、式(25)および式(27)を適用すると、式(40)のように示される。 When the formula (24), the formula (25) and the formula (27) are applied to the formula (34), it is expressed as the formula (40).
式(40)のαc,mは式(41)のように示すことができる。 Α c and m of the formula (40) can be expressed as the formula (41).
式(40)のβc,mは式(42)のように示すことができる。 Β c and m of the formula (40) can be expressed as the formula (42).
式(6)に示されるようにk=log2eであり、このkを用いて新たなパラメータのベクトルw(c,m)を式(43)のようにおくことができる。 As shown in the equation (6), k = log 2 e, and this k can be used to set the vector w (c, m) of the new parameter as in the equation (43).
式(40)を式(34)と比較すると、GMMのパラメータμc,m、Σc,mおよびγc,mを、無制約のベクトルw(c,m)で表現可能である。
ベクトルw(c,m)の値を適切に獲得することができれば、入力ベクトルxを非線形変換した新たな入力ベクトルXとベクトルw(c,m)との積を求め、係数を用いた線形方程式およびビットシフトにてベイズ推定の演算を実行できる。そこで、ベクトルw(c,m)をニューラルネットワークの重みとして、w(c,m)の値を機械学習によって決定する。
Comparing Eq. (40) with Eq. (34), the GMM parameters μ c, m , Σ c, m and γ c, m can be represented by the unconstrained vector w (c, m).
If the value of the vector w (c, m) can be obtained appropriately, the product of the new input vector X obtained by nonlinearly transforming the input vector x and the vector w (c, m) is obtained, and a linear equation using a coefficient is obtained. And bit shift can perform Bayesian estimation operations. Therefore, the value of w (c, m) is determined by machine learning with the vector w (c, m) as the weight of the neural network.
図3は、近似GMMに基づく確率ニューラルネットワークの構成例を示す図である。図3に示す構成で、ニューラルネットワーク20は、非線形変換部21と、第1層22と、第2層23と、第3層24とを備える。
非線形変換部21は、式(35)に示されるように、入力ベクトルx=[x1,x2,・・・,xD]Tを新たな入力ベクトルXに変換する。ここで、新たな入力ベクトルXの要素数をHとし、X=[X1,X2,・・・,XH]Tとも表記する。H=1+(D+3)/2である。
FIG. 3 is a diagram showing a configuration example of a stochastic neural network based on the approximate GMM. With the configuration shown in FIG. 3, the
The
第1層22は、新たな入力ベクトルXの要素数Hと同数のノード22−1〜22−Hを備える。第1層のノード22−h(hは、1≦h≦Hの整数)は、入力されるXhを、第2層23の各ノードへ出力する。ノード22−hへの入力を(1)Ihとし、ノード22−hからの出力を(1)Ohとすると、式(44)のように示される。
The
第2層23は、近似GMMにおける全クラスの全コンポーネントと同数のノード23−1,1、・・・、23−1,M1、・・・、23−c,m、・・・、23−C,MCを備える。
第1層22の全ノードから第2層23の全ノードへ経路(Path)が設けられ、経路毎に重みが設定される。第1層22のノードからの出力に重みが乗算されて第2層23のノードに入力され、第2層のノードは、第1層からの出力の重み付け合計の入力を受ける。第1層22のノード22−hから第2層23のノード23−c,mへの経路の重みをwh c,mとすると、ノード23−c,mへの入力(2)Ic,mは、式(45)のように示される。
The
Paths are provided from all the nodes of the
第2層23の各ノードは、式(40)の演算を行って、クラス毎かつコンポーネント毎の事後確率を算出し出力する。ノード23−c,mからの出力(2)Oc,mは、式(46)のように示される。
Each node of the
式(46)に示されるように、第2層23の各ノードが行う計算は、近似計算装置10が行うべき乗の近似計算を含む。この点で、第2層23の各ノードは近似計算装置10の例に該当する。
第3層24は、クラスの数Cと同数のノード24−1〜24−Cを備える。
第2層23の各ノードは、自らが対応するクラスに応じて、第3層24の各ノードのうち当該クラスに対応するノードへデータ(値)を出力する。第2層のノード23−c,mは、第3層24のノード24−cへ出力を行う。第3層24の各ノードは、第2層のノードからの出力の合計の入力を受け、当該合計を出力する。
第3層24のノード24−cへの入力を(3)Icとし、ノード24−cからの出力を(3)Ocとすると、式(47)のように示される。
As shown in equation (46), the calculation performed by each node of the
The
Each node of the
The inputs to the node 24-c of the
次に、ニューラルネットワーク20における学習則について説明する。ニューラルネットワーク20は、重みwh c,mの値を学習する。
学習用データとしてN個の入力ベクトルx(n)(nは、1≦n≦Nの正整数)と、式(48)に示される教師信号ベクトルT(n)とが与えられた場合を考える。
Next, the learning rule in the
Consider the case where N input vectors x (n) (n is a positive integer of 1 ≦ n ≦ N) and the teacher signal vector T (n) shown in the equation (48) are given as training data. ..
カルバック・ライブラー情報量(Kullback-Leibler Divergence)を最小化することでGMMのパラメータを学習的に獲得できるとの前提に基づき、ニューラルネットワーク20の評価関数を式(49)のように定義する。
The evaluation function of the
ニューラルネットワーク20は、式(49)のJを小さくするように学習を行う。
重みwh c,mの修正量をΔwh c,mとし、学習率をμとすると、一括学習法によって修正量Δwh c,mは、式(50)のように示される。
The
Assuming that the correction amount of the weights w h c, m is Δw h c, m and the learning rate is μ, the correction amount Δw h c, m is expressed by the batch learning method as shown in the equation (50).
式(50)の(∂Jn)/(∂wh c,m)は、式(51)のように表される。 (∂J n ) / (∂w h c, m ) of the formula (50) is expressed as the formula (51).
ここで、Xh (n)は、入力ベクトルx(n)から得られる新たな入力ベクトルである。
式(50)および式(51)は、単純な四則演算で計算可能であり、この点で高速に演算可能である。
また、式(49)のlog2 (3)Ocを高速に演算できるよう近似を行う。log2 (3)Ocは、式(52)のように変形できる。
Here, X h (n) is a new input vector obtained from the input vector x (n).
Equations (50) and (51) can be calculated by simple four arithmetic operations, and in this respect, they can be calculated at high speed.
Further, an approximation log 2 (3) so that the O c can perform high-speed calculation of Equation (49). log 2 (3) O c can be modified as formula (52).
ここで、mc、ncはいずれも整数であり、1≦mc<2である。
指数関数expの近似の場合と同様、mcの定義域[1,2)をn分割し、log2mcを近似する。mcの定義域を等間隔にn分割した区間は、式(53)のように示される。
Here, mc and n c are both integers, and 1 ≦ mc <2.
As in the case of the approximation of the exponential function exp, domain of m c a [1,2) divided into n approximates the log 2 m c. m c equal intervals n divided sections the domain of is as shown in equation (53).
この区間におけるlog2mc上の両端の点は、式(54)のように示される。 Points at both ends of the log 2 m c in this interval is as shown in equation (54).
式(54)に示される両端の点を結ぶ直線(線分)g’’n,lによって、log2mcは式(55)のように近似される。 The log 2 mc is approximated by the straight line (line segment) g''n, l connecting the points at both ends shown in the equation (54) as in the equation (55).
ここで、cn,lは、式(56)のように示される。 Here, cn and l are expressed as in the equation (56).
dn,lは、式(57)のように示される。 d n and l are expressed by the equation (57).
さらに、n=1、l=1とした場合、cn,l=1、dn,l=−1となり、log2mcを式(58)のように線形近似可能である。 Furthermore, when the n = 1, l = 1, c n, l = 1, d n, can be linearly approximated as l = -1. Therefore, the log 2 m c Equation (58).
この場合、式(52)は、式(59)のように示される。 In this case, equation (52) is expressed as equation (59).
また、式(49)は、式(60)のように示される。 Further, the equation (49) is expressed as the equation (60).
式(50)の学習率μは、式(61)に基づいて学習サイクル毎に更新することが考えられる。 It is conceivable that the learning rate μ of the equation (50) is updated every learning cycle based on the equation (61).
ここで、学習の収束時間の上限設定値をtfとすると、μkは式(62)のように示される。 Here, assuming that the upper limit setting value of the learning convergence time is t f , μ k is expressed by Eq. (62).
λは0<λ<1を満たす任意の定数である。ここで、λ=0.5とすると、μkは式(63)のように示される。 λ is an arbitrary constant that satisfies 0 <λ <1. Here, assuming that λ = 0.5, μ k is expressed as in Eq. (63).
関数h(J)=√Jをtの周りでテイラー展開して第2項まで線形近似を行うと、式64のように示される。 When the function h (J) = √J is Taylor-expanded around t and linearly approximated to the second term, it is shown by Equation 64.
ここで、t=1とすると式(65)のように示される。 Here, assuming that t = 1, it is expressed as in the equation (65).
式(65)は、J=1における接線であり、J=1の近傍でのみ近似が成り立つ。近似の精度をより高めるために、式(65)を式(66)のように変形する。 Equation (65) is a tangent line at J = 1, and the approximation holds only in the vicinity of J = 1. In order to improve the accuracy of the approximation, the equation (65) is modified as the equation (66).
ここで、0.5≦J’≦2である。また、qは自然数のベクトルである。
このように、比較的簡単な計算にて学習を実現可能である。
次に、上述した近似の精度について検討する。
式(19)に示される、指数関数の近似関数g1(z)=2α(an,lβ+bn,l)の、指数関数exp=f1(z)に対する誤差率E1を式(67)のように定義する。
Here, 0.5 ≦ J ′ ≦ 2. Also, q is a vector of natural numbers.
In this way, learning can be realized with relatively simple calculations.
Next, the accuracy of the above-mentioned approximation will be examined.
The error rate E 1 of the approximate function g 1 (z) = 2α (an , l β + b n, l ) of the exponential function shown in the equation (19) with respect to the exponential function exp = f 1 (z) is set to the equation (67). ).
また、式(19)に示される、指数関数expの近似関数g’1(z)=2α(an,lβ+bn,l)の、指数関数exp=f1(z)に対する誤差率E’1を式(68)のように定義する。 Also, shown in the equation (19), the approximation of the exponential function exp function g '1 (z) = 2α (a n, l β + b n, l) of the exponential function exp = f 1 (z) error rate for E' 1 is defined as in equation (68).
図4は、近似関数g1(z)を用いた場合の、指数関数の近似誤差率を示す図である。図4のグラフの横軸はzの値を示し、縦軸は近似誤差率を示す。
線L21は、分割数n=1の場合の近似誤差率を示す。線L22は、分割数n=2の場合の近似誤差率を示す。線L23は、分割数n=4の場合の近似誤差率を示す。
図4に示すように、分割数nが増加すると近似誤差率は小さくなる。近似誤差率が最も大きい分割数n=1の場合でも、近似誤差率の最大値は7.59%であり、比較的高精度に近似できている。
FIG. 4 is a diagram showing the approximation error rate of the exponential function when the approximation function g 1 (z) is used. The horizontal axis of the graph of FIG. 4 shows the value of z, and the vertical axis shows the approximate error rate.
The line L21 shows the approximate error rate when the number of divisions is n = 1. The line L22 shows the approximate error rate when the number of divisions is n = 2. The line L23 shows the approximate error rate when the number of divisions is n = 4.
As shown in FIG. 4, as the number of divisions n increases, the approximation error rate decreases. Even when the number of divisions n = 1, which has the largest approximation error rate, the maximum value of the approximation error rate is 7.59%, and the approximation can be performed with relatively high accuracy.
図5は、近似関数g’1(z)を用いた場合の、指数関数の近似誤差率を示す図である。図5のグラフの横軸はzの値を示し、縦軸は近似誤差率を示す。
線L31は、分割数n=1の場合の近似誤差率を示す。線L32は、分割数n=2の場合の近似誤差率を示す。線L33は、分割数n=4の場合の近似誤差率を示す。
図5に示すように、分割数nが増加すると近似誤差率は小さくなる。近似誤差率が最も大きい分割数n=1の場合でも、近似誤差率の最大値は6.15%であり、比較的高精度に近似できている。
5, in the case of using an approximate function g '1 (z), is a diagram showing an approximation error rate of the exponential function. The horizontal axis of the graph of FIG. 5 indicates the value of z, and the vertical axis indicates the approximate error rate.
The line L31 shows the approximate error rate when the number of divisions is n = 1. The line L32 shows the approximate error rate when the number of divisions is n = 2. The line L33 shows the approximate error rate when the number of divisions is n = 4.
As shown in FIG. 5, the approximation error rate decreases as the number of divisions n increases. Even when the number of divisions n = 1, which has the largest approximation error rate, the maximum value of the approximation error rate is 6.15%, and the approximation can be performed with relatively high accuracy.
図6は、近似関数g1(z)、g’1(z)それぞれの近似誤差率を示す図である。図6では、近似関数g1(z)、g’1(z)それぞれについて、分割数n=1、2、4それぞれの場合の近似誤差率の平均値および最大値を示している。図6を参照すると、近似関数g’1(z)では、近似関数g1(z)よりも近似誤差率の平均値が大きくなっているものの、最大値は小さくなっている。もっとも、近似関数g1(z)とg’1(z)との近似誤差率の相違は1%程度と比較的小さい値である。 6, the approximation function g 1 (z), is a diagram illustrating a g '1 (z) each approximation error rate. In Figure 6, approximation function g 1 (z), the g '1 (z), respectively, show the average value and the maximum value of the approximation error rate in each case the division number n = l, 2,4. Referring to FIG. 6, the approximation function g '1 (z), but the average value of the approximation error rate than the approximation function g 1 (z) is larger, the maximum value is smaller. However, differences in the approximation function g 1 (z) and g '1 (z) and the approximation error rate is relatively small value of about 1%.
図7は、近似関数g’1(z)による指数関数の近似の例を示す図である。図7は、分割数n=1の場合の例を示している。図7のグラフの横軸はzを示し、縦軸はexp(z)を示す。
線L41は、指数関数exp(z)の実際値を示す。線L42は、近似関数g’1(z)による近似値を示す。
図7に示されるように、近似関数g’1(z)によって指数関数exp(z)を近似できている。
Figure 7 is a diagram showing an example of the approximation of the exponential function according to the approximation function g '1 (z). FIG. 7 shows an example in the case where the number of divisions n = 1. The horizontal axis of the graph of FIG. 7 indicates z, and the vertical axis indicates exp (z).
The line L41 shows the actual value of the exponential function exp (z). Line L42 shows the approximate value by the approximation function g '1 (z).
As shown in FIG. 7, which can be approximated to an exponential function exp (z) by approximation function g '1 (z).
次に、対数関数の近似精度について検討する。
式(59)に示される対数関数の近似関数g2((3)Oc)=mc+nc−1の、対数関数f2((3)Oc)=log2 (3)Ocに対する近似誤差率を式(69)のように定義する。
Next, the approximation accuracy of the logarithmic function will be examined.
For the logarithmic function f 2 ( (3) O c ) = log 2 (3) O c of the approximate function g 2 ( (3) O c ) = m c + n c -1 of the logarithmic function shown in equation (59). The approximate error rate is defined as in Eq. (69).
図8は、近似関数g2(z)を用いた場合の、対数関数の近似誤差率を示す図である。図8のグラフの横軸は(3)Ocの値を示し、縦軸は近似誤差率を示す。
線L51は、分割数n=1の場合の近似誤差率を示す。線L52は、分割数n=2の場合の近似誤差率を示す。線L53は、分割数n=4の場合の近似誤差率を示す。
指数関数の近似の場合と同様、対数関数の近似の場合も分割数nが増加すると近似誤差率は小さくなる。
(3)Ocが1に近付くとlog2 (3)Ocが0に近付くため、近似誤差率は次第に大きくなる。見かけ上の近似誤差率が大きくなるものの、近似誤差f2((3)Oc)−g2((3)Oc)が最も大きい分割数n=1の場合でも、近似誤差は平均で0.058±0.026であり、比較的高精度に近似できている。
FIG. 8 is a diagram showing the approximate error rate of the logarithmic function when the approximate function g 2 (z) is used. The horizontal axis of the graph in Figure 8 shows the value of the (3) O c, the vertical axis shows the approximation error rate.
The line L51 shows the approximate error rate when the number of divisions is n = 1. The line L52 shows the approximate error rate when the number of divisions is n = 2. Line L53 shows the approximate error rate when the number of divisions is n = 4.
Similar to the case of the approximation of the exponential function, in the case of the approximation of the logarithmic function, the approximation error rate becomes smaller as the number of divisions n increases.
(3) for the O c
図9は、近似関数g2((3)Oc)による対数関数の近似の例を示す図である。図9は、分割数n=1の場合の例を示している。図9のグラフの横軸は(3)Ocを示し、縦軸はlog2 (3)Ocを示す。
線L61は、対数関数log2 (3)Ocの実際値を示す。線L62は、近似関数g2((3)Oc)による近似値を示す。
図9に示されるように、近似関数g2((3)Oc)によって対数関数exp(log2 (3)Oc)を近似できている。
FIG. 9 is a diagram showing an example of approximation of a logarithmic function by the approximation function g 2 ( (3) Occ). FIG. 9 shows an example in the case where the number of divisions n = 1. The horizontal axis of the graph in Figure 9 shows the (3) O c, the vertical axis represents the log 2 (3) O c.
Line L61 shows the actual value of the logarithmic function log 2 (3) O c. The line L62 shows an approximate value by the approximate function g 2 ( (3) Occ).
As shown in FIG. 9, the logarithmic function exp (log 2 (3) O c ) can be approximated by the approximation function g 2 ( (3) O c).
次に、近似混合ガウスモデルに基づくクラス識別の実験結果について説明する。図3に示すニューラルネットワークをFPGA(Field-programmable Gate Array)に実装してクラス識別および学習の実験を行った。
ハードウェア上では、以下の流れで指数関数の演算を行った。
1−1. (2)Ic,mの整数値をαc,mとし、小数値をβc,mとする。
1−2. βc,mに1を加え、αc,mビット左シフトする。
Next, the experimental results of class identification based on the approximate mixed Gaussian model will be described. The neural network shown in FIG. 3 was implemented on an FPGA (Field-programmable Gate Array) to perform class identification and learning experiments.
On the hardware, the exponential function was calculated according to the following flow.
1-1. (2) Let the integer values of I c and m be α c and m, and let the decimal values be β c and m .
1-2. Add 1 to β c and m to shift α c and m bits to the left.
また、対数関数の演算は、以下のように行った。
2−1. (3)Oc≦1のとき2−2.へ進む。(3)Oc>1のとき2−3.へ進む。
2−2. (3)Ocを2倍(1ビット左シフト)し、2−1.へ戻る。
2−3. 2−2.で2倍した回数(1ビット左シフトした回数)をncとし、式(59)の演算を行う。
The operation of the logarithmic function was performed as follows.
2-1. (3) When the O c ≦ 1 2-2. Proceed to. (3) O c> 1 when 2-3. Proceed to.
2-2. (3) Oc is doubled (1 bit left shift), and 2-1. Return to.
2-3. 2-2. The number of times of doubling (the number of times of 1-bit left shift) is defined as nc, and the calculation of equation (59) is performed.
平方根関数は、以下のように計算可能である。
3−1. J>2のとき3−2.に進む。J≦2のとき、3−3.に進む。
3−2. Jを1/4倍(2ビット右シフト)し、3−1.へ戻る。
3−3. 3−2.で1/4倍した回数(2ビット右シフトした回数)をqとして、式(66)の演算を行う。
以上より、ハードウェア上で指数関数、対数関数、平方根関数の各演算をシフト演算および加減算にて実行可能である。
The square root function can be calculated as follows.
3-1. When J> 2 3-2. Proceed to. When J ≦ 2, 3-3. Proceed to.
3-2. J is multiplied by 1/4 (shifted to the right by 2 bits), and 3-1. Return to.
3-3. 3-2. The number of times of 1/4 times (the number of times of right-shifting by 2 bits) is set to q, and the calculation of the equation (66) is performed.
From the above, each operation of the exponential function, the logarithmic function, and the square root function can be executed by the shift operation and the addition / subtraction on the hardware.
実験の比較対象として、上記の近似を行わない混合ガウスモデルによるニューラルネットワークをソフトウェアで構築した。ソフトウェアによるニューラルネットワークの構築は、CPUクロック周波数3.40ギガヘルツ(GHz)、RAM(Random Access Memory)16.0ギガバイト(GB)のコンピュータおよびC言語を用いて行った。
以下では、近似混合ガウスモデルによるニューラルネットワークのFPGAを用いた構成を近似GMMハード構成と称する。また、近似を行わない混合ガウスモデルによるニューラルネットワークのソフトウェアによる構成をGMMソフト構成と称する。
As a comparison target of the experiment, a neural network based on a mixed Gaussian model without the above approximation was constructed by software. The construction of the neural network by software was performed using a computer with a CPU clock frequency of 3.40 GHz (GHz) and a RAM (Random Access Memory) of 16.0 gigabytes (GB) and C language.
In the following, a configuration using FPGA of a neural network based on an approximate mixed Gaussian model will be referred to as an approximate GMM hard configuration. Further, a configuration by software of a neural network based on a mixed Gaussian model without approximation is referred to as a GMM software configuration.
クラスの識別率については、GMMソフト構成、近似GMMハード構成共に約99と高い識別率を示し、有意差は認められなかった。
学習時間については、GMMソフト構成が6.43秒であったのに対し、近似GMMハード構成では8.47ミリ秒と、おおよそ800分の1の時間に短縮された。
上記のように、指数関数、対数関数、平方根関数の各演算をシフト演算および加減算にて実行可能であり、この点で、ハードウェア実装が容易である。ハードウェア実装および計算の簡単化により、上記のように学習時間が大幅に短縮された。
Regarding the class identification rate, both the GMM software configuration and the approximate GMM hardware configuration showed a high identification rate of about 99, and no significant difference was observed.
Regarding the learning time, the GMM software configuration was 6.43 seconds, while the approximate GMM hardware configuration was 8.47 milliseconds, which was shortened to about 1/800.
As described above, each operation of the exponential function, the logarithmic function, and the square root function can be executed by the shift operation and the addition / subtraction, and in this respect, the hardware implementation is easy. Due to the simplification of hardware implementation and calculation, the learning time has been significantly reduced as described above.
以上のように、指数分離部12は、2の実数乗の指数を整数部分と0以上1未満の小数部分とに分離する。小数部分計算部14は、指数の小数部分について2のべき乗を直線近似で計算する。乗算部15は、整数部分についての2のべき乗の計算結果と、小数部分計算部14による小数部分についての2のべき乗の計算結果とを乗算する。
これにより、近似計算装置10では、指数の小数部分についての2のべき乗を簡単な線形演算に置き換えることができる。この点で、近似計算装置10によれば、ハードウェア実装が容易であり、ハードウェア実装および演算の簡単化による演算時間の短縮が見込まれる。
As described above, the
This allows the
また、整数部分計算部13は、指数の整数部分について2のべき乗をシフト演算で計算する。
近似計算装置10によれば、指数の整数部分について2のべき乗をシフト演算で行う点で、ハードウェア実装が容易であり、ハードウェア実装および演算の簡単化による演算時間の短縮が見込まれる。
Further, the integer
According to the
また、小数部分計算部14は、0以上1未満の区間を分割した区間毎の直線近似にて指数の小数部分についての2のべき乗を計算する。
これにより、近似計算装置10では、特に高い演算精度を要求される場合は分割数を多くして近似の精度を高めることができる。かつ、区間毎の直線近似にて、指数の小数部分についての2のべき乗を簡単な線形演算に置き換えることができる。この点で、近似計算装置10によれば、ハードウェア実装が容易であり、ハードウェア実装および演算の簡単化による演算時間の短縮が見込まれる。
Further, the fractional
As a result, the
また、小数部分計算部14は、0以上1未満の区間を分割した区間における2のべき乗の両端を結んだ線分にて直線近似を行う。
これにより、近似計算装置10では、指数の小数部分についての2のべき乗を、より簡単な線形演算に置き換えることができる。この点で、近似計算装置10によれば、ハードウェア実装が容易であり、ハードウェア実装および演算の簡単化による演算時間の短縮が見込まれる。
Further, the fractional
This allows the
また、底変換部11は、ネイピア数の実数乗を2の実数乗に換算する。
これにより、近似計算装置10では、ネイピア数を底とする指数関数を、より簡単な演算に置き換えることができる。
Further, the
As a result, in the
また、底変換部11は、混合ガウスモデルに基づくベイズ識別におけるネイピア数の実数乗を2の実数乗に換算する。
近似計算装置10によれば、混合ガウスモデルを近似する近似混合ガウスモデルを用いることができる。近似混合ガウスモデルは、混合ガウスモデルと比較して、より簡単な演算で実装可能である。この点で、近似計算装置10によれば近似混合ガウスモデルのハードウェア実装が容易であり、ハードウェア実装および演算の簡単化による演算時間の短縮が見込まれる。
Further, the
According to the
なお、近似計算装置10が行う演算及び制御の全部または一部の機能を実現するためのプログラムを、コンピュータまたはハードウェアが読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムまたはハードウェアに読み込ませ、実行することで各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
A program for realizing all or part of the functions of the calculation and control performed by the
Further, the "computer system" includes a homepage providing environment (or a display environment) if a WWW system is used.
Further, the "computer-readable recording medium" refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, or a CD-ROM, or a storage device such as a hard disk built in a computer system. Further, the above-mentioned program may be a program for realizing a part of the above-mentioned functions, and may be a program for realizing the above-mentioned functions in combination with a program already recorded in the computer system.
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。 Although the embodiments of the present invention have been described in detail with reference to the drawings, the specific configuration is not limited to this embodiment, and design changes and the like within a range not deviating from the gist of the present invention are also included.
10 近似計算装置
11 底変換部
12 指数分離部
13 整数部分計算部
14 小数部分計算部
15 乗算部
20 ニューラルネットワーク
21 非線形変換部
22 第1層
23 第2層
24 第3層
10
Claims (7)
前記小数部分について2のべき乗を、0以上1未満の区間が複数の区間に分割された部分区間のうち前記小数部分が含まれる部分区間を示す指標値を前記部分区間の個数で除算した値をべき数とする2のべき乗と、−1を前記個数で除算した値をべき数とする2のべき乗と、前記個数とに基づく1次係数、および、前記指標値を前記個数で除算した値をべき数とする2のべき乗と、−1を前記個数で除算した値をべき数とする2のべき乗と、前記指標値とに基づく定数項を用いた1次式による直線近似で計算する小数部分計算部と、
前記整数部分についての2のべき乗の計算結果と、前記小数部分計算部による前記小数部分についての2のべき乗の計算結果とを乗算する乗算部と、
を備える近似計算装置。 An exponent separation part that separates the exponent of 2 to the real power into an integer part and a fractional part of 0 or more and less than 1.
The power of 2 for the fractional part is divided by the number of the partial sections, which is the index value indicating the partial section including the fractional part among the partial sections in which the sections 0 or more and less than 1 are divided into a plurality of sections. A power of 2 as a power, a power of 2 as a value obtained by dividing -1 by the number, a linear coefficient based on the number, and a value obtained by dividing the index value by the number. A power of 2 as a power, a power of 2 as a power obtained by dividing -1 by the number, and a fractional part calculated by linear approximation using a linear approximation using a constant term based on the index value. Calculation department and
A multiplication unit that multiplies the calculation result of the power of 2 for the integer part and the calculation result of the power of 2 for the fractional part by the fractional part calculation unit.
Approximate calculator.
前記装置が、前記小数部分について2のべき乗を、0以上1未満の区間が複数の区間に分割された部分区間のうち前記小数部分が含まれる部分区間を示す指標値を前記部分区間の個数で除算した値をべき数とする2のべき乗と、−1を前記個数で除算した値をべき数とする2のべき乗と、前記個数とに基づく1次係数、および、前記指標値を前記個数で除算した値をべき数とする2のべき乗と、−1を前記個数で除算した値をべき数とする2のべき乗と、前記指標値とに基づく定数項を用いた1次式による直線近似で計算する小数部分計算ステップと、
前記装置が、前記整数部分についての2のべき乗の計算結果と、前記小数部分計算ステップでの前記小数部分についての2のべき乗の計算結果とを乗算する乗算ステップと、
を含む近似計算方法。 A programmable device has an exponent separation step that separates an exponent of 2 to the real power into an integer part and a fractional part greater than or equal to 0 and less than 1.
The device sets a power of 2 for the fractional part and an index value indicating a partial section including the fractional part among the partial sections in which a section of 0 or more and less than 1 is divided into a plurality of sections by the number of the partial sections. A power of 2 with the divided value as the power, a power of 2 with the value obtained by dividing -1 by the number, a linear coefficient based on the number, and the index value with the number. A linear approximation based on a linear equation using a power of 2 with the divided value as the power, a power of 2 with the value obtained by dividing -1 by the number, and a constant term based on the index value. Fractional partial calculation steps to calculate and
The apparatus comprising a multiplication step of multiplying the power of calculation result of 2, and a calculation result of the power of two for the fractional part in the fractional part calculating step for the integer part,
Approximate calculation method including.
2の実数乗の指数を整数部分と0以上1未満の小数部分とに分離する指数分離ステップと、
前記小数部分について2のべき乗を、0以上1未満の区間が複数の区間に分割された部分区間のうち前記小数部分が含まれる部分区間を示す指標値を前記部分区間の個数で除算した値をべき数とする2のべき乗と、−1を前記個数で除算した値をべき数とする2のべき乗と、前記個数とに基づく1次係数、および、前記指標値を前記個数で除算した値をべき数とする2のべき乗と、−1を前記個数で除算した値をべき数とする2のべき乗と、前記指標値とに基づく定数項を用いた1次式による直線近似で計算する小数部分計算ステップと、
前記整数部分についての2のべき乗の計算結果と、前記小数部分計算ステップでの前記小数部分についての2のべき乗の計算結果とを乗算する乗算ステップと、
を実行させるためのプログラム。 A programmable device with an exponent separation step that separates the exponent of 2 to the real power into an integer part and a fractional part greater than or equal to 0 and less than 1.
The power of 2 for the fractional part is divided by the number of the partial sections, which is the index value indicating the partial section including the fractional part among the partial sections in which the sections 0 or more and less than 1 are divided into a plurality of sections. A power of 2 as a power, a power of 2 as a value obtained by dividing -1 by the number, a linear coefficient based on the number, and a value obtained by dividing the index value by the number. A power of 2 as a power, a power of 2 as a power obtained by dividing -1 by the number, and a fractional part calculated by linear approximation using a linear approximation using a constant term based on the index value. Calculation steps and
A multiplication step that multiplies the calculation result of the power of 2 for the integer part and the calculation result of the power of 2 for the fractional part in the fractional part calculation step.
A program to execute.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017202006A JP6918358B2 (en) | 2017-10-18 | 2017-10-18 | Approximate calculation device, approximate calculation method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017202006A JP6918358B2 (en) | 2017-10-18 | 2017-10-18 | Approximate calculation device, approximate calculation method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019075003A JP2019075003A (en) | 2019-05-16 |
JP6918358B2 true JP6918358B2 (en) | 2021-08-11 |
Family
ID=66544180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017202006A Active JP6918358B2 (en) | 2017-10-18 | 2017-10-18 | Approximate calculation device, approximate calculation method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6918358B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6919539B2 (en) * | 2017-12-06 | 2021-08-18 | 富士通株式会社 | Arithmetic processing unit and control method of arithmetic processing unit |
JP7191797B2 (en) | 2019-09-20 | 2022-12-19 | 株式会社東芝 | Arithmetic circuit |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0831024B2 (en) * | 1989-02-03 | 1996-03-27 | 日本電気株式会社 | Arithmetic processor |
JP3091574B2 (en) * | 1992-07-21 | 2000-09-25 | 三洋電機株式会社 | Data conversion circuit and data conversion method |
JPH06202752A (en) * | 1992-12-10 | 1994-07-22 | Roland Corp | Interpolating device for exponential function data |
JP2002157004A (en) * | 2000-11-20 | 2002-05-31 | Denso Corp | Electronic control unit |
JP3816762B2 (en) * | 2001-06-05 | 2006-08-30 | 独立行政法人科学技術振興機構 | Neural network, neural network system, and neural network processing program |
JP4422709B2 (en) * | 2006-10-26 | 2010-02-24 | 株式会社ルネサステクノロジ | Display brightness control circuit |
-
2017
- 2017-10-18 JP JP2017202006A patent/JP6918358B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019075003A (en) | 2019-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3955173B1 (en) | Training neural network accelerators using mixed precision data formats | |
US10656962B2 (en) | Accelerate deep neural network in an FPGA | |
US20200218982A1 (en) | Dithered quantization of parameters during training with a machine learning tool | |
US20200193273A1 (en) | Residual quantization for neural networks | |
Shao et al. | Constrained Bayesian state estimation–A comparative study and a new particle filter based approach | |
CN112074806A (en) | Block floating point computations using reduced bit width vectors | |
US11334320B2 (en) | Generating randomness in neural networks | |
JPH07248841A (en) | Nonlinear function generator and format converter | |
Herault et al. | Boundary and interface conditions meshless methods [for EM field analysis] | |
Fan et al. | Reconfigurable acceleration of 3D-CNNs for human action recognition with block floating-point representation | |
Bockius et al. | Model reduction techniques for the computation of extended Markov parameterizations for generalized Langevin equations | |
Nedjah et al. | Compact yet efficient hardware implementation of artificial neural networks with customized topology | |
JP7405851B2 (en) | Hardware module for converting numbers | |
JP6918358B2 (en) | Approximate calculation device, approximate calculation method and program | |
Fiori | Nonlinear damped oscillators on Riemannian manifolds: Numerical simulation | |
Iquebal et al. | Emulating the evolution of phase separating microstructures using low-dimensional tensor decomposition and nonlinear regression | |
Jin et al. | Quantum simulation in the semi-classical regime | |
Shehzad et al. | A scalable system-on-chip acceleration for deep neural networks | |
Huang et al. | FPGA implementation of 4-channel ICA for on-line EEG signal separation | |
KR20240125688A (en) | Machine learning using periodic data | |
US11468147B1 (en) | Activation function approximation in deep neural networks using rectified-linear-unit function | |
Xin et al. | Order analysis comparison between traditional fourier transform-based atmospheric turbulence compensation methods and new well optimized linear finder methodology | |
JP2021144659A (en) | Calculator, method for calculation, and program | |
Heng-Li et al. | INTEGRATING EMD, CHAOS-BASED NEURAL NETWORK AND PSO FOR FINANCIAL TIME SERIES FORECASTING. | |
Aslanyan et al. | Learn-as-you-go acceleration of cosmological parameter estimates |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200306 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210308 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210413 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210602 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210706 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210714 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6918358 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |