説明

音学習装置

【課題】複数音源から発せられた音の分離学習が可能な音学習装置を提供する。
【解決手段】複数個の競合学習ニューロン1を備え、各競合学習ニューロン1は複数個の入力部2を備えて、内部電位値が閾値を超えたときに発火するように構成され、勝者ニューロンについて参照ベクトルが入力ベクトルに近づくように結合重みを更新することを、各入力ベクトルについて繰り返すことにより学習を行い、各入力部2に対応してパルス信号の立ち上がりを検出するONニューロン4が設けられ、各ONニューロン4は、パルス信号の立ち上がり時から所定時間だけ発火するように構成され、各ONニューロン4が出力したパルス信号を用いて、各競合学習ニューロン1の各入力部2の結合重みを、パルス信号の立ち上がり時から所定時間だけ非零となるように変化させる音学習装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パルスニューロンモデルを用いた音学習装置に関する。
【背景技術】
【0002】
下記非特許文献1には、聴覚情報処理システムのためのパルスニューロンモデルを用いた競合学習ニューラルネットワークが開示されている。以下、この非特許文献1に開示された競合学習ニューラルネットワークである音学習装置を「CONP」と言う。
【0003】
パルスニューロンモデル(以下、「PNモデル」と言う。)とは、入出力信号としてパルス列を用いるニューロンモデルを言う。図1に、PNモデルの模式図を示す。このPNモデルでは、i番目の入力チャンネルからパルスxi(t)=1がi番目の入力部に到着すると、i番目の入力部の局所膜電位pi(t)が結合重みwi分上昇し、その後時定数τで静止電位まで減衰する。PNモデルの内部電位I(t)は、その時刻の各局所膜電位の総和として表される。PNモデルは、この内部電位が閾値TH以上となった時発火(すなわち、出力パルス「1」を発生)する。但し、神経細胞には発火に関する不応期RPが存在するため、このPNモデルにおいても、ある発火からRPの間は内部電位が閾値を超えた場合でも発火しない。以下、PNモデルを単にニューロンとも言う。
【0004】
CONPは、聴覚情報処理システムにおける多次元ベクトルの次元圧縮及び代表ベクトルを用いたパターン変動の吸収を目的とする、PNモデルのみを用いたベクトル量子化ネットワークであり、Kohonenの競合学習モデルならびに自己組織化マップ(Self-Organizing Maps 以下、「SOM」と言う。)をパルスニューラルネットワークに適用したものである。
【0005】
従来のSOMを用いた競合学習及び認識処理の動作フローを、図2に示す。この図は、M個のニューロンを有するパルスニューラルネットワークの各ニューロンに、n個のチャンネルを介して、入力パルスを各要素とする入力ベクトル(n次元データベクトル)xiが入力された場合の動作フローである。このニューラルネットワークは、入力ベクトルxiが入力されると(S01)、各ニューロンの評価値1/|wj−xi|を演算する(S02)。なお、wjはニューロンの参照ベクトル(結合重みを各要素とするベクトル)である。ニューロンの評価値は、参照ベクトルwjと入力ベクトルxiとのユークリッド距離が近い程高くなる。次に、ニューロンのうち評価値が最大となるもの(以下、「勝者ニューロン」とも言う。)を検索し(S03)、学習フェイズであれば、勝者ニューロンの参照ベクトルwjが入力ベクトルxiに近づくように結合重みを更新するとともに(S04)、勝者ニューロンの近傍のニューロンについても同様に結合重みを更新する(S05)。そして、評価値が最大のニューロンのラベルjを出力する(S06)。なお、既に学習を終えて実際に認識を行う場合、すなわち、学習フェイズでない場合は、結合重みの更新は行わない。そして、結合重みの更新(参照ベクトルの更新)のための係数を更新して、次の入力ベクトルについて、ステップS01〜S06の処理を行う(S07)。
【0006】
SOMアルゴリズムでは、参照ベクトルが入力ベクトルに最も近いニューロンを勝者ニューロンとし、勝者ニューロンの参照ベクトルを入力ベクトルに近づけるのみならず、勝者ニューロンの周辺のニューロンについても参照ベクトルを入力ベクトルに近づける。これにより、SOMでは、入力ベクトル群の位相関係を保持したベクトル量子化が可能となる。
【0007】
CONPでは、かかるSOMアルゴリズムにより学習を行う。但し、CONPでは、入力ベクトルに近いか否かを、ユークリッド距離ではなく、入力ベクトルと参照ベクトルの内積EV=cosθ|w||x|(w:参照ベクトル、x:入力ベクトル、θ:両ベクトルのなす角)で評価し、この評価値の最も高かったニューロンを勝者ニューロンとしている。内部電位は局所膜電位の総和であり、局所膜電位の大きさは結合重みに比例し、かつ入力パルスの頻度に比例するため、入力ベクトルと参照ベクトルの内積による評価は、内部電位による評価と等価である。
【0008】
また、CONPでは、評価値が最も高かったニューロンを検索するために、最も高い評価値を持ったニューロンだけが発火するように構成している。詳しくは、図3に示すように、外部に複数個の状態検出ニューロン、すなわち、競合学習ニューロンが1つも発火していないときに発火する無発火検出ニューロン(以下、「NFDニューロン」と言う。)11と、競合学習ニューロンが2つ以上発火しているときに発火する複数発火検出ニューロン(以下、「MFDニューロン」と言う。)12の2つの状態検出ニューロンを設け、それらの状態検出ニューロンの発火状況に応じて競合学習ニューロンの閾値を一律に変化させることで、唯一つの競合学習ニューロンが発火する状況を保持している。なお、NFDニューロン11、MFDニューロン12等との区別のために必要なときは、競合学習を行うニューロンを競合学習ニューロン(Competitive Learning Neuron)と言う。
【0009】
図4−1、4−2に、CONPの動作フローを示す。CONPでは、n個のデータパルスからなる入力ベクトルx(t)=(x1(t),x2(t),…,xi(t),…,xn(t))が、単位時間毎に入力される(S101)。なお、tは時刻である。すると、CONPでは、NFDニューロンの出力値ynfd(t)を演算するとともに、MFDニューロンの出力値ymfd(t)を演算する(S102、S103)。次に、CONPの有するM個の競合学習ニューロンの内部電位Ij(t) (j=1,…,M)を演算し(S104)、内部電位Ij(t)が閾値THを超えたニューロンについては、y(t)=1を出力し、それ以外のニューロンについては、y(t)=0を出力する(S105)。なお、詳しい演算方法については後述する。そして、「1」を出力したニューロンについて結合重みを更新するとともに(S106)、そのニューロンの近傍のニューロンについても結合重みを更新し(S107)、参照ベクトルをノルム1に正規化する(S108)。なお、学習フェイズでない場合は、結合重みの更新は行わない。そして、結合重みの更新のための係数を更新して、次の入力ベクトルについて、ステップS101〜108の処理を行う(S109)。
【0010】
CONPにおける演算方法について説明する。まず、CONPにおけるPNモデルの動作を明確にするために、下記の式(数1)、(数2)により以下のように定義する。
【0011】
システムをサンプリング周波数Fsの離散時間系とし、△t=1/Fsとする(△:デルタ)。ここで、引数として、時刻t、減衰時定数τ、結合重みw、時刻tにおける入力信号x(t)の4つを持つ関数Fを導入し、下記(数1)のように定義する。
【0012】
【数1】

すると、時刻tにおけるPNモデルの内部電位I(t)は、局所膜電位pi(t)の総和として、下記(数2)のように記述できる。
【0013】
【数2】

ここで、τはpi(t)の減衰時定数である。PNモデルの不応期をRP、時刻tにおける前回発火からの経過時間をET(t)とし、ET(0)>RPとすると、PNモデルの出力値y(t)は、以下のアルゴリズムにより計算される。
【0014】
if I(t)≧TH and ET(t)>RP
then y(t)=1,ET(t)=0
else y(t)=0,ET(t)=ET(t−△t)+△t
パラメータτ、w1、w2、…、wn、THは、各PNモデルにより可変の値であり、この組合せにより各PNモデルの動作は決定される。
【0015】
CONPでは、各ニューロンにおける入力ベクトルの類似度の評価値としてニューロンの内部電位I(t)を用いる。なお、上述したように、入力ベクトルと参照ベクトルの内積による評価と、内部電位による評価とは、同等である。そして、上述したように、状態検出ニューロンを用いて、最も評価値の高いニューロンのみが発火するように構成する。このように、CONPではネットワークにおいて発火した競合学習ニューロンを勝者ニューロンとするため、各ニューロンが発火した場合に学習を行う。学習すべき入力パターンの表現法としては、結合重みを1に固定したシナプスにおける局所膜電位pcwi(t)を用いる。図5に図3に対して学習に必要な要素を加えた競合学習用パルスニューロンモデルを示す。ここで入力パルス列数はnであり、このニューロンはM個ある競合学習ニューロンのh番目とする。図5において,時刻tにおけるNFDニューロン11、MFDニューロン12の出力をそれぞれynfd(t)、ymfd(t)、競合学習ニューロンのNFDニューロン11、MFDニューロン12に対する結合重みをそれぞれwfd、−wfd(但し、wfd>0)とすると、時刻tにおけるh番目の競合学習ニューロンの内部電位Ih(t)は前述の関数Fを用いて次式(数3)のように記述できる。
【0016】
【数3】

なお、CONPにおいてはpnfd、pmfdを発火閾値の動的変化量として扱うことで制御を行うため、減衰時定数τfdは時定数τに対して充分大きいものと仮定する。時刻uにおける勝者ニューロンの結合重みwwin,i(u)の更新は、学習係数をαとしたとき次式(数4)で表すことができる。
【0017】
【数4】

各更新の後,結合重みベクトルw(u)=(wwin,1(u),…,wwin,n(u))はノルムが1となるよう正規化される。
【0018】
入力パルス列によって発生する内部電位の総量が大きく変動する場合,この変動量を吸収するために閾値の変化が生じることになり、閾値の変化が入力ベクトルの方向変化に追従できない場合がある。そこで、CONPでは内部電位I(t)に対して、pcwiの総和を一定の比率βpcw(但し、0≦βpcw≦1)であらかじめ差引くことで、入力信号のノルム変動に対する内部電位の変化を抑制している。これにより上記(数3)のIh(t)は以下の(数5)のように修正される。
【0019】
【数5】

以上のアルゴリズムによりパルスニューラルネットワークにおいてKohonenの競合学習を実現することが可能であり、これにより入力信号に含まれるスペクトルパターンなどが時々刻々と変化する場合でも、これを統計的に学習、ベクトル量子化することが可能である。なお、これまで述べて来た結合重みの更新を勝者ニューロンの近傍のニューロンに対しても適用することにより、SOMアルゴリズムは容易に実現可能である。
【0020】
そして、CONPでは、非特許文献1の第5節に記載されているように、パルス頻度変調された時系列信号に対して競合学習が可能であり、聴覚情報処理システムのための競合学習ニューラルネットワークとして、十分な時間分解能、量子化分解能を持つことが確認されている。
【0021】
なお、出願人による音源定位のための時間差検出器についての出願に、下記特許文献1がある。また、関連する文献として下記非特許文献2、3、4、5、6がある。
【特許文献1】特願2005−362915
【非特許文献1】黒柳奨、岩田彰、「聴覚情報処理システムのためのパルスニューロンモデルを用いた競合学習ニューラルネットワーク」、電子情報通信学会論文誌(D−II)、2004年7月、第J87−D−II巻、第7号、p.1496−1504
【非特許文献2】黒柳奨、平田浩一、岩田彰、「パルスニューラルネットワークのための競合学習手法」、電子情報通信学会NC研究会技術研究報告、社団法人電子情報通信学会、2002年3月、NC2001−210、p.113−120
【非特許文献3】坂口晋也、黒柳奨、岩田彰、「環境把握のための音源識別システム」、電子情報通信学会NC研究会技術研究報告、社団法人電子情報通信学会、1999年12月、NC99−70、p.61−68
【非特許文献4】駒木根隆士、平原達也、「蝸牛の周波数分析機能を模擬するフィルターバンクの一構成法」、電子情報通信学会技術研究報告、社団法人電子情報通信学会、1987年、SP87−45、p.65−72
【非特許文献5】早川昭二、梶田将司、坂倉文忠、「蝸牛フィルタを用いた話者の個人性の分析・認識」、電子情報通信学会技術研究報告、社団法人電子情報通信学会、1992年、EA92−19、p.17−23
【非特許文献6】黒柳奨(Susumu Kuroyanagi)、岩田彰(Akira Iwata)、「聴覚情報処理パルスニューラルネットワークモデルを用いた音源定位のための両耳間時間差及び音圧差の抽出(Auditory Pulse Neural Network Model to Extract the Inter-Aural Time and Level Difference for Sound Localization)」、英文論文誌(情報・システム)(Transactions on Information and Systems)、電子情報通信学会(IEICE)、1994年、E77−DNo.4、p.466−474
【発明の開示】
【発明が解決しようとする課題】
【0022】
音による周辺環境把握の基本機能は音源定位と音源認識である。音源定位については、非特許文献2において、2つの入力信号間の時間差情報を抽出した発火パターンを、CONPにより位相情報を保持したまま低次元に写像することで、自動的に入力信号の方位をマッピングできることが確認されている。また、音源認識についても、CONPにより稼働環境における代表的な周波数スペクトルパターンを統計的に学習できることが期待できる。
【0023】
ところが、実環境にCONPを適用することを考えた場合、一般に音には残響成分又は持続成分が存在するため、入力音には複数の音源からの音が混在していることを前提とする必要があるが、CONPは入力ベクトルをそのまま量子化するため、複数の音源から発せられた各音に残響等がある場合には、その混在パターンを学習してしまうという問題があった。
【0024】
かかる問題について、図6を用いて説明する。図6は、CONPによる学習例を示す。図6(a)は、人工的に作成した入力データである。図6(a)において、横軸は時間、縦軸は入力チャンネルを示し、各マスは10msecあたりのパルス頻度を濃淡で表しており、色が濃いほどパルス頻度が高いことを示す。この入力データは計11チャンネルのパルス列であり、4種類の入力信号を想定している。1と2、3と4、5と6チャンネルは、それぞれ1000/secの発火頻度で同時に立ち上がった後に次第に頻度が減少する入力を意味し、7〜11チャンネルは1〜6チャンネルとは独立に発生する瞬時入力を想定したものである。これら4種類の入力信号はそれぞれ異なるタイミングで発生している。
【0025】
この入力データをCONPに入力して、SOMアルゴリズムにより競合学習を行った。システムのサンプリング周波数は48kHzとし、競合学習ニューロンは6個用意して、終端が存在しないようにループ上にした1次元上に配置した。各ニューロンの結合重みの初期値は乱数により与え、2000回の学習を行った。
【0026】
図6(b)は、この学習後のネットワークに対して学習に用いた入力データを改めて入力したときの出力を示す。図6(b)において、横軸は時間、縦軸は競合学習ニューロンの番号を表す。また、図6の最下段の左図は、学習後の各ニューロンの結合重みを示し、同右図は、学習後の理想的な各ニューロンの結合重みを示す。図6の最下段の各図において、縦軸は競合学習ニューロンの番号を表し、横軸は各ニューロンにおける各入力チャンネルの結合重みを表す。
【0027】
図6(b)より、このニューラルネットワークでは、新しいパターンが入力されるたびに勝者ニューロンは変化しており、入力パターンの変化に追従してベクトル量子化が行われたことを示している。しかし、図6の最下段の左図より、各時刻における全11チャンネルの入力パターンを学習したために、第2、3、4、5ニューロンにおいて複数信号の混合パターンを学習しており、4種類の入力信号に対して6パターンの結合重みが生成されていることがわかる。つまり、CONPでは、複数の信号が同時刻に存在する場合には、これを元の信号とは別のパターンとして学習していることが確認された。
【0028】
この発明は、上述した問題を解決するものであり、複数音源から発せられた音の分離学習が可能な音学習装置を提供することを目的とする。
【課題を解決するための手段】
【0029】
本発明の音学習装置は、複数個の競合学習パルスニューロンモデル部(以下、「競合学習ニューロン」と言う。)を備え、前記各競合学習ニューロンは、音信号から生成されたパルス信号が入力される複数個の入力部を備えて、各入力部が有する結合重みと各入力部に入力されたパルス信号とを用いて演算された内部電位値が、該競合学習ニューロンが有する閾値を超えたときに、発火するように構成され、前記内部電位値が最も高かった前記競合学習ニューロン(以下、「勝者ニューロン」と言う。)について、結合重みから構成されてノルムを1としたベクトル(以下、「参照ベクトル」と言う。)が、入力されたパルス信号から構成されるベクトル(以下、「入力ベクトル」と言う。)に近づくように、結合重みを更新することを、各入力ベクトルについて繰り返すことにより学習を行う音学習装置において、前記各入力部に対応して、パルス信号の立ち上がりを検出するための立ち上り検出パルスニューロンモデル部(以下、「ONニューロン」と言う。)が設けられ、前記各ONニューロンは、パルス信号の立ち上がり時から所定時間だけ発火するように構成され、前記各ONニューロンが出力したパルス信号を用いて、前記各競合学習ニューロンの各入力部の結合重みを、パルス信号の立ち上がり時から所定時間だけ非零となるように変化させることを特徴とする。
【発明の効果】
【0030】
本発明の音学習装置によれば、各競合学習ニューロンの各入力チャンネルの結合重みを、入力信号の立ち上がり時から所定時間だけ非零となるように変化させるので、入力信号の立ち上り部分のみが学習に用いられることとなり、残響成分等の影響を受けずに複数音源から発せられた音の分離学習が可能となる。
【発明を実施するための最良の形態】
【0031】
以下、本発明の一実施形態である競合学習ニューラルネットワークからなる音学習装置(以下、「CONP−II」と言う。)について、図面に基づいて説明する。
【0032】
上述したCONPは各時刻の入力ベクトルを競合学習によりベクトル量子化することが可能であり、入力信号の変化に追従して自動的に勝者ニューロンを変化させることが可能である。よってこのCONPの入力に対して、各周波数成分の立ち上がりから特定期間のみに特異的に反応するアクティブフィルタを適用すれば、ほぼ同時刻に立ち上がった周波数成分のみを次々にベクトル量子化すなわちグルーピングすることが可能となる。つまり、
(1)各周波数成分の立ち上がりに反応して,立ち上がりからある特定の期間だけゲートを開くアクティブフィルタ、及び、
(2)CONPの競合学習によるグルーピング効果
を組み合わせることで複数音源からの混合信号を分離し、競合学習することが可能である。以上の考えに基づき、CONP−IIは構成されている。図7−1に、CONP−IIの模式図を示す。CONP−IIは、複数個の競合学習ニューロン1を備え、各競合学習ニューロン1は、音信号から生成されたパルス信号が入力される複数個の入力部2を備えている。
【0033】
CONP−IIの元となるPNモデルも、CONPの場合と同じく、図1に示す構成を有し、このPNモデルの動作は、上記の式(数1)、(数2)により定義される。そして、ニューロンの不応期をRP、時刻tにおける前回発火からの経過時間をET(t)とし、ET(0)>RPとすると、PNモデルの出力値y(t)は、上述したように、以下のアルゴリズムにより決定される。
【0034】
if I(t)≧TH and ET(t)>RP
then y(t)=1,ET(t)=0
else y(t)=0,ET(t)=ET(t−△t)+△t
また、CONP−IIは、CONPと同じく、各ニューロンの閾値を制御するために、競合学習ニューロンが1つも発火していないときに発火するNFDニューロンと、競合学習ニューロンが2つ以上発火しているときに発火するMFDニューロンの2つの状態検出ニューロン(図7−1では、「Control Neurons」と表記。)を有する。そして、これら状態検出ニューロンの出力パルスに応じて、各競合学習ニューロンの閾値を一律に変化させることで、最も高い評価値を持つニューロンすなわち勝者ニューロンのみが発火するように構成されている。
【0035】
そして、CONP−IIは、図7−1に示すように、各入力チャンネルの立ち上がりを検出するONニューロン4を、CONPに追加した構造を有する。ONニューロン4は各入力部2に対応して設けられる。入力チャンネルがnチャンネルであれば、各競合学習ニューロン1における入力部2もn個であり、ONニューロン4もn個となる。図7−1において、入力信号はnチャンネルの時系列パルス信号であり、各競合学習ニューロンにはnチャンネルの入力パルス信号と、ONニューロンの出力パルス信号の合計2nチャンネルが入力される。競合学習ニューロンの数はM個とする。
【0036】
図7−2に示すように、ONニューロンは、時間Tdの遅れ素子である時間遅れ発生部5を設けることにより、PNモデルで実現可能である。図7−2は、1番目の入力チャンネルx1に対するONニューロンの模式図である。今、i番目の入力チャンネルxiに対するONニューロンの時刻tの内部電位をIONi(t)とすると、下記(数6)のように記述できる。
【0037】
【数6】

ここで、τON、wONはONニューロンの減衰時定数および結合重みで,いずれのチャンネルにおいても同じ値を用いる。ONニューロンはこのIONi(t)により閾値THONに従い出力yONi(t)を生成する。
【0038】
これにより、各ONニューロンは、入力信号と、その入力信号を所定時間だけ遅れさせた信号とを用いて、入力信号の立ち上がり時(すなわち、内部電位IONi(t)が閾値THONを超えた時)から所定時間だけ発火するように構成される。詳しくは、(数6)から分かるように、ONニューロンでは、時間遅れのない入力信号によって演算される局所膜電位F(t,τON,wON,xi(t))から時間Tdだけ遅れた入力信号によって演算される局所膜電位F(t−Td,τON,wON,xi(t−Td))を減じたものを内部電位IONi(t)とすることによって、入力信号の立ち上がり時から所定の短時間だけ発火する(すなわち、入力信号の立ち上がり時から所定の短時間だけ1を出力して後は0を出力する)ように構成さる。
【0039】
競合学習ニューロンの入力信号において上述のアクティブフィルタを実現するためには、ONニューロンが発火した時刻より一定時間だけ非零となるようなフィルタ値を作成し、この値と入力パルス列による局所膜電位をかけ合わせたものを各競合学習ニューロンの局所膜電位とすればよい。また、このフィルタ値は ONニューロンの出力パルスを入力とする局所膜電位で実現可能である。今、CONP−IIにおけるh番目(h=1,…,M)の競合学習ニューロンのi番目(i=1,…,n)のチャンネルにおけるフィルタ値をAF*hi(t)とすると、下記(数7)のように記述できる。
【0040】
【数7】

なお、τAFはフィルタ値の減衰時定数である。
【0041】
よって競合学習ニューロンにおける結合重みをw′hi、局所膜電位の減衰時定数をτ、入力信号をxi(t)とすると、求める局所膜電位p*hi(t)は、下記(数8)で記述できる。
【0042】
【数8】

しかし、この演算のためにはPNモデル内において乗算を実装する必要があり、PNモデルの演算コストが大幅に増加してしまう。そこで、結合重みw′hiが固定値であることに着目し、この値をONニューロンの出力値により動的に変化させることで上記膜電位の演算を実装することとした。
【0043】
ONニューロンの出力値yONi(t)を入力とし、結合重みw′hi、減衰時定数τAFで変化する局所膜電位を改めてAFhi(t)とすると、下記(数9)のように記述できる。
【0044】
【数9】

このAFhi(t)を競合学習ニューロンのi番目の入力に対する結合重みとして用いることで、所望する局所膜電位を得ることができる。よって、時刻tにおけるh番目のCONP−IIにおける競合学習ニューロンの内部電位ICONP2h(t)は、次式(数10)のように記述できる。
【0045】
【数10】

図8にCONP−II用の競合学習ニューロン1の模式図を示す。この図において、局所膜電位AFhn(t)の値が局所膜電位p′hn(t)の結合重みの値(図中黒丸で示す。)となる。NFD、MFDの各状態検出ニューロンもCONPと同じものがそのまま流用可能であり、閾値の制御方式もCONPと同様である。学習に関してもCONPと同様に発火した競合学習ニューロンを勝者ニューロンと考え、学習が行われる。ただし、学習に用いる局所膜電位は(数4)のpcwi(u)のかわりに下記(数11)のpcw′i(u)を用いる。
【0046】
【数11】

以上の手法により,ほぼ同時刻に立ち上がった周波数成分のみを次々にベクトル量子化する競合学習ネットワークが実現できる。このCONP−IIのための競合学習ニューロンを従来の競合学習ニューロンと比較した場合、内部で保持すべき局所膜電位の数が倍に増えてはいるが、それ以外の構造は同じものであり、従来のPNモデルを用いて実装が可能であることがわかる。また、あらたに導入されたONニューロンも同様に従来のPNモデルで実装が可能であり、CONP−IIはCONP同様、PNモデルから構成されたネットワークモデルとして実現可能なことがわかる。
【0047】
図9−1、9−2に、上述したCONP−IIの動作フローを示す。CONP−IIでは、n個のデータパルスからなる入力ベクトルx(t)=(x1(t),x2(t),…,xi(t),…,xn(t))が、単位時間毎に入力される(S201)。なお、tは時刻である。すると、CONP−IIでは、NFDニューロンの出力値ynfd(t)、MFDニューロンの出力値ymfd(t)を演算する一方(S202、S203)、ONニューロンの出力値yONi(t)を計算し(S204)、M個のニューロンの各々のアクティブフィルタベクトルAFj(t) (j=1,…,M)を計算する(S205)。次に、CONP−IIの有するM個の競合学習ニューロンの内部電位ICONP2j(t) (j=1,…,M)を演算し(S206)、内部電位ICONP2j(t)が閾値THを超えたニューロンについては、y(t)=1を出力し、それ以外のニューロンについては、y(t)=0を出力する(S207)。そして、学習フェイズであれば、「1」を出力したニューロンについて結合重みを更新するとともに(S208)、そのニューロンの近傍のニューロンについても結合重みを更新し(S209)、参照ベクトルをノルム1に正規化する(S210)。なお、学習フェイズでない場合は、結合重みの更新は行わない。そして、結合重みの更新のための係数を更新して、次の入力ベクトルについて、ステップS201〜210の処理を行う(S211)。
【0048】
以下、コンピュータにおいてソフトウェアによりCONP及びCONP−IIを実現し、シミュレーションを行った結果について説明する。なお、ニューロンへの入力信号が十分に小さい場合において発火閾値が下がりすぎることを防ぐため、CONPにおいてはpcwi(t)、CONP−IIにおいてはpcw′i(u)の総和がある閾値THgよりも小さくなった場合には,内部ポテンシャルに関わらず発火を停止し,また制御ニューロンからの入力をキャンセルするようにした。
【0049】
〈実験1〉人工データによる学習実験
まず、人工的に作成したデータを用いて、CONP−IIの動作確認ならびにCONPとの動作比較を行った。
【0050】
図10(a)に実験に用いた入力データを示す。この図において横軸は時間、縦軸は入力チャンネルを示す。各マスは10msec あたりのパルス頻度を濃淡で表しており、色が濃いほどパルス頻度が高いことを示す。本データは計11チャンネルのパルス列であり、4種類の入力信号を想定している。1と2、3と4、5と6チャンネルは、それぞれ1000/secの発火頻度で同時に立ち上がったあとに次第に頻度が減少する入力を意味し、7から11チャンネルは1から6チャンネルとは独立に発生する瞬時入力を想定したものである。これらの4つの信号はそれぞれ異なるタイミングで発生しており、本実験においてはそれぞれを独立した信号として分離して学習することを期待する。
【0051】
このデータをCONPおよびCONP−IIに入力して、SOMアルゴリズムにより競合学習を行った。システムのサンプリング周波数は48kHzとし、競合学習ニューロンはそれぞれ6個用意した。各ニューロンは終端が存在しないようにループ状にした1次元上に配置しているとする。すなわち、h番目のニューロンとh−1番目及びh+1番目のニューロン(h=2,3,4,5)、そして1番目と6番目のニューロンが隣接関係を持つ。学習半径は、学習回数により、ニューロンの個数Mすなわち6からリニア(linear)に減少し、所定回数EN0=200で0になるものとした。各ニューロンの結合重みの初期値は乱数により与えられ、それぞれ2000回の学習を行った。なお、CONPについては、図6に示した学習例と同じ実験となる。
【0052】
なお、学習にはSOMアルゴリズムを用いているため、結果として全ての競合学習ニューロンは学習の初期に入力パターンの平均値を学習しており、本実験においてはKohonen 学習則を用いたときのような学習結果の初期値依存性は解消されている。ただし、結合重みの初期値によって学習後の結合重みの順番が位相関係を保持したままループ的にシフトをすることが考えられるが、これは実験結果の評価には影響をあたえない。
【0053】
実験に用いたネットワークの各種パラメータは表1の通りである。表中のwnfd、THnfd、τnfd、wmfd、THmfd、τmfdは、それぞれNFDニューロン、MFDニューロンの結合重み、発火閾値、膜電位減衰時定数を表す。CONPおよびCONP−IIで異なる値については、I/IIの順で併記してある。
【0054】
【表1】

学習後のネットワークに対して学習データをあらためて入力した時のCONP、CONP−IIそれぞれのネットワークの出力を図10(b)(c)に示す。これらの図においては縦軸は競合学習ニューロンの番号をあらわす。また、図11に学習後のCONPおよびCONP−IIのそれぞれの競合学習ニューロンの結合重みを示す。
【0055】
以上の実験結果より、まず、CONP−IIでは、図10(c)より、新しいパターンが入力されるたびに勝者ニューロンが変化しており、10msec程度の時間解像度においては、入力パターンの変化に追従してベクトル量子化が行われていることがわかる。また、図11(b)より、第1、3、4、5ニューロンの結合重みにより4種類の入力信号を分離して学習していることがわかる。なお入力信号のパターン数に比べて用意した競合学習ニューロンが多かったため、第2ニューロンは一度も発火しないデッドノードとなっており、第6ニューロンは第1ニューロンとほぼ同じパターンを学習している。
【0056】
CONP−IIでは、各信号の立ち上がりに反応するアクティブフィルタとしてONニューロン群を内蔵しているため、入力信号が持続的なものであっても信号の立ち上がりからある一定時間が経過するとニューロンへの入力信号が消滅してしまう。このため各ニューロンの発火の持続時間は最大でも約50msecとなっている。
【0057】
次に、CONPにおいては、図10(b)より新しいパターンが入力されるたびに勝者ニューロンは変化しており、ベクトル量子化が行われたことを示しているが、図11(a)より、各時刻における全11チャンネルの入力パターンを学習したために第2、3、4、5ニューロンにおいて複数信号の混合パターンを学習しており、4種類の入力信号に対して6パターンの結合重みが生成されていることがわかる。つまり、CONPにおいては、複数の信号が同時刻に存在する場合にはこれを元の信号とは別のパターンとして学習していることが確認された。
【0058】
以上の結果より、CONP−IIにより新たに提示された信号をそれ以前の入力から分離して学習可能であることが明らかとなり、複数信号の混合信号に対するCONP−IIの有効性が確認できた。
【0059】
〈実験2〉混合音による学習実験
次に、シンセサイザにより生成された混合器楽音を用いて音信号に対するCONP−IIの評価実験を行った。音の作成にはCakewalk 社のAudio Workstation Software SONAR4 を使用し、Software Synthesiser TTS-1 により生成された3音程のフルートの音(サンプリング周波数48kHz、16bit量子化)とバックグランドホワイトノイズの計4つの音を混合した。3つのフルート音はそれぞれC4、E5、G6の音程で、同音量である。ホワイトノイズは各フルート音に対して−24dBの音量で混合した。図12に各音の発音タイミングを示す。この図において、横軸は時間を示し、一つのマスが50msecを表す。C4、E5、G6のそれぞれの音について発音した時間(音が持続している時間)を黒帯で示した。ホワイトノイズについては終始発音し、混合した。本実験ではこの音をCONPおよびCONP−IIにて学習し、CONP−IIにおいては、各音の立ち上がり成分以外を除去して学習することにより、発音タイミングの違いから混合音を分離して学習することを期待する。
【0060】
なお、CONP−IIにおいては、複数の音程がほぼ同時に発音した場合には、これらの混合音をひとつの音として認識することを想定している。このような音はいわゆる和音であり、各音程の音とは別の新種類の音として識別することが妥当であろう。ただし、別種類の音源からの音がほぼ同時に発音した場合には、それぞれの音の包絡線(音圧の時間変化)情報が異なることにより別々の立ち上がりが検出され、独立したふたつの音として学習されることは妥当である。また、今回は単一センサによるモノラル音源を想定しているが、複数のセンサを用いた場合には同時発音した音であっても、その音源の定位方向の違いを用いることで音を分離学習することが可能であろう。
【0061】
本学習実験では上述の4つの混合音信号をパルス列に変換してネットワークへの入力信号とした。以下、その変換方法を簡潔に述べる。入力信号は、まず、駒木根らのLyon 型バンドパスフィルタ群(非特許文献4、5参照)により、周波数成分に分解される。なお、今回は周波数方向の分解能を向上させるために各フィルタの中心周波数をBark軸上の1/3から20まで、1/3[Bark]ごとに60チャンネル用意し、このうちの第6(中心周波数約0.20kHz)から第55チャンネル(中心周波数約4.8kHz)の50チャンネルを使用した。各周波数成分は非特許文献6で述べた非線形変換によりエンベロープの検出を行い、生成パルス間隔はこのエンベロープの大きさに反比例するとして、パルス列を生成した。また、発火頻度による振幅情報の表現能力を十分に持たせるため、1チャンネルあたり10本のパルス列を用いた。なお各パルス列はCONP、CONP−IIのニューロンと同様の不応期RPを持つとし、最高発火頻度が1000/secに制限されている。以上の方法で生成された入力パルス信号を図13(a)に示す。この図において各マスは20msecあたりの発火頻度を示し、発火頻度が高いほど濃い色で塗り潰されている。最大発火頻度は200/マスである。この図から3つのフルート音それぞれが別の倍音構成をもっており、混合音はそれら倍音の混合から構成されていることがわかる。
【0062】
CONP、CONP−IIを用いて、上述のデータを学習し、学習後のネットワークに対してデータをあらためて入力した時のネットワークの出力を図13(b)、(c)、(d)、(e)に示す。図13(b)、(c)はCONP、(d)、(e)はCONP−IIを用いて学習し、競合学習ニューロンの数を(b)、(d)は4、(c)、(e)は8とした。実験1と同様にシステムのサンプリング周波数は48kHzとし、各競合学習ニューロンは終端が存在しないようにループ状に配置した。これらの図において各マスは図13(a)と同様に20msecあたりの競合学習ニューロンの発火頻度を表し、最大発火頻度は20/マスである。実験に用いたネットワークの各種パラメータは表2の通りである。この表においてCONPおよびCONP−IIで異なる値、もしくは競合学習ニューロンの数を変えた場合に異なる値については、I/IIまたはI-4(CONPでニューロン数4の場合)/I-8(CONPでニューロン数8の場合)/IIのように併記した。NFD、MFDニューロンについては実験1と同じパラメータを用いているため省略した。
【0063】
【表2】

また、図14(a’)に、図13(a)より抜粋した入力音C4、E5、G6 に対応する入力信号の発火パターンを示し、図14(c)、(d)に、図13(c)および(d)で用いたネットワークにより得られた学習後の各競合学習ニューロンの結合重みを示す。図14(c)、(d)の縦軸はニューロン番号を表し、図13(c)、(d)の縦軸に相当する。横軸は周波数チャンネルを表し、図13(a)の縦軸に相当する。
【0064】
これら実験結果より、CONPの実験結果では、図13(b)、(c)ともに競合学習ニューロンの中に発火タイミングが同期しているニューロンがないことから、それぞれすべての競合学習ニューロンを使って入力信号をベクトル量子化しており、入力として用いた独立音3種以上のパターンをベクトル量子化している事がわかる。また、図14(c)においても、たとえば第4、6ニューロンはそれぞれG6、E5の単独音を学習しているが、その間にある第5ニューロンはこの2音の混合音を学習していることが確認でき、上述の通りCONPは混合前の単独音ではなく、各時刻における全周波数チャンネルの入力パターンをベクトル量子化していることがわかる。
【0065】
これに対して、CONP−IIの実験結果については、まず、図13(e)では入力パターンのバリエーションに対して競合学習ニューロンの数が多すぎるためにデッドニューロンが存在しており(第1、2、5ニューロン)、かつ同一のパターンを複数のニューロンが学習する様子が確認できる(第7および第8ニューロン)。そして図13(d)では4つのうち2つのニューロンが同一のパターンを学習している(第3および第4ニューロン)ため、結局3種類のパターンを学習していることがわかる。ここで、図13(d)より、第1、2、3ニューロンはそれぞれC4、E5、G6の構成周波数に相当するパターンを学習しており、混合音を構成する3つの音をそれぞれ学習していることが確認できる。なお、図14(d)において第4ニューロンはG6のパターンを基本として若干C4のパターンを付加したパターンを学習している。これは競合学習ニューロンをループ上に配置したために、第1ニューロンと第3ニューロンの両方のパターンを学習したと考えることができる。
【0066】
以上の実験結果から、CONP、CONP−IIいずれにおいても競合学習により入力信号をベクトル量子化できているが、CONPでは複数の音が同時に存在する場合にはその混合音をベクトル量子化しているのに対し、CONP−IIでは各音の立ち上がりの違いを用いてそれぞれの構成音を分離してベクトル量子化していることが確認できた。これより、CONP−IIを用いることで立ち上がりのそろった周波数成分のみをひとつのパターンとみなしてベクトル量子化が可能であり、それぞれ独立して発生した混合音を分離して競合学習可能であることが明らかとなった。
【0067】
以上の計算機シミュレーションの結果より、音の立ち上がりをずらした複数の音を混合した信号に対してCONP−IIを用いることで、それぞれの音を分離してベクトル量子化が可能であることが確認できた。すなわち、CONP−IIは、複数の音源からの音が混在する状況においてそれぞれの音の残響成分を除去することにより、各音を分離して競合学習することが可能である。
【0068】
CONP−IIは、各周波数成分の立ち上がりの同期性を用いてそれぞれの音をグルーピングすることが可能であり、PNモデルの持つダイナミクスを有効に利用することで、かかる機能を実現している。また、このような機能を実装する場合、通常はアクティブフィルタと入力信号の乗算演算が必要となりモデルの計算コストが増大するが、CONP−IIではPNモデルにおける結合重みの値をアクティブフィルタ値とする(すなわち、入力信号の立ち上がりから所定時間だけ非零とする)ことで、乗算を用いることなくかかる機能を実現できた。このため、CONP−IIによれば、計算コストの増大を防止できる。
【0069】
なお、上記実施形態ではコンピュータ上でソフトウェア的にCONP−IIを実現したが、FPGA等のデバイスを用いてハードウェア的にCONP−IIを実現することも可能である。
【0070】
また、SOMアルゴリズムを用いない(すなわち、勝者ニューロンの周辺のニューロンについては結合重みの更新を行わない)形態とすることも可能である。
【図面の簡単な説明】
【0071】
【図1】PNモデルの模式図である。
【図2】従来のSOMアルゴリズムを示すフローチャートである。
【図3】従来の競合学習ニューラルネットワークの模式図である。
【図4−1】従来の競合学習ニューラルネットワークにおける処理の流れを示すフローチャートである。
【図4−2】従来の競合学習ニューラルネットワークにおける処理の流れを示すフローチャートである。
【図5】従来の競合学習用PNモデルの模式図である。
【図6】従来の競合学習ニューラルネットワークによる学習例を示す図である。
【図7−1】本発明の一実施形態に係る競合学習ニューラルネットワークの模式図である。
【図7−2】本発明の一実施形態に係るONニューロンの模式図である。
【図8】本発明の一実施形態に係る競合学習用PNモデルの模式図である。
【図9−1】本発明の一実施形態に係る競合学習ニューラルネットワークにおける処理の流れを示すフローチャートである。
【図9−2】本発明の一実施形態に係る競合学習ニューラルネットワークにおける処理の流れを示すフローチャートである。
【図10】実験1における学習結果を示す図である。
【図11】実験1における各ニューロンの学習後の結合重みを示す図である。
【図12】実験2における入力信号を示す図である。
【図13】実験2における学習結果を示す図である。
【図14】実験2における各ニューロンの学習後の結合重みを示す図である。
【符号の説明】
【0072】
1…競合学習パルスニューロンモデル部(競合学習ニューロン)
2…入力部
4…立ち上がり検出パルスニューロンモデル部(ONニューロン)

【特許請求の範囲】
【請求項1】
複数個の競合学習パルスニューロンモデル部(以下、「競合学習ニューロン」と言う。)を備え、
前記各競合学習ニューロンは、音信号から生成されたパルス信号が入力される複数個の入力部を備えて、各入力部が有する結合重みと各入力部に入力されたパルス信号とを用いて演算された内部電位値が、該競合学習ニューロンが有する閾値を超えたときに、発火するように構成され、
前記内部電位値が最も高かった前記競合学習ニューロン(以下、「勝者ニューロン」と言う。)について、結合重みから構成されてノルムを1としたベクトル(以下、「参照ベクトル」と言う。)が、入力されたパルス信号から構成されるベクトル(以下、「入力ベクトル」と言う。)に近づくように、結合重みを更新することを、各入力ベクトルについて繰り返すことにより学習を行う音学習装置において、
前記各入力部に対応して、パルス信号の立ち上がりを検出するための立ち上り検出パルスニューロンモデル部(以下、「ONニューロン」と言う。)が設けられ、
前記各ONニューロンは、パルス信号の立ち上がり時から所定時間だけ発火するように構成され、
前記各ONニューロンが出力したパルス信号を用いて、前記各競合学習ニューロンの各入力部の結合重みを、パルス信号の立ち上がり時から所定時間だけ非零となるように変化させる
ことを特徴とする音学習装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4−1】
image rotate

【図4−2】
image rotate

【図5】
image rotate

【図7−1】
image rotate

【図7−2】
image rotate

【図8】
image rotate

【図9−1】
image rotate

【図9−2】
image rotate

【図12】
image rotate

【図6】
image rotate

【図10】
image rotate

【図11】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2008−77177(P2008−77177A)
【公開日】平成20年4月3日(2008.4.3)
【国際特許分類】
【出願番号】特願2006−252798(P2006−252798)
【出願日】平成18年9月19日(2006.9.19)
【出願人】(304021277)国立大学法人 名古屋工業大学 (784)