(57)【特許請求の範囲】
【請求項１】
入力層、１以上の中間層、および、出力層を少なくとも含むニューラルネットワークの演算を行う演算装置であって、
入力パターンを受け付ける受付部と、
前記入力パターンを特徴量に変換し、前記入力層の出力として前記特徴量を出力する入力層計算部と、
前記入力パターンのＮ個（Ｎは１以上の整数）のクラスにそれぞれ対応するＮ個のユニットグループであって、前記入力層からの出力または前記中間層からの出力の一部または全部を入力し、対応する前記クラスに対して定められる重みを入力に基づく値に乗じて出力する補正ユニットを含む前記ユニットグループの計算を行う補正ユニット計算部と、
前記入力層からの出力、他の前記中間層からの出力、または、前記補正ユニット計算部からの出力を入力し、前記中間層の計算結果を出力する中間層計算部と、
前記中間層の計算結果または前記補正ユニット計算部からの出力を入力し、前記出力層の計算結果を出力する出力層計算部と、
を備える演算装置。
【請求項２】
前記出力層からの出力と、前記入力パターンに対応づけられたラベルとに基づく学習により、前記クラスそれぞれの前記重みを更新する更新部をさらに備える、
請求項１に記載の演算装置。
【請求項３】
前記補正ユニットを、前記補正ユニット計算部からの出力を入力する前記中間層または前記出力層のいずれかの１以上のユニットに統合する統合部をさらに備える、
請求項１に記載の演算装置。
【請求項４】
前記補正ユニットは、前記入力層からの出力または前記中間層からの出力の一部または全部を線形変換した値に前記重みを乗じて出力する、
請求項１に記載の演算装置。
【請求項５】
前記入力パターンは、音声である、
請求項１に記載の演算装置。
【請求項６】
前記音声のクラスは話者クラスである、
請求項５に記載の演算装置。
【請求項７】
前記音声のクラスは環境クラスである、
請求項５に記載の演算装置。
【請求項８】
入力層、１以上の中間層、および、出力層を少なくとも含むニューラルネットワークの演算を行う演算方法であって、
入力パターンを受け付ける受付ステップと、
前記入力パターンを特徴量に変換し、前記入力層の出力として前記特徴量を出力する入力層計算ステップと、
前記入力パターンのＮ個（Ｎは１以上の整数）のクラスにそれぞれ対応するＮ個のユニットグループであって、前記入力層からの出力または前記中間層からの出力の一部または全部を入力し、対応する前記クラスに対して定められる重みを入力に基づく値に乗じて出力する補正ユニットを含む前記ユニットグループの計算を行う補正ユニット計算ステップと、
前記入力層からの出力、他の前記中間層からの出力、または、前記補正ユニット計算ステップからの出力を入力し、前記中間層の計算結果を出力する中間層計算ステップと、
前記中間層の計算結果または前記補正ユニット計算ステップからの出力を入力し、前記出力層の計算結果を出力する出力層計算ステップと、
を含む演算方法。
【請求項９】
入力層、１以上の中間層、および、出力層を少なくとも含むニューラルネットワークの演算を行うコンピュータを、
入力パターンを受け付ける受付部と、
前記入力パターンを特徴量に変換し、前記入力層の出力として前記特徴量を出力する入力層計算部と、
前記入力パターンのＮ個（Ｎは１以上の整数）のクラスにそれぞれ対応するＮ個のユニットグループであって、前記入力層からの出力または前記中間層からの出力の一部または全部を入力し、対応する前記クラスに対して定められる重みを入力に基づく値に乗じて出力する補正ユニットを含む前記ユニットグループの計算を行う補正ユニット計算部と、
前記入力層からの出力、他の前記中間層からの出力、または、前記補正ユニット計算部からの出力を入力し、前記中間層の計算結果を出力する中間層計算部と、
前記中間層の計算結果または前記補正ユニット計算部からの出力を入力し、前記出力層の計算結果を出力する出力層計算部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、演算装置、演算方法およびプログラムに関する。
【背景技術】
【０００２】
現在ニューラルネットは様々な分野で使用されている。一般的なフィードフォワード型のニューラルネットは、複数の層を持ち、前段の層の出力を入力とし、異なる重みパラメータおよびバイアスパラメータを持つ複数のユニットが前段の出力の重み付け線形和を活性化関数に通して次段の層に出力する。
【０００３】
ニューラルネットは非常に強力な識別器ではあるが、識別対象に適応を行ったほうが識別性能は向上する。例えば、ニューラルネットの各層のユニットの線形和のバイアスパラメータにクラス毎の補正項を加えることによってクラス間の差を補正しつつタスク適応を行う技術が提案されている。また、識別器に対する特徴量として、特徴ベクトルｘをクラス数分コピーしてタスク適応を行う方法が提案されている。例えばクラスとしてＡおよびＢがあるときに、クラスＡを学習および評価する際には（ｘ，ｘ，０)といった特徴量を用い、クラスＢを学習および評価する際には（ｘ，０，ｘ)といった特徴量を用いてクラスに適応する方法が提案されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Shaofei  xue，  Ossama  Abdel-Hamid，  Hui  Jiang，  Lirong  Dai，  “Direct  adaptation  of  hybrid  dnn/hmm  model  for  fast  speaker  adaptation  in  lvcsr  LVCSR  based  on  speaker  code，”  in  Acoustics，  Speech  and  Signal  Processing  （ICASSP2014），  pp.6339-6343.
【非特許文献２】Hal  Daum´e  III，  “Frustratingly  easy  domain  adaptation，”  In  ACL’07，  pages  256-263，  Prague,  Czech.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、各層のユニットのバイアスパラメータしか補正することができなかった。
【課題を解決するための手段】
【０００６】
実施形態の演算装置は、受付部と入力層計算部と補正ユニット計算部と中間層計算部と出力層計算部とを備える。受付部は力パターンを受け付ける。入力層計算部は、入力パターンを特徴量に変換し入力層の出力として出力する。補正ユニット計算部は、入力パターンのＮ個のクラスに対応するＮ個のユニットグループであって、入力層または中間層からの出力の一部または全部を入力し、対応するクラスに対応する重みを入力に基づく値に乗じて出力する補正ユニットを含むユニットグループの計算を行う。中間層計算部は、入力層、他の中間層、または、補正ユニット計算部からの出力を入力し中間層の計算結果を出力する。出力層計算部は、中間層または補正ユニット計算部からの出力を入力し出力層の計算結果を出力する。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態にかかる演算装置のブロック図。
【図２】第１の実施形態における演算処理のフローチャート。
【図３】第１の実施形態のニューラルネットワークの例を示す図。
【図４】第１の実施形態のニューラルネットワークの例を示す図。
【図５】第１の実施形態のニューラルネットワークの例を示す図。
【図６】第２の実施形態にかかる演算装置のブロック図。
【図７】第２の実施形態における演算処理のフローチャート。
【図８】実施形態にかかる演算装置のハードウェア構成図。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、この発明にかかる演算装置の好適な実施形態を詳細に説明する。
【０００９】
（第１の実施形態）
第１の実施形態にかかる演算装置は、入力層、１以上の中間層、および、出力層を少なくとも含むニューラルネットワークの演算を行う演算装置である。本実施形態の演算装置は、ニューラルネットワークを用いて入力パターンを識別するパターン識別装置などに適用できる。
【００１０】
上述したように、従来の方法ではニューラルネットワークのユニットのバイアスパラメータしかクラス特徴を補正することができなかった。また、特徴量をクラス数分コピーする方法では、予め決められたクラスのいずれかにしか適応することができなかった。そこで、第１の実施形態にかかる演算装置は、ニューラルネットワークの各層の各ユニットのバイアスパラメータだけでなく重みパラメータも補正可能とする。
【００１１】
図１は、第１の実施形態にかかる演算装置１００の構成の一例を示すブロック図である。図１に示すように、演算装置１００は、受付部１０１と、入力層計算部１０２と、補正ユニット計算部１０３と、中間層計算部１０４と、出力層計算部１０５と、第１記憶部１２１と、第２記憶部１２２と、を備えている。
【００１２】
簡便性のため、以下では、入力された音声を入力パターンとし、２つの話者クラス（男音声、女音声）を使った母音（ａ、ｉ、ｕ、ｅ、ｏ）の識別を例に説明する。入力パターンのクラスは２つの話者クラスに限定するものではなく、３以上の話者クラスでもよいし、話者クラスの代わりに環境クラスなどの他のクラスを用いてもよい。また、入力パターンおよび識別対象は、音声および母音に限られるものではない。例えば、画像、テキスト、および、音声以外の音、などの様々な信号を入力パターンとしてもよい。また例えば音素、音素状態、特定の人物、物体、特定のキーワード、話題、単語、動物の鳴き声、笑い声、および、せき、などを識別対象としてもよい。また、音声を用いた話者識別および属性識別などに適用してもよい。
【００１３】
受付部１０１は、入力パターンとして音声（音波形）を受け付ける。例えば受付部１０１は、マイクロホンなどを用いて入力された音波形を受け付ける。また受付部１０１は、音波形をアナログからデジタルに変換して入力層計算部１０２に出力する。受付部１０１は、一般的なＡＤ（アナログデジタル）変換を用いてアナログ波からデジタル波への変換を行う。例えば受付部１０１は、アナログの音波形を１６ｋＨｚでサンプリングし、１サンプルの振幅値を１６ビットで表したデジタル信号を出力する。
【００１４】
入力層計算部１０２は、ニューラルネットワークの入力層の計算を実行する。例えば入力層計算部１０２は、受付部１０１から入力したデジタル信号を特徴量に変換し、入力層の出力として出力する。
【００１５】
入力層計算部１０２は、デジタル信号を一定の時間毎に切り出す。例えば入力層計算部１０２は、デジタル波を２５６点サンプルずつ、１２８点サンプルずらしながら切り出す。入力層計算部１０２は、切り出した２５６点サンプルを１フレームとする。入力層計算部１０２は、２５６点サンプルから、１２次元のＭＦＣＣ（Mel  Frequency  Cepstral  Coefficient）特徴量を計算する。入力層計算部１０２は、ＭＦＣＣ特徴量を３フレーム分バッファリングし、この３フレーム分のＭＦＣＣ特徴量を連結した３６次元を３フレームの中央フレームの時刻の特徴量として出力する。
【００１６】
抽出する特徴量はＭＦＣＣに限定されるものではなく、例えば、メルフィルタバンク特徴量、ＰＬＰ（Perceptual  Linear  Prediction）、ＲＳＴＡ−ＰＬＰ特徴量、および、ピッチ特徴量、並びに、これらの特徴量のΔ成分、および、ΔΔ成分を用いてもよい。または、これら特徴量の組み合わせを用いてもよい。また、連結フレーム数は３に限定されるものではなく、１フレーム以上であれば、何フレーム連結させてもよい。切り出しサンプルサイズおよびフレーム周期は上記の値に限定されるものではない。
【００１７】
補正ユニット計算部１０３は、入力パターン（音声など）のＮ個（Ｎは１以上の整数）のクラスにそれぞれ対応するＮ個のユニットグループを少なくとも含む、補正ユニット層の計算を行う。Ｎ個のクラスに対応する各ユニットグループは、補正ユニットを含む。補正ユニットは、入力層または中間層からの出力の一部または全部を入力し、対応するクラスに対して定められる重みを、入力に基づく値に乗じて出力するユニットである。入力に基づく値は、例えば入力を線形変換（和など）した値などである。
【００１８】
例えば、２つの話者クラスと１つのグローバルクラスを用いる場合（Ｎ＝３）、補正ユニット計算部１０３は、２つの話者クラスと１つのグローバルクラスに対応するユニットグループのユニットがそれぞれ、入力された特徴量を複製（コピー）し、各クラスに対応する重みで重みづけして、次段の層に出力する。各クラスに対して定められる重みは、例えば第１記憶部１２１に記憶される。
【００１９】
中間層計算部１０４は、前段の層の出力を入力として受け取り、自身に対応する中間層のユニットの計算を行い、計算結果を出力する。入力層計算部１０２、補正ユニット計算部１０３、および、他の中間層計算部１０４のいずれかの層が、中間層計算部１０４の前段の層になりうる。
【００２０】
出力層計算部１０５は、前段の層の出力を入力として受け取り、出力層のユニットの計算を行い、計算結果を出力する。補正ユニット計算部１０３、および、中間層計算部１０４のいずれかの層が、出力層計算部１０５の前段の層になりうる。
【００２１】
なお、補正ユニット層は、入力層から出力層の間であればいずれの層に設けられてもよい。また、補正ユニット層および中間層は１つに限られるものではなく、複数設けられてもよい。
【００２２】
第１記憶部１２１は、各クラスに対して定められる重みを含む、各クラスに対する各層の計算に用いるパラメータ（クラスパラメータ）を記憶する。第２記憶部１２２は、ニューラルネットワークモデルのパラメータ（ニューラルネットワークパラメータ）を記憶する。
【００２３】
受付部１０１、入力層計算部１０２、補正ユニット計算部１０３、中間層計算部１０４、および、出力層計算部１０５は、例えば、ＣＰＵ（Central  Processing  Unit）などの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、ＩＣ（Integrated  Circuit）などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
【００２４】
第１記憶部１２１および第２記憶部１２２は、ＨＤＤ（Hard  Disk  Drive）、光ディスク、メモリカード、ＲＡＭ（Random  Access  Memory）などの一般的に利用されているあらゆる記憶媒体により構成することができる。第１記憶部１２１および第２記憶部１２２は、物理的に同じ記憶媒体で構成してもよいし、物理的に異なる記憶媒体で構成してもよい。
【００２５】
次に、このように構成された第１の実施形態にかかる演算装置１００による演算処理について図２を用いて説明する。図２は、第１の実施形態における演算処理の一例を示すフローチャートである。
【００２６】
以下では、入力層、補正ユニット層、中間層、および、出力層を１つずつ持ち、この順で処理するフィードフォワード型のニューラルネットワークを用いて説明を行う。本実施形態はこのようなニューラルネットの構造に限定されるものではない。また、リカレントニューラルネットワーク（ＲＮＮ：Recurrent  Neural  Networks）や、ＲＮＮの１種であるＬＳＴＭ（Long  Short  Time  Memory）型のニューラルネットワーク構造でもよい。
【００２７】
まず、受付部１０１は、音波形（入力パターン）の入力を受け付ける（ステップＳ１０１）。受付部１０１は、音波形をＡＤ変換してデジタル信号を出力する。
【００２８】
入力層計算部１０２は、デジタル信号を入力し、入力層の計算を行う（ステップＳ１０２）。例えば入力層計算部１０２は、デジタル信号を特徴量に変換する。
【００２９】
補正ユニット計算部１０３は、前段の出力を入力として補正ユニット層の計算を行う（ステップＳ１０３）。例えば補正ユニット計算部１０３は、特徴量を入力して、各クラスに対応するユニットグループのユニットにおいてそれぞれ処理を行い、後段の層に処理結果を出力する。
【００３０】
以下では、前段の入力層の出力であるＭＦＣＣ特徴量３６次元を受け取り、２つのクラスに対応するユニットグループと、グローバルクラスに対応する１つのユニットグループとで処理を行う例を説明する。２つのクラスに対応するユニットグループは、男音声クラスに対応する男音声クラスユニットグループ、および、女音声クラスに対応する女音声クラスユニットグループとする。
【００３１】
男音声クラスユニットグループに属するユニット（男音声クラスユニット）は、ＭＦＣＣ特徴量３６次元と１対１で結びつく３６個のユニットから構成される。それぞれのユニットは、ＭＦＣＣ特徴量３６次元中の１次元を受け取り、男音声クラスに対して定められる重みαを乗じて次段の層に出力する。
【００３２】
女音声クラスユニットグループに属するユニット（女音声クラスユニット）は、男音声クラスユニットグループと同じように、ＭＦＣＣ特徴量３６次元と１対１で結びつく３６個のユニットから構成される。それぞれのユニットは、ＭＦＣＣ特徴量３６次元中の１次元を受け取り、女音声クラスに対して定められる重みβを乗じて次段の層に出力する。
【００３３】
グローバルクラスユニットグループに属するユニット（グローバルクラスユニット）は、ＭＦＣＣ特徴量３６次元を受け取り、何も処理を行わず、そのまま３６次元の特徴量を次の層に出力する。
【００３４】
このようにして、男音声クラスユニットから３６次元、女音声ユニットから３６次元、および、グローバルクラスユニットから３６次元の計１０８次元の特徴量が出力される。補正ユニット計算部１０３は、１０８次元の特徴量に各クラスのバイアスを表す１＊１、１＊α、１＊βを加え、１１１次元の特徴量を次段の中間層に出力する。
【００３５】
図３は、本実施形態のニューラルネットワークの構造の一例を示す図である。図３は、ニューラルネットワークに含まれる（ｌ−１）層から（ｌ＋２）層のうち、ｌ層と（ｌ＋１）層の間に補正ユニット層が設けられた例を表している。図中の丸はユニットを表す。簡略化のためユニット数は４としている。また図３ではグローバルクラスユニットの記載は省略しているが、ｌ層から（ｌ＋１）層へ向かう矢印が、入力をそのまま次段の層に出力するグローバルクラスユニットに相当する機能を示す。
【００３６】
ａｌｎｉ（Ａ）およびａｌｎｉ（Ｂ）（ｉ＝１〜３）、（ｎ＝１〜３）は、ｌ層のｉ番目のユニットからｌ＋１層のｎ番目のユニットへの入力に対して適用される重みを表す。ｂｌｎ（Ａ）およびｂｌｎ（Ｂ）は、（ｌ＋１）層のｎ番目のユニットに対して出力されるバイアスパラメータを表す。（Ａ）および（Ｂ）は、クラスＡおよびＢに対応するユニットグループにコピーされた入力に適用される情報であることを示す。補正ユニットの丸の左に記載されたαまたはβは、当該補正ユニットの計算で乗じられる重みを表す。
【００３７】
グローバルクラスユニットを用意せずに、特定のクラスユニットグループのみを用いてもよい。図４は、このように構成する場合のニューラルネットワークの構造の一例を示す図である。図４の例では、ｌ層から（ｌ＋１）層へ向かう矢印、すなわち、グローバルクラスユニットに相当する機能が削除されている。
【００３８】
図３および図４の例ではクラスユニットグループのユニットは、前段の特徴量次元と１対１で結び付けられており、対応する次元にクラス重みをかけて出力している。ユニットの構成はこれに限られるものではない。例えば各ユニットの少なくとも一部が、前段の特徴量の一部または全部の次元の和を計算し、計算した和に重みをかけて出力してもよい。ただし、この場合には、グローバルクラスユニットグループが必要となる。
【００３９】
図５は、このように構成する場合のニューラルネットワークの構造の一例を示す図である。図５の例では、ｌ層の特徴量の全次元の和に、重みａｌｎ（Ａ）またはａｌｎ（Ｂ）と、各クラスの重み（αまたはβ）が乗じられる。
【００４０】
補正ユニット層は、中間層の後段に挿入してもよい。この場合、前段の中間層のユニット出力が入力として扱われる。またＲＮＮのような回帰性構造を持ったニューラルネットの場合には、前フレームのユニット出力を入力として扱うこともできる。
【００４１】
補正ユニットは、前段の特徴量の一部または全部を線形変換（和など）する代わりに非線形変換を実行してもよい。重みαおよびβは、クラスパラメータの一例であり、第１記憶部１２１に記憶される。また、例えば重みａｌｉ、重みａｌ、および、ｂｌは、ニューラルネットワークパラメータの一例であり、第２記憶部１２２に記憶される。各パラメータは、事前の学習などにより求めるように構成してもよい。
【００４２】
図２に戻る。中間層計算部１０４は、前段の処理結果を受け取り、第１記憶部１２１に記憶されたクラスパラメータを用いて、中間層ユニットの計算を行う（ステップＳ１０４）。
【００４３】
中間層のユニット数を１０２４とする場合について以下に説明する。上記例では、中間層計算部１０４は、前段の補正ユニット計算部１０３から１１１次元の特徴量を入力として受け付ける。中間層の各ユニットは、前段の特徴量の線形和をシグモイド関数などの活性化関数に入力する計算を行う。以下の（１）式は、シグモイド関数の一例を示す。活性化関数は、シグモイド関数に限らず、ＲｅＬＵ（Rectified  Linear  Unit）などの他の関数を用いてもよい。
【数１】
0006453681.tif 000002
【００４４】
グローバルクラスユニットからのｉ番目（ｉは１以上３６以下の整数）から中間層のｎユニット目（ｎは１以上１０２４以下の整数）への入力に対する重みをａｎｉ（ｇ）とし、バイアスパラメータをｂｎ（ｇ）とする。男音声クラスユニットからのｊ番目（ｊは１以上３６以下の整数）の入力に対する重みをａｎｊ（ｍ）とし、バイアスパラメータをｂｎ（ｍ）とする。女音声クラスユニットからのｋ番目（ｋは１以上３６以下の整数）の入力に対する重みをａｎｋ（ｆ）とし、バイアスパラメータをｂｎ（ｆ）とする。この場合、中間層のｎユニット目で実施する線形和ｌｎは以下の（２）式で表される。なお（２）式は、例えば図３のようにクラスユニットグループのユニットが前段の特徴量次元と１対１で結び付けられる例に対応する。
【数２】
0006453681.tif 000003
【００４５】
（２）式より、αａｎｉ（ｍ）、βａｎｉ（ｆ）が、それぞれグローバルクラスの入力に対する重みａｎｉ（ｇ）の補正項となり、αｂｎ（ｍ）、βｂｎ（ｆ）が、それぞれグローバルのバイアスパラメータｂｎ（ｇ）の補正項となっていることがわかる。最終的に中間層のｎユニット目（ｎは１以上１０２４以下の整数）の出力は以下の（３）式で表される。
【数３】
0006453681.tif 000004
【００４６】
前段の補正ユニット層が、グローバルクラスユニットグループを含み、各クラスのユニットグループが特徴量の全次元の和を計算し、和に重みをかけて出力する例（図５など）の場合、中間層のｎユニット目（ｎ＝１、．．．、１０２４）で実施する線形和ｌｎは以下の（４）式で表される。ここで、男音声クラスユニットから入力に対する重みをａｎ（ｍ）とし、バイアスパラメータをｂｎ（ｍ）とし、女音声クラスユニットからの入力に対する重みをａｎ（ｆ）とし、バイアスパラメータをｂｎ（ｆ）とする。特徴量の全次元の和だけでなく、例えば、ＭＦＣＣのＳＴＡＴＩＣ項、デルタ項、および、デルタデルタ項それぞれで和を取るような補正ユニットを構成することによって、ＳＴＡＴＩＣ項に対する補正項、デルタ項に対する補正項、および、デルタデルタ項に対する補正項を分けることができる。
【数４】
0006453681.tif 000005
【００４７】
次に、出力層計算部１０５は、中間層の出力を受け取り、出力層ユニットの計算を行い、出力確率を出力する（ステップＳ１０５）。以下の例では出力層のユニット数は、識別対象の母音と同じ数である５とする。出力層では、中間層の出力ｆ（ｌｎ）の線形和を計算する。出力層のｎユニット目（nは１以上５以下の整数）で実施する線形和ｍｎは以下の（５）式で表される。ｃｎｉは、重みを表し、ｄｎはバイアスパラメータを表す。
【数５】
0006453681.tif 000006
【００４８】
出力層計算部１０５は、線形和ｍｎに対しソフトマックス処理を行い、以下の（６）式に示すような各母音の出力確率ｏｎを計算する。出力層計算部１０５は、出力確率が最も大きい母音を識別結果として出力してもよい。出力層の演算はソフトマックス処理に限らず、シグモイド関数またはＲｅＬＵによる処理でもよい。
【数６】
0006453681.tif 000007
【００４９】
このように、第１の実施形態にかかる演算装置では、補正ユニット層の計算を行うことにより、バイアスパラメータ（ｂｎ（ｇ）など）のみでなく、重み（ａｎｉ（ｇ）など）についても補正が可能となる（（２）式のαａｎｉ（ｍ）、βａｎｉ（ｆ）など）。
【００５０】
（第２の実施形態）
第２の実施形態にかかる演算装置は、入力パターンと、当該入力パターンに対応するラベル（入力パターンラベル）とを用いて、各パラメータを更新（学習）する機能を備える。これにより、補正ユニット層で用いるクラス（上記例では男音声、女音声）以外のクラスに対しても、補正ユニット層で用いるクラスの重みを用いた補正が可能となる。また第２の実施形態にかかる演算装置は、パラメータ更新後に、補正ユニット層を次段の層に統合する機能を備える。これにより、ニューラルネットワークを用いたパターン識別処理時の計算量を増加させずにタスク適応を行うことが可能となる。
【００５１】
図６は、第２の実施形態にかかる演算装置１００−２の構成の一例を示すブロック図である。図１に示すように、演算装置１００−２は、受付部１０１と、入力層計算部１０２と、補正ユニット計算部１０３と、中間層計算部１０４と、出力層計算部１０５と、更新部１０６−２と、統合部１０７−２と、第１記憶部１２１と、第２記憶部１２２と、を備えている。
【００５２】
第２の実施形態では、更新部１０６−２と統合部１０７−２を追加したことが第１の実施形態と異なっている。その他の構成および機能は、第１の実施形態にかかる演算装置１００のブロック図である図１と同様であるので、同一符号を付し、ここでの説明は省略する。
【００５３】
更新部１０６−２は、出力層からの出力と、入力パターンラベルとに基づく学習により、各クラスの重み（クラスパラメータ）およびニューラルネットワークパラメータを更新する。入力パターンラベルは、事前に入力し、第１記憶部１２１、第２記憶部１２１、または、他の記憶部に記憶してもよい。更新部１０６−２は、更新したクラスパラメータを第１記憶部１２１に記憶し、更新したニューラルネットワークパラメータを第２記憶部１２２に格納する。
【００５４】
統合部１０７−２は、第１記憶部１２１に記憶されたクラスパラメータとニューラルネットワークパラメータを用いて、補正ユニット層を次段の中間層または出力層に統合する。統合部１０７−２は、統合後のニューラルネットワークのニューラルネットワークパラメータを、第２記憶部１２２に記憶する。
【００５５】
次に、このように構成された第２の実施形態にかかる演算装置１００−２による演算処理について図７を用いて説明する。図７は、第２の実施形態における演算処理の一例を示すフローチャートである。
【００５６】
ステップＳ２０１からステップＳ２０５までは、第１の実施形態にかかる演算装置１００におけるステップＳ１０１からステップＳ１０５までと同様の処理なので、その説明を省略する。
【００５７】
更新部１０６−２は、入力パターンラベルと、出力層からの出力結果（出力確率）とを用いて、クラスパラメータおよびニューラルネットワークパラメータを更新する（ステップＳ２０６）。
【００５８】
入力パターンラベルが“ｉ”、各母音の出力確率ｏｎを含む出力確率ベクトルｏ＝（ｏ１、ｏ２、ｏ３、ｏ４、ｏ５）が（０．１、０．７、０．１、０．１、０．１）であった場合の例を説明する。出力確率ｏ１、ｏ２、ｏ３、ｏ４、ｏ５は、それぞれ母音ａ、ｉ、ｕ、ｅ、ｏの出力確率を表す。
【００５９】
更新部１０６−２は、正解ベクトルｒを（０．０、１．０、０．０、０．０、０．０）とし、正解ベクトルに対する出力確率ベクトルの誤差を最小化するようにバックプロパゲーションなどの学習アルゴリズムを実行する。これにより、更新部１０６−２は、クラスパラメータα、β、および、ニューラルネットワークパラメータの各層および各ユニットの重み（荷重結合重み）を更新する。誤差基準にはクロスエントロピーなどを用いることができる。更新部１０６−２は、更新したクラスパラメータα、βを第１記憶部１２１に記憶する。更新部１０６−２は、更新した各ユニットの重み、および、バイアスパラメータを第２記憶部１２２に記憶する。
【００６０】
適用できるアルゴリズムはバックプロパゲーションに限られるものではないし、クロスエントロピー以外の誤差基準を用いてもよい。
【００６１】
次に、統合部１０７−２は、補正ユニット層を次段の中間層または出力層に統合する（ステップＳ２０７）。補正ユニット層の次段が中間層の場合、統合部１０７−２は、中間層の各ユニットでの線形和に、補正ユニットの線形変換を掛け合わせることにより、補正ユニット層を次段の中間層に統合する。統合された中間層のｎ番目のユニットの線形和ｌｎ’は以下の（７）式で表される。
【数７】
0006453681.tif 000008
【００６２】
このように、第２の実施形態にかかる演算装置では、補正ユニット層で用いるクラス以外のクラスに対しても、補正ユニット層で用いるクラスの重みを用いた補正が可能となる。補正ユニット層を次段の層に統合することにより、計算量を増加させずにタスク適応を行うことが可能となる。
【００６３】
以上説明したとおり、第１および第２の実施形態によれば、バイアスパラメータのみでなく重みについても補正が可能となる。
【００６４】
次に、第１または第２の実施形態にかかる演算装置のハードウェア構成について図８を用いて説明する。図８は、第１または第２の実施形態にかかる演算装置のハードウェア構成例を示す説明図である。
【００６５】
第１または第２の実施形態にかかる演算装置は、ＣＰＵ（Central  Processing  Unit）５１などの制御装置と、ＲＯＭ（Read  Only  Memory）５２やＲＡＭ（Random  Access  Memory）５３などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、各部を接続するバス６１を備えている。
【００６６】
第１または第２の実施形態にかかる演算装置で実行されるプログラムは、ＲＯＭ５２等に予め組み込まれて提供される。
【００６７】
第１または第２の実施形態にかかる演算装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【００６８】
さらに、第１または第２の実施形態にかかる演算装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第１または第２の実施形態にかかる演算装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【００６９】
第１または第２の実施形態にかかる演算装置で実行されるプログラムは、コンピュータを上述した演算装置の各部として機能させうる。このコンピュータは、ＣＰＵ５１がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【００７０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７１】
１００、１００−２  演算装置
１０１  受付部
１０２  入力層計算部
１０３  補正ユニット計算部
１０４  中間層計算部
１０５  出力層計算部
１０６−２  更新部
１０７−２  統合部
１２１  第１記憶部
１２２  第２記憶部
【図１】
0006453681.tif 000009
【図２】
0006453681.tif 000010
【図３】
0006453681.tif 000011
【図４】
0006453681.tif 000012
【図５】
0006453681.tif 000013
【図６】
0006453681.tif 000014
【図７】
0006453681.tif 000015
【図８】
0006453681.tif 000016