(57)【特許請求の範囲】
【請求項１】
Ｑ＞Ｄ≧１であり、Ｆが正整数であり、所定区間［１，…，Ｆ］に属するインデックスτ，τ’，ｔがτ＝１，・・・，Ｆ，τ’＝１，・・・，Ｆ，ｔ＝１，・・・，Ｆであり、（・）Ｔが（・）の転置であり、ｇｔがインデックスｔでのＱ個の入力変数の候補を要素とするベクトルであり、Ａが前記ベクトルｇｔのＤ個の要素に応じたＤ個の要素からなるベクトルＡｇｔを得るための選択行列であり、ξｔが前記ベクトルｇｔの少なくとも一部の要素と相関を持つ出力変数であり、
前記出力変数ξｔを入力として前記所定区間［１，…，Ｆ］に属する各インデックスτ＝１，・・・，Ｆ，τ’＝１，・・・，Ｆでのガウシアンカーネルｋｓ（ξτ，ξτ’）に対応する中心化グラム行列Ｋｓを得、前記ベクトルｇｔを入力として前記選択行列Ａを変数とした前記インデックスτ＝１，・・・，Ｆ，τ’＝１，・・・，Ｆでのガウシアンカーネルｋｇ（Ａｇτ，Ａｇτ’）に対応する中心化グラム行列Ｋｇを得る行列生成部と、
Σｓｓ＝ＫｓＫｓ，Σｓｇ＝ＫｓＫｇ，Σｇｓ＝ＫｇＫｓ，Σｇｇ＝ＫｇＫｇとした相互共分散作用素Σｓｓ｜ｇ＝Σｇｇ−ΣｓｇΣｇｇ−１Σｇｓの大きさが大きくなるように、ＡＴＡの対角成分に対応するベクトルａを更新するベクトル更新部と、
更新された前記ベクトルａから前記選択行列Ａの要素を得て出力する生成部と、
を有し、
【数１４】
0006466863.tif 000015
であり、ＩＦがＦ×Ｆの単位行列であり、１ＦがＦ次元のベクトル（１，…，１）Ｔであり、Ｐ＝ＩＦ−（１／Ｆ）１Ｆ１ＦＴであり、Ｋｓ＝ＰＧｓＰであり、Ｋｇ＝ＰＧｇＰである、最適化装置。
【請求項２】
請求項１の最適化装置であって、
ＨがＨ＞Ｆを満たす正整数であり、前記出力変数ξｔの集合（ξ１，・・・，ξＨ）および前記ベクトルｇｔの集合（ｇ１，・・・，ｇＨ）が学習データであり、
前記行列生成部は、前記学習データを構成する部分集合（ξ１，・・・，ξＦ）および（ｇ１，・・・，ｇＦ）ごとに前記中心化グラム行列Ｋｓおよび前記中心化グラム行列Ｋｇを得、
前記ベクトル更新部は、前記部分集合（ξ１，・・・，ξＦ）および（ｇ１，・・・，ｇＦ）ごとに前記ベクトルａを更新し、
前記生成部は、前記部分集合（ξ１，・・・，ξＦ）および（ｇ１，・・・，ｇＦ）ごとに更新された前記ベクトルａから前記選択行列Ａの要素を得て出力する最適化装置。
【請求項３】
請求項１または２の最適化装置であって、
γが０以上１未満の定数であり、εが定数であり、Ｊ＝−Ｔｒ｛Ｋｓ（Ｋｇ＋εＩＦ）−１｝であり、Ｔｒ（・）が（・）のトレースであり、
Ｑ個の要素からなるベクトルｒ＝（ｒ１，…，ｒＱ），ｓ＝（ｓ１，…，ｓＱ）および前記ベクトルａ＝（ａ１，…，ａＱ）を初期化する初期化部と、
【数１５】
0006466863.tif 000016
をｑ番目（ただし、ｑ＝１，…，Ｑ）の要素とするＱ次元のベクトルを新たな前記ベクトルｒとする第１更新部と、
【数１６】
0006466863.tif 000017
をｑ番目の要素とするＱ次元のベクトルを新たなベクトルνとする第２ベクトル更新部と、
γｓｑ＋（１−γ）νｑ２をｑ番目の要素とするＱ次元のベクトルを新たな前記ベクトルｓとする第３更新部と、をさらに有し、
前記ベクトル更新部は、前記ベクトルａと、前記ベクトルνに応じたＱ次元ベクトルと、を加算したＱ次元ベクトルに応じた新たな前記ベクトルａを得る第４ベクトル更新部と、
を含む最適化装置。
【請求項４】
請求項１から３の何れかの最適化装置であって、
前記入力変数が、音響信号、画像信号、センサ信号、音響信号の特徴量、画像信号の特徴量、またはセンサ信号の特徴量を含み、
前記出力変数が、音響信号、画像信号、またはセンサ信号の何れかに対応する情報を含む、最適化装置。
【請求項５】
Ｑ＞Ｄ≧１であり、Ｆが正整数であり、所定区間［１，…，Ｆ］に属するインデックスτ，τ’，ｔがτ＝１，・・・，Ｆ，τ’＝１，・・・，Ｆ，ｔ＝１，・・・，Ｆであり、（・）Ｔが（・）の転置であり、ｇｔがインデックスｔでのＱ個の入力変数の候補を要素とするベクトルであり、Ａが前記ベクトルｇｔのＤ個の要素に応じたＤ個の要素からなるベクトルＡｇｔを得るための選択行列であり、ξｔが前記ベクトルｇｔの少なくとも一部の要素と相関を持つ出力変数であり、
行列生成部が、前記出力変数ξｔを入力として前記所定区間［１，…，Ｆ］に属する各インデックスτ＝１，・・・，Ｆ，τ’＝１，・・・，Ｆでのガウシアンカーネルｋｓ（ξτ，ξτ’）に対応する中心化グラム行列Ｋｓを得、前記ベクトルｇｔを入力として前記選択行列Ａを変数とした前記インデックスτ＝１，・・・，Ｆ，τ’＝１，・・・，Ｆでのガウシアンカーネルｋｇ（Ａｇτ，Ａｇτ’）に対応する中心化グラム行列Ｋｇを得る行列生成ステップと、
ベクトル更新部が、Σｓｓ＝ＫｓＫｓ，Σｓｇ＝ＫｓＫｇ，Σｇｓ＝ＫｇＫｓ，Σｇｇ＝ＫｇＫｇとした相互共分散作用素Σｓｓ｜ｇ＝Σｇｇ−ΣｓｇΣｇｇ−１Σｇｓの大きさが大きくなるように、ＡＴＡの対角成分に対応するベクトルａを更新するベクトル更新ステップと、
生成部が、更新された前記ベクトルａから前記選択行列Ａの要素を得て出力する生成ステップと、
を有し、
【数１７】
0006466863.tif 000018
であり、ＩＦがＦ×Ｆの単位行列であり、１ＦがＦ次元のベクトル（１，…，１）Ｔであり、Ｐ＝ＩＦ−（１／Ｆ）１Ｆ１ＦＴであり、Ｋｓ＝ＰＧｓＰであり、Ｋｇ＝ＰＧｇＰである、最適化方法。
【請求項６】
請求項１から４の何れかの最適化装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、統計的技術に関し、特に、出力変数を元に、当該出力変数とある程度の相関を持つように入力変数を最適化する技術に関する。
【背景技術】
【０００２】
目的音を強調する技術として、ウィナーフィルタに基づく音強調を説明する。時間周波数領域での観測音は以下のように近似できる。
Ｘω，τ＝Ｓω，τ＋Ｎω，τ  （１）
ここでω＝｛１，２，・・・，Ω｝とτ＝｛１，２，・・・，Ｆ｝は時間と周波数のインデックス、Ｓω，τは目的音、Ｎω，τは雑音である。ここで音源からマイクロホンまでの伝達特性は問題の簡単のために無視した。さらに、目的音と雑音は無相関であると仮定し、目的音のパワースペクトル密度（ＰＳＤ）をφＳ，ω,τ＝｜Ｓω,τ｜２、雑音のＰＳＤをφＮ，ω,τ＝｜Ｎω,τ｜２としたとき、目的音を抽出するウィナーフィルタは以下のように近似できる。
【数１】
0006466863.tif 000002
ここでξω,τ＝φＳ，ω,τ／φＮ，ω,τは事前ＳＮＲを表す。入力されたＸω，τにウィナーフィルタを乗ずることで、目的音Ｙω，τが抽出される（ウィナーフィルタリング）。
Ｙω，τ＝Ｇω，τＸω，τ  （３）
式（２）（３）より、雑音下で目的音だけをクリアに収音するためには、目的音と雑音のＰＳＤ  φＳ，ω,τ, φＮ，ω,τか、事前ＳＮＲξω,τを正確に推定すればよいことが分かる。
【０００３】
従来の雑音下で目的音を強調する技術では、混合ガウスモデル（ＧＭＭ）（例えば、非特許文献１等参照）やディープニューラルネットワーク（ＤＮＮ）（例えば、非特許文献２等参照）などの音響特徴量を用いた音強調技術が代表的である。音源のモデル化に基づくウィナーフィルタ設計は、観測信号からの音響特徴量の抽出と、音響特徴量を事前に学習した統計モデルを用いて事前ＳＮＲ等にマッピングする２つの処理から成る。これらの方法の性能を高めるには、入力された音響特徴量と事前ＳＮＲが強い（非線形な）相関を持つことが必要である。音響特徴量と事前ＳＮＲがいかなる相関も持たない場合、柔軟で洗練されたマッピング法を用いても、収音性能は向上しない。すなわち、音源のモデル化に基づくウィナーフィルタ設計を達成するためには、事前ＳＮＲを正確に推定できる、有効な音響特徴量を選択する必要がある。
【０００４】
Ｄ次元の音響特徴量をｆτ＝（ｆ１,τ，・・・，ｆＤ,τ）Ｔ、推定したい事前ＳＮＲをξτ、（・）の転置を（・）Ｔと記述する。ただしξτは全周波数ビンの事前ＳＮＲを並べた物でもよいし、フィルタバンクごとの事前ＳＮＲを並べた物でもよいし、ある一つの周波数ビンやフィルタバンクの事前ＳＮＲでもよい。
【０００５】
音響特徴量の選択法として、特徴選択という枠組みがある。これは、大量の音響特徴量の候補の中から目的音の強調に有効な特徴量だけを取り出すものである。ここではＱ（＞Ｄ）次元の音響特徴量の候補ｇτの中から、目的音の強調に有効なＤ個の音響特徴量ｆτだけを用いて事前ＳＮＲ ξτを推定する。特徴選択の手続きは、選択行列Ａ：ＲＱ→ＲＤ，Ｑ＞Ｄを用いて以下のように表現できる。
ｆτ＝Ａｇτ  （４）
ただし、ｇτは音響特徴量の候補を要素とするＱ次元のベクトルであり、ｆτは目的音の強調に有効なＤ個の音響特徴量を要素とするＱ次元のベクトルである。選択行列Ａの各行は、１つの要素だけが正の値を持ち、それ以外の要素の値は０となる。つまり音響特徴量の選択問題は、選択行列Ａの最適化問題である。
【０００６】
従来の選択行列Ａの最適化手法の一つに、音響特徴量ｆτと事前ＳＮＲ ξτとの相互情報量を最大化するように選択行列Ａを最適化するものがある（例えば、非特許文献３等参照）。しかし、この手法で相互情報量を計算するためには、同時分布ｐ（ξτ,Ａｇτ）や周辺分布ｐ（ξτ），ｐ（Ａｇτ）が既知である必要がある。多くの場合、これらの分布は未知であり、何らかの形で推定したり近似したりしなくてはならない。非特許文献３では同時分布ｐ（ξτ,Ａｇτ）をＧＭＭで近似表現し、選択行列Ａと同時分布ｐ（ξτ），ｐ（Ａｇτ）を一般化ＥＭアルゴリズムで同時最適化しているが、同時分布を十分に近似できず音質が劣化する。
【０００７】
他の従来手法として、再生核ヒルベルト空間上での相互共分散作用素を評価することで相互情報量を計算し、選択行列Ａを最適化する“カーネル次元圧縮”が提案されている（例えば、非特許文献４等参照）。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】M. Fujimoto, et al., “Frame-wise model re-estimation method based on Gaussian pruning with weight normalization for noise robust voice activity detection,”Speech communication, vol. 54, pp.229-244, 2012.
【非特許文献２】A. Narayanan, et al., “Ideal ratio mask estimation using deep neural networks for robust speech recognition,” in Proc. ICASSP, 2013.
【非特許文献３】小泉悠馬ほか,“競技音を抽出するための特徴選択と音源強調の統合的アプローチの検討,” 音講論（秋）, 2015.
【非特許文献４】K. Fukumizu, et al., “Dimension Reduction for Supervised Learning with Reproducing Kernel Hilbert Space,” Journal of Machine Learning Research, vol.5, pp.73-99, 2004.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
非特許文献４の手法では、選択行列Ａの最適化が組み合わせ最適化になり、選択行列Ａの各行の設定に、組み合わせ最適化ないしランダムサーチを用いなくてはならない。つまり、全ての組み合わせで相互共分散作用素を評価し、その中で相互共分散作用素が最大となる音響特徴量の組み合わせを選択しなければならない。そのため、音響特徴量の候補の次元が大きくなるにつれ評価が困難になる。
【００１０】
このような問題は、事前ＳＮＲを元に、当該事前ＳＮＲとある程度の相関を持つように音響特徴量を最適化する場合に限られたものではない。何らかの出力変数（出力情報）を元に、当該出力変数（出力情報）とある程度の相関を持つように入力変数を最適化する場合に共通する問題である。
【００１１】
本発明の課題は、出力変数を元に、当該出力変数とある程度の相関を持つように入力変数を最適化する際の演算量を削減することである。
【課題を解決するための手段】
【００１２】
本発明では、インデックスｔでの出力変数ξｔおよびＱ個の入力変数の候補を要素とするベクトルｇｔに対し、出力変数ξｔとベクトルＡｇｔとの相関の高さを表すコスト関数の値が大きくなるように、ＡＴＡの対角成分に対応するベクトルａを更新し、更新されたベクトルａから選択行列Ａの要素を得て出力する。ただし、Ｑ＞Ｄ≧１であり、（・）Ｔが（・）の転置であり、ＡがベクトルｇｔのＤ個の要素に応じたＤ個の要素からなるベクトルＡｇｔを得るためのＤ行Ｑ列の選択行列であり、ξｔはベクトルｇｔの少なくとも一部の要素と相関を持つ。
【発明の効果】
【００１３】
以上により、Ａを直接最適化するよりも、出力変数を元に、当該出力変数にある程度の相関を持つように入力変数を最適化する際の演算量を削減できる。
【図面の簡単な説明】
【００１４】
【図１】図１は実施形態の最適化装置の全体構成を例示したブロック図である。
【図２】図２は実施形態の更新処理部の構成を例示したブロック図である。
【図３】図３は実施形態の更新処理部の処理を説明するためのフロー図である。
【図４】図４Ａは実施形態の更新量計算部の構成を例示したブロック図である。図４Ｂは実施形態の更新量計算の処理を説明するためのフロー図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態を説明する。
［理論］
まず数学的な理論を説明し、その後で図面を用いて本発明の実施形態を説明する。
ここでは時間周波数領域での観測音の事前ＳＮＲ ξｔ（出力変数）を元に、事前ＳＮＲ ξｔとある程度の相関を持つように音響特徴量（入力変数）を最適化する選択行列Ａを得る場合を説明する。本形態の特徴点は以下の通りである。
（１）選択行列とガウシアンカーネルの特性を利用することにより、組み合わせ最適化を非線形最適化に置き換えた点。
（２）最適化に「確率的最急降下法」を導入し、全学習データを適切なサイズのミニバッチごとに分割してグラム行列の逆行列計算を近似することで、高速に最適化が可能になった点。
【００１６】
まずガウシアンカーネルは以下のように定義される．
【数２】
0006466863.tif 000003
ただし、ｋｓ（ξτ，ξτ’）は各時間インデックスτ，τ’での事前ＳＮＲ ξτ，ξτ’に対応するガウシアンカーネルを表し、ｋｇ（Ａｇτ，Ａｇτ’）は各時間インデックスτ，τ’でのＡｇτ，Ａｇτ’に対応するガウシアンカーネルを表す。ｇτ＝（ｇ１,τ，・・・，ｇＱ,τ）Ｔは時間インデックスτでのＱ個の音響特徴量の候補ｇｑ,τ（ただし、ｑ＝１，・・・，Ｑ）を要素としたＱ次元ベクトルであり、ｇτ’＝（ｇ１,τ’，・・・，ｇＱ,τ’）Ｔは時間インデックスτ’でのＱ個の音響特徴量の候補ｇｑ,τ’を要素としたＱ次元ベクトルである。ξτはベクトルｇτの少なくとも一部の要素と相関を持ち、ξτ’はベクトルｇτ’の少なくとも一部の要素と相関を持つ。ＡはＤ行Ｑ列の選択行列である。選択行列Ａの各行は、１つの要素だけが正の値を持ち、それ以外の要素の値は０となる。ｆτ＝Ａｇτによって、Ｄ個の音響特徴量ｇｄ,τに対応するＤ個の音響特徴量ｆｄ,τを要素としたＤ次元ベクトルｆτ＝（ｆ１,τ，・・・，ｆＤ,τ）Ｔが得られる。また、ｆτ’＝Ａｇτ’の演算によって、Ｄ個の音響特徴量ｇｄ,τ’に対応するＤ個の音響特徴量ｆｄ,τ’を要素としたＤ次元ベクトルｆτ’＝（ｆ１,τ，・・・，ｆＤ,τ’）Ｔが得られる。ＱおよびＤはＱ＞Ｄ≧１を満たす整数であり、例えばＤ≧２である。ｅｘｐ（・）は（・）の指数関数を表し、（・）Ｔは（・）の転置を表す。
【００１７】
式（５）（６）を用いて計算されるグラム行列は以下となる。
【数３】
0006466863.tif 000004
ただし、これらのグラム行列は時間区間［１，・・・，Ｆ］（所定集合）内の各時間インデックスτ＝１，・・・，Ｆ，τ’＝１，・・・，Ｆでのガウシアンカーネルｋｓ（ξτ，ξτ’）およびｋｇ（Ａｇτ，Ａｇτ’）に対応するものである。Ｆは１以上の整数であり、例えばＦ≧２である。
【００１８】
カーネルを用いて計算される相互共分散作用素Σｓｓ｜ｇは、グラム行列を用いて以下のように計算できる。
Σｓｓ｜ｇ＝Σｇｇ−ΣｓｇΣｇｇ−１Σｇｓ  （９）
ただし、
Σｓｓ＝ＫｓＫｓ  （１０）
Σｓｇ＝ＫｓＫｇ  （１１）
Σｇｓ＝ＫｇＫｓ  （１２）
Σｇｇ＝ＫｇＫｇ  （１３）
である。ＫｓおよびＫｇは以下のように計算できる中心化グラム行列である。
Ｋｓ＝ＰＧｓＰ  （１４）
Ｋｇ＝ＰＧｇＰ  （１５）
ただし、
【数４】
0006466863.tif 000005
であり、１Ｆ＝（１，・・・，１）Ｔ∈ＲＦ（Ｆ次元のベクトル）であり、ＩＦはＦ×Ｆの単位行列である。
【００１９】
二次モーメントまでで分布系が特定できるということは、再生核ヒルベルト空間で各要素とその条件付分布がガウス分布で表現できることに等しい。ゆえに、ガウス分布のエントロピーの性質から、相互共分散作用素Σｓｓ｜ｇの大きさ（例えば、行列式や負のトレース）を最大化することで、相互情報量を最大化できる。
【００２０】
ところで行列Ａが選択行列の場合、ＡＴＡ∈ＲＱ×Ｑは、Ａで選択される音響特徴量の重みに対応する対角成分のみに正の値を持つ特殊な対角行列となる。すると音響特徴量に対応するガウシアンカーネルｋｇ（Ａｇτ，Ａｇτ’）は以下のように変形できる。
【数５】
0006466863.tif 000006
ここでａｑ２は行列ＡＴＡのｑ対角要素番目の対角要素である。するとｋｇ（Ａｇτ，Ａｇτ’）はベクトルａ＝√ｄｉａｇ［ＡＴＡ］に関して微分可能になるため、行列Ａの最適化を行列ＡＴＡの最適化に置き換えれば、非線形最適化問題として解ける。ただし、ｄｉａｇ［ＡＴＡ］は行列ＡＴＡの対角成分を要素とするベクトルを表し、√ｄｉａｇ［ＡＴＡ］は行列ＡＴＡの対角成分の平方根を要素とするベクトルを表す。つまり、相互共分散作用素Σｓｓ｜ｇの大きさの最大化を、選択行列Ａに対してではなくベクトルａに対して行うことで選択行列Ａの最適化が容易になる。相互共分散作用素Σｓｓ｜ｇの最大化に有効な音響特徴量に対応するベクトルａの要素はその絶対値が大きくなり、不要な音響特徴量に対応するベクトルａの要素は０に縮退していく。以降では、相互共分散作用素Σｓｓ｜ｇの大きさをベクトルａに対して最大化する。
【００２１】
相互共分散作用素Σｓｓ｜ｇの大きさは、Σｓｓ｜ｇの行列式や負のトレースで求められるが、ここでは負のトレースをコスト関数（出力変数ξｔとベクトルＡｇｔとの相関の高さを表すコスト関数）として用いた計算方法を説明する。また計算量削減のため、負のトレースを以下のように近似計算する。
【数６】
0006466863.tif 000007
ただし、Ｔｒ（・）は（・）のトレースを表す。式（１８）を最大化するための更新式を導出する。式（１８）の最大化は勾配法で行う。勾配法には何を用いてもよいが、更新の収束を速めるために、以下ではAdaDeltaによる実装を説明する。AdaDeltaによるａの更新式は以下となる。
【数７】
0006466863.tif 000008
ｓ←γｓ＋（１−γ）ν２  （２１）
ａ←ａ＋ν  （２２）
ただし、式（１９）〜（２２）の更新式におけるベクトルの累乗や除算などの演算は、各要素ごとに行われる。すなわち、式（１９）〜（２２）を要素ごとに書くと以下のようになる。
【数８】
0006466863.tif 000009
ｓｑ←γｓｑ＋（１−γ）νｑ２  （２５）
ａｑ←ａｑ＋νｑ  （２６）
なお、γは０以上１未満の定数であり、εは整数の定数である。「α１←α２」はα２の結果をα１とする（α２を新たなα１とする）ことを意味する。
【００２２】
勾配ベクトル▽ａは以下のように計算できる。
【数９】
0006466863.tif 000010
ただしＫτ，τ’,ｑは、スペースの関係上、ｋｇ（Ａｇτ，Ａｇτ’）を単にｋｇ（τ，τ’）と表記し、以下のように表される。
【数１０】
0006466863.tif 000011
ガウシアンカーネルｋｇ（Ａｇτ，Ａｇτ’）の偏微分は以下のようになる。
【数１１】
0006466863.tif 000012
【００２３】
また学習データに対応する時間インデックスの総数（例えば、総フレーム数）がＨの時、Ｆ＝Ｈとした式（２８）中の（Ｋｇ＋εＩＦ）はＲＨ×Ｈの対称行列となる。これが学習データの増加により逆行列の計算が困難になる部分である。そこで本形態では、本特許では「確率的最急降下法」にならい、全学習データを適切なサイズのミニバッチにランダム分割し、式（２７）の評価を段階的に行うことで、この問題を回避する。
【００２４】
また、式（２２）の更新では、ベクトルの要素が完全に０になることは稀である。この場合には更新前後での要素の変動が大きくなり、更新が不安定となる場合もある。そこで更新の安定性のために、式（２２）による更新毎に以下のソフトスレッショルディングを行ってもよい。
【数１２】
0006466863.tif 000013
ただし、βは正則化パラメータ（正値）である。これは、コスト関数（目的関数）にＬ１正規化項を付与して最適化するのに等しい。
【００２５】
以上のように、相互共分散作用素Σｓｓ｜ｇの大きさを選択行列Ａについて最大化する問題を、行列ＡＴＡの対角成分に対応するベクトルａについて最大化する問題に置き換えることで、選択行列Ａの最適化が容易になる。また、最適化に「確率的最急降下法」を導入し、全学習データを適切なサイズのミニバッチごとに分割してミニバッチごとに逆行列を計算する（グラム行列の逆行列計算を近似することに相当する）ことで演算量を削減し、最適化を高速化できる。なお、ミニバッチサイズは、大きい方が精度はよいものの計算コストが大きくなることから、実装する装置のメモリの大きさや計算能力等を元に、事前に求めておく。
【００２６】
［実施形態］
次に、図面を用いて本形態を詳細に説明する。
＜構成＞
図１に例示するように、本形態の最適化装置１は、記憶部１０１，１０２，１０７，１０９，１１０、周波数領域変換部１０３，１０４、重畳部１０５、事前ＳＮＲ計算部１０８、更新処理部１２０、および出力部１３０を有する。図２に例示するように、更新処理部１２０は、正規化部１２１、初期化部１２２、分割部１２３、更新部１２４、収束判定部１２５、および生成部１２６を有する。更新部１２４は、行列生成部１２４１、更新量計算部１２４２、ベクトル更新部１２４３、およびミニバッチ判定部１２４４を有する。図４Ａに例示するように、更新量計算部１２４２は、更新部１２４２ａ〜１２４２ｃを有する。最適化装置１は、例えば、ＣＰＵ（central processing unit）等のプロセッサ（ハードウェア・プロセッサ）およびＲＡＭ（random-access memory）・ＲＯＭ（read-only memory）等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。このコンピュータは１個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めＲＯＭ等に記録されていてもよい。また、ＣＰＵのようにプログラムが読み込まれることで機能構成を実現する電子回路（circuitry）ではなく、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、１個の装置を構成する電子回路が複数のＣＰＵを含んでいてもよい。
【００２７】
＜処理＞
次に、本形態の処理を説明する。
≪学習データ≫
目的音の学習データｓｍと雑音の学習データｎｍの時間波形を用意する。ただし、ｍ＝１，・・・，Ｍであり、Ｍは正整数である。ここでサンプリングレートや量子化ビット数は任意であるが、たとえばサンプリングレートを４８ｋＨｚ，量子化ビット数を１６ｂｉｔなどに設定できる。目的音の学習データｓｍは記憶部１０１に格納され、雑音の学習データｎｍは記憶部１０２に格納される（図１）。
【００２８】
≪周波数領域への変換≫
周波数領域変換部１０３，１０４が、ぞれぞれ、記憶部１０１，１０２から読み込んだ目的音と雑音の学習データｓｍ，ｎｍを短時間フーリエ変換（ＳＴＦＴ）などを用いて周波数領域に変換し、目的音の周波数領域信号Ｓω，ｔおよび雑音の周波数領域信号Ｎω，ｔを得て出力する。例えば、フーリエ変換長は１０２４点（サンプリング周波数４８ｋＨｚで約２２ｍｓ），シフト長は５１２点（サンプリング周波数４８ｋＨｚで約１１ｍｓ）などに設定できる。なお、ω＝｛１，２，・・・，Ω｝とｔ＝｛１，２，・・・，Ｆ｝は時間と周波数のインデックスである。ΩおよびＦはそれぞれ正の整数である。
【００２９】
≪重畳≫
重畳部１０５はＳω，ｔおよびＮω，ｔを入力とし、観測信号を模擬的に設計するために、Ｓω，ｔとＮω，ｔを重畳し、時間周波数領域での観測音Ｘω，ｔ＝Ｓω，ｔ＋Ｎω，ｔを得て出力する。
【００３０】
≪音響特徴量候補の抽出≫
音響特徴量候補抽出部１０６は、観測音Ｘω，ｔを入力とし、観測音Ｘω，ｔから時間インデックスｔごとにＱ個の音響特徴量（入力変数）の候補ｇｑ,ｔ（ただし、ｑ＝１，・・・，Ｑ、Ｑ≧２）を抽出し、それらを要素とするＱ次元のベクトルｇｔ＝（ｇ１,ｔ，・・・，ｇＱ,ｔ）Ｔを出力する。候補として用いる音響特徴量は任意であるが、例えば４８次元のメル周波数ケプストラム係数（ＭＦＣＣ）ならびにその一階差分と二階差分、および、４８次元のメルフィルタバンク出力（ＭＦＢＯ）ならびにその一階差分と二階差分などを用いることができる。また、学習データの観測に用いたマイクロホンの個数が複数である場合、ビームフォーミングを行って、方向別にＭＦＣＣやＭＦＢＯを求めることもできる。その他にも、スペクトルフラックスやスペクトルセントロイドなど、Ｑ＝５１２程度の様々な音響特徴量を用いることができる。Ｑ次元のベクトルｇｔは記憶部１０７に格納される。なお、ベクトルｇｔが上記選択行列更新アルゴリズムの入力変数に相当する。
【００３１】
≪事前ＳＮＲの計算≫
事前ＳＮＲ計算部１０８は、Ｓω，ｔおよびＮω，ｔを入力とし、これらから事前ＳＮＲ ξｔ（出力変数）を計算して出力する。例えば、事前ＳＮＲ計算部１０８は、φＳ，ω,ｔ＝｜Ｓω,ｔ｜２、φＮ，ω,ｔ＝｜Ｎω,ｔ｜２とし、各周波数インデックスωに対応する事前ＳＮＲ ξω,ｔ＝φＳ，ω,ｔ／φＮ，ω,ｔからなる列（ξ１,ｔ，・・・，ξΩ,ｔ）を事前ＳＮＲ ξｔとしてもよいし、フィルタバンクごとの事前ＳＮＲを並べたものを事前ＳＮＲ ξｔとしてもよいし、ある一つの周波数インデックスωやフィルタバンクの事前ＳＮＲを事前ＳＮＲ ξｔとしてもよい。ξｔ＝（ξ１,ｔ，・・・，ξΩ,ｔ）の場合、フーリエ変換長が大きいと事前SNRの次元Ωも大きくなるため、演算結果をメルフィルタバンクで圧縮してもよい。メルフィルタバンクの個数はたとえば３２程度に設定できる。事前ＳＮＲ ξｔは記憶部１０９に格納される。なお、事前ＳＮＲ ξｔが上記選択行列更新アルゴリズムの出力変数に相当する。
【００３２】
≪パラメータ≫
以下の定数のパラメータが設定され、記憶部１１０に格納される。
カーネルパラメータ：式（５）のカーネルパラメータσ２はチューニングして決定すべきであるが、例えば２．０×１０-２程度に設定できる。
勾配法パラメータ：式（１９）〜（２２）の勾配法パラメータγ，εは例えば、γ＝０．９，ε＝１０-５に設定できる。
ミニバッチサイズ：ミニバッチサイズＢは学習データの総フレーム数Ｈに応じて変更すべきだが例えばＢ＝２０４８に設定できる。
総フレーム数Ｈ：総フレーム数Ｈは任意であるが、本形態ではＨ＞Ｂである。
【００３３】
≪更新処理≫
更新処理部１２０は、ベクトルｇｔ、事前ＳＮＲ ξｔ、およびパラメータσ２，γ，ε，Ｂ，Ｈを入力とし、ξｔとＡｇｔとの相関の高さを表すコスト関数の値（関数値、スコア）が大きくなるように、ＡＴＡの対角成分に対応するベクトルａを更新し、更新されたベクトルａから選択行列Ａの要素を得る。
【００３４】
すなわち、本形態の更新処理部１２０は、ξｔを入力として「所定集合」に属する各インデックスτ，τ’でのガウシアンカーネルｋｓ（ξτ，ξτ’）に対応する中心化グラム行列Ｋｓを得、ｇｔを入力として選択行列Ａを変数としたインデックスτ，τ’でのガウシアンカーネルｋｇ（Ａｇτ，Ａｇτ’）に対応する中心化グラム行列Ｋｇを得る。さらに、更新処理部１２０は、Σｓｓ＝ＫｓＫｓ，Σｓｇ＝ＫｓＫｇ，Σｇｓ＝ＫｇＫｓ，Σｇｇ＝ＫｇＫｇとした相互共分散作用素Σｓｓ｜ｇ＝Σｇｇ−ΣｓｇΣｇｇ−１Σｇｓの大きさが大きくなるように、ＡＴＡの対角成分に対応するベクトルａを更新する。さらに更新処理部１２０は、更新されたベクトルａから選択行列Ａの要素を得て出力する。
【００３５】
特に本形態では、更新処理部１２０は、複数のミニバッチ（部分集合）のそれぞれを「所定集合」として中心化グラム行列Ｋｓおよび中心化グラム行列Ｋｇを得、複数のミニバッチのそれぞれでベクトルａを更新し、複数のミニバッチで更新されたベクトルａから選択行列Ａの要素を得て出力する。これらの処理の詳細は後述する。
【００３６】
≪出力≫
更新処理で得られた選択行列Ａが出力される。任意の装置は、記憶部１０７に格納されたベクトルｇｔと選択行列Ａを用いてｆｔ＝Ａｇｔを計算することで、事前ＳＮＲの推定に有効な音響特徴量を得ることができる。
【００３７】
＜更新処理の詳細＞
図２から図４を用い、更新処理部１２０が行う更新処理の詳細を説明する。
《入力変数の正規化》
まず、正規化部１２１がｇｔ，ξｔ，Ｈを入力とし、以下のようにｇｔ，ξｔを正規化する。
【数１３】
0006466863.tif 000014
ただし、式（３６）から式（３８）は、ξｔを複数の周波数ビンやフィルタバンクの事前ＳＮＲを並べたものの場合は、各要素について実行する。式（３５）のように更新されたｇｑ，ｔからなる新たなｇｔ＝（ｇ１，ｔ，・・・，ｇＱ，ｔ）および新たなξｔは分割部１２３に送られる（ステップＳ１２１）。
【００３８】
《選択行列とAdaDelta更新係数の初期化》
初期化部１２２は、Ｑ次元のベクトルａ＝（ａ１，…，ａＱ），ｒ＝（ｒ１，…，ｒＱ），ｓ＝（ｓ１，…，ｓＱ）を初期化する。初期値は任意だが、例えばａ＝σ２１Ｑ，ｒ＝１Ｑ，ｓ＝０×１Ｑなどに初期化できる。ただし、１Ｑ＝（１，・・・，１）Ｔ∈ＲＱである。初期化されたベクトルａ，ｒ，ｓは分割部１２３に送られる（ステップＳ１２２）。
【００３９】
《入出力変数のミニバッチ分割》
分割部１２３は、正規化部１２１から出力された入力変数である（ｇ１，・・・，ｇＨ）および出力変数である（ξ１，・・・，ξＨ）をランダムにＢ個ずつのサブセットに分割する。各サブセットをミニバッチと呼ぶ。１つのミニバッチは連続する複数の時間インデックスに対応していてもよいし、隣り合わない時間インデックスに対応していてもよい。すなわち、処理対象の時間インデックスの区間［１，・・・，Ｈ］（処理対象区間）が複数の部分集合であるミニバッチに区分されればよい。例えば分割部１２３は、（ｇ１，・・・，ｇＨ）をミニバッチ（ｇ１，・・・，ｇＢ），（ｇＢ＋１，・・・，ｇ２Ｂ），・・・，（ｇＨ−Ｂ＋１，・・・，ｇＨ）に分割し、（ξ１，・・・，ξＨ）をミニバッチ（ξ１，・・・，ξＢ），（ξＢ＋１，・・・，ξ２Ｂ），・・・，（ξＨ−Ｂ＋１，・・・，ξＨ）に分割する（ステップＳ１２３）。
【００４０】
《中心化グラム行列の計算》
行列生成部１２４１は、（ｇ１，・・・，ｇＨ）の１つのミニバッチ、（ξ１，・・・，ξＨ）の１つのミニバッチ、およびσ２が入力される。入力される（ｇ１，・・・，ｇＨ）のミニバッチと（ξ１，・・・，ξＨ）のミニバッチとは同じ時間インデックスに対応する。説明の便宜上、ステップＳ１２４１〜Ｓ１２４４では、処理対象として入力された、（ｇ１，・・・，ｇＨ）のミニバッチを（ｇ１，・・・，ｇＦ）と読み替え、（ξ１，・・・，ξＨ）のミニバッチを（ξ１，・・・，ξＦ）と読み替えて説明する。
【００４１】
行列生成部１２４１は、ミニバッチ（ξ１，・・・，ξＦ）および（ｇ１，・・・，ｇＦ）について、前述した式（１４）および（１５）に従って、選択行列Ａを変数とした中心化グラム行列ＫｓおよびＫｇを得て出力する。すなわち、行列生成部１２４１は、ξｔを入力としてミニバッチ（所定集合）の各インデックスτ＝１，・・・，Ｆ，τ’＝１，・・・，Ｆでのガウシアンカーネルｋｓ（ξτ，ξτ’）に対応する中心化グラム行列Ｋｓを得、ベクトルｇｔを入力として選択行列Ａを変数としたインデックスτ＝１，・・・，Ｆ，τ’＝１，・・・，Ｆでのガウシアンカーネルｋｇ（Ａｇτ，Ａｇτ’）に対応する中心化グラム行列Ｋｇを得て出力する（ステップＳ１２４２）。
【００４２】
《更新量の計算》
更新量計算部１２４２は、γ，ε，Ｋｓ，Ｋｇを入力とし、前述の式（１９）〜（２１）（すなわち、式（２３）〜（２５））を計算してベクトルνおよびベクトルｓを更新する（ステップＳ１２４２）。ベクトルνはベクトルａの更新量を表す。すなわち、更新量計算部１２４２の更新部１２４２ａが式（１９）（すなわち、式（２３））に従ってベクトルｒを更新し（ステップＳ１２４２ａ）、更新部１２４２ｂが式（２０）（すなわち、式（２４））に従ってベクトルνを更新し（ステップＳ１２４２ｂ）、更新部１２４２ｃが式（２１）（すなわち、式（２５））に従ってベクトルｓを更新する（ステップＳ１２４２ｃ）。更新されたｒ，ｓは図示していないメモリに格納される。
【００４３】
《ベクトルａの更新》
ベクトル更新部１２４３は、ステップＳ１２４２ｂで更新されたベクトルνを用い、式（２２）（すなわち、式（２６））に従ってベクトルａを更新する。あるいは、更新が不安定となる場合、式（２２）に代えて以下のように慣性項付きの更新を行ってもよい。
ａ←ａ＋｛ζν＋（１−ζ）ν’｝  （３９）
ただし、ζは０＜ζ＜１の慣性項であり、例えばζ＝０．１に設定できる。またν’は、ステップＳ１２４２の更新前（１回の更新前）のνである。また、ａはＡＴＡの対角項の各値の平方根を要素としたベクトルであり、その要素は０以上であるべきである。しかし、上記の方法で更新されたベクトルνの値によっては更新されたベクトルａが負の要素を持つ場合もある。そのため、ベクトルａ＝（ａ１，・・・，ａＱ）の更新のたびに、その各要素ａｑ（ただし、ｑ＝１，・・・，Ｑ）に対して以下の処理を行ってもよい。
ａｑ＝ｍａｘ（ａｑ，０）  （４０）
ただし、ｍａｘ（ａｑ，０）は、ａｑと０とのうち大きい方の値を意味する。ただし、ａｑ＝０の場合には、ｍａｘ（ａｑ，０）＝０とする。あるいは、更新の安定のために前述の式（３２）によるソフトスレッショルディングを行ってもよい。すなわち、ベクトル更新部１２４３は、ベクトルａと、ベクトルνに応じたＱ次元ベクトルとを加算したＱ次元ベクトルに応じた新たなベクトルａを得ればよい。更新されたａは図示していないメモリに格納される（ステップＳ１２４３）。
【００４４】
《ミニバッチ判定》
ミニバッチ判定部１２４４は、ステップＳ１２３で分割されたすべてのミニバッチについてステップＳ１２４１〜Ｓ１２４３の処理を終了したかを判断する（ステップＳ１２４４）。ステップＳ１２４１〜Ｓ１２４３の処理を実行していないミニバッチが存在する場合にはステップＳ１２４１に戻り、これらの処理が実行されてないミニバッチについて処理を行う。一方、すべてのミニバッチについてステップＳ１２４１〜Ｓ１２４３の処理をしていた場合、ステップＳ１２５の収束判定に進む。
【００４５】
《収束判定》
収束判定部２１５は、終了条件を満たしたか否かを判定する（ステップＳ１２５）。例えば、収束判定部２１５は、ステップＳ１２３，Ｓ１２４（Ｓ１２４１〜Ｓ１２４４）の処理の繰り返し回数が一定数以上となった場合に終了条件を満たしたと判断してもよいし、全ミニバッチに対する更新処理（ステップＳ１２４）前後でのベクトルａの変化量のノルムが一定値以下となった場合に終了条件を満たしたと判断してもよい。終了条件を満たしていないと判断した場合にはステップＳ１２３に戻って処理をやり直す。終了条件を満たしたと判断した場合には、ステップＳ１２６の選択行列の生成に進む。
【００４６】
《選択行列の生成》
生成部１２６は、ステップＳ１２４で更新されたベクトルａを入力とし、このベクトルａから選択行列Ａの要素を得て出力する。生成部１２６は、例えば、ベクトルａ＝（ａ１，・・・，ａＱ）の要素ａｑのうち閾値αｔｈ以上の要素数をＤ’とし、閾値αｔｈ以上の要素の次元をｑｄ（ただし、ｄ＝１，・・・，Ｄ’）とし、選択行列Ａのｄ行ｑｄ列の要素Ａ（ｄ，ｑｄ）を正値（例えば１）とし、他の要素を０とする。なお、閾値αｔｈは正値であり、Ｄ’が所定値以上（例えば、１以上）となるように設定されてもよいし、予め定められていてもよい。具体的には以下の手順によって選択行列Ａを生成できる。
１．生成部１２６は、Ａを要素がすべて０のＤ’×Ｑ行列として初期化する。
２．生成部１２６は、ｄ＝１，・・・，Ｄ’に対し，以下の処理を実行する。
３．生成部１２６は、ａのｄ番目の閾値αｔｈ以上の要素の次元をｑｄとして、ｄ行ｑｄ列の要素をＡ（ｄ，ｑｄ）＝１とする。
【００４７】
有効な要素数Ｄを固定したい場合、生成部１２６は、例えば、ベクトルａ＝（ａ１，・・・，ａＱ）の要素ａｑのうち大きいものからＤ個を選び、それらの次元をｑｄ（ただし、ｄ＝１，・・・，Ｄ）とし、選択行列Ａのｄ行ｑｄ列の要素Ａ（ｄ，ｑｄ）を正値（例えば１）とし、他の要素を０としてもよい。具体的には以下の手順によって選択行列Ａを生成できる。
１．生成部１２６は、Ａを要素がすべて０のＤ×Ｑ行列として初期化する。
２．生成部１２６は、ｄ＝１からＤに対し、以下の処理を実行する。
３．生成部１２６は、ａの要素を降順に並び替え、ａのｄ番目の要素に対応する次元をｑｄとして、ｄ行ｑｄ列の要素をＡ（ｄ，ｑｄ）＝１とする。
【００４８】
＜本形態の特徴＞
以上のように、本形態では、相互共分散作用素の大きさ（コスト関数の大きさ）を最大化するＡを探索する問題を、相互共分散作用素の大きさを最大化する行列ＡＴＡの対角成分に対応するベクトルａを探索する問題に置き換えた。これによって偏微分が可能となり、非線形最適化問題として解を求めることができる。その結果、従来よりも演算量を削減することができる。
【００４９】
すなわち、相互共分散作用素の大きさを最大化するＡを探索する問題、すなわち、選択行列Ａの各行でどの音響特徴量をアクティブにするかの探索は、組み合わせ最適化ないしランダムサーチを用いなくてはならなかった。つまり、全てのパターンで相互共分散作用素の大きさを評価し、その中で相互共分散作用素が最大となる音響特徴量の組み合わせを選択しなければならなかった。そのため、音響特徴量の候補の次元が大きくなるにつれ、評価が困難になった。一般に音響特徴量は、複数の変数の組み合わせで音の性質を説明する。例えば音声認識で広く用いられるＭＦＣＣは、スペクトル包絡を２４個程度の変数で説明する。また、音量の計算で用いられるフィルタバンク分析は、全帯域の周波数を３２程度のフィルタで分析する。突発性を調べるためには、その一階差分（Δ特徴量）や二階差分（ΔΔ特徴量）を計算する。このように、音響特徴量の候補は数多くあり、その次元数は非常に大きい。この大量の音響特徴量の候補から最適な組み合わせを選ぶとき、たとえばＱ＝５１２次元の候補から，Ｄ＝４８次元の音響特徴量を選択する場合、その組み合わせ数は５１２Ｃ４８≒９．２×１０６７という膨大な数になり、その探索は事実上困難である。これに対し、本形態の手法では非線形最適化問題として解を求めることができるため、探索に必要な演算量を大幅に削減できる。
【００５０】
さらに、本形態ではミニバッチごとに段階的にベクトルａを更新するため、式（２８）中の（Ｋｇ＋εＩＦ）の行列サイズを小さくでき、その逆行列（Ｋｇ＋εＩＦ）−１の演算量を小さくできる。
【００５１】
すなわち、一般的なカーネル法を用いて相互情報量を計算するとき、計算途中でグラム行列呼ばれる行列の逆行列の評価が必要となる。学習データの総フレーム数がθの時、グラム行列はＲθ×θの対称行列となる。音データを、例えば分析窓３２ｍｓ，シフト幅１６ｍｓで分析するとき、フレーム数は１秒間で６０フレームとなる。音データを用いた機械学習の学習データ量は数十時間となることが多く、総フレーム数θは簡単に１万を越えてしまう．その逆行列の計算は事実上困難であり、音データの学習にカーネル法を用いることは困難であった。これに対し、本形態ではミニバッチごとに段階的にベクトルａを更新するため、総フレーム数が増加した場合でも演算量の増加を大幅に抑制できる。
【００５２】
［変形例等］
なお、本発明は上述の実施形態に限定されるものではない。本発明は、例えば、音響信号強調フィルタ（出力変数）を元に、複数の音響特徴量の候補（入力変数）の中から音響信号強調フィルタとの相関が小さな音響特徴量を除外するための選択行列を求めるために利用できる。しかしながら、本発明の用途はこれに限定されない。すなわち、本発明は、出力変数を元に、当該出力変数とある程度の相関を持つように入力変数を最適化する用途、例えば、相互情報量最大化に基づき、ある入力変数からそれに対応する出力変数を推定する際に、出力変数を推定するために有効な情報を残すように、入力変数のサブセットを選択する用途であれば、どのような用途にも適用できる。そのため、この使用用途は音源強調や事前ＳＮＲの推定に限らない。つまり入力変数は音響特徴量（音響信号の特徴量）に限らず、画像やセンサなどのなんらかのデータから特徴抽出した結果（画像信号の特徴量やセンサ信号の特徴量）であってもよいし、音響信号、画像信号、センサ信号、位置座標などの生データであってもよい。すなわち、入力変数が、音響信号、画像信号、センサ信号、位置座標、その他の時系列データ（例えば、生データ）や、それらの特徴量を含んでもよい。同様に出力変数も事前ＳＮＲに限らず、画像の属するクラスを表す変数でもよいし、元信号の振幅スペクトル｜Ｓω，τ｜であってもよい。すなわち、出力変数が音響信号、画像信号、またはセンサ信号、位置座標、その他の時系列データの何れかに対応する情報を含んでもよい。その他、入力変数が時系列データ以外のデータまたはその特徴量を含んでもよく、出力変数が時系列データ以外のデータに対応する情報を含んでもよい。すなわち、入力変数および出力変数が時系列の情報でなくてもよく、本発明は時系列信号以外にも適用可能である。
【００５３】
例えば、以下のようにして、画像信号に対する判別を行うことができる。この場合の最適化装置は、記憶部１０１，１０２、周波数領域変換部１０３，１０４、重畳部１０５、事前ＳＮＲ計算部１０８、音響特徴量候補抽出部１０６に代えて、学習データである画像信号を格納する記憶部、および、画像特徴量の候補を抽出する画像特徴量候補抽出部を含む。学習データである画像信号は、判別対象の画像に対応するものと、それ以外の画像に対応するものを含む時系列信号である。時間インデックスｔでの画像信号が判別対象の画像である場合、その画像信号に出力変数ξｔ＝１が対応付けられている。一方、時間インデックスｔでの画像信号が判別対象ではない画像である場合、その画像信号に出力変数ξｔ＝０が対応付けられている。画像特徴量候補抽出部は、入力された学習データである画像信号から、時間インデックスｔごとにＱ個の画像特徴量の候補を抽出し、それらを要素とするＱ次元のベクトルをｇｔとして記憶部１０７に格納する。画像特徴量の候補は、例えば、コーナー検出やＳＨＩＦＴ（Scale-Invariant Feature Transform）特徴などを用いて、入力された学習データに含まれる画像信号から抽出した特徴量である。また、各出力変数ξｔは記憶部１０９に格納される。それ以外は上述の実施形態で説明した通りである。
【００５４】
また上記の実施形態では、コスト関数として相互共分散作用素の負のトレースを用いたが、コスト関数として相互共分散作用素の行列式を用いてもよい。その他、入力変数の候補と出力変数との相関の強さを示すコスト関数であればどのようなものを用いてもよい。また、上記の実施形態では、相互共分散作用素の大きさを最大化するベクトルａを選択した。しかしながら、相互共分散作用素の大きさを大きくするようにベクトルａを更新して得られる値であれば、最終的に選択されるベクトルａが相互共分散作用素の大きさを最大化しなくてもよい。その他のコスト関数を用いる場合も同様である。
【００５５】
上記の実施形態では、ａ＝√ｄｉａｇ［ＡＴＡ］としたが、ＡＴＡの対角成分に対応するベクトルであればどのようなものをａとしてもよい。例えば、ＡＴＡの対角成分そのものをベクトルａの要素にしてもよいし、ＡＴＡの対角成分やその平方根の関数値をベクトルａの要素にしてもよい。
【００５６】
また、学習データに対応する時間インデックスの総数Ｈが小さい場合には、ミニバッチごとではなく、すべての時間インデックスｔ＝１，・・・，Ｈについてまとめて更新処理を行ってもよい。この場合には、分割部１２３、ミニバッチ判定部１２４４、ステップＳ１２３、Ｓ１２４４は不要であり、ステップＳ１２２の後、Ｆ＝Ｈとして、Ｓ１２４１〜Ｓ１２４３の処理を実行し、その後ステップＳ１２５の処理を行えばよい。
【００５７】
また実施形態ではインデックスｔがフレーム番号などの時間インデックスである場合を例示した。しかしながら、インデックスｔがフレーム番号以外の時間インデックスであってもよいし、周波数ビンに対応する周波数インデックスであってもよいし、その他のインデックスであってもよい。
【００５８】
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【００５９】
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な（non-transitory）記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
【００６０】
このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００６１】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。
【００６２】
上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
【符号の説明】
【００６３】
１  最適化装置
１２０  更新処理部
【図１】
0006466863.tif 000019
【図２】
0006466863.tif 000020
【図３】
0006466863.tif 000021
【図４】
0006466863.tif 000022