説明

独立成分分析の分析装置,分析方法および分析プログラム

【課題】独立成分分析アルゴリズムを高速化する。
【解決手段】順序構造のある連続値データを時系列に格納する記憶手段と、前記連続値データから前記連続値データをベクトルの集合として表現する行列を未知パラメータとして生成する初期設定手段22と、前記行列が収束するまで更新と直交化を繰り返し計算して独立成分分析基底(ICA基底)を算出する基底算出手段14とを備えた独立成分分析の分析装置10において、順序構造のある連続値データを時系列に格納する記憶手段(レジスタ1)と、前記行列の第一の更新幅を計算して、更新後の前記行列が収束していなければ直前の行列と現在の行列との差分を第二の更新幅として計算する演算手段26と、前記行列を更新する更新設定手段24と、更新後の前記行列が収束しているかを判定し、前記行列が収束していれば前記繰り返しが終了して前記行列を出力する判定手段28と、を備えたことを特徴とする独立成分分析の分析装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、与えられたデータを独立した成分に分解するための基本アルゴリズムであって、画像処理,音声処理,生命情報処理など,広範な応用分野を有する高速な独立成分分析(ICA)アルゴリズムとそのソフトウェアおよび装置に関する。
【背景技術】
【0002】
独立成分分析(ICA)は与えられた情報源を未知の成分の合成として表す情報源分解法であり、その過程で得られる基底とそれらを重ね合わせる係数を得ることが主目的となる。例えば、図18は画像の一部分(画像パッチ)をn個の成分(基底)に分解した様子を示している。独立成分分析は,混成音源の分解(俗称,聖徳太子コンピュータ)や生命情報配列(DNA配列やアミノ酸配列)の分解に使うこともでき、広範な応用力を有している。また、従来型のICAアルゴリズムは、特徴パターン認識システム(特許文献1を参照)や類似画像検束(特許文献2を参照)において使用されている。
【0003】
独立成分分析のアルゴリズムにおいては、Fast ICAという不動点法が、その簡便さと高速性のため、デファクトスタンダードとなっていた(非特許文献1を参照)。この方法は既存の不動点型の方法による過去の情報のマルチステップを利用しており、過去の情報の利用は、代理の最適化の考えから来ている。また、速度とソフトウェアの実行性能は擬似的に読み込まれたデータと現実データの両方で確認されている。
【0004】
従来技術の不動点型Fast ICAは保存されている古い値が固定されており、それを繰り返し用いて生成された行列が収束するまで計算しているものであった。これに対し、不動点型Fast ICAと等価な概念で考案された自然勾配型Fast ICAは、生成された行列を一定量の更新幅だけずらして該行列を更新し、該行列が収束するまで計算を繰り返すものであった。その後、この自然勾配型の高速化を追求してFast ICAに打ち勝つ努力がなされていたが、いずれも失敗に終わっていた。これは、Fast ICAの速度が高速な3次収束であることに起因していた。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第3976331号公報
【特許文献2】特開2006−285570号公報
【非特許文献】
【0006】
【非特許文献1】エイ. ヒバリネン(A Hyvarinen),高速でロバストな不動点型ICAアルゴリズム (Fast and robust fixed-point algorithms for independent component analysis),IEEE会報 ニューラルネットワーク(IEEE Trans. NN),1999年,第10巻,pp. 626-639
【発明の概要】
【発明が解決しようとする課題】
【0007】
情報量の最適化は多種の情報処理を行う高品質な学習アルゴリズムにつながる。学習段階は通常非線形で反復的であるが、これは効果的なものの低速な性質をもたらす。したがって、現実問題への適用を容易にするためには学習アルゴリズムの速度が重要であり、独立成分分析(ICA)はその典型例である。多様なICA方法のうち、不動点型のFast ICAは通常、自然勾配型の最高速よりも高速であるので最もポピュラーである。しかし、さらに高速なICAが必要とされており、画像処理への適用はその一例として望まれていた。
【課題を解決するための手段】
【0008】
本発明では、まず、この不動点型FastICAの考え方を変え、生成された行列の更新幅(現在と直前の行列の差分)を少しずつずらしていくという自然勾配型FastICAのフローチャートを考え、慣性項と慣性係数を使用した処理を行列の更新設定処理に追加している。ここで慣性項というのは現在と過去(直前)の行列Wの差分をとったものである。したがって、本発明のICAは現在デファクトスタンダードとなっているFastICAを特例として含み、それに代わりうるものである。
【0009】
本発明は、順序構造のある連続値データを時系列に格納する記憶手段と、前記連続値データから前記連続値データをベクトルの集合として表現する行列を未知パラメータとして生成し、前記行列が収束するまで更新と直交化を繰り返し計算して独立成分分析基底(ICA基底)を算出する基底算出手段を備えた独立成分分析の分析装置において、前記行列の第一の更新幅を計算して、更新後の前記行列が収束していなければ直前の行列と現在の行列との差分を第二の更新幅として計算する演算手段と、前記行列を更新する更新設定手段と、更新後の前記行列が収束しているかを判定し、前記行列が収束していれば前記繰り返しが終了して前記行列を出力する判定手段と、を備えて構成される。
【0010】
さらに、前記第二の更新幅の計算で用いる差分を直前の前記差分と比較し、前記差分と直前の前記差分の変化に応じて前記第二の更新幅の大きさを変化させる慣性係数を用いて構成される。
【0011】
さらに、前記慣性係数を慣性係数ηiとして、任意定数βと、前記差分Δwi(wは太字)と、直前の前記差分Δwi,old(wは太字)と、任意定数γとによって定義される次式で計算する構成とする。
【数1】

【0012】
本発明は、記憶手段に順序構造のある連続値データを時系列に格納し、
前記連続値データから前記連続値データをベクトルの集合として表現する行列を未知パラメータとして生成し、前記行列が収束するまで更新と直交化を繰り返し計算することによって独立成分分析基底(ICA基底)を算出する独立成分分析の分析方法において、前記行列の第一の更新幅を計算する第一の演算ステップと、前記第一の更新幅を用いて前記行列を更新する第一の更新設定ステップと、更新後の前記行列が収束していなければ直前の行列と現在の行列との差分を第二の更新幅として計算する第二の演算ステップと、前記第二の更新幅を用いて前記行列を更新する第二の更新設定ステップと、更新後の前記行列が収束しているかを判定し、前記行列が収束していれば前記繰り返しが終了して前記行列を出力する判定ステップと、により行なわれる。
【0013】
この場合の第二の演算ステップは前記第二の更新幅の計算で用いる差分を直前の前記差分と比較し、前記差分と直前の前記差分の変化に応じて前記第二の更新幅の大きさを変化させる慣性係数を用いたことにより行なわれる。
【0014】
さらに、前記慣性係数を慣性係数ηiとして、任意定数βと、前記差分Δwi(wは太字)と、直前の前記差分Δwi,oldと、任意定数γとによって定義される次式で計算する。
【数2】

【0015】
本発明は、記憶手段に時系列に格納された順序構造のある連続値データから前記連続値データをベクトルの集合として表現する行列を未知パラメータとして生成し、前記行列が収束するまで更新と直交化を繰り返し計算することによって独立成分分析基底(ICA基底)を算出することで独立成分を分析する分析手段として、コンピュータを機能させる独立成分の分析プログラムにおいて、
前記分析手段を、前記行列の第一の更新幅を計算して、更新後の前記行列が収束していなければ直前の行列と現在の行列との差分を第二の更新幅として計算する演算手段と、前記行列を更新する更新設定手段と、更新後の前記行列が収束しているかを判定し、前記行列が収束していれば前記繰り返しが終了して前記行列を出力する判定手段と、して機能させている。
【0016】
この場合、前記第二の更新幅の計算で用いる差分を直前の前記差分と比較し、前記差分と直前の前記差分の変化に応じて前記第二の更新幅の大きさを変化させる慣性係数を用いて演算を行う。
【0017】
さらに、前記慣性係数を慣性係数ηiとして、任意定数βと、前記差分Δwi(wは太字)と、直前の前記差分Δwi,old(wは太字)と、任意定数γとによって定義される次式で計算する。
【数3】

【発明の効果】
【0018】
請求項1、4、7の発明によれば、直前の行列と現在の行列との差分を第二の更新幅として計算して行列を更新することを繰り返すことにより、少ない繰り返し回数で行列を収束させることができる。また、それに伴い、独立成分分析の処理を高速化することができる。
【0019】
請求項2、5、8の発明によれば、第二の更新幅の大きさを前記差分と直前の差分の変化に応じて変化させる事により、さらに少ない繰り返し回数で行列を収束させることができる。また、それに伴い、独立成分分析の処理をさらに高速化することができる。
【0020】
請求項3、6、9の発明によれば、慣性係数ηiによって第二の更新幅のスカラー量と角度量の2つを調整することにより繰り返し計算が効率的になり、少ない繰り返し回数で行列を収束させることができる。また、また、それに伴い、独立成分分析の処理をさらに高速化することができる。
【図面の簡単な説明】
【0021】
【図1】本発明の分析装置の処理手順のフローチャートを示す図である。
【図2】同上、分析装置の構成を示すブロック図である。
【図3】本発明の第一実施例のシミュレーション用のsuper-Gaussian信号を示す図である。
【図4】同上、誤差測定による収束速度の確認試験結果を示す図である。
【図5】同上、コントラスト関数を用いた収束速度の確認試験結果を示す図である。
【図6】同上、収束の経過における慣性係数ηの平均値η-(-はηの上に付く)のトレンドを示す図である。
【図7】本発明の第二実施例の収束判定基準による収束確認試験結果を示す図である。
【図8】同上、log coshコントラスト関数による収束確認試験結果を示す図である。
【図9】同上、本発明の分析装置を類似画像検索に適用した場合の構成を示すブロック図である。
【図10】同上、画像から基底を取りだす概念図である。
【図11】同上、画像と画像を比較して類似度の判断する概念図である。
【図12】同上、本発明の独立成分分析装置によるICA基底を示す図である。
【図13】同上、従来のFast ICAによるICA基底を示す図である。
【図14】同上、基底の類似度を計算する手順を示す図である。
【図15】同上、更新の流れの図である。
【図16】同上、コーディングとデコーディングの全体のシステム図である。
【図17】同上、アプリケーションのイメージ図である。
【図18】画像を例にとった場合に独立成分分析を示す図である。
【発明を実施するための形態】
【0022】
まず、本発明の理解に必要なICAの基本的な原理について説明する。
【0023】
1.ICAの公式化
まず、ICAの導入に必要な基本を以下に提示する。次式に示す観測された観測乱数ベクトルx(xは太字)が与えられると、その重ね合わせの関係からICAの問題が開始する。
【数1】

【0024】
ここで、x(xは太字)は平均値がゼロである。A(Aは太字)はn×nの未知の行列である。次式のベクトルもまた未知である。
【数2】

【0025】
これら成分は互いに独立して推定されるものであり、一つの成分を除き、非ガウス性である。ICAの問題である上記数1と数2のデータ生成メカニズムの認識は, x(xは太字)からA(Aは太字)とs(sは太字)の両方を推定することである。 しかしながら、これは不確実さが残る準パラメータ問題である。したがって、以下のy(yは太字)とW(Wは太字)をうまく得ることができれば満足したものとする。
【数3】

ここで、乱数ベクトルy(yは太字)は推定された独立成分の集合である。y(yは太字)の成分の順序はs(sは太字)の成分の順序から変えられることは重要である。
【0026】
2.Rapid ICAの原点である不動点型ICAの原理
本発明の目的は従来の不動点型ICAよりも高速で軽いロバスト性のアルゴリズムを提供することである。不動点型ICAは通常、自然勾配型その他よりも高速であり、その主要なステップは更新ステップと直交化ステップで構成される。なお、以下に示す矢印は矢印方向に置き換えるという意味である。
【0027】
更新ステップ:W(Wは太字)は以下の計算によって更新される。
【数4】

あるいは、
【数5】

直交化ステップ: W(Wは太字) は固有値分解を用いて直交化される。
【数6】

【0028】
ここで、∂G と ∂2G は、それぞれ収縮関数Gの1次導関数と2次導関数である。G(y)には例えばy4、log cosh y、exp(-y2/2)等が入る。ベクトルz(zは太字)は次式となるようなx(xは太字)を白色化したものである。
【数7】

【数8】

【0029】
ここで、D(Dは太字)は共分散行列E[xxT](Eとxは太字)の最大の固有値m による対角行列であり、ej(eは太字)は固有ベクトルに相当する。
【0030】
3.Rapid ICA
本発明のアルゴリズム(Rapid ICAと呼ぶ。)の考え方について説明する。
【0031】
(A)ICAの追加的な更新の変形
RapidICAの考え方は 繰り返しとなる直前のおよび/または現在の情報を利用するα-ICAやf-ICAによって動機付けられる。これらのアルゴリズムは 追加の更新条件を使用するため、数5を以下のように書き直す。
【数9】

【0032】
そして、Fast ICA を以下のステップの繰り返しと考える。
【0033】
[基本的なFast ICA]
ステップ 1:
【数10】

ステップ 2:
【数11】

ステップ 3:
【数12】

【0034】
(B)高速バージョン I
Fast ICAではステップ3の無相関がしばしば低速な収束を生じさせる非ガウス分布の学習を妨げることが指摘されていた。したがって、出発点となるアルゴリズムを有する。
[方法1:単純バージョン(Naive Version)]
ステップ 1:
【数13】

ステップ 2:
【数14】

ステップ 3:
【数15】

ステップ 4:
【数16】

【0035】
出発点バージョンであるこの単純(Naive)な方法は考えとして単純すぎるものである。その収束は小さい数字になるものの、調整されないη>0のために頻繁に乱れる。したがって、ここでは無相関ステップの挿入によって流れを増加させた方法を使用する。
【0036】
[方法 1: 開始バージョン(Opening version)]
ステップ 1:
【数17】

ステップ 2:
【数18】

ステップ 3:
【数19】

ステップ 4:
【数20】

ステップ 5:
【数21】

ステップ 6:
【数22】

【0037】
このバージョンは同様な更新を2回単純に計算しているように見えるかもしれないが、以下の見解は更に高度なバージョンへの架け橋をもたらす。
a)ステップ2は他のステップよりも計算能力を必要とする。
b)ステップ4がないとηによる増加が発振を生じさせる。
【0038】
(C)高速バージョンII(一定の調整パラメータη)
積算方法Iと直前(過去)の情報の使用によって, 以下の方法が得られた。
[方法2:2次バージョン]
ステップ 1:
【数23】

ステップ 2:
【数24】

ステップ 3:
【数25】

ステップ 4:
【数26】

ステップ 5:
【数27】

ステップ 6:
【数28】

ステップ 7:
【数29】

【0039】
この方法のポイントは2種類の増分があることである。一つはステップ3にあり、もう一つはステップ6にある。これは、以下の性質を有する。
a)それぞれ増分は、異なる時間の情報を使用している。これは高次の戦略と同等である。
b)ステップ5の算出された増分ΔW(Wは太字)はゼロ行列0(0は太字)を得るものと予測される。したがって、このステップは方法1よりも安定したものになると予測される。
c)ステップ5の計算は、ステップ3の計算に対して微小である。したがって、繰り返し回数の減少は直接的に実行時間の高速化につながる。
【0040】
(D)高速バージョンIII(慣性係数ηi
高速バージョンIIでは、調整パラメータηの増分が η=0.1のようなスカラー量であった。次の考えはW(Wは太字)のインデックス列に応じて適切なηi の値を見つけることである。(ηiはi行目に対応する慣性係数)
[方法3: ステップサイズが可変なバージョン]
ステップ 1:
【数30】

ステップ 2:
【数31】

ステップ 3:
【数32】

ステップ 4:
【数33】

ステップ 5:
【数34】

ステップ 6:
【数35】

ステップ 7:
【数36】

【0041】
この方法において、主な問題は効果的な慣性係数ηiを見つける方法である。ここでは、我々は現在と直前の情報を併用する考え方を用いている。
【0042】
【数37】

上式は、<,>が行列同士の内積値を示しており、分母の||は絶対値を示しており、maxの中身は内積が0以下であれば、0を採用し、0以上であればその内積値を採用するという意味である。また、iというのはi行目の行ベクトルを示しており、oldという記号は直前(過去)の行列という意味を示している。この式はΔwi,old(wは太字)からΔwi (wは太字)への方向で大きな変化があれば内積値が小さくなり、慣性係数ηiの値が小さくなるという性質を持っている。これは中間にあるステップの間での発振を避けるのに有利な性質である。しかしながら、Δwi(wは太字)の大きさは考慮に入れられていない。また、収束が近づけば慣性係数ηiはゼロによる除算になり得るため数値が不安定になる。なお、ηiはi行目の成分に対する慣性係数であるので、この慣性係数ηiは各行において計算し、この慣性係数ηiを成分とするdiag(ηi)という対角行列の形で更新幅ΔW(Wは太字)に乗じる。
【0043】
(E) 可変なベクトルのステップ
数37の欠陥を考慮して我々は次の形態を提案する。
【数38】

【0044】
ここで、βは定数であるがβ=1等として省略することもできる。定数γはゼロによる除算を防止して数値を安定させるための定数である。この式は以下の性質を有している。
a)行列Wの現在と直前との差分Δwi(wは太字)とΔwiの直前の差分Δwi,old(wは太字)が互いに近づくと、その内積値が大きくなり慣性係数ηiの値は大きくなる。他方、Δwi(wは太字)とΔwi,old(wは太字)の方向が大きく異なれば(極端には、まったく平行していなければ)、慣性係数ηiの値は内積値が小さくなるためにゼロに近づく。
b)γがあるために小さなΔwi(wは太字)は小さな慣性係数ηiを生成する。
【0045】
上記a)とb)の性質は、計算上の複雑さが極めて微小な増加コストに止まる一方で、かなりの高速化が得られるであろうと予測される。
【0046】
この慣性係数ηiおよび現在と直前の行列との差分を第二の更新幅ΔW2として導入したことにより、ηiの分子がΔwi(wは太字)とΔwi,old(wは太字)とのなす角(内積値)に応じて変化し、同時にηiの分母がΔwi(wは太字)とΔwi,old(wは太字)の絶対値の大小によって変化するため、その慣性係数ηiを成分とするdiag(ηi)という対角行列は行列Wのスカラー量(行列の更新時のずれの大小)と角度量(行列の更新時のずれの角度)を調整しながら行列Wを更新することが可能となる。その結果。Wが収束するまでの繰り返しが減る。なお、ηiの役割は現在と直前の行列Wの差分の変化を観測し、その差分が大きければ、更新時のずれを小さくし、小さければ更新時のずれを大きくするようにこのηiで調整し、ずれを文字通り慣性状にするためのものである。
【0047】
すなわち本発明では、1)2つの過去値の差分を導入したことと、2)その更新時のずれを差分の大小に対応して慣性状にしたことにより、繰り返し処理が効率化することを特徴としている。
【0048】
(F)安定的な更新
すべてのICAアルゴリズムは収束しない可能性を持っていることが重要であり、Fast ICAも例外ではない。このような源データは多数ある。その場合、源データは混合非ガウス分布によって容易に生成できるが、ほとんどは2成分以上のガウス性データである。このような場合、少量の減速は大きな安定性につながる。
【0049】
【数39】

【0050】
ここで、α∈(0,1)は減速係数である。α=1の場合、同じデータに収束しない可能性のあるFast ICAとなる。予備実験において、α=0.95〜0.98ではそれほど減速せずに収束できるように作用する。
【0051】
4.Rapid ICAにおける全体のアルゴリズム
(A)全体のアルゴリズムの記載
ここでは、少量の減速で速度と安定性を向上させるステップについて提案した。すべてのステップを一体化したものは現行よりも高速なICAを実現することが期待される。以下は、Rapid ICAの概要である。
[Rapid ICA]
ステップ1:
【数40】

ステップ2:
【数41】

ステップ3:
【数42】

ステップ4:
【数43】

ステップ5:
【数44】

ステップ 6:
【数45】

ステップ 7:
【数46】

なお、ここでのηiは前記数37に示したものである。
ステップ 8:
【数47】

【0052】
ここで、計算が重い部分はステップ1とステップ3であることを強調するのが重要となる。nを独立成分の数として、Tをサンプル数とするならば、それらの計算上の次数はO(n2T)である。これに対し、diag(ηi)の計算はO(n2)だけである。ほとんどの場合はT >>nであるので、Rapid ICAを実現する計算上のオーバーヘッドは小さいままである。
【0053】
(B)収束の測定
公平な比較のために、同じ収束基準を使用する。wi(wは太字)と wi,old(wは太字)をそれぞれW(Wは太字)とWold(Wは太字)の列ベクトルとする。ここで、 W(Wは太字)は容易に対角化されるバージョンとする。そして、収束の評価基準は以下の通りである。
【0054】
【数48】

この評価基準を用いることによって、もし以下のようになったら繰り返しが終了する。
【数49】

ここで、εは通常10-5である。
【0055】
5.収束速度の比較
(A)誤差測定
次に、実施例1として擬似データを用いて、また実施例2として現実のデータを用いてRapid ICAの性能を評価する。入力はICAの設定において、未知として与えられた行列A(Aは太字)によって生成されるので擬似データの評価は重要である。第一の誤差測定ではW-1がAにどれだけ近づいているかをカウントする。しかし、不確実な置換があるので誤差測定は
【0056】
【数50】

【0057】
を用いて明確にする。ここで、V(Vは太字)は数7の変換行列である。そして誤差測定は以下のように定義される。
【0058】
【数51】

【0059】
ここで、pijは行列P(Pは太字)の成分である。もし、V=I(VとIは太字)であれば、すなわち入力信号が前処理されたものであれば、行列P(Pは太字)は置換行列となる。
【0060】
第二の誤差測定はG(y)を用いた独立性で評価する。
【数52】

【0061】
6.Rapid ICAアルゴリズム処理手順
次に、上述したRapid ICAアルゴリズムを実行可能にするプログラムの処理手順を、図1および図2に基づき説明する。
【0062】
本発明の分析装置10は、入力手段12(記憶手段1)またはデータベース2と、初期設定手段22と演算手段26と更新設定手段24と判定手段28を備えた基底算出手段14と、メモリ30と、操作手段32と、出力手段16で構成される。
【0063】
同図において、1は入力データを格納する記憶手段としてのレジスタで、入力データzは白色化されて読み出し可能に格納される。入力手段はその記憶手段としてのレジスタ1から入力データを読み出して基底算出手段14の初期設定手段22へ入力する。レジスタ1の代わりにデータベース2を使って構成しても良い。基底算出手段14は、レジスタ1(またはデータベース2)に記憶される一群のデータから初期設定手段22によって行列を未知パラメータとして生成し、その行列が収束するまで更新と直交化を繰り返す図1のステップS1〜ステップS11の各手順に従って収束した行列を算出し、ステップS12で出力するものである。
【0064】
ステップS1は、白色化された観測信号(入力データ)zを記憶手段(レジスタ)1に格納する部分であり、観測信号zは行列の形で生成される。ステップS2は復元行列(分離行列)Wを初期化する部分である。そして、それらのデータは入力手段12(またはレジスタ1、データベース2)から基底算出手段14の初期設定手段22へ入力される。ステップS3は分離信号yを演算手段26で計算し。その計算した分離信号yを直前の分離信号yに代えて分離信号yとして設定する。ステップS4は現在の復元行列WをWoldという一つ過去の復元行列として読み出し可能にメモリ30に保存する部分である。ステップS5は行列Wの第一の更新幅ΔW1を演算手段26で計算し、その計算した更新幅ΔW1を用いてW+ΔW1を新しくWと置き換えて更新設定手段24でする更新する部分である。ステップS6は行列Wの正規直交化を演算手段26で計算する部分である。ステップS7は行列Wが判定基準のCONVを満たして収束しているかどうかを判定手段28によって判定する部分である。ステップS8は判定手段28で行列Wが収束してないと判断された場合に現在の第二の更新幅である慣性項ΔW2をΔW2,oldという一つ過去の慣性項としてメモリ30に読み出し可能に保存する部分である。ステップS9は慣性項ΔW2を現在の行列Wと直前の行列Woldとの差分を演算手段26で計算し、更新設定手段24によって更新する部分である。ステップS10は慣性係数を演算手段26で計算し、その慣性係数を対角成分とする対角行列を慣性項ΔW2に乗じて行列Wに加える計算を演算手段26で行い、行列Wを更新設定手段24で更新する部分である。ステップS11は行列Wを正規直交化する計算を演算手段26で行う部分である。そして、その後S3に戻って再び演算・更新設定を行う。
【0065】
なお、ステップS7において、行列Wが判定基準を満たしている場合、判定手段28はステップS12でその収束した行列W(基底)を出力手段16に出力する。また、これら本発明の分析装置10の一連の動作は操作手段32への操作によって開始または停止させることが可能である。
【0066】
この図2において、従来技術の自然勾配型ICAの場合、図2の四角で囲まれたループの戻り部分が単純に直線的な戻りの矢印となっている。つまり、四角で囲まれた部分(自然勾配型にするとこの処理を追加できるという部分)の処理が本発明において重要となる。
【0067】
つぎに、実施例1および実施例2について説明する。ここでの実施例では、従来技術のFast ICAを用いた場合と本発明のRapid ICA(const)およびRapid ICAについて比較して説明する。
【実施例1】
【0068】
・生成データによるシミュレーション
以下のように、まず尖ったガウス分布(super-Gaussian)の入力をガウス分布の乱数から生成する。
【0069】
ステップ 1: 混合行列A(Aは太字)を選択する。
ステップ 2: ガウス分布の擬似乱数N(0, 1)を描く。
ステップ 3: 各乱数rに対して出力(r,4) を適用する。
ステップ 4: 計2000の上記s(sは太字)を生成する。
ステップ 5: このs(sは太字)の時系列を、再び平均値0で分散1となるように正規化する。
ステップ6:上記の尖ったガウス分布(super-Gaussian)について、計n=20の入力を生成する。
ステップ 7: 混合信号x(xは太字)を数1によって生成する。
【0070】
図3は、上記の方法で生成された尖ったガウス分布(super-Gaussian)の成分を示している。縦軸は時系列のsuper-Gaussian信号s(k)の値であり、横軸はその信号s(k)の時間に相当するインデックスkを示している。なお、実際のs(k)は20次元×2000個の系列であり、この図では、そのうち1次元×200個を表示している。この種のサブ入力(sub-sources)のために、当該シミュレーションでは以下のコントラスト関数を用いて達成する。
【0071】
【数53】

【数54】

【0072】
図4はFast ICAと、一定のdiag(ηi)を使用したRapid ICA(図中、Rapid ICA(Const)と表示)と、数38のdiag(ηi)を使用した(単純にRapid ICAと呼んでいる)Rapid ICAとの比較を示している。横軸は対数表示した繰り返し回数である。縦軸は数51の対数表示した誤差を示している。この図からわかるようにRapid ICAの性能はFast ICAより少ない繰り返し回数で誤差が減少するため優れている。また、数38の慣性係数ηiを対角成分とした対角行列diag(ηi)を用いたRapid ICAは慣性係数ηiが一定のRapid ICAよりも性能が優れている。
【0073】
図5は繰り返し回数を横軸として、数51のlog cosh評価のトレンドを縦軸として示している。これは 収束結果が十分に独立しているかを見る確認経過である。このトレンドは図4の収束速度の確認試験結果の傾向と似ており、Rapid ICAはFast ICAより性能が優れている。また、数38の慣性係数ηiを対角成分とした対角行列diag(ηi)を用いたRapid ICAは慣性係数ηiが一定のRapid ICAよりも性能が優れている。
【0074】
これは 行列diag(ηi)が適切にその要素を変化させていることを示している。 n=20の要素(η1〜η20)があるので、ここでは一般的なトレンドをわかりやすく知るためにそれらの平均値η-(-はηの上に付く)を計算した。図6は平均値の経過を示している。
【0075】
【数55】

【0076】
図6から以下の性質がわかった。
a)最初の2回の繰り返しの間において、慣性係数ηiは過去情報が無いためにゼロに設定される。
b)慣性係数ηiによる調整が一度始まると、繰り返し回数はこの情報をステップサイズとΔW2(Wは太字)の方向の調整に使用する。
c)繰り返しが進むと、η-(-はηの上に付く)はゼロに近づく。図6では、この現象は17回目の繰り返しの後に観測できる。これは、図4と図5の収束と一致する。17回目の繰り返しの時でも、Fast ICAと慣性係数ηiが一定のRapid ICAは学習更新段階のままである。
【実施例2】
【0077】
・現実データ(画像)を用いた場合のICA
次に、画像の基底を得るためにICAを用いた実験例を提示する。この場合、本当のA(Aは太字)はわからない。
ステップ1:x(xは太字)の画像パッチを直接RGB源画像から収集する。まず、8x8サイズのパッチの集合を取り出す。その合計は15000個である。
ステップ2:x(xは太字)のパッチをそれぞれ192次元(192=8x8x3)のベクトルとみなす。
ステップ3:数7の白色化によって、次元を64まで縮約する。
【0078】
この実験では、数52と数53の同じコントラスト関数を使用した。図7はFast ICAと、一定の慣性係数ηiを用いたRapid ICAと、慣性係数ηiの調整を入れたRapid ICAの3つのICA方法による収束の比較である。横軸はCPU時間であり、縦軸は対数表示した数47の収束基準(CONV)である。
【0079】
Rapid ICAの収束速度は、明らかにFast ICAよりも高速である。さらにRapid ICAは、Fast ICAでは得ることができない優れた収束分布(縦軸)を成し遂げている。この性質はconv=1.0E-05のラインを引けばよくわかる。図7のグラフを見て到達時間を比較すれば、従来のFast ICAによるCPU時間はおよそ57秒、差分のみを導入したRapid ICAによるCPU時間はおよそ48秒、慣性係数ηiと差分の両方を導入Rapid ICAによるCPU時間はおよそ33秒となり、本発明の方法であれば処理が高速であることがわかる。
【0080】
図8は数51と数52のlog coshの基準による収束と独立性の確認試験結果を示している。ここで、横軸はCPU時間である。ここでもRapid ICAがFast ICAより少ないCPU時間で収束しており、優れていることがわかる。
【0081】
次に、添付図面に基づき、本発明における類似画像検索方法と、それを実現する装置の好ましい実施形態を詳しく説明する。図9は、システム構成を模式的に示したものであるが、この図において、101は静止画像若しくは静止画像の連続体としての動画像(以下、これらを単に画像という)の集合を記憶保存するデータベースで、このデータベース101は例えばコンピュータなどの処理装置102に少なくとも読み出し可能な状態に接続される。処理装置102は本発明の特徴となる基底算出手段120および130を備えた類似画像検索アプリケーション103を含む各種アプリケーションを備えており、必要に応じてデータベース101に蓄積された画像を表示手段である液晶ディスプレイ104で適宜表示できるようになっている。なお、データベース101は処理装置102に内蔵または外付けされる記憶媒体(ハードディスクなど)や、処理装置102に通信手段を介して接続されるサーバであってもよく、どのような形態であるかは特に限定されない。また処理装置102は、例えばマウスやキーボードなどの入力手段105を備えている。
【0082】
類似画像検索アプリケーション3は、入力手段5によってユーザーが選択したクエリ画像(query image)を取込むクエリ画像取込み手段110と、前記クエリ画像の小区画をサンプルデータとして、当該クエリ画像の基底を求める第1の基底算出手段120と、データベース101内から検索の対象となる画像を読み出し、この対象画像の小区画をサンプルデータとして、当該対象画像の基底を求める第2の基底算出手段130と、前記クエリ画像の基底と前記対象画像の基底を直接比較し、クエリ画像に対する対象画像の類似度を算出する類似度算出手段140と、前記類似度の高い順に前記データベース101中の画像を液晶ディスプレイ104に一乃至複数表示させる類似画像表示制御手段150と、をそれぞれ備えている。ここで利用できる基底は独立成分分析基底(ICA基底)である。また、本実施形態においては、静止画像がもっとも適切な対象となるが、静止画像を連続化した動画像であっても構わない。さらに、クエリ画像はデータベース101内に保存される画像以外のものを利用してよい。第1の基底算出手段120と第2の基底算出手段130は図2において説明した基底算出手段14と同様に算出する。
【0083】
図10は、上記構成に基づく類似画像の検索方法の処理手順を示したものである。同図において、121は入力手段105により特定され、クエリ画像取込み手段110に取込まれたクエリ画像で、このクエリ画像121は二次元状に配列された画素(ピクセル)の集合により構成される。第1の基底手段120はステップS51において、クエリ画像121を適宜分割して得た小区画122をサンプルデータとして、1枚のクエリ画像121からICAの基底を算出する。一方、131はデータベース101に蓄積された検索対象となる画像(対比する画像)で、これも二次元状に配列された画素の集合により構成される。第2の基底手段13はステップS52において、対比画像131を適宜分割して得た小区画132をサンプルデータとして、1枚の対比画像131からICAの基底を算出する。こうして、クエリ画像121と対比画像131の各基底が算出されると、類似度算出手段140は次のステップS53にて、双方の基底どうしを比較し、類似している画像であるほど、クエリ画像121と対比画像131における各基底ベクトルの方向が似ていることに基づき、続くステップS54で類似度を算出する。類似画像検索アプリケーション103は、データベース101内の複数の対比画像131について、ステップS52〜ステップS54の各手順を同様に行ない、類似画像表示制御手段150により類似度の高い対象画像131を液晶ディスプレイ104に表示させる。
【0084】
ここで注目すべきは、本実施形態では各画像をフィルタリングして得られた基底の応答を特徴量とするのではなく、クエリ画像21や対比画像31から得られた基底そのものを特徴量として、類似度の判断を行なっていることである。すなわち、本実施形態ではクエリ画像121に対する対比画像131の類似度算出に際して、ICAの基底を用いている。
【0085】
本実施形態では、上記方法を採用するに当たり、tightフィッティングの概念を導入している。tightフィッティングとは、敢えてある1つのクラスのみを学習することにより、学習モデルをそのクラスに特化させることである。こうすることにより、そのクラスの特徴をよく反映したモデルが得られ、こうして得られたモデルパラメータを比較することで、クラスの識別を行なうことができる。すなわちtightフィッティングでは、ただ1つのクラスを学習するだけでよいため、必要なサンプルの数が少なく済み、独立スペクトル表現法のような過学習や過汎化の問題を回避できる。これは、ICA基底の場合には、1枚の画像に対して1つの基底集合を学習させることに相当する。さらにモデルパラメータの比較は、得られた基底集合を比較することに相当する。こうして、本実施形態で採用する類似画像の検索方法や検索装置は、クエリ画像121と対比画像131との基底情報を比較することで、過学習や過汎化の問題を解決して、画像のもつ固有の情報を少ない冗長度で正確に表現することが可能になる。
【0086】
図11は、第1の基底算出手段120や第2の基底算出手段130が基底を算出するまでの処理手順を模式的に示したものである。同図において、41は前述のクエリ画像121や対比画像131に相当する1枚の画像で、ここではステップS1のように、画像41を64に等分割した縦横8ピクセルの小区画42が、画像41のサンプルデータとして用いられる。次に基底算出手段120,130は、小区画42の各ピクセルを構成する8×8=64次元のデータベクトル(各要素は、x1,x2,x3,…x64からなる)を、縦に並べた列ベクトルとして各々行列x(xは太字)のなかに組み入れる。基底算出手段120,130は、64本の基底ベクトルからなる行列W-1(Wは太字)と、同じく64本の重み付け係数(各要素は、y1,y2,y3,…y64からなる)からなる行列との積が、前記データベクトルの行列x(Wは太字)に等しい(W-1y=x:すなわちy=Wxで、Wは分離フィルタとなる)ことから、1枚の画像41から各基底ベクトルの集合を算出する。
【0087】
図12と図13はそれぞれRapid ICA及びFast ICAによって300回目の繰り返しで得られた基底の集合を示している。これらは行列の列ベクトルをラスタースキャンで視覚化したものである。
【0088】
【数56】

【0089】
ここで、V*(Vは太字であり、*はVの右上につく) はムーア・ペンローズ型(Moor-Penrose) 一般逆行列である。A^(Aは太字)(^はAの上に付く)は未知の混合行列A(Aは太字)の推定行列である。
【0090】
図8のlog coshコントラスト関数は3つの全てのICAが収束するが(この図からはみ出た所にある300回の繰り返し回数の所)、Fast ICAとRapid ICAの基底の集合が互いに近くなっているかどうかを確認する必要がある。図12と図13を注意深く見ると入れ替わっている部分が見つかる(例えば図中の45と46)。したがって、ここでは次の2つの式に示す各集合を図14の手順で計算して比較する。
【0091】
【数57】

【数58】

【0092】
ここで、S≧0.8であれば、似ている役割を示す2つの基底系を見ることができる。図12と図13の基底系を図14のように計算することによって、S=0.95を発見できる。したがって、図12の基底系(Rapid ICA) 及び図13の基底系(Fast ICA)は同じ役割を果たすことが不可欠である。言い換えると、Rapid ICAとFast ICAは非常に近似した局所最適に収束する。
【0093】
7.高速化が実現できた理由
(A)更新図
本発明のRapid ICAは過去値を効果的に使用している。図15はどのように過去の情報を利用しているかを示している。繰り返し指標をtとして、W(t)(Wは太字)が与えられると、独立成分y(t)(yは太字)の推定が計算される。これは、計算上、最も重いステップである。このy(t)(yは太字)は ΔW1(t)(Wは太字)を計算するのに用いられる。正規直交化によって、W(t)(Wは太字)はW(t+1)(Wは太字)に進む。そして、このW(t+1)(Wは太字)はW(t)(Wは太字)と共にΔW2(t)(Wは太字)の計算に用いられる。最後に、W(t+2)(Wは太字)がW(t+1)(Wは太字), ΔW1(t+1)(Wは太字), 及びΔWold(Wは太字)として保存されたΔW1(t-1) W(t+2)(Wは太字)が計算される。このように本発明のRapid ICA は直前の3ステップ(t−1からt+1)までの情報更新の経過を利用している。方法2の一定の慣性係数にしたRapid ICAではΔW1(t-1) (Wは太字)からW(t+2)(Wは太字)へ向かう矢印が欠けている。したがって、方法3のRapid ICAは直前の3ステップまでの過去情報を利用するようにしている。
【0094】
(B)momentum(慣性)の解釈
図15から、動的システムのmomentum変数を学習システムに使用することを直ぐに想起させるかもしれない。momentum項の使用は多様な繰り返し方法において現れる。Fast ICAは自然勾配型ICAの加速方法が尤度比の代理の最適化の考えに基づいてすでに述べられているので例外ではない。
【0095】
8.現実への応用
ここでは、ICA基底を画像から画像を検索するためのテクスチャとして使用する。また、画像から画像を検索する、あるいは類似画像を検索するものについて述べる。そして、最後にCODEC及びPCA/ICAを含む画像から画像を検索するステップについて述べる。
【0096】
(A)画像から画像の検索
ICAは現実データにおける情報処理に効果的に適用できる。縮約と感情的な情報検索を結び付けた応用が本発明のICAの高速化の主なきっかけであった。ICAの現実への適用の課題は以下の通りである。
【0097】
[画像から画像の検索]
クエリ画像とサブクエリ画像が与えられると、クエリ画像と類似している画像が大きなデータベースまたはネットワーク環境から取り出される。これは画像から画像を検索する問題であり、I2I検索と略される。
この問題では、ICAによって得られた基底はデータ縮約と全体の類似度の算出の両方で使用される。 そのとき、ICA基底はテクスチャ情報を保持するために考慮される。
【0098】
(B)画像パッチと平均ベクトル
I2I検索において、サイズの異なる画像は類似度に応じて比較される。したがって、各画像は仮想グリッドを用いてサイズm×mのパッチの集合に分割される。m の大きさはJPEGに適応したブロックサイズであるために通常8である。
そして、各パッチは列ベクトルとみなされる。3つの成分[c1, c2, c3]が色画像に必要であるため、ベクトルの次元は3m2である。
【0099】
【数59】

【0100】
本例では、RGBの色空間が主に用いられることとなる。 源ベクトルの集合から次式の平均ベクトルが計算される。
【0101】
【数60】

【0102】
それから、源ベクトルは次式のように正規化される。
【数61】

【0103】
(C)共分散行列とPCA縮約及びICA基底
数61によって調整された平均値の後に共分散行列C(Cは太字)が計算される。
【0104】
【数62】

【0105】
それから、C(Cは太字)の固有値は特徴抽出とデータ縮約のために計算される。
【数63】

【0106】
を第一の固有値n<3m2によって対角行列とする。E(Eは太字)を列がC(Cは太字)の固有ベクトルに対応する行列とする。そして、データ縮約行列は以下の通りである。
【0107】
【数64】

【0108】
ローパスフィルタリングされたデータは次式によって計算される。
【数65】

【0109】
ここでのV(Vは太字)はn×3m2 の矩形行列であるので、復元データは一般逆行列を用いて計算される。
【数66】

【0110】
復元ベクトルx'(x'は太字) はx(xは太字)によって再表示されることになる。UPCA(Uは太字)の列ベクトルはPCA基底である。
【0111】
事前の白色化としてのPCA計算の後にICA基底が計算される。
【数67】

【0112】
ここで、siとsjはi≠jであり、互いに独立した未知の係数である。この公式化のため、分離行列W(Wは太字)がRapid ICAアルゴリズムによって推定される。推定された分離行列W(Wは太字)を用いることによって復元画像が次式から得られる。
【数68】

【0113】
UICA(Uは太字)の列ベクトルは画像検索に使用されるICA基底であり次のセクションで説明する。
【0114】
(D)画像縮約と基底を用いた復元
本例の画像縮約とPCA/ICAを用いた復元の全体システムは、図16に示される。この図において、縮約と復元は画像で始まり画像で終わる。画像は検索画像において現れるホワイトタイガーの兄弟を示している。そして、縮約から復元までの手順は以下の通りである。
画像縮約:画像縮約はパッチのサンプリングから始まり、エントロピーコーディングで終わる。
ステップ1(サンプリング): サイズ8×8の画像のパッチ[I(x,y)](I,x,yは太字)が集められる。ここで、サイズの異なる画像を比較できるようにするために仮想グリッドが使用されることは重要である。それから、各パッチはx(xは太字)のベクトルとして表される。
ステップ2(平均値の分離): 平均値μ(μは太字)を計算し、x(xは太字)から引く。
ステップ3 (平均値の量子化): 色成分の平均値μci (μは太字)を次式のように量子化する。
【数69】

ここで、ceil は天井関数であり、qavgは次式であらわされる。
【数70】

qcff は基底係数の量子化ステップサイズである。
ステップ4(平均値の無損失コーディング): 拡散性フレームが計算される。
【数71】

そして、ランレングス・ハフマン・コーディング(the run-length Huffman coding)が適用される。実行長より効率的なエントロピーコーディング方法があることが重要であるが、我々はJPEGと比較し、単純にしてコーディング時間を短くするためにランレングス・ハフマン・コーディング(the run-length Huffman coding)を選択した。
ステップ5(PCA基底の算出): PCA基底は擬似的なV(Vは太字)の逆行列によって計算される。
ステップ6(ICA基底の算出): ICA基底は(WV) -1(W,Vは太字)によって計算される。
ステップ7 (基底のエンコーディング):A(Aは太字)を各列が基底でありICA混合行列とする。基底||ai||(aは太字)の正規化は単一に正規化される。量子化ステップは次式によって計算される。
【数72】

ここで、amax(i) (aは太字)はai の成分の最大値である。数bprec=6は量子化の精度を特定する数値である。そして、i番目の基底は、次式のように量子化される。
【数73】

それから、ランレングス・ハフマン・コーディング(the run-length Huffman coding)が量子化された基底の差に適用される。
ステップ8 (係数コーディング): 量子化された基底を用いて、重ね合わせ係数がs←A-1x(s,A,xは太字)によって計算される。 そして、i番目の成分は次式のように量子化される。
【数74】

ここで、qcff は設計パラメータである。最後に、ランレングス・ハフマン・コーディングが適用される。
【0115】
画像の復元:デコーディング手順は以下のステップで行われる。
ステップ1(平均値のデコーディング):平均ベクトルμ'ci(μは太字)をci=R,G,Bでデコードする。
ステップ2 (平均値の逆量子化): μ'ci×qavg(μは太字) によって、逆量子化がci=R, G, Bで行われる。
ステップ3 (係数デコーディング):ランレングス・ハフマンデコーディング (the run-length Huffman decoding)がs' (i) (sは太字)を得るために実行される。
ステップ4(係数の逆量子化): 係数s'(i) はs'(i)qcff によって復元される。
ステップ5(基底行列による逆変換): 基底行列の復元によって、ゼロ行列ベクトルx'←As'(x,A,sは太字) が計算される。
ステップ6(平均ベクトル調整):各平均ベクトル成分が一つのパッチを復元するためにx'(xは太字)に加えられる。
ステップ7(イメージの復元): パッチは再生画像を生成するために間隔なしで並列される。
【0116】
RIM (検索認識イメージフォーマット) と呼ばれる上記の縮約/復元はJPEGよりも良い縮約性能を示している。
【0117】
(E)基底を用いた類似度計算
2つの画像は。もし[color, edge, texture]の集合が互いに近いのであれば類似するものとみなされる。したがって、我々は類似度として以下の量を使用する。
【数75】

【0118】
ここで、Scolorは色構造記述子(CSD)であり、SedgeはMPEG-7のエッジ・ヒストグラム記述子(EHD)である。Stextureは、2つの基底PCA/ICAの集合の類似度である。その計算は、2つの基底の一番合致したペアから始まる図14の計算を反映している。
【0119】
図17は数74の類似度を用いたI2Iを示している。この図において、上側半分はメインクエリ画像61とサブクエリ画像62を備えている。このように、2つのクエリ画像が我々の新しいシステムで可能となる。スライドバーは数74の係数aと係数bを特定する。初心者のために、デフォルト値を初めから設定しておく。この図において、メインクエリはホワイトタイガー兄弟の写真である。サブクエリはホワイトタイガーのプラスチックのおもちゃである。このクエリのセットを「タイガー」というキーワードでインターネットから検索してきた画像に適用する。その結果、103個の画像が収集されるが、インターネットにおけるフリー画像には注釈が付されているため 牛、犬、サメ等の画像が収集された。
【0120】
ここでは、上記クエリ画像を収集された画像に適用し、間違った画像がランク下位になるようにした。図17の下側半分にある画像63がその検索結果である。そして、検索結果では上位12個の画像のうち7個の画像がホワイトタイガーを含んでいる。 以上のように本発明では、順序構造のある連続値データを時系列に格納する記憶手段(レジスタ1)と、前記連続値データから前記連続値データをベクトルの集合として表現する行列を未知パラメータとして生成する初期設定手段22と、前記行列が収束するまで更新と直交化を繰り返し計算して独立成分分析基底(ICA基底)を算出する演算手段26と、収束を判定する判定手段28とを備えた独立成分分析の分析装置において、前記行列の第一の更新幅を計算して前記行列を更新し、更新後が収束しているかを判定し、計算が収束していなければ直前の行列と現在の行列との差分を第二の更新幅として計算して前記行列を更新する更新設定手段24と、前記行列が収束していれば前記繰り返しが終了して前記行列を出力する判定手段28とを備えて構成される。
【0121】
このようにすれば、Fast ICAより優れた非常に高速なICAアルゴリズムが提供される。Rapid ICAと呼んでいる本発明では計算の増加が非常に小さいので、繰り返し回数の減少は直接CPUの高速化の実現につながる。
【0122】
もし、混合入力が分離した異なる入力を含んでおり、しかもそのコントラスト関数が適切ならば高速化は飛躍的なものとなる。通常は複雑な現実データにICAを適用した時、画像データがそのような性質を有するのでRapid ICAは非常に効果的である。したがって、Rapid ICAをインデックスが付されていないデータベースの画像から画像を検索するモチベーションを満足できた。また、Rapid ICAと呼んでいる本発明のICAはインデックスなしで画像から画像を検索するのに使用される。類似していると判断された画像はユーザーの意見を十分に反映したものとなる。
【産業上の利用可能性】
【0123】
本発明で適用する独立成分分析アルゴリズムは、画像処理,音声処理および生命情報処理などの非常に広範な応用性を有している。具体的には、コンピュータに取り込まれたクエリ画像と類似している画像をデータベースやコンピュータに格納されているインデックスが付されていない画像群の中から検索したり、混合音声・混合音楽を入力して、その音声・音楽を分離して出力したり、DNA情報を入力し、DNAの頻度などを解析することなどが可能である。
【符号の説明】
【0124】
1 レジスタ(記憶手段)
10 分析装置
14 基底算出手段
22 初期設定手段
24 更新設定手段
26 演算手段
28 判定手段

【特許請求の範囲】
【請求項1】
順序構造のある連続値データを時系列に格納する記憶手段と、
前記連続値データから前記連続値データをベクトルの集合として表現する行列を未知パラメータとして生成し、前記行列が収束するまで更新と直交化を繰り返し計算して独立成分分析基底(ICA基底)を算出する基底算出手段を備えた独立成分分析の分析装置において、
前記行列の第一の更新幅を計算して、更新後の前記行列が収束していなければ直前の行列と現在の行列との差分を第二の更新幅として計算する演算手段と、前記行列を更新する更新設定手段と、更新後の前記行列が収束しているかを判定し、前記行列が収束していれば前記繰り返しが終了して前記行列を出力する判定手段と、を備えたことを特徴とする独立成分分析の分析装置。
【請求項2】
前記演算手段が、前記第二の更新幅の計算で用いる差分を直前の前記差分と比較し、前記差分と直前の前記差分との変化に応じて前記第二の更新幅の大きさを変化させる慣性係数を用いて構成されることを特徴とする請求項1記載の独立成分分析の分析装置。
【請求項3】
前記慣性係数を慣性係数ηiとして、任意定数βと、前記差分Δwi(wは太字)と、直前の前記差分Δwi,oldと、任意定数γとによって定義される次式
【数1】

で計算することを特徴とする請求項2記載の独立成分分析の分析装置。
【請求項4】
記憶手段に順序構造のある連続値データを時系列に格納し、
前記連続値データから前記連続値データをベクトルの集合として表現する行列を未知パラメータとして生成し、前記行列が収束するまで更新と直交化を繰り返し計算することによって独立成分分析基底(ICA基底)を算出する独立成分分析の分析方法において、
前記行列の第一の更新幅を計算する第一の演算ステップと、前記第一の更新幅を用いて前記行列を更新する第一の更新設定ステップと、更新後の前記行列が収束していなければ直前の行列と現在の行列との差分を第二の更新幅として計算する第二の演算ステップと、前記第二の更新幅を用いて前記行列を更新する第二の更新設定ステップと、更新後の前記行列が収束しているかを判定し、前記行列が収束していれば前記繰り返しが終了して前記行列を出力する判定ステップと、を備えたことを特徴とする独立成分分析の分析方法。
【請求項5】
前記第二の演算ステップで前記第二の更新幅の計算で用いる差分を直前の前記差分と比較し、前記差分と直前の前記差分の変化に応じて前記第二の更新幅の大きさを変化させる慣性係数を用いたことを特徴とする請求項4記載の独立成分分析の分析方法。
【請求項6】
前記慣性係数を慣性係数ηiとして、任意定数βと、前記差分Δwi(wは太字)と、直前の前記差分Δwi,oldと、任意定数γとによって定義される次式
【数2】

で計算することを特徴とする請求項5記載の独立成分分析の分析方法。
【請求項7】
記憶手段に時系列に格納された順序構造のある連続値データから前記連続値データをベクトルの集合として表現する行列を未知パラメータとして生成し、前記行列が収束するまで更新と直交化を繰り返し計算することによって独立成分分析基底(ICA基底)を算出することで独立成分を分析する分析手段として、コンピュータを機能させる独立成分の分析プログラムにおいて、
前記分析手段を、前記行列の第一の更新幅を計算して、更新後の前記行列が収束していなければ直前の行列と現在の行列との差分を第二の更新幅として計算する演算手段と、前記行列を更新する更新設定手段と、更新後の前記行列が収束しているかを判定し、前記行列が収束していれば前記繰り返しが終了して前記行列を出力する判定手段と、して機能させることを特徴とする独立成分分析の分析プログラム。
【請求項8】
前記第二の更新幅の計算で用いる差分を直前の前記差分と比較し、前記差分と直前の前記差分の変化に応じて前記第二の更新幅の大きさを変化させる慣性係数を用いたことを特徴とする請求項7記載の独立成分分析の分析プログラム。
【請求項9】
前記慣性係数を慣性係数ηiとして、任意定数βと、前記差分Δwi(wは太字)と、直前の前記差分Δwi,oldと、任意定数γとによって定義される次式
【数3】

で計算することを特徴とする請求項8記載の独立成分分析の分析プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図14】
image rotate

【図15】
image rotate

【図12】
image rotate

【図13】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate