(57)【要約】【課題】独立成分分析アルゴリズムを高速化する。【解決手段】順序構造のある連続値データを時系列に格納する記憶手段と、前記連続値データから前記連続値データをベクトルの集合として表現する行列を未知パラメータとして生成する初期設定手段22と、前記行列が収束するまで更新と直交化を繰り返し計算して独立成分分析基底（ICA基底）を算出する基底算出手段14とを備えた独立成分分析の分析装置10において、順序構造のある連続値データを時系列に格納する記憶手段（レジスタ１）と、前記行列の第一の更新幅を計算して、更新後の前記行列が収束していなければ直前の行列と現在の行列との差分を第二の更新幅として計算する演算手段26と、前記行列を更新する更新設定手段24と、更新後の前記行列が収束しているかを判定し、前記行列が収束していれば前記繰り返しが終了して前記行列を出力する判定手段28と、を備えたことを特徴とする独立成分分析の分析装置。【選択図】図２
2012022588.tif 000002
【特許請求の範囲】
【請求項１】
順序構造のある連続値データを時系列に格納する記憶手段と、
前記連続値データから前記連続値データをベクトルの集合として表現する行列を未知パラメータとして生成し、前記行列が収束するまで更新と直交化を繰り返し計算して独立成分分析基底（ICA基底）を算出する基底算出手段を備えた独立成分分析の分析装置において、
前記行列の第一の更新幅を計算して、更新後の前記行列が収束していなければ直前の行列と現在の行列との差分を第二の更新幅として計算する演算手段と、前記行列を更新する更新設定手段と、更新後の前記行列が収束しているかを判定し、前記行列が収束していれば前記繰り返しが終了して前記行列を出力する判定手段と、を備えたことを特徴とする独立成分分析の分析装置。
【請求項２】
前記演算手段が、前記第二の更新幅の計算で用いる差分を直前の前記差分と比較し、前記差分と直前の前記差分との変化に応じて前記第二の更新幅の大きさを変化させる慣性係数を用いて構成されることを特徴とする請求項１記載の独立成分分析の分析装置。
【請求項３】
前記慣性係数を慣性係数ηiとして、任意定数βと、前記差分Δwi(wは太字)と、直前の前記差分Δwi,oldと、任意定数γとによって定義される次式
【数１】
2012022588.tif 000081
で計算することを特徴とする請求項２記載の独立成分分析の分析装置。
【請求項４】
記憶手段に順序構造のある連続値データを時系列に格納し、
前記連続値データから前記連続値データをベクトルの集合として表現する行列を未知パラメータとして生成し、前記行列が収束するまで更新と直交化を繰り返し計算することによって独立成分分析基底（ICA基底）を算出する独立成分分析の分析方法において、
前記行列の第一の更新幅を計算する第一の演算ステップと、前記第一の更新幅を用いて前記行列を更新する第一の更新設定ステップと、更新後の前記行列が収束していなければ直前の行列と現在の行列との差分を第二の更新幅として計算する第二の演算ステップと、前記第二の更新幅を用いて前記行列を更新する第二の更新設定ステップと、更新後の前記行列が収束しているかを判定し、前記行列が収束していれば前記繰り返しが終了して前記行列を出力する判定ステップと、を備えたことを特徴とする独立成分分析の分析方法。
【請求項５】
前記第二の演算ステップで前記第二の更新幅の計算で用いる差分を直前の前記差分と比較し、前記差分と直前の前記差分の変化に応じて前記第二の更新幅の大きさを変化させる慣性係数を用いたことを特徴とする請求項４記載の独立成分分析の分析方法。
【請求項６】
前記慣性係数を慣性係数ηiとして、任意定数βと、前記差分Δwi(wは太字)と、直前の前記差分Δwi,oldと、任意定数γとによって定義される次式
【数２】
2012022588.tif 000082
で計算することを特徴とする請求項５記載の独立成分分析の分析方法。
【請求項７】
記憶手段に時系列に格納された順序構造のある連続値データから前記連続値データをベクトルの集合として表現する行列を未知パラメータとして生成し、前記行列が収束するまで更新と直交化を繰り返し計算することによって独立成分分析基底（ICA基底）を算出することで独立成分を分析する分析手段として、コンピュータを機能させる独立成分の分析プログラムにおいて、
前記分析手段を、前記行列の第一の更新幅を計算して、更新後の前記行列が収束していなければ直前の行列と現在の行列との差分を第二の更新幅として計算する演算手段と、前記行列を更新する更新設定手段と、更新後の前記行列が収束しているかを判定し、前記行列が収束していれば前記繰り返しが終了して前記行列を出力する判定手段と、して機能させることを特徴とする独立成分分析の分析プログラム。
【請求項８】
前記第二の更新幅の計算で用いる差分を直前の前記差分と比較し、前記差分と直前の前記差分の変化に応じて前記第二の更新幅の大きさを変化させる慣性係数を用いたことを特徴とする請求項７記載の独立成分分析の分析プログラム。
【請求項９】
前記慣性係数を慣性係数ηiとして、任意定数βと、前記差分Δwi(wは太字)と、直前の前記差分Δwi,oldと、任意定数γとによって定義される次式
【数３】
2012022588.tif 000083
で計算することを特徴とする請求項８記載の独立成分分析の分析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、与えられたデータを独立した成分に分解するための基本アルゴリズムであって、画像処理，音声処理，生命情報処理など，広範な応用分野を有する高速な独立成分分析（ICA）アルゴリズムとそのソフトウェアおよび装置に関する。
【背景技術】
【０００２】
独立成分分析（ICA）は与えられた情報源を未知の成分の合成として表す情報源分解法であり、その過程で得られる基底とそれらを重ね合わせる係数を得ることが主目的となる。例えば、図１８は画像の一部分（画像パッチ）をn個の成分（基底）に分解した様子を示している。独立成分分析は，混成音源の分解（俗称，聖徳太子コンピュータ）や生命情報配列（DNA配列やアミノ酸配列）の分解に使うこともでき、広範な応用力を有している。また、従来型のICAアルゴリズムは、特徴パターン認識システム（特許文献１を参照）や類似画像検束（特許文献２を参照）において使用されている。
【０００３】
独立成分分析のアルゴリズムにおいては、Fast ICAという不動点法が、その簡便さと高速性のため、デファクトスタンダードとなっていた（非特許文献１を参照）。この方法は既存の不動点型の方法による過去の情報のマルチステップを利用しており、過去の情報の利用は、代理の最適化の考えから来ている。また、速度とソフトウェアの実行性能は擬似的に読み込まれたデータと現実データの両方で確認されている。
【０００４】
従来技術の不動点型Fast ICAは保存されている古い値が固定されており、それを繰り返し用いて生成された行列が収束するまで計算しているものであった。これに対し、不動点型Fast ICAと等価な概念で考案された自然勾配型Fast ICAは、生成された行列を一定量の更新幅だけずらして該行列を更新し、該行列が収束するまで計算を繰り返すものであった。その後、この自然勾配型の高速化を追求してFast ICAに打ち勝つ努力がなされていたが、いずれも失敗に終わっていた。これは、Fast ICAの速度が高速な3次収束であることに起因していた。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３９７６３３１号公報
【特許文献２】特開２００６−２８５５７０号公報
【非特許文献】
【０００６】
【非特許文献１】エイ. ヒバリネン（A Hyvarinen）,高速でロバストな不動点型ＩＣＡアルゴリズム （Fast and robust fixed-point algorithms for independent component analysis），IEEE会報 ニューラルネットワーク（IEEE Trans. NN）,1999年，第10巻，pp. 626-639
【発明の概要】
【発明が解決しようとする課題】
【０００７】
情報量の最適化は多種の情報処理を行う高品質な学習アルゴリズムにつながる。学習段階は通常非線形で反復的であるが、これは効果的なものの低速な性質をもたらす。したがって、現実問題への適用を容易にするためには学習アルゴリズムの速度が重要であり、独立成分分析（ICA）はその典型例である。多様なICA方法のうち、不動点型のFast ICAは通常、自然勾配型の最高速よりも高速であるので最もポピュラーである。しかし、さらに高速なICAが必要とされており、画像処理への適用はその一例として望まれていた。
【課題を解決するための手段】
【０００８】
本発明では、まず、この不動点型FastICAの考え方を変え、生成された行列の更新幅（現在と直前の行列の差分）を少しずつずらしていくという自然勾配型FastICAのフローチャートを考え、慣性項と慣性係数を使用した処理を行列の更新設定処理に追加している。ここで慣性項というのは現在と過去（直前）の行列Ｗの差分をとったものである。したがって、本発明のICAは現在デファクトスタンダードとなっているFastICAを特例として含み、それに代わりうるものである。
【０００９】
本発明は、順序構造のある連続値データを時系列に格納する記憶手段と、前記連続値データから前記連続値データをベクトルの集合として表現する行列を未知パラメータとして生成し、前記行列が収束するまで更新と直交化を繰り返し計算して独立成分分析基底（ICA基底）を算出する基底算出手段を備えた独立成分分析の分析装置において、前記行列の第一の更新幅を計算して、更新後の前記行列が収束していなければ直前の行列と現在の行列との差分を第二の更新幅として計算する演算手段と、前記行列を更新する更新設定手段と、更新後の前記行列が収束しているかを判定し、前記行列が収束していれば前記繰り返しが終了して前記行列を出力する判定手段と、を備えて構成される。
【００１０】
さらに、前記第二の更新幅の計算で用いる差分を直前の前記差分と比較し、前記差分と直前の前記差分の変化に応じて前記第二の更新幅の大きさを変化させる慣性係数を用いて構成される。
【００１１】
さらに、前記慣性係数を慣性係数ηiとして、任意定数βと、前記差分Δwi(wは太字)と、直前の前記差分Δwi,old(wは太字)と、任意定数γとによって定義される次式で計算する構成とする。
【数１】
2012022588.tif 000003
【００１２】
本発明は、記憶手段に順序構造のある連続値データを時系列に格納し、
前記連続値データから前記連続値データをベクトルの集合として表現する行列を未知パラメータとして生成し、前記行列が収束するまで更新と直交化を繰り返し計算することによって独立成分分析基底（ICA基底）を算出する独立成分分析の分析方法において、前記行列の第一の更新幅を計算する第一の演算ステップと、前記第一の更新幅を用いて前記行列を更新する第一の更新設定ステップと、更新後の前記行列が収束していなければ直前の行列と現在の行列との差分を第二の更新幅として計算する第二の演算ステップと、前記第二の更新幅を用いて前記行列を更新する第二の更新設定ステップと、更新後の前記行列が収束しているかを判定し、前記行列が収束していれば前記繰り返しが終了して前記行列を出力する判定ステップと、により行なわれる。
【００１３】
この場合の第二の演算ステップは前記第二の更新幅の計算で用いる差分を直前の前記差分と比較し、前記差分と直前の前記差分の変化に応じて前記第二の更新幅の大きさを変化させる慣性係数を用いたことにより行なわれる。
【００１４】
さらに、前記慣性係数を慣性係数ηiとして、任意定数βと、前記差分Δwi(wは太字)と、直前の前記差分Δwi,oldと、任意定数γとによって定義される次式で計算する。
【数２】
2012022588.tif 000004
【００１５】
本発明は、記憶手段に時系列に格納された順序構造のある連続値データから前記連続値データをベクトルの集合として表現する行列を未知パラメータとして生成し、前記行列が収束するまで更新と直交化を繰り返し計算することによって独立成分分析基底（ICA基底）を算出することで独立成分を分析する分析手段として、コンピュータを機能させる独立成分の分析プログラムにおいて、
前記分析手段を、前記行列の第一の更新幅を計算して、更新後の前記行列が収束していなければ直前の行列と現在の行列との差分を第二の更新幅として計算する演算手段と、前記行列を更新する更新設定手段と、更新後の前記行列が収束しているかを判定し、前記行列が収束していれば前記繰り返しが終了して前記行列を出力する判定手段と、して機能させている。
【００１６】
この場合、前記第二の更新幅の計算で用いる差分を直前の前記差分と比較し、前記差分と直前の前記差分の変化に応じて前記第二の更新幅の大きさを変化させる慣性係数を用いて演算を行う。
【００１７】
さらに、前記慣性係数を慣性係数ηiとして、任意定数βと、前記差分Δwi(wは太字)と、直前の前記差分Δwi,old(wは太字)と、任意定数γとによって定義される次式で計算する。
【数３】
2012022588.tif 000005
【発明の効果】
【００１８】
請求項１、４、７の発明によれば、直前の行列と現在の行列との差分を第二の更新幅として計算して行列を更新することを繰り返すことにより、少ない繰り返し回数で行列を収束させることができる。また、それに伴い、独立成分分析の処理を高速化することができる。
【００１９】
請求項２、５、８の発明によれば、第二の更新幅の大きさを前記差分と直前の差分の変化に応じて変化させる事により、さらに少ない繰り返し回数で行列を収束させることができる。また、それに伴い、独立成分分析の処理をさらに高速化することができる。
【００２０】
請求項３、６、９の発明によれば、慣性係数ηiによって第二の更新幅のスカラー量と角度量の２つを調整することにより繰り返し計算が効率的になり、少ない繰り返し回数で行列を収束させることができる。また、また、それに伴い、独立成分分析の処理をさらに高速化することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の分析装置の処理手順のフローチャートを示す図である。
【図２】同上、分析装置の構成を示すブロック図である。
【図３】本発明の第一実施例のシミュレーション用のsuper-Gaussian信号を示す図である。
【図４】同上、誤差測定による収束速度の確認試験結果を示す図である。
【図５】同上、コントラスト関数を用いた収束速度の確認試験結果を示す図である。
【図６】同上、収束の経過における慣性係数ηの平均値η-（-はηの上に付く）のトレンドを示す図である。
【図７】本発明の第二実施例の収束判定基準による収束確認試験結果を示す図である。
【図８】同上、log coshコントラスト関数による収束確認試験結果を示す図である。
【図９】同上、本発明の分析装置を類似画像検索に適用した場合の構成を示すブロック図である。
【図１０】同上、画像から基底を取りだす概念図である。
【図１１】同上、画像と画像を比較して類似度の判断する概念図である。
【図１２】同上、本発明の独立成分分析装置によるICA基底を示す図である。
【図１３】同上、従来のFast ICAによるICA基底を示す図である。
【図１４】同上、基底の類似度を計算する手順を示す図である。
【図１５】同上、更新の流れの図である。
【図１６】同上、コーディングとデコーディングの全体のシステム図である。
【図１７】同上、アプリケーションのイメージ図である。
【図１８】画像を例にとった場合に独立成分分析を示す図である。
【発明を実施するための形態】
【００２２】
まず、本発明の理解に必要なICAの基本的な原理について説明する。
【００２３】
１．ICAの公式化
まず、ICAの導入に必要な基本を以下に提示する。次式に示す観測された観測乱数ベクトルx（xは太字）が与えられると、その重ね合わせの関係からICAの問題が開始する。
【数１】
2012022588.tif 000006
【００２４】
ここで、x（xは太字）は平均値がゼロである。A（Aは太字）はｎ×ｎの未知の行列である。次式のベクトルもまた未知である。
【数２】
2012022588.tif 000007
【００２５】
これら成分は互いに独立して推定されるものであり、一つの成分を除き、非ガウス性である。ICAの問題である上記数１と数２のデータ生成メカニズムの認識は, x(xは太字)からA(Aは太字)とs(sは太字)の両方を推定することである。 しかしながら、これは不確実さが残る準パラメータ問題である。したがって、以下のy(yは太字)とW(Wは太字)をうまく得ることができれば満足したものとする。
【数３】
2012022588.tif 000008
ここで、乱数ベクトルy(yは太字)は推定された独立成分の集合である。y(yは太字)の成分の順序はs(sは太字)の成分の順序から変えられることは重要である。
【００２６】
２．Rapid ICAの原点である不動点型ICAの原理
本発明の目的は従来の不動点型ICAよりも高速で軽いロバスト性のアルゴリズムを提供することである。不動点型ICAは通常、自然勾配型その他よりも高速であり、その主要なステップは更新ステップと直交化ステップで構成される。なお、以下に示す矢印は矢印方向に置き換えるという意味である。
【００２７】
更新ステップ：Ｗ（Ｗは太字）は以下の計算によって更新される。
【数４】
2012022588.tif 000009
あるいは、
【数５】
2012022588.tif 000010
直交化ステップ: Ｗ(Ｗは太字) は固有値分解を用いて直交化される。
【数６】
2012022588.tif 000011
【００２８】
ここで、∂G と ∂2G は、それぞれ収縮関数Gの１次導関数と２次導関数である。G(y)には例えばy4、log cosh y、exp(-y2/2)等が入る。ベクトルz(zは太字)は次式となるようなｘ（ｘは太字）を白色化したものである。
【数７】
2012022588.tif 000012
【数８】
2012022588.tif 000013
【００２９】
ここで、D(Dは太字)は共分散行列E[xxT](Eとｘは太字)の最大の固有値m による対角行列であり、ej(eは太字)は固有ベクトルに相当する。
【００３０】
３．Rapid ICA
本発明のアルゴリズム（Rapid ICAと呼ぶ。）の考え方について説明する。
【００３１】
（A）ICAの追加的な更新の変形
RapidICAの考え方は 繰り返しとなる直前のおよび/または現在の情報を利用するα-ICAやf-ICAによって動機付けられる。これらのアルゴリズムは 追加の更新条件を使用するため、数５を以下のように書き直す。
【数９】
2012022588.tif 000014
【００３２】
そして、Fast ICA を以下のステップの繰り返しと考える。
【００３３】
[基本的なFast ICA]
ステップ 1:
【数１０】
2012022588.tif 000015
ステップ 2:
【数１１】
2012022588.tif 000016
ステップ 3:
【数１２】
2012022588.tif 000017
【００３４】
（B）高速バージョン I
Fast ICAではステップ3の無相関がしばしば低速な収束を生じさせる非ガウス分布の学習を妨げることが指摘されていた。したがって、出発点となるアルゴリズムを有する。
[方法1:単純バージョン(Naive Version)]
ステップ 1:
【数１３】
2012022588.tif 000018
ステップ 2:
【数１４】
2012022588.tif 000019
ステップ 3:
【数１５】
2012022588.tif 000020
ステップ 4:
【数１６】
2012022588.tif 000021
【００３５】
出発点バージョンであるこの単純(Naive)な方法は考えとして単純すぎるものである。その収束は小さい数字になるものの、調整されないη>0のために頻繁に乱れる。したがって、ここでは無相関ステップの挿入によって流れを増加させた方法を使用する。
【００３６】
[方法 1: 開始バージョン（Opening version）]
ステップ 1:
【数１７】
2012022588.tif 000022
ステップ 2:
【数１８】
2012022588.tif 000023
ステップ 3:
【数１９】
2012022588.tif 000024
ステップ 4:
【数２０】
2012022588.tif 000025
ステップ 5:
【数２１】
2012022588.tif 000026
ステップ 6:
【数２２】
2012022588.tif 000027
【００３７】
このバージョンは同様な更新を２回単純に計算しているように見えるかもしれないが、以下の見解は更に高度なバージョンへの架け橋をもたらす。
ａ）ステップ２は他のステップよりも計算能力を必要とする。
ｂ）ステップ４がないとηによる増加が発振を生じさせる。
【００３８】
（Ｃ）高速バージョンII（一定の調整パラメータη）
積算方法Iと直前(過去)の情報の使用によって, 以下の方法が得られた。
[方法２：２次バージョン]
ステップ １:
【数２３】
2012022588.tif 000028
ステップ ２:
【数２４】
2012022588.tif 000029
ステップ ３:
【数２５】
2012022588.tif 000030
ステップ ４:
【数２６】
2012022588.tif 000031
ステップ ５:
【数２７】
2012022588.tif 000032
ステップ ６:
【数２８】
2012022588.tif 000033
ステップ ７:
【数２９】
2012022588.tif 000034
【００３９】
この方法のポイントは２種類の増分があることである。一つはステップ３にあり、もう一つはステップ６にある。これは、以下の性質を有する。
ａ）それぞれ増分は、異なる時間の情報を使用している。これは高次の戦略と同等である。
ｂ）ステップ５の算出された増分ΔＷ（Ｗは太字）はゼロ行列０（０は太字）を得るものと予測される。したがって、このステップは方法１よりも安定したものになると予測される。
ｃ）ステップ５の計算は、ステップ３の計算に対して微小である。したがって、繰り返し回数の減少は直接的に実行時間の高速化につながる。
【００４０】
（Ｄ）高速バージョンIII（慣性係数ηi）
高速バージョンIIでは、調整パラメータηの増分が η=0.1のようなスカラー量であった。次の考えはＷ（Ｗは太字）のインデックス列に応じて適切なηi の値を見つけることである。（ηiはi行目に対応する慣性係数）
[方法３: ステップサイズが可変なバージョン]
ステップ １:
【数３０】
2012022588.tif 000035
ステップ ２:
【数３１】
2012022588.tif 000036
ステップ ３:
【数３２】
2012022588.tif 000037
ステップ ４:
【数３３】
2012022588.tif 000038
ステップ ５:
【数３４】
2012022588.tif 000039
ステップ ６:
【数３５】
2012022588.tif 000040
ステップ ７:
【数３６】
2012022588.tif 000041
【００４１】
この方法において、主な問題は効果的な慣性係数ηiを見つける方法である。ここでは、我々は現在と直前の情報を併用する考え方を用いている。
【００４２】
【数３７】
2012022588.tif 000042
上式は、＜，＞が行列同士の内積値を示しており、分母の｜｜は絶対値を示しており、maxの中身は内積が０以下であれば、０を採用し、０以上であればその内積値を採用するという意味である。また、iというのはi行目の行ベクトルを示しており、oldという記号は直前（過去）の行列という意味を示している。この式はΔｗi,old（ｗは太字）からΔｗi （ｗは太字）への方向で大きな変化があれば内積値が小さくなり、慣性係数ηiの値が小さくなるという性質を持っている。これは中間にあるステップの間での発振を避けるのに有利な性質である。しかしながら、Δｗi（ｗは太字）の大きさは考慮に入れられていない。また、収束が近づけば慣性係数ηiはゼロによる除算になり得るため数値が不安定になる。なお、ηiはi行目の成分に対する慣性係数であるので、この慣性係数ηiは各行において計算し、この慣性係数ηiを成分とするdiag(ηi）という対角行列の形で更新幅ΔＷ（Ｗは太字）に乗じる。
【００４３】
(E) 可変なベクトルのステップ
数３７の欠陥を考慮して我々は次の形態を提案する。
【数３８】
2012022588.tif 000043
【００４４】
ここで、βは定数であるがβ=1等として省略することもできる。定数γはゼロによる除算を防止して数値を安定させるための定数である。この式は以下の性質を有している。
ａ）行列Ｗの現在と直前との差分Δｗi（ｗは太字）とΔｗiの直前の差分Δｗi,old（ｗは太字）が互いに近づくと、その内積値が大きくなり慣性係数ηiの値は大きくなる。他方、Δｗi（ｗは太字）とΔｗi,old（ｗは太字）の方向が大きく異なれば（極端には、まったく平行していなければ)、慣性係数ηiの値は内積値が小さくなるためにゼロに近づく。
ｂ）γがあるために小さなΔｗi（ｗは太字）は小さな慣性係数ηiを生成する。
【００４５】
上記ａ）とｂ）の性質は、計算上の複雑さが極めて微小な増加コストに止まる一方で、かなりの高速化が得られるであろうと予測される。
【００４６】
この慣性係数ηiおよび現在と直前の行列との差分を第二の更新幅ΔＷ2として導入したことにより、ηiの分子がΔｗi（ｗは太字）とΔｗi,old（ｗは太字）とのなす角（内積値）に応じて変化し、同時にηiの分母がΔｗi（ｗは太字）とΔｗi,old（ｗは太字）の絶対値の大小によって変化するため、その慣性係数ηiを成分とするdiag(ηi）という対角行列は行列Ｗのスカラー量（行列の更新時のずれの大小）と角度量（行列の更新時のずれの角度）を調整しながら行列Ｗを更新することが可能となる。その結果。Ｗが収束するまでの繰り返しが減る。なお、ηiの役割は現在と直前の行列Ｗの差分の変化を観測し、その差分が大きければ、更新時のずれを小さくし、小さければ更新時のずれを大きくするようにこのηiで調整し、ずれを文字通り慣性状にするためのものである。
【００４７】
すなわち本発明では、１）２つの過去値の差分を導入したことと、２）その更新時のずれを差分の大小に対応して慣性状にしたことにより、繰り返し処理が効率化することを特徴としている。
【００４８】
（Ｆ）安定的な更新
すべてのICAアルゴリズムは収束しない可能性を持っていることが重要であり、Fast ICAも例外ではない。このような源データは多数ある。その場合、源データは混合非ガウス分布によって容易に生成できるが、ほとんどは２成分以上のガウス性データである。このような場合、少量の減速は大きな安定性につながる。
【００４９】
【数３９】
2012022588.tif 000044
【００５０】
ここで、α∈（０，１）は減速係数である。α=1の場合、同じデータに収束しない可能性のあるFast ICAとなる。予備実験において、α=0.95〜0.98ではそれほど減速せずに収束できるように作用する。
【００５１】
４．Rapid ICAにおける全体のアルゴリズム
(A)全体のアルゴリズムの記載
ここでは、少量の減速で速度と安定性を向上させるステップについて提案した。すべてのステップを一体化したものは現行よりも高速なICAを実現することが期待される。以下は、Rapid ICAの概要である。
［Rapid ICA］
ステップ１：
【数４０】
2012022588.tif 000045
ステップ２:
【数４１】
2012022588.tif 000046
ステップ３:
【数４２】
2012022588.tif 000047
ステップ４:
【数４３】
2012022588.tif 000048
ステップ５:
【数４４】
2012022588.tif 000049
ステップ ６:
【数４５】
2012022588.tif 000050
ステップ ７:
【数４６】
2012022588.tif 000051
なお、ここでのηiは前記数３７に示したものである。
ステップ ８:
【数４７】
2012022588.tif 000052
【００５２】
ここで、計算が重い部分はステップ１とステップ３であることを強調するのが重要となる。nを独立成分の数として、Tをサンプル数とするならば、それらの計算上の次数はO(n2T)である。これに対し、diag(ηi)の計算はO(n2)だけである。ほとんどの場合はT >>nであるので、Rapid ICAを実現する計算上のオーバーヘッドは小さいままである。
【００５３】
(B)収束の測定
公平な比較のために、同じ収束基準を使用する。ｗi（ｗは太字）と ｗi,old（ｗは太字）をそれぞれＷ（Ｗは太字）とＷold（Ｗは太字）の列ベクトルとする。ここで、 Ｗ（Ｗは太字）は容易に対角化されるバージョンとする。そして、収束の評価基準は以下の通りである。
【００５４】
【数４８】
2012022588.tif 000053
この評価基準を用いることによって、もし以下のようになったら繰り返しが終了する。
【数４９】
2012022588.tif 000054
ここで、εは通常10-5である。
【００５５】
５．収束速度の比較
(A)誤差測定
次に、実施例１として擬似データを用いて、また実施例２として現実のデータを用いてRapid ICAの性能を評価する。入力はICAの設定において、未知として与えられた行列Ａ（Ａは太字）によって生成されるので擬似データの評価は重要である。第一の誤差測定ではＷ-1がＡにどれだけ近づいているかをカウントする。しかし、不確実な置換があるので誤差測定は
【００５６】
【数５０】
2012022588.tif 000055
【００５７】
を用いて明確にする。ここで、Ｖ（Ｖは太字）は数７の変換行列である。そして誤差測定は以下のように定義される。
【００５８】
【数５１】
2012022588.tif 000056
【００５９】
ここで、pijは行列Ｐ（Ｐは太字）の成分である。もし、Ｖ=Ｉ（ＶとＩは太字）であれば、すなわち入力信号が前処理されたものであれば、行列Ｐ（Ｐは太字）は置換行列となる。
【００６０】
第二の誤差測定はG(y)を用いた独立性で評価する。
【数５２】
2012022588.tif 000057
【００６１】
６．Rapid ICAアルゴリズム処理手順
次に、上述したRapid ICAアルゴリズムを実行可能にするプログラムの処理手順を、図１および図２に基づき説明する。
【００６２】
本発明の分析装置10は、入力手段12（記憶手段１）またはデータベース２と、初期設定手段22と演算手段26と更新設定手段24と判定手段28を備えた基底算出手段14と、メモリ30と、操作手段32と、出力手段16で構成される。
【００６３】
同図において、１は入力データを格納する記憶手段としてのレジスタで、入力データｚは白色化されて読み出し可能に格納される。入力手段はその記憶手段としてのレジスタ１から入力データを読み出して基底算出手段14の初期設定手段22へ入力する。レジスタ１の代わりにデータベース２を使って構成しても良い。基底算出手段14は、レジスタ１（またはデータベース２）に記憶される一群のデータから初期設定手段22によって行列を未知パラメータとして生成し、その行列が収束するまで更新と直交化を繰り返す図１のステップＳ１〜ステップＳ１１の各手順に従って収束した行列を算出し、ステップＳ１２で出力するものである。
【００６４】
ステップＳ１は、白色化された観測信号（入力データ）ｚを記憶手段（レジスタ）１に格納する部分であり、観測信号ｚは行列の形で生成される。ステップＳ２は復元行列（分離行列）Ｗを初期化する部分である。そして、それらのデータは入力手段12（またはレジスタ１、データベース２）から基底算出手段14の初期設定手段22へ入力される。ステップＳ３は分離信号ｙを演算手段26で計算し。その計算した分離信号ｙを直前の分離信号ｙに代えて分離信号ｙとして設定する。ステップＳ４は現在の復元行列ＷをＷoldという一つ過去の復元行列として読み出し可能にメモリ30に保存する部分である。ステップＳ５は行列Ｗの第一の更新幅ΔＷ1を演算手段26で計算し、その計算した更新幅ΔＷ1を用いてＷ＋ΔＷ1を新しくＷと置き換えて更新設定手段24でする更新する部分である。ステップＳ６は行列Ｗの正規直交化を演算手段26で計算する部分である。ステップＳ７は行列Ｗが判定基準のＣＯＮＶを満たして収束しているかどうかを判定手段28によって判定する部分である。ステップＳ８は判定手段28で行列Ｗが収束してないと判断された場合に現在の第二の更新幅である慣性項ΔＷ2をΔＷ2,oldという一つ過去の慣性項としてメモリ30に読み出し可能に保存する部分である。ステップＳ９は慣性項ΔＷ2を現在の行列Ｗと直前の行列Ｗoldとの差分を演算手段26で計算し、更新設定手段24によって更新する部分である。ステップＳ１０は慣性係数を演算手段26で計算し、その慣性係数を対角成分とする対角行列を慣性項ΔＷ2に乗じて行列Ｗに加える計算を演算手段26で行い、行列Ｗを更新設定手段24で更新する部分である。ステップＳ１１は行列Ｗを正規直交化する計算を演算手段26で行う部分である。そして、その後Ｓ３に戻って再び演算・更新設定を行う。
【００６５】
なお、ステップＳ７において、行列Ｗが判定基準を満たしている場合、判定手段28はステップＳ１２でその収束した行列Ｗ（基底）を出力手段16に出力する。また、これら本発明の分析装置10の一連の動作は操作手段32への操作によって開始または停止させることが可能である。
【００６６】
この図２において、従来技術の自然勾配型ＩＣＡの場合、図２の四角で囲まれたループの戻り部分が単純に直線的な戻りの矢印となっている。つまり、四角で囲まれた部分（自然勾配型にするとこの処理を追加できるという部分）の処理が本発明において重要となる。
【００６７】
つぎに、実施例１および実施例２について説明する。ここでの実施例では、従来技術のFast ICAを用いた場合と本発明のRapid ICA（const）およびRapid ICAについて比較して説明する。
【実施例１】
【００６８】
・生成データによるシミュレーション
以下のように、まず尖ったガウス分布（super-Gaussian）の入力をガウス分布の乱数から生成する。
【００６９】
ステップ １: 混合行列Ａ（Ａは太字）を選択する。
ステップ ２: ガウス分布の擬似乱数N(0, 1)を描く。
ステップ ３: 各乱数rに対して出力(r,4) を適用する。
ステップ ４: 計2000の上記ｓ（ｓは太字）を生成する。
ステップ ５: このｓ（ｓは太字）の時系列を、再び平均値0で分散１となるように正規化する。
ステップ６：上記の尖ったガウス分布(super-Gaussian)について、計n=20の入力を生成する。
ステップ ７: 混合信号ｘ（ｘは太字）を数１によって生成する。
【００７０】
図３は、上記の方法で生成された尖ったガウス分布(super-Gaussian)の成分を示している。縦軸は時系列のsuper-Gaussian信号s(k)の値であり、横軸はその信号s(k)の時間に相当するインデックスkを示している。なお、実際のs(k)は２０次元×2000個の系列であり、この図では、そのうち１次元×200個を表示している。この種のサブ入力(sub-sources)のために、当該シミュレーションでは以下のコントラスト関数を用いて達成する。
【００７１】
【数５３】
2012022588.tif 000058
【数５４】
2012022588.tif 000059
【００７２】
図４はFast ICAと、一定のdiag(ηi)を使用したRapid ICA（図中、Rapid ICA(Const)と表示）と、数３８のdiag(ηi)を使用した(単純にRapid ICAと呼んでいる)Rapid ICAとの比較を示している。横軸は対数表示した繰り返し回数である。縦軸は数５１の対数表示した誤差を示している。この図からわかるようにRapid ICAの性能はFast ICAより少ない繰り返し回数で誤差が減少するため優れている。また、数３８の慣性係数ηiを対角成分とした対角行列diag(ηi)を用いたRapid ICAは慣性係数ηiが一定のRapid ICAよりも性能が優れている。
【００７３】
図５は繰り返し回数を横軸として、数５１のlog cosh評価のトレンドを縦軸として示している。これは 収束結果が十分に独立しているかを見る確認経過である。このトレンドは図４の収束速度の確認試験結果の傾向と似ており、Rapid ICAはFast ICAより性能が優れている。また、数３８の慣性係数ηiを対角成分とした対角行列diag(ηi)を用いたRapid ICAは慣性係数ηiが一定のRapid ICAよりも性能が優れている。
【００７４】
これは 行列diag(ηi)が適切にその要素を変化させていることを示している。 n=20の要素（η1〜η20）があるので、ここでは一般的なトレンドをわかりやすく知るためにそれらの平均値η-（-はηの上に付く）を計算した。図６は平均値の経過を示している。
【００７５】
【数５５】
2012022588.tif 000060
【００７６】
図６から以下の性質がわかった。
ａ）最初の２回の繰り返しの間において、慣性係数ηiは過去情報が無いためにゼロに設定される。
ｂ）慣性係数ηiによる調整が一度始まると、繰り返し回数はこの情報をステップサイズとΔＷ2（Ｗは太字）の方向の調整に使用する。
ｃ）繰り返しが進むと、η-（-はηの上に付く）はゼロに近づく。図６では、この現象は17回目の繰り返しの後に観測できる。これは、図４と図５の収束と一致する。17回目の繰り返しの時でも、Fast ICAと慣性係数ηiが一定のRapid ICAは学習更新段階のままである。
【実施例２】
【００７７】
・現実データ（画像）を用いた場合のICA
次に、画像の基底を得るためにICAを用いた実験例を提示する。この場合、本当のＡ（Ａは太字）はわからない。
ステップ１：ｘ（ｘは太字）の画像パッチを直接RGB源画像から収集する。まず、8x8サイズのパッチの集合を取り出す。その合計は15000個である。
ステップ２：ｘ（ｘは太字）のパッチをそれぞれ192次元(192=8x8x3)のベクトルとみなす。
ステップ３：数７の白色化によって、次元を64まで縮約する。
【００７８】
この実験では、数５２と数５３の同じコントラスト関数を使用した。図７はFast ICAと、一定の慣性係数ηiを用いたRapid ICAと、慣性係数ηiの調整を入れたRapid ICAの３つのICA方法による収束の比較である。横軸はCPU時間であり、縦軸は対数表示した数４７の収束基準（ＣＯＮＶ）である。
【００７９】
Rapid ICAの収束速度は、明らかにFast ICAよりも高速である。さらにRapid ICAは、Fast ICAでは得ることができない優れた収束分布（縦軸）を成し遂げている。この性質はconv=1.0E-05のラインを引けばよくわかる。図７のグラフを見て到達時間を比較すれば、従来のFast ICAによるCPU時間はおよそ57秒、差分のみを導入したRapid ICAによるCPU時間はおよそ48秒、慣性係数ηiと差分の両方を導入Rapid ICAによるCPU時間はおよそ33秒となり、本発明の方法であれば処理が高速であることがわかる。
【００８０】
図８は数５１と数５２のlog coshの基準による収束と独立性の確認試験結果を示している。ここで、横軸はCPU時間である。ここでもRapid ICAがFast ICAより少ないCPU時間で収束しており、優れていることがわかる。
【００８１】
次に、添付図面に基づき、本発明における類似画像検索方法と、それを実現する装置の好ましい実施形態を詳しく説明する。図９は、システム構成を模式的に示したものであるが、この図において、101は静止画像若しくは静止画像の連続体としての動画像（以下、これらを単に画像という）の集合を記憶保存するデータベースで、このデータベース101は例えばコンピュータなどの処理装置102に少なくとも読み出し可能な状態に接続される。処理装置102は本発明の特徴となる基底算出手段120および130を備えた類似画像検索アプリケーション103を含む各種アプリケーションを備えており、必要に応じてデータベース101に蓄積された画像を表示手段である液晶ディスプレイ104で適宜表示できるようになっている。なお、データベース101は処理装置102に内蔵または外付けされる記憶媒体（ハードディスクなど）や、処理装置102に通信手段を介して接続されるサーバであってもよく、どのような形態であるかは特に限定されない。また処理装置102は、例えばマウスやキーボードなどの入力手段105を備えている。
【００８２】
類似画像検索アプリケーション３は、入力手段５によってユーザーが選択したクエリ画像（query image）を取込むクエリ画像取込み手段110と、前記クエリ画像の小区画をサンプルデータとして、当該クエリ画像の基底を求める第１の基底算出手段120と、データベース101内から検索の対象となる画像を読み出し、この対象画像の小区画をサンプルデータとして、当該対象画像の基底を求める第２の基底算出手段130と、前記クエリ画像の基底と前記対象画像の基底を直接比較し、クエリ画像に対する対象画像の類似度を算出する類似度算出手段140と、前記類似度の高い順に前記データベース101中の画像を液晶ディスプレイ104に一乃至複数表示させる類似画像表示制御手段150と、をそれぞれ備えている。ここで利用できる基底は独立成分分析基底（ＩＣＡ基底）である。また、本実施形態においては、静止画像がもっとも適切な対象となるが、静止画像を連続化した動画像であっても構わない。さらに、クエリ画像はデータベース101内に保存される画像以外のものを利用してよい。第１の基底算出手段120と第２の基底算出手段130は図２において説明した基底算出手段14と同様に算出する。
【００８３】
図１０は、上記構成に基づく類似画像の検索方法の処理手順を示したものである。同図において、121は入力手段105により特定され、クエリ画像取込み手段110に取込まれたクエリ画像で、このクエリ画像121は二次元状に配列された画素（ピクセル）の集合により構成される。第１の基底手段120はステップＳ５１において、クエリ画像121を適宜分割して得た小区画122をサンプルデータとして、１枚のクエリ画像121からＩＣＡの基底を算出する。一方、131はデータベース101に蓄積された検索対象となる画像（対比する画像）で、これも二次元状に配列された画素の集合により構成される。第２の基底手段13はステップＳ５２において、対比画像131を適宜分割して得た小区画132をサンプルデータとして、１枚の対比画像131からＩＣＡの基底を算出する。こうして、クエリ画像121と対比画像131の各基底が算出されると、類似度算出手段140は次のステップＳ５３にて、双方の基底どうしを比較し、類似している画像であるほど、クエリ画像121と対比画像131における各基底ベクトルの方向が似ていることに基づき、続くステップＳ５４で類似度を算出する。類似画像検索アプリケーション103は、データベース101内の複数の対比画像131について、ステップＳ５２〜ステップＳ５４の各手順を同様に行ない、類似画像表示制御手段150により類似度の高い対象画像131を液晶ディスプレイ104に表示させる。
【００８４】
ここで注目すべきは、本実施形態では各画像をフィルタリングして得られた基底の応答を特徴量とするのではなく、クエリ画像21や対比画像31から得られた基底そのものを特徴量として、類似度の判断を行なっていることである。すなわち、本実施形態ではクエリ画像121に対する対比画像131の類似度算出に際して、ＩＣＡの基底を用いている。
【００８５】
本実施形態では、上記方法を採用するに当たり、tightフィッティングの概念を導入している。tightフィッティングとは、敢えてある１つのクラスのみを学習することにより、学習モデルをそのクラスに特化させることである。こうすることにより、そのクラスの特徴をよく反映したモデルが得られ、こうして得られたモデルパラメータを比較することで、クラスの識別を行なうことができる。すなわちtightフィッティングでは、ただ１つのクラスを学習するだけでよいため、必要なサンプルの数が少なく済み、独立スペクトル表現法のような過学習や過汎化の問題を回避できる。これは、ＩＣＡ基底の場合には、１枚の画像に対して１つの基底集合を学習させることに相当する。さらにモデルパラメータの比較は、得られた基底集合を比較することに相当する。こうして、本実施形態で採用する類似画像の検索方法や検索装置は、クエリ画像121と対比画像131との基底情報を比較することで、過学習や過汎化の問題を解決して、画像のもつ固有の情報を少ない冗長度で正確に表現することが可能になる。
【００８６】
図１１は、第１の基底算出手段120や第２の基底算出手段130が基底を算出するまでの処理手順を模式的に示したものである。同図において、41は前述のクエリ画像121や対比画像131に相当する１枚の画像で、ここではステップＳ１のように、画像41を64に等分割した縦横８ピクセルの小区画42が、画像41のサンプルデータとして用いられる。次に基底算出手段120，130は、小区画42の各ピクセルを構成する８×８＝64次元のデータベクトル（各要素は、ｘ1，ｘ2，ｘ3，…ｘ64からなる）を、縦に並べた列ベクトルとして各々行列ｘ（ｘは太字）のなかに組み入れる。基底算出手段120，130は、64本の基底ベクトルからなる行列Ｗ-1（Ｗは太字）と、同じく64本の重み付け係数（各要素は、ｙ1，ｙ2，ｙ3，…ｙ64からなる）からなる行列との積が、前記データベクトルの行列ｘ（Ｗは太字）に等しい（Ｗ-1ｙ＝ｘ：すなわちｙ＝Ｗｘで、Ｗは分離フィルタとなる）ことから、１枚の画像41から各基底ベクトルの集合を算出する。
【００８７】
図１２と図１３はそれぞれRapid ICA及びFast ICAによって３００回目の繰り返しで得られた基底の集合を示している。これらは行列の列ベクトルをラスタースキャンで視覚化したものである。
【００８８】
【数５６】
2012022588.tif 000061
【００８９】
ここで、Ｖ*（Ｖは太字であり、＊はＶの右上につく） はムーア・ペンローズ型(Moor-Penrose) 一般逆行列である。Ａ＾（Ａは太字）（＾はＡの上に付く）は未知の混合行列Ａ（Ａは太字）の推定行列である。
【００９０】
図８のlog coshコントラスト関数は３つの全てのICAが収束するが(この図からはみ出た所にある300回の繰り返し回数の所)、Fast ICAとRapid ICAの基底の集合が互いに近くなっているかどうかを確認する必要がある。図１２と図１３を注意深く見ると入れ替わっている部分が見つかる（例えば図中の45と46）。したがって、ここでは次の２つの式に示す各集合を図１４の手順で計算して比較する。
【００９１】
【数５７】
2012022588.tif 000062
【数５８】
2012022588.tif 000063
【００９２】
ここで、S≧0.8であれば、似ている役割を示す２つの基底系を見ることができる。図１２と図１３の基底系を図１４のように計算することによって、S=0.95を発見できる。したがって、図１２の基底系(Rapid ICA) 及び図１３の基底系(Fast ICA)は同じ役割を果たすことが不可欠である。言い換えると、Rapid ICAとFast ICAは非常に近似した局所最適に収束する。
【００９３】
７．高速化が実現できた理由
(A)更新図
本発明のRapid ICAは過去値を効果的に使用している。図１５はどのように過去の情報を利用しているかを示している。繰り返し指標をtとして、Ｗ(t)（Wは太字）が与えられると、独立成分ｙ(t)（ｙは太字）の推定が計算される。これは、計算上、最も重いステップである。このｙ(t)（ｙは太字）は ΔＷ1(t)（Ｗは太字）を計算するのに用いられる。正規直交化によって、Ｗ(t)（Wは太字）はＷ(t+1)（Wは太字）に進む。そして、このＷ(t+1)（Wは太字）はＷ(t)（Wは太字）と共にΔＷ2(t)（Wは太字）の計算に用いられる。最後に、Ｗ(t+2)（Wは太字）がＷ(t+1)（Wは太字）, ΔＷ1(t+1)（Wは太字）, 及びΔＷold（Wは太字）として保存されたΔＷ1(t-1) Ｗ(t+2)（Wは太字）が計算される。このように本発明のRapid ICA は直前の３ステップ（ｔ−１からｔ＋１）までの情報更新の経過を利用している。方法２の一定の慣性係数にしたRapid ICAではΔＷ1(t-1) （Wは太字）からＷ(t+2)（Wは太字）へ向かう矢印が欠けている。したがって、方法３のRapid ICAは直前の３ステップまでの過去情報を利用するようにしている。
【００９４】
(B)momentum（慣性）の解釈
図１５から、動的システムのmomentum変数を学習システムに使用することを直ぐに想起させるかもしれない。momentum項の使用は多様な繰り返し方法において現れる。Fast ICAは自然勾配型ICAの加速方法が尤度比の代理の最適化の考えに基づいてすでに述べられているので例外ではない。
【００９５】
８．現実への応用
ここでは、ICA基底を画像から画像を検索するためのテクスチャとして使用する。また、画像から画像を検索する、あるいは類似画像を検索するものについて述べる。そして、最後にCODEC及びPCA/ICAを含む画像から画像を検索するステップについて述べる。
【００９６】
(A)画像から画像の検索
ICAは現実データにおける情報処理に効果的に適用できる。縮約と感情的な情報検索を結び付けた応用が本発明のICAの高速化の主なきっかけであった。ICAの現実への適用の課題は以下の通りである。
【００９７】
[画像から画像の検索]
クエリ画像とサブクエリ画像が与えられると、クエリ画像と類似している画像が大きなデータベースまたはネットワーク環境から取り出される。これは画像から画像を検索する問題であり、I2I検索と略される。
この問題では、ICAによって得られた基底はデータ縮約と全体の類似度の算出の両方で使用される。 そのとき、ICA基底はテクスチャ情報を保持するために考慮される。
【００９８】
(B)画像パッチと平均ベクトル
I2I検索において、サイズの異なる画像は類似度に応じて比較される。したがって、各画像は仮想グリッドを用いてサイズm×mのパッチの集合に分割される。m の大きさはJPEGに適応したブロックサイズであるために通常８である。
そして、各パッチは列ベクトルとみなされる。３つの成分[c1, c2, c3]が色画像に必要であるため、ベクトルの次元は3m2である。
【００９９】
【数５９】
2012022588.tif 000064
【０１００】
本例では、RGBの色空間が主に用いられることとなる。 源ベクトルの集合から次式の平均ベクトルが計算される。
【０１０１】
【数６０】
2012022588.tif 000065
【０１０２】
それから、源ベクトルは次式のように正規化される。
【数６１】
2012022588.tif 000066
【０１０３】
（C）共分散行列とPCA縮約及びICA基底
数６１によって調整された平均値の後に共分散行列C（Cは太字）が計算される。
【０１０４】
【数６２】
2012022588.tif 000067
【０１０５】
それから、C（Cは太字）の固有値は特徴抽出とデータ縮約のために計算される。
【数６３】
2012022588.tif 000068
【０１０６】
を第一の固有値n<3m2によって対角行列とする。E（Eは太字）を列がC（Cは太字）の固有ベクトルに対応する行列とする。そして、データ縮約行列は以下の通りである。
【０１０７】
【数６４】
2012022588.tif 000069
【０１０８】
ローパスフィルタリングされたデータは次式によって計算される。
【数６５】
2012022588.tif 000070
【０１０９】
ここでのV（Vは太字）はn×3m2 の矩形行列であるので、復元データは一般逆行列を用いて計算される。
【数６６】
2012022588.tif 000071
【０１１０】
復元ベクトルｘ'（ｘ'は太字） はx（ｘは太字）によって再表示されることになる。UPCA（Uは太字）の列ベクトルはPCA基底である。
【０１１１】
事前の白色化としてのPCA計算の後にICA基底が計算される。
【数６７】
2012022588.tif 000072
【０１１２】
ここで、siとsjはi≠jであり、互いに独立した未知の係数である。この公式化のため、分離行列Ｗ（Ｗは太字）がRapid ICAアルゴリズムによって推定される。推定された分離行列Ｗ（Ｗは太字）を用いることによって復元画像が次式から得られる。
【数６８】
2012022588.tif 000073
【０１１３】
UICA（Uは太字）の列ベクトルは画像検索に使用されるICA基底であり次のセクションで説明する。
【０１１４】
(D)画像縮約と基底を用いた復元
本例の画像縮約とPCA/ICAを用いた復元の全体システムは、図１６に示される。この図において、縮約と復元は画像で始まり画像で終わる。画像は検索画像において現れるホワイトタイガーの兄弟を示している。そして、縮約から復元までの手順は以下の通りである。
画像縮約：画像縮約はパッチのサンプリングから始まり、エントロピーコーディングで終わる。
ステップ１(サンプリング): サイズ８×８の画像のパッチ[I(x,y)]（I,ｘ,ｙは太字）が集められる。ここで、サイズの異なる画像を比較できるようにするために仮想グリッドが使用されることは重要である。それから、各パッチはx（ｘは太字）のベクトルとして表される。
ステップ２(平均値の分離):  平均値μ（μは太字）を計算し、ｘ（ｘは太字）から引く。
ステップ３ (平均値の量子化): 色成分の平均値μci （μは太字）を次式のように量子化する。
【数６９】
2012022588.tif 000074
ここで、ceil は天井関数であり、qavgは次式であらわされる。
【数７０】
2012022588.tif 000075
qcff は基底係数の量子化ステップサイズである。
ステップ４(平均値の無損失コーディング): 拡散性フレームが計算される。
【数７１】
2012022588.tif 000076
そして、ランレングス・ハフマン・コーディング（the run-length Huffman coding）が適用される。実行長より効率的なエントロピーコーディング方法があることが重要であるが、我々はJPEGと比較し、単純にしてコーディング時間を短くするためにランレングス・ハフマン・コーディング(the run-length Huffman coding)を選択した。
ステップ５(PCA基底の算出): PCA基底は擬似的なＶ（Ｖは太字）の逆行列によって計算される。
ステップ６(ICA基底の算出): ICA基底は(ＷＶ) -1（Ｗ,Ｖは太字）によって計算される。
ステップ７ (基底のエンコーディング):Ａ（Ａは太字）を各列が基底でありICA混合行列とする。基底||ai||（aは太字）の正規化は単一に正規化される。量子化ステップは次式によって計算される。
【数７２】
2012022588.tif 000077
ここで、amax(i) （aは太字）はai の成分の最大値である。数bprec=6は量子化の精度を特定する数値である。そして、i番目の基底は、次式のように量子化される。
【数７３】
2012022588.tif 000078
それから、ランレングス・ハフマン・コーディング（the run-length Huffman coding）が量子化された基底の差に適用される。
ステップ８ (係数コーディング): 量子化された基底を用いて、重ね合わせ係数がｓ←Ａ-1ｘ(ｓ,Ａ,ｘは太字)によって計算される。 そして、i番目の成分は次式のように量子化される。
【数７４】
2012022588.tif 000079
ここで、qcff は設計パラメータである。最後に、ランレングス・ハフマン・コーディングが適用される。
【０１１５】
画像の復元：デコーディング手順は以下のステップで行われる。
ステップ１（平均値のデコーディング）：平均ベクトルμ'ci（μは太字）をci=R,G,Bでデコードする。
ステップ２ (平均値の逆量子化): μ'ci×qavg（μは太字） によって、逆量子化がci=R, G, Bで行われる。
ステップ３ (係数デコーディング):ランレングス・ハフマンデコーディング （the run-length Huffman decoding）がｓ' (i) （ｓは太字）を得るために実行される。
ステップ４(係数の逆量子化): 係数ｓ'(i) はs'(i)qcff によって復元される。
ステップ５(基底行列による逆変換): 基底行列の復元によって、ゼロ行列ベクトルｘ'←Ａｓ'（ｘ,Ａ,ｓは太字） が計算される。
ステップ６(平均ベクトル調整):各平均ベクトル成分が一つのパッチを復元するためにx'（ｘは太字）に加えられる。
ステップ７(イメージの復元): パッチは再生画像を生成するために間隔なしで並列される。
【０１１６】
RIM (検索認識イメージフォーマット) と呼ばれる上記の縮約/復元はJPEGよりも良い縮約性能を示している。
【０１１７】
(E)基底を用いた類似度計算
２つの画像は。もし[color, edge, texture]の集合が互いに近いのであれば類似するものとみなされる。したがって、我々は類似度として以下の量を使用する。
【数７５】
2012022588.tif 000080
【０１１８】
ここで、Scolorは色構造記述子（CSD）であり、SedgeはMPEG-7のエッジ・ヒストグラム記述子(EHD)である。Stextureは、２つの基底PCA/ICAの集合の類似度である。その計算は、２つの基底の一番合致したペアから始まる図１４の計算を反映している。
【０１１９】
図１７は数７４の類似度を用いたI2Iを示している。この図において、上側半分はメインクエリ画像61とサブクエリ画像62を備えている。このように、２つのクエリ画像が我々の新しいシステムで可能となる。スライドバーは数７４の係数aと係数bを特定する。初心者のために、デフォルト値を初めから設定しておく。この図において、メインクエリはホワイトタイガー兄弟の写真である。サブクエリはホワイトタイガーのプラスチックのおもちゃである。このクエリのセットを「タイガー」というキーワードでインターネットから検索してきた画像に適用する。その結果、103個の画像が収集されるが、インターネットにおけるフリー画像には注釈が付されているため 牛、犬、サメ等の画像が収集された。
【０１２０】
ここでは、上記クエリ画像を収集された画像に適用し、間違った画像がランク下位になるようにした。図１７の下側半分にある画像63がその検索結果である。そして、検索結果では上位１２個の画像のうち７個の画像がホワイトタイガーを含んでいる。  以上のように本発明では、順序構造のある連続値データを時系列に格納する記憶手段（レジスタ１）と、前記連続値データから前記連続値データをベクトルの集合として表現する行列を未知パラメータとして生成する初期設定手段22と、前記行列が収束するまで更新と直交化を繰り返し計算して独立成分分析基底（ICA基底）を算出する演算手段26と、収束を判定する判定手段28とを備えた独立成分分析の分析装置において、前記行列の第一の更新幅を計算して前記行列を更新し、更新後が収束しているかを判定し、計算が収束していなければ直前の行列と現在の行列との差分を第二の更新幅として計算して前記行列を更新する更新設定手段24と、前記行列が収束していれば前記繰り返しが終了して前記行列を出力する判定手段28とを備えて構成される。
【０１２１】
このようにすれば、Fast ICAより優れた非常に高速なICAアルゴリズムが提供される。Rapid ICAと呼んでいる本発明では計算の増加が非常に小さいので、繰り返し回数の減少は直接CPUの高速化の実現につながる。
【０１２２】
もし、混合入力が分離した異なる入力を含んでおり、しかもそのコントラスト関数が適切ならば高速化は飛躍的なものとなる。通常は複雑な現実データにICAを適用した時、画像データがそのような性質を有するのでRapid ICAは非常に効果的である。したがって、Rapid ICAをインデックスが付されていないデータベースの画像から画像を検索するモチベーションを満足できた。また、Rapid ICAと呼んでいる本発明のICAはインデックスなしで画像から画像を検索するのに使用される。類似していると判断された画像はユーザーの意見を十分に反映したものとなる。
【産業上の利用可能性】
【０１２３】
本発明で適用する独立成分分析アルゴリズムは、画像処理，音声処理および生命情報処理などの非常に広範な応用性を有している。具体的には、コンピュータに取り込まれたクエリ画像と類似している画像をデータベースやコンピュータに格納されているインデックスが付されていない画像群の中から検索したり、混合音声・混合音楽を入力して、その音声・音楽を分離して出力したり、ＤＮＡ情報を入力し、ＤＮＡの頻度などを解析することなどが可能である。
【符号の説明】
【０１２４】
１  レジスタ（記憶手段）
10  分析装置
14  基底算出手段
22  初期設定手段
24  更新設定手段
26  演算手段
28  判定手段
【図１】
2012022588.tif 000084
【図２】
2012022588.tif 000085
【図３】
2012022588.tif 000086
【図４】
2012022588.tif 000087
【図５】
2012022588.tif 000088
【図６】
2012022588.tif 000089
【図７】
2012022588.tif 000090
【図８】
2012022588.tif 000091
【図９】
2012022588.tif 000092
【図１０】
2012022588.tif 000093
【図１１】
2012022588.tif 000094
【図１４】
2012022588.tif 000095
【図１５】
2012022588.tif 000096
【図１２】
2012022588.tif 000097
【図１３】
2012022588.tif 000098
【図１６】
2012022588.tif 000099
【図１７】
2012022588.tif 000100
【図１８】
2012022588.tif 000101