(57)【特許請求の範囲】
【請求項１】
複数の線形混合された複素信号に、学習則により計算された分離行列を適用し、分離信号を生成する独立成分分析方法において、
分離信号を用いて、当該分離信号である複素数の偏角を計算する手順と、前記偏角について指数関数又はその三角関数を計算する手順と、前記分離信号の絶対値を計算する手順と、前記絶対値を変数とする非線形関数を計算する手順と、前記指数関数と上記計算された非線形関数を掛け合わせる手順とによって、前記複素数の絶対値のみを変更する活性化関数を計算する活性化関数計算手順と、
前記活性化関数計算過程で求められた活性化関数と分離信号と前記分離行列から、Ｗを分離行列、ΔＷを分離行列の修正値、μを定数、Ｉを単位行列、ｙを分離信号、ｙＨを分離信号ｙの共役転置、Φ［ｙ］は実関数φ［ｙ］の複素数への拡張を表す時、
ΔＷ＝μ［Ｉ−＜Φ［ｙ］ｙＨ＞］Ｗ
を用いて、当該分離行列の修正値を計算する分離行列修正値計算手順と、
前記分離行列の修正値と前記分離行列とを加算して分離行列を修正し、修正した分離行列と前記混合信号とを乗算して分離信号を再計算する分離行列修正手順と、
を有することを特徴とする独立成分分析方法。
【請求項２】
複数の線形混合された複素信号に、学習則により計算された分離行列を適用し、分離信号を生成する独立成分分析方法において、
分離信号を用いて、当該分離信号である複素数の絶対値を計算する手順と、前記絶対値を変数とする非線形関数を計算する手順と、前記非線形関数と上記分離信号を掛け合わせて、前記絶対値で除算する手順とによって、前記複素数の絶対値のみを変更する活性化関数を計算する活性化関数計算手順と、
前記活性化関数計算過程で求められた活性化関数と分離信号と前記分離行列から、Ｗを分離行列、ΔＷを分離行列の修正値、μを定数、Ｉを単位行列、ｙを分離信号、ｙＨを分離信号ｙの共役転置、Φ［ｙ］は実関数φ［ｙ］の複素数への拡張を表す時、
ΔＷ＝μ［Ｉ−＜Φ［ｙ］ｙＨ＞］Ｗ
を用いて、当該分離行列の修正値を計算する分離行列修正値計算手順と、
前記分離行列の修正値と前記分離行列とを加算して分離行列を修正し、修正した分離行列と前記混合信号とを乗算して分離信号を再計算する分離行列修正手順と、
を有することを特徴とする独立成分分析方法。
【請求項３】
複数の線形混合された複素信号に、学習則により計算された分離行列を適用し、分離信号を生成する独立成分分析装置において、
分離信号を用いて、当該分離信号である複素数の偏角を計算する偏角計算部と、前記偏角について指数関数又はその三角関数を計算する関数計算部と、前記分離信号の絶対値を計算する絶対値計算部と、前記絶対値を変数とする非線形関数を計算する非線形関数計算部と、前記指数関数と前記非線形関数を掛け合わせる乗算部とによって、前記複素数の絶対値のみを変更する活性化関数を計算する活性化関数計算部と、
前記活性化関数計算過程で求められた活性化関数と分離信号と前記分離行列から、Ｗを分離行列、ΔＷを分離行列の修正値、μを定数、Ｉを単位行列、ｙを分離信号、ｙＨを分離信号ｙの共役転置、Φ［ｙ］は実関数φ［ｙ］の複素数への拡張を表す時、
ΔＷ＝μ［Ｉ−＜Φ［ｙ］ｙＨ＞］Ｗ
を用いて、当該分離行列の修正値を計算する分離行列修正値計算部と、
前記分離行列の修正値と前記分離行列とを加算して分離信号を修正し、修正した分離行列と前記混合信号とを乗算して分離信号を再計算する分離行列修正部と、
を有することを特徴とする独立成分分析装置。
【請求項４】
複数の線形混合された複素信号に、学習則により計算された分離行列を適用し、分離信号を生成する独立成分分析装置において、
分離信号を用いて、当該分離信号である複素数の絶対値を計算する絶対値計算部と、前記絶対値を変数とする非線形関数を計算する非線形関数計算部と、前記計算された非線形関数と前記分離信号を掛け合わせて、前記絶対値で除算する乗除算部とによって、前記複素数の絶対値のみを変更する活性化関数を計算する活性化関数計算部と、
前記活性化関数計算過程で求められた活性化関数と分離信号と前記分離行列から、Ｗを分離行列、ΔＷを分離行列の修正値、μを定数、Ｉを単位行列、ｙを分離信号、ｙＨを分離信号ｙの共役転置、Φ［ｙ］は実関数φ［ｙ］の複素数への拡張を表す時、
ΔＷ＝μ［Ｉ−＜Φ［ｙ］ｙＨ＞］Ｗ
を用いて、当該分離行列の修正値を計算する分離行列修正値計算部と、
前記分離行列の修正値と前記分離行列とを加算して分離信号を修正し、修正した分離行列と前記混合信号とを乗算して分離信号を再計算する分離行列修正部と、
を有することを特徴とする独立成分分析装置。
【請求項５】
請求項１、２いずれかに記載した独立成分分析法の各手順を、コンピュータに実行させるための独立成分分析プログラム。
【請求項６】
請求項５記載の独立成分分析プログラムを記録したコンピュータにより読み出し可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は信号処理の技術分野に属し、観測したい元の信号は直接観測はできないが、いくつかの信号が混合されたもののみが観測できる状況において、元の信号を推定する技術に関する。
本技術により、様々な妨害信号が発生する実環境において、目的の信号を精度良く取り出すことが可能となる。
音信号に対する応用例としては、話者とマイクが離れた位置にありマイクが話者の音声以外の音を拾ってしまうような状況でも、認識率の高い音声認識装置を構成できる。また、脳の仕組みを明らかにする研究においては、１つ１つの脳波を直接観測することはできず、複数の混合された脳波を脳の外部において観測することになるが、本技術により１つ１つの脳波を精度良く推定できる。
【０００２】
【従来の技術】
複数の線形混合された信号を独立性に基づいて分離する技術は、独立成分分析(ICA：Independent  Component  Analysis)と呼ばれる。その中でも、信号が複素数の系列である場合（すなわち複素信号である場合）、複素信号に対する独立成分分析が用いられる例としては、実環境において残響を含めて混合された音信号を分離する際、音信号をフーリエ変換して周波数領域で表現する事例が代表的である。ここでは、まず、実信号に対する独立成分分析の方法を説明し、その後、従来技術による複素信号への拡張を説明する。
【０００３】
[独立成分分析]
互いにＮ個の源信号s(t)＝[s1(t),・・・,sN(t)]TがM×N行列Aにより線形混合x(t)＝As(t)されて、Ｍ個のセンサによりx(t)＝[x1(t),・・・,xM(t)]Tが観測されたとする。ICAの目的は、混合系Aや源信号s(t)を知らずに、x(t)を互いに独立なＮ個の信号y(t)=[y1(t),・・・,yN(t)]T＝Wx(t)に分離するN×M行列Wを求めることである。図１にN＝M＝２の場合を示す。
【０００４】
[独立成分分析の方法]
分離行列Wは、y(t)の各要素間の相互情報量の最小化を目指して、学習則W＝W+ΔWにより徐々に改良される。
ΔWは、自然勾配法と呼ばれるΔW＝μ[I−＜φ[y(t)]y(t)T＞]Wの式に従って計算される。ここでIは単位行列、μは学習の速度を制御する小さな定数値、＜φ[y(t)]y(t)T＞はφ[y(t)]y(t)Tの時間平均（tに関する平均）を表す。＜φ[y(t)]y(t)T＞は、N×N行列であることに注意されたい。また、φ[・]は活性化関数と呼ばれるものであり、一般にφ[y(t)]＝tanh[η・y(t)]が非線形の活性化関数として広く用いられている。ηは非線形性の強さを制御するパラメータである。以下では簡単のため、時間tを省略してy、φ[y]と記載する。
【０００５】
[複素信号への拡張]
以上が独立成分分析の方法であるが、複素数を扱うためには、ΔWの計算を複素数に拡張する必要がある。これまでには、以下の拡張が提案されている。
ΔＷ＝μ［Ｉ−＜Φ［ｙ］ｙＨ＞］Ｗ（１）
Φ［ｙ］＝φ［ｒｅ（ｙ）］＋ｊ・φ［ｉｍ（ｙ）］（２）
ここで、ｙＨはｙの共役転置（複素数の共役を取り、転置を行う）、ｒｅ（ｙ）とｉｍ（ｙ）はそれぞれｙの実部と虚部である。なお、Φ［・］は実関数φ［・］の複素数への拡張である。
【０００６】
[収束点での状況]
さて、学習則W＝W+ΔWに従ってΔWは０に収束することから、式（１）によるとWは
＜Φ[yp]yq*＞＝０(p≠q )                              （３）
＜Φ[yp]yq*＞＝１(p＝q )                              （４）
を満たす点に収束する。ここで、yq*はyqの複素共役である。制約（３）は、ypとyqが互いに独立である場合に満たされる。従って、式（１）が持つこの制約により、ypとyqの独立性が高まる。一方式（４）では、p＝qの場合を扱っているが、これによりypの振幅の平均値がある値に近づくことになる。
【０００７】
[余分な制約]
しかし、上記の方法では、余分な制約が発生して収束を阻むことがある。すなわち、式（４）を実部と虚部に分解すると、
＜φ[re(yp)]re(yp)＋φ[im(yp)]im(yp)＞=１               （５）
＜φ[im(yp)]re(yp)−φ[re(yp)]im(yp)＞=０               （６）
となる。ここで式（６）が余分な制約を課していることがわかる。例えば re(yp)とim(yp)が互いに独立であればこの制約を満たすが、一般には満たさない。そうすると、式（１）に基づくΔWの計算で、ΔWがいつまでも０に収束しないことがある。
【０００８】
【発明が解決しようとする課題】
従来の技術では、活性化関数の複素数への拡張として式（２）が提案されているが、上記の余分な制約（６）が発生して収束を阻むことがある。そこで本発明の目的は、上記の様な余分な制約が発生しない新たな活性化関数を提供することにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、本発明では、複素数の絶対値のみを変更する活性化関数を用いて独立性に相当する値を計算する手段を備える。一般に複素数yは、絶対値｜y｜と偏角θ＝angle(y)を用いてy＝｜y｜・exp(jθ)と表現できる。絶対値のみを変更する活性化関数は、偏角θを変更しないため、複素数を入力として実数を出力する任意の関数α(・)とすると、Φ[y]＝α(y)・exp(jθ)と表記できる。
本発明では、複素数の絶対値のみを変更する活性化関数を用いて、独立性に相当する値を計算する。これにより、式（４）において、式（６）のような余分な制約は発生しない。なぜなら、yp*がypの複素共役であることから、θ＝angle(yp)とすると、Φ[yp]yp*＝α(yp)・exp(jθ)・｜yp｜・exp(−jθ)=α(yp)｜yp｜となり、虚部が常に０になるからである。
【００１０】
【発明の実施の形態】
図２は、本発明の独立成分分析装置の構成を示すブロック図である。
分離信号計算部１は、分離行列保持部に分離行列Wを保持し、混合信号x(t)=[x1(t),・・・,xM(t)]Tから分離信号y(t)=[y1(t),・・・,yN(t)]T=Wx(t)を計算する。また、分離信号y(t)の独立性が高まるように、分離行列の修正値ΔWと学習則W=W＋ΔWに従って、分離行列を徐々に修正する。分離行列修正値計算部２は、現状のW（分離行列保持部に保持している分離行列W）と分離信号y(t)と活性化関数の値Φ[y]から、分離行列の修正値ΔWを計算する。活性化関数の値Φ[y]は、活性化関数計算部３にて、現状の分離信号y(t)から計算される。
【００１１】
[分離行列修正値計算部]
図３は、分離行列修正値計算部２の構成を示すブロック図である。
ベクトル積計算部２−１では、分離信号y(t)と活性化関数の値Φ[y(t)]から、ベクトル積Φ[y(t)]y(t)Hを計算する。平均値計算部２−２では、その結果を総和してサンプル数で割ることにより、平均値＜Φ[y(t)]y(t)H＞を求める。その後、修正値計算部２−３では、その平均値と分離行列WからΔW＝μ[I−＜Φ[y(t)]y(t)H＞]Wを計算する。
【００１２】
[活性化関数計算部]
本実施例では、複素数の絶対値のみを変更する活性化関数として、
Φ[y]＝φ[｜y｜]・exp(jθ)、θ＝angle(y)          （７）
を用いる。これは、実数に対する活性化関数φ[・]の自然な拡張であり、実数に対しては双方とも同じ値を出力する。
【００１３】
図４は活性化関数計算部３の第１の実施形態を示すブロック図である。
簡単のため、時間tの表記は省略している。偏角計算部３−１ではθ＝angle(y)を計算し、その後、指数関数計算部３−２でexp(jθ)を計算する。また、絶対値計算部３−３では ｜y｜を計算し、その後、非線形関数計算部３−４にてφ[|y|]を計算する。双方の計算を終えると、乗算部３−５において２つの結果を掛け合わせてΦ[y]=φ[|y|]・exp(jθ)を得る。
上記の活性化関数は別の方法でも計算できる。すなわち、exp(j・angle(y))＝y／|y|であることから、Φ[y]=φ[|y|]・y／|y|と計算できる。これにより、上記での偏角計算部と指数関数計算部が不要となる。
図５は、活性化関数計算部３の第２の実施形態を示すブロック図である。
絶対値計算部３−１０で分離信号の絶対値｜y｜を計算し、非線形関数計算部３−１１にてφ[|y|]を計算するのは、上記の実施形態と同様である。乗除算部３−１２では、計算し終わったφ[|y|]と｜y｜、および元のyから、Φ[y]=φ[|y|]・y／|y|を計算する。
【００１４】
図６を参照して分離行列Wの修正手順を説明する。
分離信号yより活性化関数の値Φ[y]を計算する（s-1)。分離信号yと活性化関数の値Φ[y]からベクトル積Φ[y]yHを計算し、その結果を総和してサンプル数で割ることにより平均値＜Φ[y]yH＞を求める。その平均値と分離行列Wから分離行列修正値ΔW=μ[I−＜Φ[y]yH＞]Wを計算する(s-2)。保持している分離行列Wと修正値ΔWよりW＝W＋ΔWを計算する(s-3)。次にこの修正された分離行列Wを用いてy＝Wxを計算する(s-4)。手順(s-1)〜(s-4)を繰り返し独立性が十分に高まるまで分離行列Wを修正する。
【００１５】
本発明の独立成分分析装置は、CPUやメモリ等を有するコンピュータと、アクセス主体となるユーザが利用する利用者端末と、記録媒体とから構成することができる。記録媒体はCD-ROM、磁気ディスク装置、半導体メモリ等の機械読み取り可能な記録媒体であり、ここに記録されたアクセス制御用プログラムは、コンピュータに読み取られ、コンピュータの動作を制御し、コンピュータ上に前述した実施形態の構成要素、すなわち、分離信号計算部、分離行列修正値計算部、活性化関数計算部等を実現する。
【００１６】
【発明の効果】
本発明によれば、複素信号を対象とする独立成分分析において、従来技術で発生していた余分な制約（６）が発生しない。従って、従来技術では収束が阻まれることがあったのに対し、本発明では滑らかな収束が可能となる。この事実を示すものとして、図７と図８にそれぞれ、従来技術の活性化関数（２）と本発明の活性化関数（７）を用いた場合の収束の様子を示す。具体的には、残響を含めて混合された音声をフーリエ変換した後、複素信号に対する独立成分分析を行った際の、[I−＜Φ[y]yH＞]の各要素の絶対値(Absolute  Value)を示す。横軸は、学習則を適用した繰り返しの回数(Iteration)である。明らかに、従来技術では収束が阻まれているが、本発明では滑らかに収束している。これにより、非対角成分[1,2]と[2,1]によって示されているyの相互情報量（小さいほど独立性が高い）は十分に小さくなっている。
【図面の簡単な説明】
【図１】独立成分分析を説明するための図。
【図２】本発明の独立成分分析装置のブロック図。
【図３】分離行列修正値計算部のブロック図。
【図４】活性化関数計算部（第１の実施形態）のブロック図。
【図５】活性化関数計算部（第２の実施形態）のブロック図。
【図６】分離行列Wの修正手順を説明するための図。
【図７】従来技術における収束の様子を示す図。
【図８】本発明における収束の様子を示す図。
【符号の説明】
１    分離信号計算部
２    分離行列修正値計算部
３    活性化関数計算部
【図１】
0003887192.tif 000002
【図２】
0003887192.tif 000003
【図３】
0003887192.tif 000004
【図４】
0003887192.tif 000005
【図５】
0003887192.tif 000006
【図６】
0003887192.tif 000007
【図７】
0003887192.tif 000008
【図８】
0003887192.tif 000009