JP3737841B2 - ニューラルネットワーク - Google Patents

ニューラルネットワーク Download PDF

Info

Publication number
JP3737841B2
JP3737841B2 JP23606295A JP23606295A JP3737841B2 JP 3737841 B2 JP3737841 B2 JP 3737841B2 JP 23606295 A JP23606295 A JP 23606295A JP 23606295 A JP23606295 A JP 23606295A JP 3737841 B2 JP3737841 B2 JP 3737841B2
Authority
JP
Japan
Prior art keywords
learning
input
layer
intermediate layer
neuron element
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP23606295A
Other languages
English (en)
Other versions
JPH0962644A (ja
Inventor
英人 苫米地
Original Assignee
株式会社ジャストシステム
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社ジャストシステム filed Critical 株式会社ジャストシステム
Priority to JP23606295A priority Critical patent/JP3737841B2/ja
Publication of JPH0962644A publication Critical patent/JPH0962644A/ja
Application granted granted Critical
Publication of JP3737841B2 publication Critical patent/JP3737841B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、ニューラルネットワークの学習方法、ニューラルネットワークおよびニューラルネットワークを利用した音声認識装置に関する。
【0002】
【従来の技術】
従来のニューラルネットワークでは、入力層、中間層、出力層といった階層構造に構成され、学習により各ニューロン素子相互間の結合重みを変化させるようになっている。学習は、一般にバックプロバゲーション法(誤差逆伝播法;…文献…)によっている。
従来のニューラルネットワークでは、入力層、中間層、出力層の各層を構成するニューロン素子の数は、ニューラルネットワークで検出や判定等の処理を行おうとする内容により、予め決められている。例えば○、□、△の三種類の各カテゴリに属する手書きの図形を認識する場合、出力層のニューロン素子は3個となる。また、図形を8×8に分割して入力データとする場合、入力層のニューロン素子は64個となる。一方、中間層のニューロン素子は、経験から決める必要があるが、この数が少ないと誤認識率が高くなり、一方、多いとバックプロバゲーションによる学習時間が非常に長くなったり、学習過程において最適解に至らず局所最小点(local minimum)から抜け出せず、学習不可状態となる場合がある。なお、本明細書において、学習不可状態とは、学習時間が所定時間を越えて長くなった場合、および学習過程において最適解に至らない場合をいうものとする。また、従来のニューラルネットワークでは、例えば、○の学習が終了した後に□の学習をし、その後に△の学習を行うというように、順次学習を行うため、ある段階での学習を開始する場合、それ以前に行った学習による結合重みが変化してしまうという欠点がある。
【0003】
そこで、中間層 (Hidden Unit) のニューロン素子を学習の段階で最適な数まで適宜追加していく、カスケードコーリレーションによるニューラルネットワーク(以下、CCNNという)が、カーネギーメロン大学1990年2月14日発行、Scott E.Fahlman 著の技術レポート♯CMU-CS-90-100 の“The Cascade-Correlation Learning Architecture ”で提案されている。CCNNは、初期の状態では入力層と出力層のみが存在し、学習により局所最小点に入り込んだり収束しなかった場合に、新たなニューロン素子を中間層に追加し、再度学習を繰り返すようになっている。
また、CCNNは、入力層と中間層間の結合重み(Wで表す)を固定し、入力層と出力層間の結合重み(kで表す)と、中間層と出力層間の結合重み(wで表す)を調整することで、それ以前に学習した内容についてある程度記憶するようにしている。
【0004】
【発明が解決しようとする課題】
しかし、CCNNは、全入力データについての学習が終了するまで中間層のニューロン素子を追加していくため、学習データの量が増大するにしたがって学習時間も大幅に増加することになっていた。
また、CCNNは、入力層と中間層間の結合重Wみのみ固定し、中間層と出力層間の結合重みwは固定されずに調整可能である。このため、例えば、図形認識において図形○についての認識が終了したとしても、次の図形□の学習により結合重みwが変化してしまうため、○についての学習内容を充分に記憶しているとはいえなかった。
【0005】
そこで、本発明は、学習を高速で行うことができると共に、学習内容を充分に記憶することが可能なニューラルネットワークを提供することを目的とする。
【0006】
【課題を解決するための手段】
請求項1に記載の発明では、入力層ニューロン素子を複数有する入力層と、出力層ニューロン素子を複数有する出力層と、所定のカテゴリのうちのいずれか1のカテゴリに分類され、前記入力層の入力層ニューロン素子と結合重みWで結合すると共に、前記出力層の出力層ニューロン素子と結合重みwで結合する中間層ニューロン素子を、複数有する中間層と、前記中間層の中間層ニューロン素子と結合重みvで結合した仮説出力層ニューロン素子を複数有する仮説出力層と、あるカテゴリについての学習を行う場合に、他のカテゴリに属する中間層ニューロン素子と、入力層ニューロン素子との結合重みW、および出力層ニューロン素子との結合重みwを固定し、学習対象となるカテゴリの中間層ニューロン素子との結合重みW、wを調整することで学習を行う学習手段と、この学習手段による学習の際に、あるカテゴリに属する学習用入力データに対して学習不可状態になった場合に、その学習用入力データが属するカテゴリの中間層ニューロン素子を追加する中間層ニューロン素子追加手段と、を備え、前記学習手段は、複数のベクトル列Fn(n=1、2、3、…)の集合が特定のカテゴリに属する意味Aを表すデータについて、ベクトル列Fnを入力層に入力し、ベクトル列Fn+1を第1教師信号として前記出力層に入力し、特定の意味Aを第2教師信号として前記仮説出力層に入力することで、学習を行うことを特徴とするニューラルネットワークにより前記目的を達成する。
請求項2に記載の発明では、請求項1に記載のニューラルネットワークにおいて、前記学習手段は、さらに学習対象となっているカテゴリの既存の中間層と入力層との結合重みWを固定し、前記中間層ニューロン素子追加手段による追加された新たな中間層ニューロン素子の結合重みWとw、および学習対象となっているカテゴリの既存の中間層ニューロン素子の結合重みwを調整することで学習を行う。
請求項3に記載の発明では、それぞれ異なるカテゴリ毎に別個独立して学習が行われた複数の中間層と、この複数の中間層の各中間層ニューロン素子と結合重みWで結合した、入力層ニューロン素子を複数有する入力層と、前記複数の中間層の各中間層ニューロン素子と結合重みwで結合した、出力層ニューロン素子を複数有する出力層と、前記入力層の入力層ニューロン素子と結合重みW′で結合し、前記出力層の出力層ニューロン素子と結合荷重w′で結合した調整用中間層と、前記複数の中間層における前記結合重みWと結合重みwを固定し、前記調整用中間層の結合重みW′とw′を調整することで、前記複数の中間層の学習に使用した学習用入力データにより、ネットワーク全体の学習を再度行う学習手段と、この学習手段による学習の際に学習不可状態になった場合に、前記調整用中間層の中間層ニューロン素子を追加する中間層ニューロン素子追加手段と、をニューラルネットワークに具備させて前記目的を達成する。
請求項4に記載の発明では、請求項3に記載のニューラルネットワークにおいて、前記中間層の中間層ニューロン素子と結合重みvで結合した仮説出力層ニューロン素子を複数有する仮説出力層を備え、前記学習手段は、複数のベクトル列Fn(n=1、2、3、…)の集合が特定のカテゴリに属する意味Aを表すデータについて、ベクトル列Fnを入力層に入力し、ベクトル列Fn+1を第1教師信号として前記出力層に入力し、特定の意味Aを第2教師信号として前記仮説出力層に入力することで、学習を行う。
請求項5に記載の発明では、請求項4に記載のニューラルネットワークにおいて、前記中間層の中間層ニューロン素子と結合し、その出力ベクトル列が前記中間層に供給される環帰層ニューロン素子を複数有する環帰層を備え、前記学習手段は、複数のベクトル列Fnの集合が特定のカテゴリに属する意味Aを表すデータについて、ベクトル列Fn−1に対する前記中間層または前記出力層の出力ベクトル値を前記環帰入力層に入力し、ベクトル列Fnを前記入力層に入力し、ベクトル列Fn+1を第1教師信号として前記出力層に入力し、特定の意味Aを第2教師信号として前記仮説出力層に入力することで、学習を行う。
請求項6に記載の発明では、請求項1から請求項5のうちのいずれか1の請求項に記載されたニューラルネットワークにおいて、前記学習手段は、バックプロパゲーション則により学習する。
請求項7に記載の発明では、請求項4または請求項5に記載のニューラルネットワークにおいて、前記特定の意味Aが音声を構成する音素であり、複数のベクトル列Fnが、時系列的に解析された特定の意味Aについての特徴量を表すベクトル列を使用する。
請求項8に記載の発明では、請求項7に記載のニューラルネットワークにおいて、前記特定の意味Aについての特徴量を表すベクトルとして、音声のスペクトルデータ、ケプストラムデータ、または自己連想型ニューラルネットワークの中間層の出力値データを使用する。
【0007】
【発明の実施の形態】
以下本発明のニューラルネットワークにおける好適な実施形態について、図1から図26を参照して詳細に説明する。
図1は第1実施形態におけるニューラルネットワークのシステム構成を表したものである。
このニューラルネットワークは、ニューロン素子網に対する学習のためのベクトル列(入力データD)の入力と出力層への教師信号(ベクトル列)の入力、学習による各ニューロン素子間の結合重みの変更、およびニューロン素子網からの出力信号に基づく図形認識、文字認識、音声認識等の各種処理および制御を行うCPU11を備えている。
このCPU11は、データバス等のバスライン12を介して、ROM13、RAM14、通信制御装置15、プリンタ16、表示装置17、キーボード18、ニューロン素子網22、および図形読取装置24が接続されている。
【0008】
ROM13は、CPU11が図形認識、文字認識、ニューロン素子網の学習等の処理や制御を行うための各種プログラムやデータが格納されているリード・オンリー・メモリである。このROM13には、例えば、ニューロン素子網の学習としてバックプロパゲーション則による学習を行うためのプログラムが格納されている。
RAM14は、ROM13に格納された所定のプログラムがダウンロードされ格納されると共に、CPU11のワーキングメモリとして使用されるランダム・アクセス・メモリである。RAM14には、図形読取装置24で読み取られた画像データが格納される画像データ格納エリアが確保されている。
【0009】
通信制御装置15は、ニューラルネットワークで認識された文字のコード情報等の各種データについて、電話回線網、LAN、パーソナルコンピュータ通信網等の各種の通信網2を介して他の通信制御装置との間でデータ送受信を行う。
プリンタ16は、レーザプリンタやドットプリンタ等を備えており、入力データや認識した文字や図形等を印刷するようになっている。
表示装置17は、CRTディスプレイや液晶ディスプレイ等の画像表示部と表示制御部とを備えており、入力データや認識した文字や図形、および、必要な各種操作の指示を画面表示するようになっている。
【0010】
キーボード18は、パラメータの変更や設定条件等を入力したり、文章の入力処理等を行うための入力装置であり、数字を入力するテンキー、文字を入力する文字キー、各種の機能を実現するための機能キー等が配置されている。このキーボード18には、ポインティングデバイスとしてのマウス19が接続されている。
図形読取装置24は、CCD(Charge Coupled Device )等の素子を備えており、用紙等に記録された画像を読み取るための装置であり、この画像読取装置24で読み取られた画像データは、RAM14に格納されるようになっている。
【0011】
図2は、ニューロン素子網2の初期状態の構成を表したものである。
この図2に示すように、ニューロン素子網22は、入力層Inと出力層Ouを備えており、初期状態においては中間層(Hidden層)を備えていない。中間層を構成するニューロン素子Hiは、学習の各段階において適宜追加されるようになっている。ニューロン素子網22は、初期状態および中間層のニューロン素子が追加された各状態において、順伝播活性および逆伝播学習が可能なように構成される。
入力層Inは、N個のニューロン素子In1〜InN、およびバイアスbで構成されている。入力層Inの各ニューロン素子In1〜InNには、入力データの値が入力され、バイアスbには、常時“+1”が入力されるようになっている。
出力層OuはM個のニューロン素子Ou1〜OuMで構成されている。各出力層Ouのニューロン素子Ou1〜OuM、および、追加された中間層Hiのニューロン素子Hi11〜Himpは、シグモイド関数および閾値が設定されており、−1.0から+1.0の範囲で出力されるようになっている。
【0012】
入力層Inの各ニューロン素子In1〜InNおよびバイアスbと、出力層Ouの各ニューロン素子Ou1〜OuMとは、それぞれ結合重みk、q、rで結合されている。
入力層Inと出力層Ou間の各結合重みについては、学習段階において、調整可能である。図2において、調整可能な結合重みについては、○で表すことにする。一方、図2では表されていないが、固定された結合重みについては●で表すこととする。
【0013】
ここで結合重みを表す文字について次のように定義する。入力層Inと出力層Ouにおける結合重みをkで表し、入力層Inと中間層Hiにおける結合重みをWで表し、中間層Hiと出力層Ouにおける結合重みをwで表し、中間層Hi間における結合重みをhで表す。
そして、各結合重みの後に付したq,rを次のように定義する。すなわち、q、rに各ニューロン素子の番号を使用し、信号が流れる順に並べる。例えば、ニューロン素子In30とニューロン素子Ou25との結合重みは、In30からOu25に信号が流れるので、k30,25となる。また、ニューロン素子In11とニューロン素子Hi22との結合重みは、In11からHiに信号が流れるので、W11,22となる。
また中間層Hi間の結合重みhは、hm,(p−1),pで表し、第m中間層Himにおけるニューロン素子Him(p−1)とニューロン素子Himpとの結合重みを表す。中間層のニューロン素子は、学習の各段階で順次追加されるが、mの値が同一である限り(この場合には、同一の教師信号が供給されている)、追加される前後のニューロン素子間でのみ結合している。
【0014】
ニューロン素子網22は、これらの各結合重みを格納する図示しないメモリを備えている。
図3は、このようなニューロン素子網22の各ニューロン素子間の結合重みを格納する結合重みテーブルを表したものである。この結合重みテーブルは、図2に対応した初期状態における結合重みを表したものである。
入力層Inと中間層Hi間の結合重みW、中間層と出力層Ou間の結合重みw、および中間層Hi間の結合重みhについては、学習の過程において、中間層Hiのニューロン素子が新たに追加される毎に、CPU11によって確保される。そして、各結合重みを調整することで学習が行われる。各結合重みについては、結合重みkを除き、結合重みW、w、およびhについては、各学習の過程におい所定の学習を行う間調整され、他の学習を行う際には固定されるようになっている。
【0015】
次に、このように構成された実施形態について、○、□、△の三種類の図形についての学習動作について説明する。
認識対象となる三種類の図形の各々を特定するための符号として、それぞれ3ビットの符号で表し、これを学習時の教師信号とする。すなわち、出力層Ouに供給される教師信号として、入力データが○の場合Ou1〜Ou3の順に“100”、□の場合“010”、△の場合“001”をそれぞれ供給する。
学習に使用する入力データとしては、各図形についてg個の図形○1〜○g、□1〜□g、△1〜△gを使用する。g個の各図形については、手書きによるそれぞれ異なった形状が使用される。
【0016】
図4は、学習データとしての図形○1を表したものである。
この図4に示すように、図形○1について縦10×横10=100個の領域に分割し、各領域に図形○の線分が含まれている場合には“1”、含まれていない場合には“0”を、それぞれ入力データD1〜D100の値とする。
例えば、D1〜D13等の領域には線分が含まれていないので“0”となり、D14、D15等の領域には線分が含まれているので“1”となる。
これらの各入力データD1〜D100の値が、学習時に、それぞれ入力層In1〜In100に供給される。
【0017】
これらg個の図形○1〜g、□1〜g、△1〜gのそれぞれについての入力データD1〜D100について、予めROM13に格納されたものを使用する。
また、通信制御装置12を介して他の装置から受信し、これをてRAM14に格納した後に使用するようにしてもよい。更に、手書きした各図形について、読取装置24で読み取り、各図形毎に入力データD1〜D100を作成してRAM14に格納するようにしてもよい。
【0018】
図5は、3種類の図形認識についての学習を行うためのニューロン素子網22の構成表したものである。
この図5(a)に示すように、学習前の段階において中間層は未だ追加されていない。一方、入力層Inは、入力データD1〜D100に対応して、100個のニューロン素子In1〜In100を有している。また、入力層Inのバイアスbには、常時“+1”のバイアスが加えられている。そして、出力層Ouは、認識対象となる3種類の図形を3ビットの符号で表すことに対応して、3個のニューロン素子Ou1〜Ou3を有している。
また、図5(b)に示すように、結合重みテーブルがニューロン素子網22内に確保される。
なお、図2で説明したように、○印で表した入力層Inと出力層Ou間の結合重みk1,1〜kb,3については、学習段階において調整可能であり、●印で表される結合重みは固定されており調整できない。
【0019】
図6は、学習動作の詳細を表したフローチャートである。なお、図形○1〜○gをZ=1〜gで表し、図形□1〜□gをZ=g+1〜2gで表し、図形△1〜△gをZ=2g+1〜3gで表すものとする。
まずニューラルネットワークについての学習を行う場合、ユーザは、最初にキーボード18を操作することにより、または表示装置17に表示された所定キーをマウスにより操作することにより、学習モードを指定する。
【0020】
学習モードが指定されると、CPU11は、Z、m、pについて、Z=m=1、p=0に初期設定を行う(ステップ11)。
次にCPU11は、図形Zに対応する入力データD1〜D100及び、図形Zに対応する教師信号(Z=1の場合、図形○に対する教師信号“100”)を読み込む(ステップ12)。
【0021】
そして、CPU11は、読み込んだ入力データ、バイアスb(+1)、教師信号および、ニューロン素子網22の結合重みテーブルに格納されている結合重みから、学習処理を行う(ステップ13)。
すなわち、CPU11は、図形Zについての学習用入力データD1〜D100及びバイアスbを入力層Inの各ニューロン素子In1〜In100に入力した場合の出力層Ouの各ニューロン素子Ouの出力値を求める。この出力値と図形Zに対する教師信号との誤差δが最小値になる、調整可能な結合重み(p=0の場合にはkのみ、p=1の場合にはW、wおよびk、p≧2の場合にはW、h、wおよびk)を、CPU11は求める。
例えば、図5(b)に示すように、中間層Hiがまだ追加されていない場合(p=0)、調整可能な結合重みとして、結合重k1,1〜kb,3のみが求められる。
【0022】
ここで、本実施形態において、行われる学習はバックプロパゲーション則による学習が行われる。学習式は、δw(t)=〔S(t)/〔S(t−1)−S(t)〕〕×δw(t−1)であり、式の詳細および学習アルゴリズム(TheQuickprop Algorithm)は、カーネギーメロン大学1988年9月発行、Scott E.Fahlman著の技術レポート♯CMU−CS−88−162の“An Empirical Study of Learning Speed in Back−Propagation Networks”に記載されている。
また、エルマン(J.L.Elman)による、Finding structure in time,Cognitive science,14,pp.179−211(1990)に記載されている、離散時間のリカレントネットワークに、フィードフォワードネットワークのバックプロパゲーション則を準用した学習則でもよい。
また、学習については以上の方法に限定されず、他の学習則によってもよい。
【0023】
そして、CPU11は、学習処理により求めた結合重みを用いた場合の誤差δの値が所定値以下になっているか否かについて判断する(ステップ14)。
誤差δが所定値以下になっていない場合(ステップ14;N)、CPU11は、結合重みテーブルの値をステップ13で求めた結合重みW、h、w、kに更新することなく、pに1を加えた後(ステップ15)、中間層Hiの新しいニューロン素子Himpを追加する(ステップ16)。この新しいニューロン素子Himpは、第m中間層を構成する。
新たなニューロン素子Himpの追加により、ニューロン素子網と結合重みテーブルには、調整可能な結合重みW,h,およびwが新しく確保される。なお、p=1の場合には、中間層Hiにおけるニューロン素子間の結合重みhは確保されない。
新しく追加されたニューロン素子Himpには、出力層Ouのニューロン素子と同様に、シグモイド関数および閾値が設定されており、−1.0から+1.0の範囲で出力されるようになっている。
【0024】
図7は、新しいニューロン素子Himp=Hi11を追加したニューロン素子網(a)、および、結合重みテーブル(b)を表したものである。
この図7(a)に示すように、新たなニューロン素子Hi11は、図形○1についての第1中間層を構成する。そして、新しいニューロン素子Hi11と、入力層Inのニューロン素子In1〜In100およびバイアスbとの結合重みW1,11〜W100,11、Wb,11がニューロン素子網と結合重みテーブルに確保される。また、ニューロン素子Hi11と出力層Ouのニューロン素子Ou1〜Ou3との結合重みw11,1〜w11,3も確保される。
図7(a)でも○印で示されるように、これら新たな結合重みWとwは、共に調整可能な結合重みである。
【0025】
ステップ16において、新しいニューロン素子Hmpが追加された後、CPU11は、既設のニューロン素子Him(p−1)についての結合重みW,hを固定(それ以後は更新できない状態)する(ステップ17)と共に、Zの値を1に戻した後(ステップ18)、ステップ12に移行する。これにより、調整可能な中間層のニューロン素子Himpよって新たな構成となったニューロン素子網により、図形Z=1(最初の図形○1)から再度の学習処理を行う。
ただし、再度の学習処理であっても、ニューロン素子網は、それまでに学習した内容の一部について、固定された結合重みWの値として記憶している。従って、例えば、図形Z=8の学習で誤差δが所定値以下にならなくなった場合でも、図形Z=7までの学習内容の一部を、ニューロン素子Him(p−1)についての結合重みWとして記憶しているので、再度の学習における図形Z=7までの学習処理(ステップ13)を容易に終了させることができる。
【0026】
一方、ステップ14において誤差δが所定値以下である場合(ステップ14;Y)、CPU11は、結合重みテーブルの調整可能な結合重みをステップ13で求めた値に更新する(ステップ19)。そして、次の図形についての学習を行うためにZに1を加える(ステップ20)。
そして、次の図形が他の形状か否かについてZの値を確認する(ステップ21)。すなわち、Z=g+1(次の図形が□)、または、Z=2g+1(次の図形が△)でない場合(ステップ21;N)、CPU11は、Z=3g+1であるか否かを判断する(ステップ22)。
Z≠3g+1であれば(ステップ22;N)、全図形についての学習がまだ終了していないので、ステップ12に戻り、次の図形Zについての学習処理を行う。
【0027】
図8、図9は、第1中間層のニューロン素子が更に追加された状態を表したものである。
図7に示すように第1中間層のニューロン素子Hi11が追加された後、ステップ12、13、14、19、20、21、22により、各図形Zについて順次学習が繰替えされ、結合重みテーブルの内容について更新される。
そして、ある図形Z(図形○)についての学習において、誤差δが所定値以下にならなくなると、図8に示すように、次のニューロン素子Hi12が新たに追加される。すなわち、結合重みテーブルに、ニューロン素子Hi12についての調整可能な結合重みW1,12〜W100,12、Wb,12、h1,1,2、および、w12,1、〜w12,3が確保される。ここで、hm,p−1,pは、第m中間層のニューロン素子Hm(p−1)とHmpとの結合重みである。中間層間の結合重みは、Hm(p−1)とHmp間でのみ確保され、Hm(p−2)とHmp間や、HmpとH(m+1)1との間では確保されない。
新たなニューロン素子Hi12の追加によって、図8(a)の●で表されるように、既設ニューロン素子Hi11と入力層との結合重みW1,11〜W100,11、Wb,11が固定される。なお、既設ニューロン素子Hi11と出力層との結合重みw11,1〜w11,3は○で表されるように固定されず、調整可能な状態である。
【0028】
同様に、図8に示すように、入力層In、第1中間層Him、および出力層Ouの各ニューロン素子間の固定された結合重みと調整可能な結合重みを用い、調整可能な結合重みの値を調整することで、以降の図形Z(≦g)についての学習(ステップ12、13、14、19、20、21、22)を順次繰り返す。そして、ある図形Zの学習において再び誤差δが所定値以下にならなくなると、第1中間層Hi1には、図9に示すように再びニューロン素子Hi13が確保される。
この図9に示すように、ニューロン素子Hi13の追加により、ニューロン素子Hi11とHi12間の結合重みh,1,2も固定される。すなわち、一般に、新たなニューロン素子Himpが追加された場合、p≧3であれば、ニューロン素子Him(p−2)とHim(p−1)との間で確保された結合重みhm,p−2,p−1の値も固定される。
【0029】
図9に示すように、第1中間層Hi1に3つめのニューロン素子Hi13が追加されると、同様にして、以降の図形Z(≦g)についての学習を順次繰替えする。
そして、図6のフローチャートにおけるステップ21においてZ=g+1(次の図形が□)、またはZ=2g+1(次の図形が△)であると判断した場合(;Y)、CPU11は、ニューロン素子Himpの結合重みW,hを固定すると共に、第m中間層Himのニューロン素子Him1〜Himpと出力層Ouとの全結合重みwを固定する(ステップ23)。
さらにCPU11は、mに1を加えると共に、pの値を再び1に設定した後(ステップ24)、新たな中間層Himについて新ニューロン素子Himpを追加し(ステップ25)、ステップ12に移行する。
【0030】
このように、次に学習する図形が他の図形に変わる場合、現時点での中間層Hmpでの学習が可能であっても、第m中間層Himについての結合重みW、h、wを固定し、第m+1中間層Hi(m+1)のニューロン素子Hi(m+1)1を追加する。
図10は、第2中間層のニューロン素子Hi21を新たに追加した状態を表したものである。
この図10に示すように、第1中間層Hi1のニューロン素子Hi11、Hi12、Hi13によるZ=g(図形○g)までの学習が完了すると、更に、次のZ=g+1の図形(図形□1)についての学習が可能であっても、第1中間層Hi1についての全結合重みW、hおよび、出力層Ouとの結合重みwを固定する。
そして、第2中間層Hi2についてのニューロン素子Hi21を新たに追加し、次の図形□1〜□gまでの学習を行う。
【0031】
このように、図形○についての学習が終了した段階で、図形○に対応する第1中間層Hi1についての全ての結合重みW1,11〜W100,13、Wb,11〜Wb,W13、h1,1,2、h1,2,3、w11,1〜w13,3、を固定する(図10において●で表す)ことで、図形○1〜○gについて学習した内容を完全に記憶させることができる。
すなわち、図形□についての学習により、図形○について学習した内容が変化することがない。従って、図形○についての認識率を高くすることができる。
【0032】
図10において、新たに第2中間層Hi2のニューロン素子Hi21を追加することで、Z=g+1以降の図形、すなわち図形□1以降の図形についての学習を開始する。そして、図7〜図9で説明したと同様に、ある図形Z(g+1≦Z≦g)についての学習処理により誤差δが所定値以下となったら、新たなニューロン素子Hi22、Hi23、…、を追加してゆく。
【0033】
なお、図10において、図形□1(Z=g+1)の学習で入力データD1〜D100を入力層Inに入力した場合、出力層Ouへは、第2中間層Hi2から出力値(結合重みwを掛けた値)だけでなく、第1中間層Hi1からの出力値(結合重みwを掛けた値で、例えばPとする)も供給されることになる。
従って、図形□の学習では、図形□の認識と共に、各入力値に対する第1中間層Hi1からの出力値Pを打ち消して“0”にするための学習も行われる。すなわち、最初に図形□を学習した場合、その中間層から出力される出力値に比べて、“−P”だけ小さい値が出力されるようになる。
【0034】
図形□1〜□g(Z=g+1〜2g)について、第1中間層Hi1についての固定した結合重みW、h、wと共に、第2中間層Hi2の各ニューロン素子Hi2pについての固定した、および調整可能な結合重みW、h、wによって学習を行う。この図形□の学習についても、図形○についての学習と同様に、ある図形Zの学習で誤差δが所定値以下とならない場合に(ステップ14)新たなニューロン素子Hi2pを追加し(ステップ15〜ステップ18)、次の図形についての学習を行う。
そして、ステップ21でZ=2g+1の場合、既に固定されている第1中間層Hi1の全結合重みW、h、wと共に、第2中間層Hi2についての全結合重みW、h、wを固定する(ステップ23)。そして、次の図形△についての学習を行うための第3中間層Hi3のニューロン素子Hi31を追加し(ステップ25)、図形△1〜△g(Z=2g+1〜3g)についての学習を行う。
この場合においても、図形△の入力データD1〜D100の入力により、第1中間層Hi1と第2中間層Hi2からの出力値P′が出力されるため、これを打ち消して“0”にするための学習も行われる。すなわち、最初に△を学習した場合に比べて、“−P′”だけ小さい値が出力されるように、第三中間層Hi3の学習が行われる。
【0035】
図6のステップ22において、Z=3g+1である場合(;Y)、全ての図形○1〜○g、□1〜□g、△1〜△gについての学習が完了したので、CPU11は、最後に追加したニューロン素子Himpの結合重みW,hを固定すると共に、第m中間層Himのニューロン素子Him1〜Himpと出力層Ouとの全結合重みwを固定する(ステップ26)。
その後、入力層Inと出力層Ou間の結合重みkを固定して(ステップ27)、学習処理を終了する。
図11は、全図形についての学習が終了後におけるニューロン素子網と結合重みテーブルの状態を表したものである。この図11において●で示すように、全入力データについての学習が終了すると、結合重みテーブルに格納されている各ニューロン素子間の結合重みは全て固定された状態となる。
【0036】
このようにして三種類の図形○、□、△について各g個のデータによる学習が終了すると、以後手書き等による三種類の図形を認識することができる。
まず、図形が記載された用紙を図形読取装置24で読み取り、入力データD1〜D100を作成しRAM14に格納する。CPU11は、入力データD1〜100をニューロン素子網22の入力層In1〜In100に入力し、結合重みテーブルに格納された結合重みを用いた順伝播活性により出力層Ouのニューロン素子Ou1〜Ou3の出力値を求める。
CPU11は、出力された3ビットの値から、読み込んだ図形の認識を行う。すなわち、CPU11は、3ビットの出力値の各々について、所定の閾値を適用することで、各出力値を“0”または“1”の2ビットで表し、これが教師信号と一致するか否かを判断する。“100”であれば図形○、“010”であれば図形□、“001”であれば図形△であると認識し、認識した形状を表示装置17の画面に、形状名と図形形状で表示する。なお、出力がこれら教師信号以外である場合には、表示装置17に認識不能であることを表示する。
【0037】
次に、ニューラルネットワークを音声認識システムに適用した第2実施形態について説明する。
図12は、ニューラルネットワークを利用した音声認識装置のシステム構成を表したものである。なお、第1実施形態と同一または機能的に略同一である部分については、同一の符号を付して適宜その説明を省略し、または異なる部分についてのみ説明することとする。
【0038】
この音声認識装置は、CPU11を備えており、データバス等のバスライン12を介して、ROM13、RAM14、通信制御装置15、プリンタ16、表示装置17、キーボード18、FFT(高速フーリエ変換)装置21、およびニューロン素子網22が接続されている。
【0039】
第2実施形態におけるROM13には、さらに、CPU11が音声認識やニューロン素子網の学習等の処理や制御を行うための各種プログラムやデータが格納されている。また、ニューロン素子網の学習としてバックプロパゲーション則等による各種学習を行うためのプログラムや、音声認識を行うための80種類の音素についての符号列が格納されている。この音素についての符号列が第2教師信号として使用されると共に、ニューロン素子網の出力信号から音素を認識する場合に使用される。またROM13には、認識した音素から音声を認識すると共に、認識した音声を文字による文章に変換する日本語変換システムのプログラムも格納されている。
【0040】
第2実施形態におけるRAM14では、さらに、FFT装置21で解析された音声信号について、各時間と各周波数におけるパワーを一時格納するためのベクトル列格納エリアが確保されている。なお、この各周波数におけるパワーの値が、ニューロン素子網の音声入力層Inに入力されるベクトル列になる。
また、表示装置17は、入力データや認識した音声の内容、および、音声認識に必要な操作の指示を画面表示するようになっている。
キーボード18は、FFT装置21のパラメータの変更や設定条件等を入力したり、文章の入力処理等も行うようになっている。
【0041】
FFT装置21には、マイク等の音声入力装置23が接続されている。このFFT装置21は、音声入力装置23から入力されたアナログの音声データを、ディジタルデータに変換すると共に、離散的フーリエ変換によりスペクトル解析を行う。このFFT装置21におけるスペクトル解析により、各周波数毎のパワーによるベクトル列が、各時間毎に出力され、この各時間毎のベクトル列はRAM14のベクトル列格納エリアに格納されるようになっている。
【0042】
図13はニューロン素子網22の初期状態の構成を表したものである。また、図14は、音素「a」の学習が終了し、音素「i」の学習途中におけるニューロン素子網22の状態を表したものである。
図13に示すように、初期状態においてニューロン素子網22は、音声入力層Inと音声出力層Ouおよび仮説出力層(Hypothesis層)Hyを備えている。
また図14に示すように、第m中間層Himを構成するニューロン素子Himp、および、第m環帰入力層Comを構成するニューロン素子Compの1対が追加される。新たなニューロン素子HimpとCompは、学習の各段階において誤差δが所定値以下にならない場合に追加されるようになっている。なお、第m中間層Himと第m環帰入力層Comは、各音素毎に新たに確保され、その添字“m”の値は各音素毎に1が加えれらた値となる。
【0043】
ニューロン素子網22は、初期状態および、中間層Hiと環帰入力層Coのニューロン素子が追加された各状態において、順伝播活性および逆伝播学習が可能なように構成される。
【0044】
中間層Hi、音声出力層Ou、および仮説出力層Hyの各ニューロン素子は、シグモイド関数および閾値が設定されており、−1.0から+1.0の範囲で出力されるようになっている。
一方、環帰入力層Coのニューロン素子Compは、対応する中間層Hiのニューロン素子Himpの時刻t−1に対する出力値を記憶するようになっており、記憶した値を時刻tに対して出力するようになっている。
【0045】
この実施形態の音声認識装置において、音声入力層Inは、In1〜In30の30個のニューロン素子およびバイアスbを備えている。バイアスbには、常時“+1”が入力されるようになっている。
音声出力層Ouは音声入力層Inと同数でOu1〜Ou30の30個のニューロン素子を備えている。仮説出力層Hyは、認識対象となる80個の音素に対応する符号化が可能な数として8個のニューロン素子Hy1〜Hy8を有している。
【0046】
なお、仮説出力層Hyのニューロン素子数は、認識対象となる音声が日本語以外の外国語の場合に、その言語に応じた音素数と、その音素数の符号化に必要な数のニューロン素子が使用される。また、日本語の音素として必ずしも80に限定する必要はなく、他の分類による音素数およびニューロン素子数を使用してもよい。
また、音素数と同一のニューロン素子を仮説出力層58に具備させてもよい。すなわち、音素数が80個の場合、ニューロン素子も各音素に対応してHy1〜Hy80の80個を仮説出力層Hyに具備させる。そして、第2教師信号として、音素「a」の場合「10000…0」、音素「i」の場合「01000…0」というように、各音素に対応するビット(ニューロン素子)のみを“1”とし他のビットを“0”とする。こうすることで、学習処理の負担は増加するが、学習後の音声認識において、他の音素との区別を容易に行うことができるようになる。
【0047】
図14に示すように、音声入力層Inと音声出力層Ouは結合重みkで結合され、音声入力層Inと仮説出力層Hyは結合重みuで結合されている。また、音声入力層Inと中間層Hiは結合重みWで結合され、中間層Hiと中間層Hiは結合重みhで結合され、中間層Hiと環帰入力層Coは結合重みsで結合され、中間層Hiと音声出力層Ouは結合重みwで結合され、中間層Hiと仮説出力層Hyは結合重みvで結合されている。
環帰入力層Coと中間層Hiとは、第m環帰入力層Comと第m中間層Himとのニューロン素子間でのみ結合している。
中間層Hiは、第1実施形態と同様に、第m中間層Himにおけるニューロン素子Him(p−1)とニューロン素子Himpとの間でのみ結合している。
【0048】
これら各結合重みに付す番号については、第1実施形態と同様に、信号が流れる順とする。環帰入力層Coと中間層Hi間では前者から後者に信号が流れるので、例えば、ニューロン素子Co14とHi12間の結合重みは、s14,12となる。
また、h4,2,3は、第4中間層Hi4のニューロン素子Hi42とHi43との結合重みである。
【0049】
結合重みkとuは、全学習過程において調整可能である。
結合重みW、h、sについては、中間層Hiおよび環帰入力層Coのニューロン素子の新たな追加に伴い確保された結合重みが調整可能であり、既設のニューロン素子についての結合重みが固定される。
また、異なる音素についての学習が開始される場合、すなわち、第m中間層Him、第m環帰入力層Comにおいてm=m+1となる場合、および、全学習が終了する場合に、第m中間層Himとの全結合重みw、vが固定される。mの値が変らず、pの値のみが変化している間は、第m中間層Himとの結合重みw、vは調整可能である。
図14でも示されるように、第2実施形態のニューロン素子網22を図示する場合、第1実施形態と同様に、調整可能な結合重みについては○で表し、固定された結合重みについては●で表す。
【0050】
ニューロン素子網22は、これらの各結合重みを格納する図示しないメモリを備えている。
図15は、図14に示す状態のニューロン素子網22における結合重みテーブルを表したものである。
図14および図15に示すように、ニューロン素子網22は、中間層Hiとして、第1中間層Hi1のニューロン素子Hi11〜Hi14と、第2中間層Hi2のニューロン素子Hi21〜Hi23までが追加された状態である。また、環帰入力層Coとして、第1環帰入力層のニューロン素子Co11〜Co14と第2環帰入力層Hi2のニューロン素子Hi21〜Hi23までが追加された状態である。
ニューロン素子網22は、ニューロン素子網22は、最初の音素、例えば「a」についての学習が4つのニューロン素子からなる第1中間層Hi1および第1環帰入力層Co1の追加によって完了し、更に、次の音素、例えば「i」についての学習を行っている途中であることがわかる。
【0051】
このニューロン素子網の学習時において、FFT装置21でスペクトル解析された時間tにおける音声のベクトル列が順次音声入力層Inに入力される。
第m環帰入力層Comの各ニューロン素子Com1〜Compは、第m中間層の1つ前の出力値を記憶するようになっている。すなわち、1つ前の時間t−1に対する学習が終了して調整可能な結合重みが更新された後に、時間t−1のデータを音声入力層Inに入力することで第m中間層Himの各ニューロン素子Him1〜Himpから出力される値が、それぞれ第m環帰入力層Comの各ニューロン素子Com1〜Compに記憶される。この時間t−1における第m中間層Himの出力値が、時刻tに対する学習において、第m環帰入力層Comから出力され、対応する結合重みsを掛けた値が第m中間層に入力されるようになっている。
【0052】
一方、音声出力層Ouには、次に音声入力層Inに与えられることになる時間t+1のベクトル列が第1教師信号として入力される。
仮説出力層Hyには、時間tにおける前後の時間間隔で音声入力層Inに入力されるベクトル列が表す特定の意味A(本実施形態では、認識されるべき音素)を仮説する符号列が第2教師信号として入力される。
【0053】
このように、第2実施形態では、音声入力層Inに現在(時間t)のベクトル列を入力し、中間層Hiにおける過去(時間t−1)のベクトル値を環帰入力層Coに入力すると共に、音声出力層Ouに未来(時間t+1)のベクトル列を入力している。このため、各音素についてスペクトル解析された各パワーP(tn)によるベクトル列についての時系列的な関係が学習されることになる。すなわち、音声入力層In、中間層Hi、および音声出力層Ouの各結合重みは、過去、現在、未来にわたる時系列的な関係を含めた値に学習される。
また、同一の音素についての各パワーP(tn)が音声入力層Inに入力されて学習を行う際、仮説出力層Hyには常時同一の第2教師信号を入力して学習を行っている。これによって、入力されるベクトル列の時系列的な関係と共に、そ関係を有する音素(符号列)が仮説的に学習される。
このため、音声認識を行う場合に、スペクトル解析された音声についてのベクトル列が音声入力層Inに入力されると、そのベクトル列の時系列的な関係をも考慮されたベクトル列が仮説出力層Hyから出力されることになる。
【0054】
さらに、第2実施形態においても第1実施形態と同様に、学習の各段階において誤差δが所定値以下にないない場合に、中間層のニューロン素子Himpと環帰入力層のニューロン素子Compを追加することで学習を進めるので、音声認識のように学習すべき入力データの量が非常に多い場合であっても、学習処理時間を短くすることができる。
また、各音素に対する学習が終了する毎に、第m中間層Himと第m環帰入力層Comに対する結合重みW、h、v、wが固定されるので、次の音素に対する学習を行っても、それ以前の学習内容を忘却することなく記憶させることができる。従って、各音素に対する認識率を向上させることができる。
【0055】
図16は、第2教師信号テーブルの内容を表したものである。
この図16に示すように、第2教師信号は、80個の各音素に対応して、音素「a」が「1000000」、音素「i」が「01000000」、音素「u」が「00100000」、…、というように、各8ビットの符号列で規定されている。この第2教師信号が表す符号の各ビットは、仮説出力層Hyの各ニューロン素子Hy1〜Hy8に供給される。この各音素に対する第2教師信号は、ROM13に格納されている。
なお、図16に示した第2教師信号の各符号列は、本実施形態における例示であり、他の符号列を使用してもよい。また、音素数に応じて仮説出力層Hyのニューロン素子数が決定されるが、そのニューロン素子数に応じたビット数で表現するようにしてもよい。
【0056】
次に、このように構成された第2実施形態における動作について説明する。
▲1▼ニューラルネットワークの学習
まずニューラルネットワークについての学習を行う場合、ユーザは、最初にキーボード18を操作することにより、または表示装置17に表示された所定キーをマウスにより操作することにより、学習モードを指定する。
学習モードを指定した後、ユーザは、予め決められた80の音素に対応する文字を順次キーボード18から入力した後に、その音素についての音声を音声入力装置23に入力する。なお、入力すべき音素を表示装置17に表示することで、発声すべき音素を順次知らせるようにしてもよい。
音声入力装置23では、例えば音素「a」について、図17(a)に示すようなアナログ信号が入力されると、これをFFT装置21に供給する。FFT装置21では、供給されたアナログ音声データを、例えば22KHzでサンプリングし、16ビットのPCMデータにA/D変換し、図示しない記憶部に格納する。
【0057】
次いでFFT装置21では、方形窓、ハミング(Hamming)窓、ハニング(Hannig)窓等の時間窓の形や、ポイント数(例えば512ポイント)等のパラメータに従って、各時間tn(n=1、2、…)毎に、高速フーリエ変換(FFT)処理によりディジタル音声データ「a」についてのスペクトル解析を行う。すなわち、FFT装置21は、図17(b)に示すように、各時間tn毎における音声データの、各周波数(F1〜F30)に対するパワーP(tn)を算出する。この各周波数のパワーP(tn)によるベクトル列は、図18に示すように、各時間毎に、RAM14のベクトル列格納エリアに格納される。
【0058】
入力された音素について、FFT装置21によるスペクトル解析が終了すると、CPU11は、RAM14に格納したベクトル列に従ってニューロン素子網22の学習を行う。
いま、最初の音素「a」の時間tnにおける学習について説明する。
CPU11は、まず、時間tnの学習開始する前の第1中間層Hi1のニューロン素子Hi11〜Hi1pの状態、すなわち、時間tn−1についての学習が終了した時点での第1中間層Hi1におけるベクトル列を、第1環帰入力層Co1の対応するニューロン素子Co11〜Co1pに入力する。
そしてCPU11は、音素「a」についての時間tnにおけるベクトル列P(tn)をRAM14から読み出し、音声入力層Inの各ニューロン素子In1〜In30に入力する。
また、時間tnの次の時間tn+1につてのベクトル列P(tn+1)を第1教師信号として音声出力層Ouのニューロン素子Ou1〜Ou30に入力すると共に、入力された音素「a」について、図15に示す符号列「10000000」を第2教師信号として仮説出力層Hyの各ニューロン素子Hy1〜Hy8に入力する。
【0059】
音声入力層Inへのベクトル列の入力、および音声出力層Ouと仮説出力層Hyへの教師信号の入力が済むと、CPU11は、結合重みテーブルに格納されている音声入力層In、中間層Hi、環帰入力層Co、音声出力層Ou、および仮説出力層Hyの各ニューロン素子間の結合重みW、h、s、w、v、k、uを用いて学習を行い、調整可能な結合重みを学習後の値に更新する。
なお、本実施形態において行われる学習は、第1実施形態と同様に各種の学習則が使用可能である。
【0060】
時間tについての音素「a」の学習が終了すると、次に時間t+1についての学習を行う。この場合、時間tnのときと同様にして、tnについての学習が終了した時点での第1中間層Hi1のベクトル列を第1環帰入力層Co1に記憶させ、時間tn+1のベクトル列P(tn+1)をRAM14から読み出して音声入力層Inに入力する。また、時刻tn+2のベクトル列P(tn+2)を第1教師信号として音声出力層Ouに入力する。
一方、仮説出力層Hyには、入力された音素「a」についての学習が行われている間、「a」についての同一の符号「10000000」が継続的に第2教師信号として入力される。
【0061】
この時刻t+1についての学習において誤差δが所定値以下にならない場合、第1実施形態と同様に、第1中間層Hi1と第1環帰入力層Co1には、新たなニューロン素子Hi1pとニューロン素子Co1pが追加される。そして、既設のニューロン素子Hi1(p−1)とCo1(p−1)の結合重みW、h、sを固定し、ニューロン素子の追加により確保された調整可能な結合重みW、h、s、および結合重みw、v、k、uを調整することで、音素「a」についての学習を繰り返す。
【0062】
音素「a」についての全ての学習が終了すると、音素「a」の学習で確保された第1中間層Hi1と第1環帰入力層Co1についての全結合重み、W、h、s、およびw、vを固定する。
そして、次の音素「i」の学習を行うために、第2中間層Hi2と第2環帰入力層Co2についてニューロン素子Hi21とCo2p1を追加し、以後、誤差δが所定値以下にならない毎に新たなニューロン素子Hi2p、Co2p(p≦2)を追加する。
【0063】
新たなニューロン素子Hi2p、Co2pにおけるp=3の状態が図14で表したニューロン素子網22の状態である。図14に示すように、新たなニューロン素子Hi23、Co23の追加によって、既設のニューロン素子Hi22とCo22に対する結合重みW1,22〜W30,22、Wb,22、結合重みh2,1,2、結合重みs21,22、s22,22、s22,21が新たに固定される。
そして、結合重みテーブルには、新たに追加されたHi23とCo23に対する結合重みW1,23〜W30,23、Wb,23、結合重みh2,2,3、結合重みs21,23,s22,23、s23,23、s23,22、s23,21が、調整可能な結合重みとして確保される。また、結合重みw23,1〜w23,30と、結合重みv23,1〜v23,8も調整可能な結合重みとして確保する。
【0064】
ここで、第2実施形態における学習も第1実施形態と同様に、結合重みを固定した第1中間層Hi1からの出力は、次の音素「i」の学習において雑音として入力されるが、次の音素「i」の学習において、この雑音をマイナスすることも含めた結合重み(固定されていないもの)に調整され、更新される。
同様に、次の音素として「u」を学習する場合には、結合重みを固定した音素「a」の第1中間層Hi1と音素「i」の第2中間層Hi2からの雑音をマイナスすることも含めて学習が行われる。
このように第2実施形態におけるニューロン素子網では、1対の第m中間層Himと第m環帰入力層Comが各音素毎に設けられ、他の中間層や環帰入力層と完全に切り離されると共に、学習が完了した音素に対する全結合重みを固定しているので、各音素に対応する学習を高速に行うことができる。
【0065】
以後同様にして、第m中間層Himの各ニューロン素子Himp、および第m環帰入力層Comの各ニューロン素子Compを順次追加しながら、「i」、「u」、「e」、「o」等の全ての音素についての学習を行う。
80個の全音素についての学習が完了すると、ニューロン素子網22は、中間層と環帰入力層は、第1中間層Hi1〜第80中間層Co80と、第1環帰入力層Co1〜第80環帰入力層Co80が存在することになる。各第m中間層Himと各第m環帰入力層Comのニューロン素子の数は、各音素に対する学習段階において、それぞれ必要個だけ追加される。
【0066】
▲2▼入力音声の認識
以上の学習が終了した後、音声入力装置23から、例えば音声「まえ」が入力されたものとする。すると、FFT装置21で入力音声についてのスペクトル解析が行われる。
そして、CPU11は、時間tn−1にける中間層Hiのベクトル列を環帰入力層Coに入力した後、現在の時間tnにおける各周波数のパワーから成るベクトル列P(tn)を音声入力層Inに入力する。CPU11は、音声入力層Inと中間層Hiとの各結合重み(図4)をニューロン素子網22のメモリから読み出し、各結合重みと音声入力層Inの各入力値とから、中間層Hiの各ニューロン素子Hi〜Hi200の出力値を算出し、ニューロン素子網22の図示しないメモリに格納される。この中間層Hiのベクトル値は、次の時間tnにおけるベクトル列P(tn+1)が入力される前に環帰入力層Coに入力される。
【0067】
次に、CPU11は、ニューロン素子網22の図示しないメモリから、格納した中間層Hiの出力値と、中間層と仮説出力層Hyとの結合重みとを読み出し、両者の値から、仮説出力層Hyの各ニューロン素子Hy1〜Hy8の出力値を求める。そして、各ニューロン素子Hy1〜Hy8の出力値と、ROM13に格納されている第2教師信号テーブルの各符号列と照合することで、該当する音素を特定し、特定した音素をRAM14に格納する。
【0068】
この音素は、各音素について複数のベクトル列P(tn)に解析され、時系列的に音声入力層Inに入力されて特定されるため、複数の音素列となる。例えば、音声「いろ」が入力された場合には、「iiiiirrrooooo」となる。そこで、CPU11は、このRAM14に格納された音素列から、入力された音声を「iro」と認識する。
そしてCPU11は、キーボード18からの入力指示がある場合には、認識した音声を日本語変換システムに従って、文字による文章に変換する。変換した文章は、表示装置17に表示されると共にRAM14に格納される。また、キーボード18からの指示に応じて、通信制御装置5および通信網2を介して、パーソナルコンピュータやワードプロセッサ等の各種通信制御装置にデータ伝送を行う。
【0069】
図19は、音声「まえ」についての各音素の特定結果を表したものである。なお、学習段階において、第2教師信号として仮説出力層Hyに入力する各音素の符号として図16のベクトル列を採用したものとする。また、各ニューロン素子Hy1〜Hy8の出力は、所定の閾値を越えた場合に出力され、閾値以下の場合には出力されず図19では、記号「−」で示されている。
この図19の最右欄に示すように、各時間tnにおけるベクトル列の入力に対応して音素「m」、「a」、「e」を特定することができる。この音素から入力された音声が「まえ」であると認識することができる。
【0070】
この図19に示したように、各時間tnにおけるニューロン素子Hy1〜H8の出力によって特定された各音素列から、音声を特定する場合、同一の音素が複数個以上、例えば4個以上連続的に特定されている場合に、その音素を有効と見なして、音声認識を行う。例えば、図19において、時間t1で特定された音素「m」と時間t35で特定された音素「e」は、4個以上連続していないため、音声認識を行う対象から除外される。
なお、4子以上連続的に特定された場合だけでなく、他に、2個、3個、5個、10個等の他の数だけ連続的に特定された場合にその音素が有効であると判断するようにしてよもい。更に、音素が有効であると判断するための個数を、利用者の選択により、キーボードから指定することができるようにしてもよい。
【0071】
なお、図19の最右欄の「?」で示すように、音声を認識する場合、スペクトル分析されたベクトル列が入力された当初と、各音素から音素に変化する場合において、音素を特定できない場合があるが、その後継続的に特定される音素によって容易に音声を認識することができる。
スペクトル分析されたベクトル列が入力された当初に音素を特定できない場合があるのは、学習段階において、過去、現在、未来による時系列的な関係を含めて学習しているのに対して、入力当初は過去の時系列的関係を含む情報が充分でない為であると考えられる。
また、各音素の変化時において音素を特定できないのは、学習段階において、個々の音素単位での学習を行っており、各音素同士の時系列的関係については学習の対象になっていないためであると考えられる。
【0072】
第2実施形態によれば、各音素のスペクトルの時系列的な関係について学習されているため、学習のための音素を発声する者と異なる者の音声も正確に認識することができた。従って、不特定話者認識を行うことができる。
【0073】
また、音素単位での音声認識を行う場合に従来から認識すべき音素の開始点をどのようにして正確に決定するかが問題であったが、第2実施形態によれば、音素の開始点を特定する必要がない。
また、音素単位による連続音声認識を行う場合に、各個人差が大きい各音素の発声時間に関係なく、音声を認識することができる。例えば、音声として「はーる」というように、音声「は」をのばして発声した場合であっても、「hhhhh…aaaaaaaaaaaaaa…rrrr…uuuuu…」というように、音素「a」が多く特定されるだけで、容易に音声「はる」と認識することができる。
【0074】
また、第2実施形態では、各音素に対し複数の時間tnにおける複数のベクトル列P(tn)が入力され、各時間毎に音素を特定している。このため、連続音声認識において、各音素状態が前に現れる音素の状態により影響を受けていても、各音素から音素に変化する場合に音素の特定ができない状態、すなわち、図19の最右欄の「?」が多少増えるだけである。そして、その後に同一の音素が継続的に特定されるため、連続音声認識であっても容易に音声を認識することができる。
【0075】
以上説明した第2実施形態のニューロン素子網22では、図14で示したように環帰入力層Coと中間層Hiとを結合重みsで結合するようにしたが、図20示されるように、各環帰入力層Coのニューロン素子の値を、対応する中間Hiのニューロン素子に供給するようにしてもよい。すなわち、各中間層Hi1〜Hi80を構成する各ニューロン素子は、自己の値をフィードバックして入力するように構成する。
従って、時間tにおける入力を処理する場合、各中間層Hiのニューロン素子には、音声入力層Inからの時間tに対する入力の他に、時間t−1における自己の出力値も、環帰入力層Coのニューロン素子からフィードバックして入力される。一方、環帰入力層Coには、時間tにおける各中間層Hiのニューロン素子からの出力値が入力される。
ニューロン素子網22をこのように構成することで、時間t−1における過去の情報も考慮しつつ、環帰入力層Coと中間層Hi間の結合重みsの計算が不要となるので、処理を早くすることができる。
【0076】
更に、以上説明した第2実施形態では、中間層Hiのデータをフィードバックさせるリカレント型のニューラルネットワークとしたが、本発明では、環帰入力層Coのないニューロン素子網としてもよい。この場合、時間tのベクトル列を音声入力層Inに入力し、次の時間t+1のベクトル列を第1教師信号として音声出力層Ouに入力し、時間tnの集合が表す特定の意味Aを第2教師信号として仮説出力層Hyに入力する。
環帰入力層がない場合、過去(時間t−1)の情報に基づく時系列的な関係までは学習されない。しかし、局所的ではあるが、現在(時間t)と未来(t+1)による時系列的関係を学習しているため充分に音声を認識することができる。環帰入力層がない場合には、学習および音声認識の処理が軽減され、処理速度を早くすることが可能になる。
【0077】
第2実施形態では、入力されるベクトル列の時系列的な関係と共に、その関係を有する音素(符号列)を仮説的に学習することで、音声を認識するようにしたが、本発明では、時系列的関係を有する音声に限定されるものではなく、互いに所定の関係を有する複数のベクトル列Fn(n=1、2、3、…)の集合が表す特定の意味についての学習とその認識や予測について利用することができる。
例えば、音声認識以外に、運動の時系列パターン発生の学習とその予測を行うようにしてもよい。
また、時系列的な場合だけでなく、空間的関係や、周波数的関係を有する複数のベクトル列の集合が特定の意味を有する場合の、学習と認識を行うようにしてもよい。例えば、文字が有する空間的関係について学習することで、文字認識を行うようにしてもよい。
【0078】
さらに、第2実施形態では、音素単位の音声認識について説明したが、単語単位で音声認識するようにしてもよい。この場合、ベクトル列が表す特定の意味としてその単語を表す符号列が第2教師信号として使用される。
【0079】
また、本実施形態では、ROM13に格納した学習プログラムに従ってCPU11でニューロン素子網22の学習を行い、学習後のニューロン素子網22による音声認識を行うようにしたが、不特定話者の連続音声認識を高い認識率で行うことが可能であるので、再学習の必要が少ない。従って、音声認識装置としては、必ずしも学習機能を有する必要がなく、他の装置の学習で求めた結合重みを有する、音声入力層In、環帰入力層Co、中間層Hi、仮説出力層Hyからなるニューロン素子網を使用するようにしてもよい。
この場合、ニューロン素子網を、学習済みの結合重みを有するハードウェアで構成してもよい。
【0080】
また、以上説明した第2の施例では、FFT装置における高速フーリエ変換によって、学習時の各音素と音声認識時の音声についてのスペクトル解析を行ったが、他のアルゴリズムによりスペクトル解析を行うようにしてもよい。例えば、DCT(離散コサイン変換)等によるスペクトル解析を行ってもよい。
【0081】
更に、以上説明した第2実施形態では、各音素を学習する場合に、例えば母音である音素「a」について1種類の学習を行う場合について説明したが、本発明では、複数種類について学習するようにしてもよ。例えば、音素「a」について、母音の「a」の他に、「ma」、「na」、「ka」等の各音声から音素「a」の部分を切り出して音素「a」の学習を行うようにしてもよい。また、子音の場合も同様に、音素「m」であれば、「ma」、「mi」、「mu」等の各音声から音素「m」を切り出し、それぞれについて学習を行う。これにより、他の色々な音素と接続された場合について学習が行われ、認識率が向上する。
【0082】
以上説明した、第1および第2実施形態では、音声/入力層Inにバイアスbを設け、音声/入力層Inと音声/出力層Ouとを結合重みkで結合させ、第2実施形態では、更に音声入力層Inと仮説出力層Hyとを結合重みuで結合させる構成としたが、本発明では他の構成としてもよい。
すなわち、バイアスbが無い構成としてもよい。また、音声/入力層Inと音声/出力層Ouとを結合させず、第2実施形態では、更に音声入力層Inと仮説出力層Hyとを結合させないようにしてもよい。
なお、バイアスbと結合重みk、第2実施形態の場合更に結合重みuが無い場合、ニューロン素子網22は、初期状態において、第1中間層Hiのニューロン素子Hi11、第2実施形態の場合更に第1環帰入力層Coのニューロン素子Co11を学習可能な状態で具備させておく。
【0083】
また、本実施形態では、学習過程において、結合重み結合重みkを他の結合重みとを同等に扱ったが、本発明では、結合重みkの比重を他の結合重みよりも小さくするようにしてもよい。例えば、結合重みkの範囲を他の結合重みの1/2、1/3、1/4、1/5等にしてもよい。
【0084】
また、第1および第2実施形態において、第m中間層Himと、音声/出力層Ouとの結合重みw、第2実施形態の場合更に仮説出力層Hyとの結合重みvについては、異なる図形、音素についての学習を開始する場合、すなわち、mの値がm+1になる場合に、一括して固定する構成としている。
本発明では他に、第m中間層Himと音声/入力層Inとの結合重みWの場合と同様に、mの値が同一でも、新たなニューロン素子Himpが追加されるときに、既設のニューロン素子Him(p−1)に対する結合重みwm(p−1),1〜wm(p−1),30と、結合重みvm(p−1),1〜vm(p−1),8を固定するようにしてもよい。そして、追加した第m中間層Himのニューロン素子Himpに対する結合重みwmp,1〜wmp,30と、結合重みvmp,1〜vmp,8を調整可能な結合重みとする。
【0085】
第1および第2実施形態では、ROM13に格納した学習プログラムに従ってCPU11でニューロン素子網22の学習を行い、学習後のニューロン素子網22は、高い認識率で図形認識や音声認識等を行うことが可能であるので、再学習の必要が少ない。特に、音声認識の場合、不特定話者の連続音声認識を高い認識率で行うことが可能であるり再学習の必要が少ない。
従って、図形認識装置や音声認識装置としては、必ずしも学習機能を有する必要がなく、他の装置の学習で求めた結合重みを有する、環帰入力層Co、中間層Hi、仮説出力層Hyからなるニューロン素子網を使用するようにしてもよい。この場合、ニューロン素子網を、学習済みの結合重みを有するハードウェアで構成してもよい。
【0086】
第1および第2実施形態の変形例として、各音素に対応する1対の中間層と環帰入力層毎の学習を別々のコンピュータシステム等を使用して別個独立に行い、各学習終了後に、各中間層と環帰入力層の対を組み合わせて、ニューロン素子網22を構成するようにしてもよい。
この場合、例えば第2実施形態であれば、各中間層は対応する音素についてだけ独立して学習しているため、他の音素に対する中間層による雑音をマイナスすることも含めた学習が行われていない。
そこで、各音素の雑音をマイナスする信号が音声出力層Ouと仮説出力層Hyに入力されるような、調整用中間層Hi81(81個目の中間層)と調整用環帰入力層Co81(81個目の環帰入力層)を別個付加する必要がある。そして、既に学習した各第1中間層Hi1〜第80中間層Hi80(80音素の場合)の結合重みを固定した状態で、全ての音声について再度学習を行う。
【0087】
この場合、付加した調整用中間層Hi81からの出力は、雑音をマイナスする値となる。例えば、音素「a」を再学習する場合、音素「a」に対応する第1中間層Hi1を除いた他の中間層Hi2〜Hi80(各結合重みは固定されている。)からの出力の合計がプラスマイナスゼロとなるような値が、調整用中間層Hi81から出力されるように、調整用中間層Hi81と調整用環帰入力層Co81の結合重みが学習される。この学習においても、調整ができなくなった段階で、調整用中間層Hi81と調整用環帰入力層Co81のニューロン素子Hi81p、Co81pを順次追加し、ニューロン素子Hi81(p−1)の結合重みW、hを固定する。
なお、各音素や図形等の学習を個別に行い、中間層と環帰入力層の対を組み合わせてニューロン素子網22を構成する場合、調整用の環帰入力層Co81を設けず、調整用中間層Hi81のみを設けるようにしてもよい。
【0088】
次に第3実施形態について説明する。
第2実施形態では音声認識においてFFT21で解析されたスペクトルデータを入力層に入力するデータとしたのに対して、この第3実施形態では、ケプストラムデータを入力することで音声認識を行うようにしたものである。
図21は、第3実施形態におけるニューラルネットワークのシステム構成を表したものである。この図に示すように、ニューラルネットワークでは、第2実施形態のシステムに更にケプストラム装置26を備えている。
なお、その他の部分については第2実施形態と同様なので、同一の番号を付してその説明を省略する。また、ニューロン素子網22については、第1実施形態および第2実施形態で説明したニューロン素子網22だけでなく、さらに第1および第2実施形態の変形例として説明したニューロン素子網22の、いずれのニューロン素子網22を適用することも可能である。
ケプストラム装置26は、FFT装置21におけるスペクトル解析された波形の短時間振幅スペクトルの対数を逆フーリエ変換することで、ケプストラムデータを得るものである。このケプストラム装置26により、スペクトル包絡と微細構造とを近似的に分離して抽出することができる。
【0089】
ここで、ケプストラムの原理について説明する。
いま、音源と音道のインパルス応答のフーリエ変換をそれぞれ、G(ω)H(ω)で表すと、線型分離透過回路モデルにより、
X(ω)=G(ω)H(ω)
の関係が得られる。この式の両辺の対数をとると、次の数式(1)となる。
log|X(ω)|=log|G(ω)+log|H(ω)|…(1)
さらに、この数式(1)の両辺の逆フーリエ変換をとると次の数式(2)になり、これがケプストラムである。
Figure 0003737841
ここでτの次元は、周波数領域からの逆変換であるから時間になり、ケフレンシーとよばれる。
【0090】
次に基本周期と包絡線の抽出について説明する。
数式(1)の右辺第1項はスペクトル上の微細構造であり、第2項はスペクトル包絡線である。両者の逆フーリエ変換には大きな違いがあり、第1項は高ケフレンシーのピークとなり、第2項は0から2〜4ms程度の低ケフレンシー部に集中する。
高ケフレンシー部を用いてフーリエ変換することによって対数スペクトル包絡線が求まり、更に、それを指数変換すればスペクトル包絡線が求まる。
求まるスペクトル包絡線の平滑さの度合いは、低ケフレンシー部のどれだけの成分を用いるかによって変化する。ケフレンシー成分を分離する操作をリフタリングと呼ぶ。
【0091】
図22は、ケプストラム装置26の構成を表したものである。
このケプストラム装置26は、対数変換部261と、逆FFT部262と、ケプストラム窓263と、ピーク抽出部264と、FFT部265とを備えている。
なお、ケプストラム窓263、ピーク抽出部264と、FFT部265は、ニューロン素子網22の入力層に供給するデータとして、逆FFT部262で求めたケプストラムデータを使用する場合には不要であり、スペクトル包絡をニューロン素子網22の入力データとして使用する場合に必要となる。
また、FFT部265については、必ずしも必要ではなく、FFT装置21を使用するようにしてもよい。
【0092】
対数変換部261は、FFT21から供給されるスペクトルデータX(ω)から、数式(1)に従って対数変換を行い、log|X(ω)|を求め、逆FFT部262に供給する。
逆FFT部262では、供給された値について、更に逆FFTをとり、c(τ)を算出することで、ケプストラムデータを求める。逆FFT部262では、求めたケプストラムデータを、音声データについての学習または音声認識を行う入力データInとして、第1実施形態または第2実施形態で説明したニューロン素子網22の入力層に供給するようになっている。ニューロン素子網22に入力する入力データInの数については、音声認識に併せて任意に選択された入力層のニューロン素子数と同数が選択される。すなわち、図13に示したニューロン素子網22の場合、入力層Inのニューロン素子が30あるので、ケフレンシー(τ)軸を30分割し、各ケフレンシー毎のパワーの値を入力データIn1〜In30として、入力層に供給する。
この逆FFT部262で求めたケプストラムデータを入力層に供給するのが、第3実施形態における第1例である。
【0093】
次に、第3実施形態における第2例について説明する。
この第2例では、ケプストラム窓263において求めたケプストラムデータに対してリフタリングを行うことで、ケフレンシー成分を高ケフレンシー部と低ケフレンシー部に分離する。
分離された低ケフレンシー部は、FFT部265において、フーリエ変換することによって対数スペクトル包絡線が求められ、更に、指数変換することでスペクトル包絡線が求められる。このスペクトル包絡データから、周波数軸軸をニューロン素子の数に対応して分割し、各周波数毎のパワーの値を入力層Inに供給する。
【0094】
なお、ケプストラム窓263で分離された、低ケフレンシー部のケプストラムデータを入力データとして入力層Inに供給するようにしてよもい。
また、分離された高ケフレンシー部のケプストラムデータから、ピーク抽出部264で基本周期を抽出し、これを、FFT部265で求めたスペクトル包絡のデータと共に入力データの1つとして使用してもよい。こ場合、入力層Inのニューロン素子数がN個とすると、スペクトル包絡のデータから(N−1)の入力データIn1〜In(N−1)を入力層Inに入力し、基本周期のデータから入力データInNを入力層Inに入力する。
【0095】
以上説明したように、第3実施形態によれば、音声データにいてのケプストラムデータを使用することで、パワースペクトルよりも一層音声の特徴を捕らえたデータを認識対象とするので、認識率が向上する。
なお、第3実施形態では音声認識について説明したが、画像データのケプストラムデータを使用して画像認識を行うようにしてもよい。この場合の画像データは、画像読取装置24で読み取られた画像データ、および通信制御装置15で受信した画像データのいずれを用いてもよい。
【0096】
次に第4実施形態について説明する。
第3実施形態では、ニューロン素子網22の入力層Inへの入力データとしてケプストラムデータ用いたが、この第4実施形態では、入力データとして、自己連想(オートアソシエーション)型ニューラルネットワークにおける中間層のデータを用いるものである。
【0097】
図23は、第4実施形態における自己連想型NN(ニューラルネットワーク)を用いたニューラルネットワークのシステム構成を表したものである。この図に示すように、ニューラルネットワークでは、第2実施形態のシステムに更に、自己連想型NN27を備えている。
第4実施形態におけるRAM14は、ニューロン素子網22用の入力データを格納するベクトル列格納エリアの外に、さらに自己連想NN用ベクトル列格納エリアが確保されている。
なお、その他の部分については第2実施形態と同様なので、同一の番号を付してその説明を省略する。また、ニューロン素子網22については、第1実施形態および第2実施形態で説明したニューロン素子網22だけでなく、さらに第1および第2実施形態の変形例として説明したニューロン素子網22の、いずれのニューロン素子網22を適用することも可能である。
【0098】
図24は、自己連想型NNの構成を表したものである。
この図24に示すように、自己連想型NNは、入力層AIと中間層AHおよび出力層AOの3層を備えている。
入力層AIは、音声認識や、図形認識等の各種処理に対応して任意に選択される入力データ数pに応じた数p個のニューロン素子AI1〜AIpを備えている。
中間層AHは、入力層AHのニューロン素子の数p個よりも少ない数p個のニューロン素子AH1〜AHq(q<p)を備えている。
出力層AOは、入力層AHと同数p個のニューロン素子AO1〜AOpを備えている。
【0099】
中間層AHの各ニューロン素子AH1〜AHqは、入力層AIの全ニューロン素子との間で、学習時に変更可能な結合重みAW11〜AWpqで完全結合している。
また中間層AHの各ニューロン素子AH1〜AHqは、それぞれ学習段階で変更可能な閾値を備えている。
中間層AHの各ニューロン素子AH1〜AHqは、入力層AIに入力された入力データと、結合重みAWと、閾値に基づいて、順伝播活性による出力値を出力するようになっている。このAH1〜AHqの出力値は、ニューロン素子網22の入力層Inに入力する入力データStとして出力されるようになっている。
また、出力層AOの各ニューロン素子AO1〜AOpは、中間層AHの全ニューロン素子AH1〜AHqとの間で、学習時に可変な結合重みAw11〜Awqpで完全結合している。そして、各ニューロン素子AO1〜AOpは、中間層AHの出力値Stと結合重みAwとから、自己連想型NNの出力値を出力するようになっている。
【0100】
自己連想型NN27は、図示しないメモリを備えており、このメモリに入力層AIと中間層AHとの結合重みAW、閾値、および中間層AHと出力層AOとの結合重みを格納するようになっている。
【0101】
次に、自己連想型NN27による、ニューロン素子網22に入力する入力データStの生成について、音声認識の場合を例に説明する。
いま音声認識の対象となる各音素のうち、音素“あ”についての学習を行う場合につてい説明する。
学習対象となる音素「a」については、言葉の最初に発声場合の音素を“あ”で表し、言葉の最後に発声される場合の音素を“ア”で表し、言葉の途中に発声される場合の音素を“A”で表すものとする。例えば、“あ”は、aki(秋)からとり、“ア”はdenwa(電話)からとり、“A”はtomari(泊まり)からとる。なお、以下の説明においては、音素「あ」について、“あ”、“ア”、“A”の3パターンによる音素「a」の学習を例に説明するが、各音素について3〜30パターン、好ましくは100パターン程度による学習が行われる。
【0102】
図25は、これら3種類の“あ”、“ア”、“A”について、FFT装置21で各時間t(t=1、2、…)毎に、FFT処理によりスペクトル解析したデータを表したものである。
FFT装置21は、各音素“あ”、“ア”、“A”について、それぞれ図25(a)、(b)、(c)に示すように、各時間t毎に音声データの、各周波数(周波数の分割数は、入力層AIのニューロン素子の数pに対応して、F1〜Fpのp個である)に対するパワー(P)の値を算出する。そして、各周波数のパワーP(t)によるベクトル列は、第2実施形態について図18で説明したと同様に、各時間毎に、RAM14の自己連想NN用ベクトル列格納エリアに格納される。
【0103】
いま、図25(a)に示されるように、音素“あ”についてスペクトル解析された、時刻t=1におけるパワーP(1)のベクトル列をあ1とし、時刻t=2におけるパワーP(2)のベクトル列をあ2とし、同様に、図示しないが、時刻t=nのベクトル列をあnとする。
また、図25(b)に示されるように、音素“ア”についてスペクトル解析された、時刻t=1におけるパワーP(1)のベクトル列をア1とし、時刻t=2におけるパワーP(2)のベクトル列をア2とし、同様に、図示しないが、時刻t=nのベクトル列をあnとする。
また、図25(c)に示されるように、音素“A”についてスペクトル解析された、時刻t=1におけるパワーP(1)のベクトル列をA1とし、時刻t=2におけるパワーP(2)のベクトル列をA2とし、同様に、図示しないが、時刻t=nのベクトル列をAnとする。
【0104】
これらの各音素についてスペクトル解析されたパワーP(t)の各時刻毎に、自己連想型NN27の学習と、ニューロン素子網22にの入力層INに供給する入力データの生成が行われる。
すなわち、同一時刻、例えばt=1における各音素のベクトル列あ1、ア1、A、を自己連想型NN27の入力層AIの入力データとする共に、出力層AOの教師信号として使用することで、各時刻tのベクトル列毎に学習を行なう。そして、時刻tについての学習が終了した時点での中間層AHからの一方の出力値Stを入力層INの入力データとする。
なお、自己連想型NN27における学習は、例えばバックプロパゲーション則等による各種学習が適用される。
【0105】
図26は、自己連想型N27の学習における入力データと教師信号、学習終了後の出力値Stについて表したものである。この図26では、図25に示した各音素に対するパワーのベクトル列に基づいて学習する場合を例に示している。
この図26に示されるように、各時刻t(t=1、2、…n)を単位として学習が行われ、入力データStが生成される。例えば、時刻t1の場合であれば、教師信号をあ1として入力データあ1とア1とA1について学習を行い、次に、教師信号をア1として、入力データあ1とア1とA1について学習を行い、更に、教師信号をA1として、入力データあ1とア1とA1について学習を行う。
これら、全組み合わせについての学習が終了した後に、あ1、ア1、A1のいずれかのデータを入力層AIに入力し、このときの中間層AHの出力値から、時刻t=1におけるニューロン素子網22の入力層Inへの入力データS1が生成される。
同様にして、あ2、ア2、A2による入力データと教師信号の全組み合わせによる学習から、時刻t=2における入力層Inへの入力データS2が生成され、さらに、S3、S4、…、Snも同様にして生成される。
【0106】
自己連想型NN27によって生成された入力データSt(t=1、2、…、n)に従って、ニューロン素子網22による学習が行われる。
第2実施形態のニューロン素子網22の場合、この入力データStが、音声入力層Inと音声出力層Ouに入力される。すなわち、時刻t=iのスペクトルデータについて学習を行う場合、入力データSiのベクトル列が音声入力層Inに入力され、入力データS(i+1)のベクトル列が教師信号として音声出力層Ouに入力される。
なお、仮説出力層Hyへの教師信号(入力データSt生成のための音素を示す符号列)の入力、および、各中間層Hiと各環帰入力層Coの追加につては、第2実施形態で説明したと同様に行われる。
一方、第1実施形態のニューロン素子網22の場合、入力データStが順次入力層Inに入力される。出力層Ouに入力される教師信号としては、入力データSt生成のための音素を示す符号列が入力される。
【0107】
このようにして、自己連想型NN27およびニューロン素子網22の学習が終了すると、次のようにして、実際の音声認識が行われる。
まず、認識対象となる音声が音声入力装置23から入力されると、FFT装置21でスペクトル解析が行われ、各時間t毎の、各周波数に対するパワーP(t)のベクトル列が順次求まる。このベクトル列は、各時間毎に、RAM14の自己連想NN用ベクトル列格納エリアに格納される。
【0108】
CPU11は、FFT装置21による音声のスペクトル解析が終了した後のベクトル列P(t)を、順次自己連想型NN27の入力層AIに入力する。自己連想型NN27では、入力されたベクトル列P(t)に対する中間層AHの出力ベクトルを、その時刻tにおける入力データStとしてニューロン素子網22に出力する。
この各時刻t(t=1、2、…n)毎の入力データS(t)が、第1実施形態のニューロン素子網22の場合には入力層Inに、第2実施形態のニューロン素子網22の場合には音声入力層Inに、それぞれ順次入力される。そして、入力データに対応する出力値が、第1実施形態のニューロン素子網22では出力層Ouのニューロン素子から、第2実施形態のニューロン素子網22では仮説出力層Hyのニューロン素子から、それぞれ出力される。
そして、各ニューロン素子からの出力値と、ROM13に格納されている第2教師信号の各符号列とを照合することで、CPU11は該当音素を特定し、RAM14に格納する。
【0109】
この音素は、第2実施形態でも説明したように、各音素について複数のベクトル列P(tn)に解析され、時系列的に音声入力層Inに入力されて特定されるため、複数の音素列となる。すなわち、音声「いろ」が入力された場合には、例えば「iiiiirrrooooo」となる。そこで、CPU11は、このRAM14に格納された音素列から、入力された音声を「iro」と認識する。
そしてCPU11は、キーボード18からの入力指示に応じて、認識した音声を日本語変換システムに従って文字による文章に変換し、また通信制御装置5および通信網2を介して、パーソナルコンピュータやワードプロセッサ等の各種通信制御装置にデータ伝送を行う。
【0110】
以上説明したように、第4実施形態による自己連想型NN27を使用することによって、ニューロン素子網22に入力するベクトル列が小さくなり、第1実施形態の入力層Inや第2実施形態の音声入力層Inのニューロン素子数を少なくすることができる。従って、ニューロン素子網22の構成を小さくすることができる。
【0111】
以上説明した第4実施形態では、自己連想型NN27の学習において、音素の各パターンについての入力データと教師信号の全組み合わせを学習対象としているため、中間層AHは、その音素についての一般化されたベクトル列St(t=1〜n)を生成することができる。
なお、全音素の各パターンについての組み合わせでなくても、入力層AIの入力データおよび出力層AOの教師信号として、同一のパターンを使用するようにしてもよい。
【0112】
なお、以上説明した第4実施形態では、学習および認識の際に自己連想型NN27の入力層AIに入力するデータとして、FFT装置21でスペクトル解析されたデータを用いた。これに対して、第3実施形態で説明した、ケプストラムデータを自己連想型NN27の入力層AIに入力することで、ニューロン素子網22の入力データStを生成するようにしてよもい。
【0113】
以上説明した第4実施形態では、音声認識を行う際に、FFT装置21でスペクトル解析されたベクトル列P(t)を順次自己連想型NN27の入力層AIに入力し、中間層AHの出力ベクトルを時刻tにおける入力データStとして直ちにニューロン素子網22に出力するようにした。
これに対して、自己連想型NN27を、不特定話者用に学習したニューロン素子網22によって、ある特定話者による音声の認識が可能か否かを判定するフィルタとして使用することができる。
すなわち、ニューロン素子網22の学習で使用された不特定話者用のデータを使用した特定のキーワードについて、予め自己連想型NN27の不特定話者認識用の学習を行っておく。
そして、特定話者は、音声認識を行う際に、キーワードを発声し音声入力装置23に入力する。入力されたキーワードは、FFT装置21でスペクトル解析されて自己連想型NN27の入力層AIに入力され、中間層AHの出力値から、入力データStが生成される。この特定話者の入力データStを、不特定話者用に学習した際のStとを比較し、両者が大きく異なっている場合には、その特定話者の音声を不特定話者用の入力ニューロン素子網22で認識することが困難であると判断することができる。
なお、不特定話者音声について学習済の自己連想型NN27に、特定話者による任意音声のスペクトルデータを入力し、出力層AOからの出力データと、入力データとを比較し、自己連想が略できているか否かを判断することで、その特定話者の音声についての認識が可能か否かを判断するようにしてもよい。
【0114】
【発明の効果】
本発明によれば、高速で学習を行うことが可能なニューラルネットワークを提供することができる。
【図面の簡単な説明】
【図1】本発明の第1実施形態におけるニューラルネットワークのシステム構成図である。
【図2】第1実施形態におけるニューロン素子網の初期状態を示す説明図である。
【図3】第1実施形態におけるニューロン素子網の各ニューロン素子間の結合重みを格納する結合重みテーブルを示す説明図である。
【図4】第1実施形態におけるニューラルネットワークにより学習する図形○1を表した説明図である。
【図5】第1実施形態において、3種類の図形認識についての学習を行うためのニューロン素子網の構成図である。
【図6】第1実施形態における学習動作の詳細を表したフローチャートである。
【図7】第1実施形態において、新しいニューロン素子Himp=Hi11を追加したニューロン素子網と結合重みテーブルを表した説明図である。
【図8】第1実施形態において、第1中間層のニューロン素子が更に追加された状態を表した説明図である。
【図9】第1実施形態において、第1中間層のニューロン素子が更に追加された状態を表した説明図である。
【図10】第1実施形態において、第2中間層のニューロン素子Hi21を新たに追加した状態を表した説明図である。
【図11】第1実施形態において、全図形についての学習が終了後におけるニューロン素子網と結合重みテーブルの状態を表した説明図である。
【図12】本発明の第2の実施形態におけるニューラルネットワークを利用した音声認識装置のシステム構成図である。
【図13】 第2実施形態における音声認識装置のニューロン素子網の初期状態を説明する説明図である。
【図14】 第2実施形態における音声認識装置のニューロン素子網による学習途中を説明するための説明図である。
【図15】第2実施形態におけるニューロン素子網の各ニューロン素子間の結合重みを格納する結合重みテーブルを示す説明図である。
【図16】第2実施形態におけるニューロン素子網に対する第2教師信号テーブルの内容を示す説明図である。
【図17】第2実施形態における音声認識装置による音声のスペクトル解析の状態を説明する説明図である。
【図18】第2実施形態における音声認識装置のFFT装置によりスペクトル解析された音声についてのベクトル列を表す説明図である。
【図19】第2実施形態における音声認識装置により特定した音声「まえ」についての各音素の分布を示す説明図である。
【図20】第2実施形態における音声認識装置のニューロン素子網の変形例を示すシステム構成である。
【図21】本発明の第3実施形態におけるニューラルネットワークのシステム構成図である。
【図22】第3実施形態におけるケプストラム装置の構成図である。
【図23】本発明の、第4実施形態における自己連想型NNを用いたニューラルネットワークのシステム構成図である。
【図24】第4実施形態における自己連想型NNの構成図である。
【図25】第4実施形態において、3種類の“あ”、“ア”、“A”のスペクトル解析したデータを示す説明図である。
【図26】第4実施形態における自己連想型N27の学習時の入力データと教師信号、入力データStの関係を表す説明図である。
【符号の説明】
11 CPU
12 バスライン
13 ROM
14 RAM
15 通信制御装置
16 プリンタ
17 表示装置
18 キーボード
21 FFT装置
22 ニューロン素子網
23 音声入力装置
24 図形読取装置
26 ケプストラム装置
In 入力層、音声入力層
Co 環帰入力層
Hi 中間層
Ou 出力層、音声出力層
Hy 仮説出力層
W、h、k、w、s、u、v 結合重み

Claims (8)

  1. 入力層ニューロン素子を複数有する入力層と、
    出力層ニューロン素子を複数有する出力層と、
    所定のカテゴリのうちのいずれか1のカテゴリに分類され、前記入力層の入力層ニューロン素子と結合重みWで結合すると共に、前記出力層の出力層ニューロン素子と結合重みwで結合する中間層ニューロン素子を、複数有する中間層と、
    前記中間層の中間層ニューロン素子と結合重みvで結合した仮説出力層ニューロン素子を複数有する仮説出力層と、
    あるカテゴリについての学習を行う場合に、他のカテゴリに属する中間層ニューロン素子と、入力層ニューロン素子との結合重みW、および出力層ニューロン素子との結合重みwを固定し、学習対象となるカテゴリの中間層ニューロン素子との結合重みW、wを調整することで学習を行う学習手段と、
    この学習手段による学習の際に、あるカテゴリに属する学習用入力データに対して学習不可状態になった場合に、その学習用入力データが属するカテゴリの中間層ニューロン素子を追加する中間層ニューロン素子追加手段と、を備え、
    前記学習手段は、複数のベクトル列Fn(n=1、2、3、…)の集合が特定のカテゴリに属する意味Aを表すデータについて、ベクトル列Fnを入力層に入力し、ベクトル列Fn+1を第1教師信号として前記出力層に入力し、特定の意味Aを第2教師信号として前記仮説出力層に入力することで、学習を行うことを特徴とするニューラルネットワーク。
  2. 前記学習手段は、さらに学習対象となっているカテゴリの既存の中間層と入力層との結合重みWを固定し、
    前記中間層ニューロン素子追加手段による追加された新たな中間層ニューロン素子の結合重みWとw、および学習対象となっているカテゴリの既存の中間層ニューロン素子の結合重みwを調整することで学習を行う
    ことを特徴とする請求項1に記載のニューラルネットワーク。
  3. それぞれ異なるカテゴリ毎に別個独立して学習が行われた複数の中間層と、
    この複数の中間層の各中間層ニューロン素子と結合重みWで結合した、入力層ニューロン素子を複数有する入力層と、
    前記複数の中間層の各中間層ニューロン素子と結合重みwで結合した、出力層ニューロン素子を複数有する出力層と、
    前記入力層の入力層ニューロン素子と結合重みW′で結合し、前記出力層の出力層ニューロン素子と結合荷重w′で結合した調整用中間層と、
    前記複数の中間層における前記結合重みWと結合重みwを固定し、前記調整用中間層の結合重みW′とw′を調整することで、前記複数の中間層の学習に使用した学習用入力データにより、ネットワーク全体の学習を再度行う学習手段と、
    この学習手段による学習の際に学習不可状態になった場合に、前記調整用中間層の中間層ニューロン素子を追加する中間層ニューロン素子追加手段と、
    を具備することを特徴とするニューラルネットワーク。
  4. 前記中間層の中間層ニューロン素子と結合重みvで結合した仮説出力層ニューロン素子を複数有する仮説出力層を備え、
    前記学習手段は、複数のベクトル列Fn(n=1、2、3、…)の集合が特定のカテゴリに属する意味Aを表すデータについて、ベクトル列Fnを入力層に入力し、ベクトル列Fn+1を第1教師信号として前記出力層に入力し、特定の意味Aを第2教師信号として前記仮説出力層に入力することで、学習を行う
    ことを特徴とする請求項3に記載のニューラルネットワーク。
  5. 前記中間層の中間層ニューロン素子と結合し、その出力ベクトル列が前記中間層に供給される環帰層ニューロン素子を複数有する環帰層を備え、
    前記学習手段は、複数のベクトル列Fnの集合が特定のカテゴリに属する意味Aを表すデータについて、ベクトル列Fn−1に対する前記中間層または前記出力層の出力ベクトル値を前記環帰入力層に入力し、ベクトル列Fnを前記入力層に入力し、ベクトル列Fn+1を第1教師信号として前記出力層に入力し、特定の意味Aを第2教師信号として前記仮説出力層に入力することで、学習を行う
    ことを特徴とする請求項4に記載のニューラルネットワーク。
  6. 前記学習手段は、バックプロパゲーション則により学習することを特徴とする請求項1から請求項5のうちのいずれか1の請求項に記載されたニューラルネットワーク。
  7. 前記特定の意味Aが音声を構成する音素であり、複数のベクトル列Fnが、時系列的に解析された特定の意味Aについての特徴量を表すベクトル列であることを特徴とする請求項4または請求項5に記載のニューラルネットワーク。
  8. 前記特定の意味Aについての特徴量を表すベクトルとして、音声のスペクトルデータ、ケプストラムデータ、または自己連想型ニューラルネットワークの中間層の出力値データを使用することを特徴とする請求項7に記載のニューラルネットワーク。
JP23606295A 1995-08-22 1995-08-22 ニューラルネットワーク Expired - Fee Related JP3737841B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23606295A JP3737841B2 (ja) 1995-08-22 1995-08-22 ニューラルネットワーク

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23606295A JP3737841B2 (ja) 1995-08-22 1995-08-22 ニューラルネットワーク

Publications (2)

Publication Number Publication Date
JPH0962644A JPH0962644A (ja) 1997-03-07
JP3737841B2 true JP3737841B2 (ja) 2006-01-25

Family

ID=16995169

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23606295A Expired - Fee Related JP3737841B2 (ja) 1995-08-22 1995-08-22 ニューラルネットワーク

Country Status (1)

Country Link
JP (1) JP3737841B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2629069C (en) * 2005-11-15 2016-07-19 Bernadette Garner Method for training neural networks
JP5467951B2 (ja) * 2010-07-05 2014-04-09 本田技研工業株式会社 ニューラルネットワーク学習装置
JP5899272B2 (ja) 2014-06-19 2016-04-06 ヤフー株式会社 算出装置、算出方法及び算出プログラム
JP6953229B2 (ja) * 2017-08-10 2021-10-27 株式会社半導体エネルギー研究所 半導体装置
JP6887055B2 (ja) * 2018-02-28 2021-06-16 富士フイルム株式会社 機械学習方法及び装置、プログラム、学習済みモデル、並びに判別装置
CN111611892B (zh) * 2020-05-14 2024-03-19 龙立强人工智能科技(苏州)有限公司 应用神经网络的综合性智能深度学习方法

Also Published As

Publication number Publication date
JPH0962644A (ja) 1997-03-07

Similar Documents

Publication Publication Date Title
US6026358A (en) Neural network, a method of learning of a neural network and phoneme recognition apparatus utilizing a neural network
US5638486A (en) Method and system for continuous speech recognition using voting techniques
US5596679A (en) Method and system for identifying spoken sounds in continuous speech by comparing classifier outputs
CN111916111B (zh) 带情感的智能语音外呼方法及装置、服务器、存储介质
US5594834A (en) Method and system for recognizing a boundary between sounds in continuous speech
US5734793A (en) System for recognizing spoken sounds from continuous speech and method of using same
CN106971709A (zh) 统计参数模型建立方法和装置、语音合成方法和装置
Tokuda et al. Directly modeling voiced and unvoiced components in speech waveforms by neural networks
El Choubassi et al. Arabic speech recognition using recurrent neural networks
JP2000099080A (ja) 信頼性尺度の評価を用いる音声認識方法
Lim et al. Speech recognition using artificial neural networks
Agrawal et al. Prosodic feature based text dependent speaker recognition using machine learning algorithms
WO2002091355A1 (en) High-order entropy error functions for neural classifiers
Airaksinen et al. Data augmentation strategies for neural network F0 estimation
Sarma et al. An ANN based approach to recognize initial phonemes of spoken words of Assamese language
CN113450761A (zh) 一种基于变分自编码器的并行语音合成方法和装置
JP3737841B2 (ja) ニューラルネットワーク
JP3014177B2 (ja) 話者適応音声認識装置
Brucal et al. Female voice recognition using artificial neural networks and MATLAB voicebox toolbox
EP4177882B1 (en) Methods and systems for synthesising speech from text
JP2000194392A (ja) 騒音適応型音声認識装置及び騒音適応型音声認識プログラムを記録した記録媒体
CN113436607B (zh) 一种快速语音克隆方法
Jagadeeshwar et al. ASERNet: Automatic speech emotion recognition system using MFCC-based LPC approach with deep learning CNN
JPH09212197A (ja) ニューラルネットワーク
Binh et al. A high-performance speech-recognition method based on a nonlinear neural network

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050621

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050818

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051018

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051028

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091104

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101104

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101104

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111104

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees