(57)【要約】【課題】ユーザの操作を、ユーザが知らないうちに学習することにより、そのユーザにとって最適な処理を行うことができるようにする。【解決手段】本発明は、ユーザの操作を、ユーザが知らないうちに学習し、その学習結果に基づいて、そのユーザにとって最適な処理を行うことができるようにした信号処理装置に関する。学習部２において、ユーザの操作に応じて供給される操作信号がモニタされ、学習に用いることができるかどうかが判定される。そして、操作信号が、学習に用いることのできる学習用操作信号である場合には、学習部２は、その学習用操作信号に基づいて、入力信号を補正する規範である補正規範を学習する。一方、補正部１では、入力信号が、学習により得られた補正規範に基づいて補正され、その補正後の信号が、出力信号として出力される。本発明は、ノイズを除去するＮＲ(Noise Reduction)回路に適用できる。【選択図】図１
2008146661.tif 000002
【特許請求の範囲】
【請求項１】
入力信号を補正して出力信号を出力する信号処理装置において、
ユーザの操作に応じて供給される操作信号をモニタし、学習に用いることができるかどうかを判定する判定手段と、
学習に用いることのできる前記操作信号である学習用操作信号に基づいて、前記入力信号を補正するための規範となる情報である補正パラメータを学習する学習手段と、
現在の入力信号と、前記補正パラメータから求められる所定の補正量との線形結合によって、前記現在の入力信号を補正し、その補正後の信号を、前記出力信号として出力する補正手段とを備え、
前記学習手段は、
前記学習用操作信号が入力された直後の前記入力信号と、前記学習用操作信号が入力される直前の前記入力信号とを有する学習用データに基づき、前記補正パラメータを学習する
ことを特徴とする信号処理装置。
【請求項２】
前記判定手段は、ユーザによる操作が所定時間以上続いた後に、その操作が停止されたときの前記操作信号を、前記学習用操作信号と判定する
ことを特徴とする請求項１に記載の信号処理装置。
【請求項３】
最新である所定数の前記学習用データを記憶する学習用データ記憶手段と、
前記学習情報を記憶する学習情報記憶手段と、
前記学習手段により求められた前記補正パラメータの適正さを判定する補正パラメータ判定手段をさらに備え、
前記学習手段は、前記学習用データと学習情報を用いて求めた前記補正パラメータが適正でないと判定された場合、最新である所定数の前記学習用データのみを用いて、前記補正パラメータを再度求めるとともに、その補正パラメータを求めるにあたって得られた新たな学習情報によって、前記学習情報記憶手段の記憶内容を更新する
ことを特徴とする請求項１に記載の信号処理装置。
【請求項４】
前記学習手段は、
前記学習用操作信号が得られた直後に入力された前記入力信号を、前記学習の教師となる教師データとして求める教師データ生成手段と、
前記学習用操作信号が得られた直前に入力された前記入力信号を、前記学習の生徒となる生徒データとして求める生徒データ生成手段と、
前記入力信号を補正する補正量を制御する補正パラメータと前記生徒データとから求められる信号と、前記教師データとの間の統計的な誤差を最小にする前記補正パラメータを演算する制御データ演算手段と
を有し、
前記補正手段は、前記補正パラメータから前記補正量を求め、その補正量にしたがって、前記入力信号を補正する
ことを特徴とする請求項１に記載の信号処理装置。
【請求項５】
前記入力信号は、画像信号または音声信号である
ことを特徴とする請求項１に記載の信号処理装置。
【請求項６】
前記入力信号は、移動する物体の位置または移動方向を表す信号である
ことを特徴とする請求項１に記載の信号処理装置。
【請求項７】
入力信号を補正して出力信号を出力する信号処理を、コンピュータに行わせるプログラムにおいて、
コンピュータを、
ユーザの操作に応じて供給される操作信号をモニタし、学習に用いることができるかどうかを判定する判定手段と、
学習に用いることのできる前記操作信号である学習用操作信号に基づいて、前記入力信号を補正するための規範となる情報である補正パラメータを学習する学習手段と、
現在の入力信号と、前記補正パラメータから求められる所定の補正量との線形結合によって、前記現在の入力信号を補正し、その補正後の信号を、前記出力信号として出力する補正手段とを備える信号処理装置として機能させ、
前記学習手段は、
前記学習用操作信号が入力された直後の前記入力信号と、前記学習用操作信号が入力される直前の前記入力信号とを有する学習用データに基づき、前記補正パラメータを学習するように機能させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号処理装置およびプログラムに関し、特に、例えば、ユーザの操作を、ユーザが知らないうちに学習することにより、そのユーザにとって最適な処理を行うことができるようにする信号処理装置およびプログラムに関する。
【背景技術】
【０００２】
例えば、従来のＮＲ(Noise Reduction)回路においては、ユーザが、その調整用のつまみを操作して、所定の位置に設定すると、そのつまみの位置に対応するノイズ除去処理が行われる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、ＮＲ回路に入力される信号のＳ／Ｎ(Signal to Noise Ratio)や周波数特性等は、常に一定であるとは限らず、むしろ変化するのが一般的である。そして、ＮＲ回路に入力される信号のＳ／Ｎや周波数特性等が変化した場合、ユーザがつまみを操作して設定した位置に対応するノイズ除去処理において、ＮＲ回路に入力される信号に対して適切な処理が施されるとは限らず、このため、ユーザは、自身にとって適切なノイズ除去処理が施されるように、頻繁に、つまみを操作する必要があり、面倒であった。
【０００４】
本発明は、このような状況に鑑みてなされたものであり、ユーザの操作を、ユーザが知らないうちに学習することにより、そのユーザにとって最適な処理を行うことができるようにするものである。
【課題を解決するための手段】
【０００５】
本発明の信号処理装置は、ユーザの操作に応じて供給される操作信号をモニタし、学習に用いることができるかどうかを判定する判定手段と、学習に用いることのできる前記操作信号である学習用操作信号に基づいて、前記入力信号を補正するための規範となる情報である補正パラメータを学習する学習手段と、現在の入力信号と、前記補正パラメータから求められる所定の補正量との線形結合によって、前記現在の入力信号を補正し、その補正後の信号を、前記出力信号として出力する補正手段とを備え、前記学習手段は、前記学習用操作信号が入力された直後の前記入力信号と、前記学習用操作信号が入力される直前の前記入力信号とを有する学習用データに基づき、前記補正パラメータを学習することを特徴とする。
【０００６】
本発明のプログラムは、コンピュータを、ユーザの操作に応じて供給される操作信号をモニタし、学習に用いることができるかどうかを判定する判定手段と、学習に用いることのできる前記操作信号である学習用操作信号に基づいて、前記入力信号を補正するための規範となる情報である補正パラメータを学習する学習手段と、現在の入力信号と、前記補正パラメータから求められる所定の補正量との線形結合によって、前記現在の入力信号を補正し、その補正後の信号を、前記出力信号として出力する補正手段とを備える信号処理装置として機能させ、前記学習手段は、前記学習用操作信号が入力された直後の前記入力信号と、前記学習用操作信号が入力される直前の前記入力信号とを有する学習用データに基づき、前記補正パラメータを学習するように機能させることを特徴とする。
【０００７】
本発明の信号処理装置およびプログラムにおいては、ユーザの操作に応じて供給される操作信号をモニタし、学習に用いることができるかどうかが判定され、学習に用いることのできる前記操作信号である学習用操作信号に基づいて、前記入力信号を補正するための規範となる情報である補正パラメータが学習され、現在の入力信号と、前記補正パラメータから求められる所定の補正量との線形結合によって、前記現在の入力信号を補正し、その補正後の信号が、前記出力信号として出力される。また、前記学習用操作信号が入力された直後の前記入力信号と、前記学習用操作信号が入力される直前の前記入力信号とを有する学習用データに基づき、前記補正パラメータが学習される。
【発明の効果】
【０００８】
以上の如く、本発明によれば、ユーザの操作に応じて供給される操作信号がモニタされ、学習に用いることができるかどうかが判定される。そして、操作信号が、学習に用いることのできる学習用操作信号である場合には、その学習用操作信号に基づいて、入力信号を補正するための規範となる情報である補正パラメータが学習される。一方、入力信号が、学習により得られた補正規範に基づいて補正され、その補正後の信号が、出力信号として出力される。また、学習用操作信号が入力された直後の入力信号と、学習用操作信号が入力される直前の入力信号とを有する学習用データに基づき、補正パラメータが学習される。従って、ユーザの操作を、ユーザが知らないうちに学習し、さらに、その学習結果に基づいて、そのユーザにとって最適な処理を行うことが可能となる。
【発明を実施するための最良の形態】
【０００９】
図１は、本発明を適用した最適化装置の一実施の形態の構成例を示している。
【００１０】
この最適化装置においては、ユーザの操作を、ユーザが知らないうちに学習することにより、そのユーザにとって最適な処理を行うようになっている。即ち、最適化装置では、ユーザの操作に応じて供給される操作信号がモニタされ、学習に用いることができるかどうかが判定される。そして、操作信号が、学習に用いることのできる学習用操作信号である場合には、その学習用操作信号に基づいて、入力信号を補正する規範である補正規範が学習される。一方、入力信号は、学習により得られた補正規範に基づいて補正され、その補正後の信号が、出力信号として出力される。
【００１１】
最適化装置は、補正部１と学習部２から構成されており、そこには、処理の対象となる入力信号の他、ユーザの操作に対応した操作信号が供給されるようになっている。
【００１２】
操作信号は、操作部３から供給されるようになっている。即ち、操作部３は、例えば、ロータリ型やスライド型のつまみや、スイッチ、ポインティングデバイス等で構成されており、ユーザの操作に対応した操作信号を、最適化装置に供給する。
【００１３】
最適化装置を構成する補正部１には、例えば、ディジタルの入力信号が供給されるとともに、学習部２から、入力信号を補正する補正規範としての、例えば、補正パラメータが供給されるようになっている。補正部１は、入力信号を、補正パラメータに基づいて補正し、その補正後の信号を、出力信号として出力する。
【００１４】
学習部２には、操作部３からの操作信号が供給されるとともに、必要に応じて、入力信号または出力信号が供給されるようになっている。学習部２は、操作信号をモニタし、学習に用いることができるかどうかを判定する。そして、学習部２は、操作信号が、学習に用いることのできる学習用操作信号である場合には、その学習用操作信号に基づき、入力信号を補正するのに用いられる補正パラメータを、必要に応じて、入力信号や出力信号を用いて学習し、補正部１に供給する。
【００１５】
なお、学習部２は、学習用データメモリ３３と学習情報メモリ３５とを内蔵しており、学習用データメモリ３３は、学習に用いられる学習用データを記憶し、学習情報メモリ３５は、学習によって得られる、後述する学習情報を記憶する。
【００１６】
次に、図２のフローチャートを参照して、図１の最適化装置が行う処理（最適化処理）について説明する。
【００１７】
まず最初に、ステップＳ１において、学習部２は、操作部３から学習用操作信号を受信したかどうかを判定する。ここで、ユーザは、操作部３を操作する場合、最初は、適当な操作を行い、その操作に応じて出力される出力信号を確認しながら、細かな操作を行って、最終的に最適であると思った出力信号が得られた時点で、操作を停止するのが一般的である。この、ユーザが最適であると思った出力信号が得られた時点における、操作部３の位置に対応する操作信号が、学習用操作信号であり、このため、学習部２は、操作部３の操作が所定時間以上続いた後に、その操作が停止された場合に、その停止されたときの操作信号を、学習用操作信号と判定するようになっている。
【００１８】
ステップＳ１において、学習用操作信号を受信していないと判定された場合、即ち、例えば、ユーザが操作部３を操作していないか、あるいは、操作していても、最適な位置を探しているような操作をしている場合、ステップＳ２乃至Ｓ１０をスキップして、ステップＳ１１に進み、補正部１は、入力信号を、既に設定されている補正パラメータにしたがって補正し、その補正結果としての出力信号を出力して、ステップＳ１に戻る。
【００１９】
また、ステップＳ１において、学習用操作信号を受信したと判定された場合、ステップＳ２に進み、学習部２は、その学習用操作信号に基づいて、学習に用いる学習用データを取得し、ステップＳ３に進む。ステップＳ３では、学習用データメモリ３３が、ステップＳ２で取得された最新の学習用データを記憶する。
【００２０】
ここで、学習用データメモリ３３は、複数の学習用データを記憶することのできる記憶容量を有している。また、学習用データメモリ３３は、その記憶容量分だけの学習用データを記憶すると、次の学習用データを、最も古い記憶値に上書きする形で記憶するようになっている。従って、学習用データメモリ３３には、複数の学習用データであって、最近のものが記憶される。
【００２１】
ステップＳ３で学習用データメモリ３３に学習用データを記憶した後は、ステップＳ４に進み、学習部２は、学習用データメモリ３３に記憶された最新の学習用データと、学習情報メモリ３５に記憶された学習情報とを用いて学習を行い、補正パラメータを求めて、ステップＳ５に進む。ステップＳ５では、学習部２は、ステップＳ４の学習の途中で得られる新たな学習情報によって、学習情報メモリ３５の記憶内容を更新し、ステップＳ６に進む。
【００２２】
ステップＳ６では、学習部２は、ステップＳ４で求めた補正パラメータの適正さを表す、後述するような適正度を求め、ステップＳ７に進み、その適性度に基づいて、ステップＳ４で求めた補正パラメータが適正であるかどうかを判定する。
【００２３】
ステップＳ７において、補正パラメータが適正であると判定された場合、ステップＳ８およびＳ９をスキップして、ステップＳ１０に進み、学習部２は、その適正であると判定した補正パラメータを、補正部１に出力して、ステップＳ１１に進む。従って、この場合、それ以降は、補正部１において、ステップＳ４の学習で求められた新たな補正パラメータにしたがって、入力信号が補正される。
【００２４】
一方、ステップＳ７において、補正パラメータが適正でないと判定された場合、ステップＳ８に進み、学習部２は、学習用データメモリ３３に記憶された学習用データのうちの、最近の学習用データのみを用いて学習を行い、補正パラメータを求めて、ステップＳ９に進む。ステップＳ９では、学習部２は、ステップＳ８の学習の途中で得られる新たな学習情報によって、学習情報メモリ３５の記憶内容を更新し、ステップＳ１０に進む。この場合、ステップＳ１０では、学習部２は、ステップＳ８で最近の学習用データのみから得られた補正パラメータを、補正部１に出力して、ステップＳ１１に進む。従って、この場合、それ以降は、補正部１において、ステップＳ８の学習で求められた新たな補正パラメータにしたがって、入力信号が補正される。
【００２５】
次に、図３は、図１の最適化装置を、例えば、画像信号や音声信号からノイズを除去するＮＲ回路に適用した場合の詳細構成例を示している。
【００２６】
重みメモリ１１は、学習部２の、後述する選択部２１から供給される補正パラメータとしての重み（係数）Ｗ（例えば、０以上１以下の値）を記憶する。重みメモリ１２は、演算器１３から供給される重み１−Ｗを記憶する。
【００２７】
演算器１３は、学習部２の選択部２１から供給される重みＷを、１．０から減算した減算値１−Ｗを、重みとして、重みメモリ１２に供給する。演算器１４は、入力信号と、重みメモリ１２に記憶された重み１−Ｗとを乗算し、その乗算値を、演算器１６に供給する。演算器１５は、重みメモリ１１に記憶された重みＷと、ラッチ回路１７に記憶（ラッチ）された出力信号とを乗算し、その乗算値を、演算器１６に供給する。演算器１６は、演算器１４と１５の出力どうしを加算し、その加算値を、出力信号として出力する。
【００２８】
ラッチ回路１７は、演算器１６が出力する出力信号をラッチし、演算器１５に供給する。
【００２９】
図３の実施の形態では、以上の重みメモリ１１および１２、演算器１３，１４，１５、および１６、並びにラッチ回路１７によって、補正部１が構成されている。
【００３０】
選択部２１は、重み補正部２６が出力する重み、または操作信号処理部３０が出力する重みのうちのいずれか一方を選択し、補正パラメータとして、補正部１に供給する。
【００３１】
入力信頼度計算部２２には、入力信号が供給されるようになっており、その入力信号の信頼性を表す入力信頼度を求めて、出力信頼度計算部２３と重み計算部２５に出力する。出力信頼度計算部２３は、入力信頼度計算部２２からの入力信頼度に基づいて、出力信号の信頼性を表す出力信頼度を求め、ラッチ回路２４と重み計算部２５に供給する。ラッチ回路２４は、出力信頼度計算部２３からの出力信頼度を記憶（ラッチ）し、出力信頼度計算部２３および重み計算部２５に供給する。
【００３２】
重み計算部２５は、入力信頼度計算部２２からの入力信頼度と、出力信頼度計算部２３からの出力信頼度とから、重みを計算し、重み補正部２６に出力する。重み補正部２６には、重みの他、パラメータ制御データメモリ３７から、補正パラメータとしての重みを制御するパラメータ制御データが供給されるようになっており、重み補正部２６は、重みを、パラメータ制御データによって処理（補正）し、選択部２１に供給する。
【００３３】
操作信号処理部３０には、操作部３（図１）から操作信号が供給されるようになっており、操作信号処理部３０は、そこに供給される操作信号を処理し、その操作信号に対応する重みを、選択部２１、教師データ生成部３１、および生徒データ生成部３２に供給する。さらに、操作信号処理部３０は、操作信号が、上述した学習用操作信号かどうかを判定し、操作信号が学習用操作信号である場合には、その旨のフラグ（以下、適宜、学習フラグという）を、出力する重みに付加する。
【００３４】
教師データ生成部３１は、操作信号処理部３０から、学習フラグ付きの重みを受信すると、学習の教師となる教師データを生成し、学習用データメモリ３３に供給する。即ち、教師データ生成部３１は、学習フラグが付加されている重みを、教師データとして、学習用データメモリ３３に供給する。
【００３５】
生徒データ生成部３２は、操作信号処理部３０から学習フラグ付きの重みを受信すると、学習の生徒となる生徒データを生成し、学習用データメモリ３３に供給する。即ち、生徒データ生成部３２は、例えば、上述の入力信頼度計算部２２、出力信頼度計算部２３、ラッチ回路２４、および重み計算部２５と同様に構成され、そこに供給される入力信号から重みを計算しており、学習フラグ付きの重みを受信したときに入力信号から計算された重みを、生徒データとして、学習用データメモリ３３に供給する。
【００３６】
学習用データメモリ３３は、教師データ生成部３１から供給される、学習用操作信号に対応する重みとしての教師データと、生徒データ生成部３２から供給される、その学習用操作信号を受信したときの入力信号から計算される重みとしての生徒データとのセットを、１セットの学習用データとして記憶する。なお、上述したように、学習用データメモリ３３は、複数の学習用データを記憶することができ、さらに、その記憶容量分だけの学習用データを記憶すると、次の学習用データを、最も古い記憶値に上書きする形で記憶するようになっている。従って、学習用データメモリ３３は、基本的に、最近の学習用データの幾つかが、常に記憶されている状態にある。
【００３７】
パラメータ制御データ計算部３４は、判定制御部３６の制御の下、学習用データメモリ３３に記憶された学習用データとしての教師データおよび生徒データ、さらには、必要に応じて、学習情報メモリ３５に記憶された学習情報を用いて、所定の統計的な誤差を最小にするパラメータ制御データを、新たな学習情報を演算することにより学習し、判定制御部３６に供給する。また、パラメータ制御データ計算部３４は、学習によって得られた新たな学習情報によって、学習情報メモリ３５の記憶内容を更新する。学習情報メモリ３５は、パラメータ制御データ計算部３４からの学習情報を記憶する。
【００３８】
判定制御部３６は、パラメータ制御データ計算部３４から供給されるパラメータ制御データの適正さを、学習用データメモリ３３に記憶された最近の学習用データを参照することにより判定する。また、判定制御部３６は、パラメータ制御データ計算部３４を制御し、パラメータ制御データ計算部３４から供給されるパラメータ制御データを、パラメータ制御データメモリ３７に供給する。パラメータ制御データメモリ３７は、その記憶内容を、判定制御部３６から供給されるパラメータ制御データによって更新し、重み補正部２６に供給する。
【００３９】
図３の実施の形態では、以上の選択部２１乃至重み補正部２６、および操作信号処理部３０乃至パラメータ制御データメモリ３７によって、学習部２が構成されている。
【００４０】
以上のように構成されるＮＲ回路としての最適化装置では、次のようにして、入力信号におけるノイズが除去される。
【００４１】
即ち、例えば、いま、説明を簡単にするために、図４Ａに示すような、真値が一定で、かつ時間的に変動するノイズが重畳された入力信号について、その平均をとることで、時間的に変動するノイズを除去することを考えると、ノイズの度合いとしての、例えば、ノイズのレベルが大きい入力信号（従って、Ｓ／Ｎの悪い信号）については、その重みを小さくし（あまり考慮しないようにする）、ノイズのレベルの小さい入力信号（従って、Ｓ／Ｎの良い信号）については、その重みを大きくすることにより、ノイズを効果的に除去することができる。
【００４２】
そこで、図３のＮＲ回路では、入力信号の評価値として、例えば、図４Ｂに示すような、入力信号の、真値に対する近さ、即ち、入力信号が真値であることの信頼性を表す入力信頼度を求め、その入力信頼度に対応した重み付けを入力信号に対して行いながら、その平均を計算することで、ノイズを効果的に除去するようになっている。
【００４３】
従って、図３のＮＲ回路では、入力信号について、その入力信頼度に対応した重みを用いた重み付け平均が求められ、出力信号として出力されるが、いま、時刻ｔにおける入力信号、出力信号、入力信頼度を、それぞれｘ（ｔ），ｙ（ｔ），αx(t)と表すと、次式にしたがって、出力信号ｙ（ｔ）が求められることになる。
【数１】
2008146661.tif 000003
・・・（１）
【００４４】
なお、ここでは、入力信頼度αx(t)が大きいほど、大きな重みを与えることとしている。
式（１）から、現在時刻ｔから１サンプル前の出力信号ｙ（ｔ−１）は、次式で求められる。
【数２】
2008146661.tif 000004
・・・（２）
【００４５】
また、出力信号ｙ（ｔ）についても、その出力信号ｙ（ｔ）の評価値として、真値に対する近さ、即ち、出力信号ｙ（ｔ）が真値であることの信頼性を表す出力信頼度αy(t)を導入し、現在時刻ｔから１サンプル前の出力信号ｙ（ｔ−１）の出力信頼度αy(t-1)を、次式で定義する。
【数３】
2008146661.tif 000005
・・・（３）
【００４６】
この場合、式（１）乃至（３）から、出力信号ｙ（ｔ）およびその出力信頼度αy(t)は、次のように表すことができる。
【数４】
2008146661.tif 000006
・・・（４）
【数５】
2008146661.tif 000007
・・・（５）
【００４７】
また、時刻ｔにおいて、出力信号ｙ（ｔ）を求めるのに用いる重みを、ｗ（ｔ）と表し、これを、次式で定義する。
【数６】
2008146661.tif 000008
・・・（６）
【００４８】
式（６）から、次式が成り立つ。
【数７】
2008146661.tif 000009
・・・（７）
【００４９】
式（６）および（７）を用いると、式（４）における出力信号ｙ（ｔ）は、次のような乗算と加算による重み付け平均によって表すことができる。
【数８】
2008146661.tif 000010
・・・（８）
【００５０】
なお、式（８）で用いる重みｗ（ｔ）（および１−ｗ（ｔ））は、式（６）から、１サンプル前の出力信号ｙ（ｔ−１）の出力信頼度αy(t-1)と、現在の入力信号ｘ（ｔ）の入力信頼度αx(t)とから求めることができる。また、式（５）における現在の出力信号ｙ（ｔ）の出力信頼度αy(t)も、その１サンプル前の出力信号ｙ（ｔ−１）の出力信頼度αy(t-1)と、現在の入力信号ｘ（ｔ）の入力信頼度αx(t)とから求めることができる。
【００５１】
ここで、入力信号ｘ（ｔ）の入力信頼度αx(t)、または出力信号ｙ（ｔ）の出力信頼度αy(t)として、それぞれの分散σx(t)2、またはσy(t)2の逆数を用いることとすると、即ち、入力信頼度αx(t)、出力信頼度αy(t)を、式
【数９】
2008146661.tif 000011
・・・（９）
とおくと、式（６）における重みｗ（ｔ）と、式（７）における重み１−ｗ（ｔ）は、次式で求めることができる。
【数１０】
2008146661.tif 000012
・・・（１０）
【数１１】
2008146661.tif 000013
・・・（１１）
【００５２】
なお、σy(t)2は、次式で求めることができる。
【数１２】
2008146661.tif 000014
・・・（１２）
【００５３】
図３のＮＲ回路は、基本的には、式（６）にしたがい、重みｗ（ｔ）としての補正パラメータを演算する補正パラメータ演算処理を行い、その重みｗ（ｔ）を用いて、式（８）にしたがい、１サンプル前の出力信号ｙ（ｔ−１）と、現在の入力信号ｘ（ｔ）との重み付け平均を計算することで、入力信号ｘ（ｔ）に含まれるノイズを効果的に除去する補正処理を行う。
【００５４】
ところで、式（６）にしたがって求められた重みｗ（ｔ）による入力信号の補正処理の結果得られる出力信号が、必ずしも、ユーザが最適と感じるとは限らない。そこで、図３のＮＲ回路は、ユーザによる操作部３の操作を学習することにより、補正パラメータとしての重みｗ（ｔ）を制御（補正）するパラメータ制御データを求める制御データ学習処理を行い、そのパラメータ制御データによって補正した重みを用いて、入力信号の補正処理を行うようになっている。
【００５５】
制御データ学習処理は、次のようにして行われるようになっている。
【００５６】
即ち、ユーザが操作部３を操作することによって、ｉ回目に与えられた学習用操作信号に対応する重みＷiは、その学習用操作信号が与えられたときに入力された入力信号に対して、ユーザが最適なものと考えているとみることができ、従って、制御データ学習処理では、式（６）にしたがって求められる重みｗ（ｔ）を、学習用操作信号に対応する重みＷiに近い値（理想的には、同一の値）に補正することのできるパラメータ制御データを求めれば良い。
【００５７】
そこで、いま、式（６）にしたがって求められる重みｗ（ｔ）を、学習の生徒となる生徒データとするとともに、学習用操作信号に対応する重みＷiを、学習の教師となる教師データとして、生徒データとしての重みｗ（ｔ）から、例えば、次式に示すような、パラメータ制御データａとｂによって定義される一次式によって予測される、教師データとしての重みＷiの予測値Ｗi’を求めることを考える。
［数１３］
Ｗi’＝ａｗi＋ｂ
・・・（１３）
なお、式（１３）において（後述する式（１４）、式（１６）乃至（２１）においても、同様）、ｗiは、教師データとしての学習用操作信号に対応する重みＷiが与えられたときに入力された入力信号に対して、式（６）にしたがって求められる生徒データとしての重みｗ（ｔ）を表す。
【００５８】
式（１３）から、教師データとしてのＷiと、その予測値Ｗi’との誤差（予測誤差）ｅiは、次式で表される。
【数１４】
2008146661.tif 000015
・・・（１４）
【００５９】
いま、式（１４）の予測誤差ｅiの、次式で表される自乗誤差の総和
【数１５】
2008146661.tif 000016
・・・（１５）
を最小にするパラメータ制御データａとｂを、最小自乗法により求めることを考える。なお、式（１５）において（後述する式（１６）乃至（２１）においても、同様）、Ｎは、教師データと生徒データのセット数を表す。
【００６０】
まず、式（１５）の自乗誤差の総和を、パラメータ制御データａとｂで、それぞれ偏微分すると、次式が得られる。
【数１６】
2008146661.tif 000017
・・・（１６）
【数１７】
2008146661.tif 000018
・・・（１７）
【００６１】
式（１５）の自乗誤差の総和の最小値（極小値）は、式（１６）と（１７）の右辺を０にするａとｂによって与えられるから、式（１６）と（１７）の右辺を、それぞれ０とおくと、式（１６）からは式（１８）が、式（１７）からは式（１９）が、それぞれ得られる。
【数１８】
2008146661.tif 000019
・・・（１８）
【数１９】
2008146661.tif 000020
・・・（１９）
【００６２】
式（１９）を、式（１８）に代入することにより、パラメータ制御データａは、次式によって求めることができる。
【数２０】
2008146661.tif 000021
・・・（２０）
【００６３】
また、式（１９）と（２０）から、パラメータ制御データｂは、次式によって求めることができる。
【数２１】
2008146661.tif 000022
・・・（２１）
【００６４】
図３のＮＲ回路では、以上のようにして、パラメータ制御データａとｂを求める制御データ学習処理を行うようになっている。
【００６５】
次に、図５乃至図７のフローチャートを参照して、図３のＮＲ回路が行う補正処理、補正パラメータ演算処理、および制御データ学習処理について説明する。
【００６６】
まず最初に、図５のフローチャートを参照して、補正処理について説明する。
【００６７】
学習部２の選択部２１から、補正部１に対して、補正パラメータとしての重みｗ（ｔ）が供給されると、補正部１の重みメモリ１１は、その重みｗ（ｔ）を上書きする形で記憶する。さらに、補正部１の演算器１３は、重みｗ（ｔ）を１．０から減算し、重み１−ｗ（ｔ）を求め、重みメモリ１２に供給して、上書きする形で記憶させる。
【００６８】
そして、入力信号ｘ（ｔ）が供給されると、ステップＳ２１において、演算器１４は、その入力信号ｘ（ｔ）と、重みメモリ１２に記憶された重み１−ｗ（ｔ）との積を演算し、演算器１６に供給する。さらに、ステップＳ２１では、演算器１５が、重みメモリ１１に記憶された重みｗ（ｔ）と、ラッチ回路１７にラッチされた１サンプル前の出力信号ｙ（ｔ−１）との積を演算し、演算器１６に供給する。
【００６９】
そして、ステップＳ２２に進み、演算器１６は、入力信号ｘ（ｔ）および重み１−ｗ（ｔ）の積と、重みｗ（ｔ）および出力信号ｙ（ｔ−１）の積とを加算し、これにより、入力信号ｘ（ｔ）と出力信号ｙ（ｔ−１）の重み付け加算値（１−ｗ（ｔ））ｘ（ｔ）＋ｗ（ｔ）ｙ（ｔ−１）を求めて、出力信号ｙ（ｔ）として出力する。この出力信号ｙ（ｔ）は、ラッチ回路１７にも供給され、ラッチ回路１７は、出力信号ｙ（ｔ）を上書きする形で記憶する。その後、ステップＳ２１に戻り、次のサンプルの入力信号が供給されるのを待って、以下、同様の処理が繰り返される。
【００７０】
次に、図６のフローチャートを参照して、補正パラメータ演算処理について説明する。
【００７１】
補正パラメータ演算処理では、まず最初に、ステップＳ３１において、入力信頼度計算部２２が、例えば、入力信号の分散に基づく入力信頼度αx(t)を求める。
【００７２】
即ち、入力信頼度計算部２２は、現在の入力信号のサンプルｘ（ｔ）の他、その過去数サンプルをラッチすることができる、図示せぬＦＩＦＯ(First In First Out)メモリを内蔵しており、現在の入力信号のサンプルｘ（ｔ）と、その過去数サンプルとを用いて、それらの分散を計算し、その逆数を、入力信頼度αx(t)として求め、出力信頼度計算部２３および重み計算部２５に供給する。なお、入力信号の入力が開始された直後においては、分散を計算するのに必要な数の入力信号のサンプルが存在しない場合があるが、この場合には、例えば、デフォルトの値が、入力信頼度αx(t)として出力される。
【００７３】
その後、ステップＳ３２に進み、重み計算部２５は、入力信頼度計算部２２からの入力信頼度αx(t)を用い、式（６）にしたがって、重みｗ（ｔ）を求める。
【００７４】
即ち、入力信頼度計算部２２から重み計算部２５に対して、入力信頼度αx(t)が供給されるタイミングにおいては、ラッチ回路２４において、出力信頼度計算部２３が１サンプル前に出力した出力信頼度αy(t-1)がラッチされており、重み計算部２５は、ステップＳ３２において、入力信頼度計算部１２からの入力信頼度αx(t)と、ラッチ回路１４にラッチされている出力信頼度αy(t-1)とを用い、式（６）にしたがって、重みｗ（ｔ）を求める。この重みｗ（ｔ）は、重み補正部２６に供給される。
【００７５】
その後、ステップＳ３３に進み、重み補正部２６は、パラメータ制御データメモリ３７からパラメータ制御データを読み出し、ステップＳ３４に進む。ステップＳ３４では、重み補正部２６は、パラメータ制御データメモリ３７から読み出したパラメータ制御データが、重みｗ（ｔ）を補正しないモード、即ち、ユーザによる操作部３の操作に関係なく、重み計算部２５において、入力信頼度と出力信頼度から、いわば自動的に求められる重みｗ（ｔ）を、そのまま入力信号ｘ（ｔ）を補正するための重みＷとして用いるモード（以下、適宜、オートモードという）を表すオートモードデータとなっているかどうかを判定する。
【００７６】
ステップＳ３４において、パラメータ制御データがオートモードデータでないと判定された場合、ステップＳ３５に進み、重み補正部２６は、重み計算部２５から供給される重みｗ（ｔ）を、パラメータ制御データメモリ３７から供給されるパラメータ制御データａとｂによって定義される式（１３）の一次式にしたがって補正し、ステップＳ３６に進む。ステップＳ３６では、重み補正部２６が、補正後の重みを、選択部２１に供給し、ステップＳ３７に進む。ここで、式（１３）において、ｗiが、重み計算部２５から供給される重みｗ（ｔ）に相当し、Ｗi’が、補正後の重みＷに相当する。
【００７７】
一方、ステップＳ３４において、パラメータ制御データがオートモードデータであると判定された場合、ステップＳ３５をスキップして、ステップＳ３６に進み、重み補正部２６は、重み計算部２５からの重みｗ（ｔ）を、そのまま選択部２１に供給し、ステップＳ３７に進む。
【００７８】
ステップＳ３７では、出力信頼度計算部２３は、出力信頼度を更新する。即ち、出力信頼度計算部２３は、直前のステップＳ３１で入力信頼度計算部２２が計算した入力信頼度αx(t)と、ラッチ回路２４がラッチしている１サンプル前の出力信頼度αy(t-1)とを、式（５）にしたがって加算することで、現在の出力信頼度αy(t)を求め、ラッチ回路２４に上書きする形で記憶させる。
【００７９】
そして、ステップＳ３８に進み、選択部２１は、操作信号処理部３０の出力から、操作部３がユーザによって操作されているかどうかを判定する。ステップＳ３８において、操作部３が操作されていないと判定された場合、ステップＳ３６に進み、選択部２１は、重み補正部２６から供給された重み（以下、適宜、補正重みという）を選択し、補正部１に出力して、ステップＳ３１に戻る。
【００８０】
また、ステップＳ３８において、操作部３が操作されていると判定された場合、ステップＳ４０に進み、選択部２１は、その操作に応じて、操作信号処理部３０が出力する重みを選択し、補正部１に出力して、ステップＳ３１に戻る。
【００８１】
従って、図６の補正パラメータ演算処理においては、操作部３が操作されていない場合は、補正重みが、補正部１に供給され、また、操作部３が操作されている場合は、その操作信号に対応する重みが、補正部１に供給される。その結果、補正部１では、操作部３が操作されていない場合は、補正重みによって、入力信号が補正され、操作部３が操作されている場合には、その操作信号に対応する重みによって、入力信号が補正される。
【００８２】
さらに、図６の補正パラメータ演算処理においては、オートモードの場合は、操作部３の操作に関係なく、入力信頼度と出力信頼度のみから、補正処理に用いられる重みが求められ、オートモードでない場合には、操作部３の操作に基づく、後述する図７の制御データ学習処理による学習によって得られるパラメータ制御データを用いて、補正処理に用いられる重みが求められる。
【００８３】
次に、図７のフローチャートを参照して、制御データ学習処理について説明する。
制御データ学習処理では、まず最初に、ステップＳ４１において、操作信号処理部３０が、学習用操作信号を、操作部３から受信したかどうかを判定し、受信していないと判定した場合、ステップＳ４１に戻る。
【００８４】
また、ステップＳ４１において、操作部３から、学習用操作信号を受信したと判定された場合、即ち、例えば、操作部３が、その操作の開始後、第１の時間ｔ１以上の間隔をあけることなく、第２の時間ｔ２以上連続して操作され、その後、第３の時間ｔ３以上連続して、その操作が停止された場合や、操作部３の操作の開始後、第３の時間ｔ３以上連続して、その操作が停止された場合など、ユーザが、所望の出力信号を得られるように、操作部３の操作を行ったと判定することができる場合、ステップＳ４２に進み、教師データ生成部３１が教師データを生成するとともに、生徒データ生成部３２が生徒データを生成する。
【００８５】
即ち、操作信号処理部３０は、学習用操作信号を受信した場合、その学習用操作信号に対応する重みＷ（例えば、操作部３の操作量や、操作部３としてのつまみやレバーなどの位置に対応した重みＷ）を、学習フラグとともに、教師データ生成部３１および生徒データ生成部３２に供給する。教師データ生成部３１は、学習フラグ付きの重みＷを受信すると、その重みＷを、教師データとして取得し、学習用データメモリ３３に供給する。また、生徒データ生成部３２は、学習フラグ付きの重みを受信すると、そのときの入力信号に対応する重みｗを、生徒データとして求め、学習用データメモリ３３に供給する。
【００８６】
ここで、入力信号に対応する重みｗとは、式（６）にしたがい、入力信頼度と出力信頼度とから、いわば自動的に求められる重みを意味し、上述したように、生徒データ生成部３２は、この入力信号に対応する重みｗを、入力信号から計算している。
【００８７】
学習用データメモリ３３は、教師データ生成部３１から教師データＷを受信するとともに、生徒データ生成部３２から生徒データｗを受信すると、ステップＳ４３において、その最新の教師データＷと生徒データｗのセットを記憶し、ステップＳ４４に進む。
【００８８】
ステップＳ４４では、パラメータ制御データ計算部３４が、教師データと生徒データを対象として、最小自乗法における足し込みを行う。
【００８９】
即ち、パラメータ制御データ計算部３４は、式（２０）や（２１）における生徒データｗiと教師データＷiとの乗算（ｗiＷi）とサメーション（ΣｗiＷi）に相当する演算、生徒データｗiのサメーション（Σｗi）に相当する演算、教師データＷiのサメーション（ΣＷi）に相当する演算、生徒データｗiどうしの積のサメーション（Σｗi2）に相当する演算を行う。
【００９０】
ここで、例えば、いま、既に、Ｎ−１セットの教師データと生徒データが得られており、最新の教師データと生徒データとして、Ｎセット目の教師データと生徒データが得られたとすると、その時点では、パラメータ制御データ計算部３４において、Ｎ−１セットの教師データと生徒データを対象とした足し込みが、既に行われている。従って、Ｎセット目の教師データと生徒データについては、既に行われているＮ−１セットの教師データと生徒データを対象とした足し込み結果を保持してあれば、その足し込み結果に、Ｎセット目の教師データと生徒データを足し込むことにより、最新の教師データと生徒データを含む、Ｎセットの教師データと生徒データの足し込み結果を得ることができる。
【００９１】
そこで、パラメータ制御データ計算部３４は、前回の足し込み結果を、学習情報として、学習情報メモリ３５に記憶させておくようになっており、この学習情報を用いて、Ｎセット目の教師データと生徒データについての足し込みを行うようになっている。なお、足し込みには、いままでの足し込みに用いた教師データと生徒データのセット数Ｎも必要であり、学習情報メモリ３５は、このセット数Ｎも、学習情報として記憶するようになっている。
【００９２】
パラメータ制御データ計算部３４は、ステップＳ４４において足し込みを行った後、その足し込み結果を、学習情報として、学習情報メモリ３５に上書きする形で記憶させ、ステップＳ４５に進む。
【００９３】
ステップＳ４５では、パラメータ制御データ計算部３４が、学習情報メモリ３５に記憶された学習情報としての足し込み結果から、式（２０）および（２１）によって、パラメータ制御データａおよびｂを求めることが可能であるかどうかを判定する。
【００９４】
即ち、教師データと生徒データのセットを、以下、適宜、学習対というものとすると、少なくとも、２つの学習対から得られた学習情報が存在しなければ、式（２０）および（２１）から、パラメータ制御データａおよびｂを得ることができない。そこで、ステップＳ４５では、学習情報から、パラメータ制御データａおよびｂを求めることが可能であるかどうかが判定される。
【００９５】
ステップＳ４５において、パラメータ制御データａおよびｂを求めることが可能でないと判定された場合、パラメータ制御データ計算部３４は、その旨を、判定制御部３６に供給し、ステップＳ４９に進む。ステップＳ４９では、判定制御部３６は、パラメータ制御データとして、オードモードを表すオートモードデータを、パラメータ制御データメモリ３７に供給して記憶させる。そして、ステップＳ４１に戻り、以下、同様の処理が繰り返される。
【００９６】
従って、パラメータ制御データａおよびｂを求めることができるだけの学習情報が存在しない場合には、図６で説明したように、入力信頼度と出力信頼度から自動的に求められる重みｗ（ｔ）が、そのまま入力信号ｘ（ｔ）の補正に用いられることになる。
【００９７】
一方、ステップＳ４５において、パラメータ制御データａおよびｂを求めることが可能であると判定された場合、ステップＳ４６に進み、パラメータ制御データ計算部３４は、学習情報を用い、式（２０）および（２１）を計算することで、パラメータ制御データａおよびｂを求め、判定制御部３６に供給して、ステップＳ４７に進む。
【００９８】
ステップＳ４７では、判定制御部３６は、パラメータ制御データ計算部３４からのパラメータ制御データａおよびｂによって定義される式（１３）の一次式にしたがい、学習用データメモリ３３に記憶された各生徒データから、対応する教師データの予測値を求め、その予測値の予測誤差（学習用データメモリ３３に記憶されている教師データに対する誤差）の、式（１５）で表される自乗誤差の総和を求める。さらに、判定制御部３６は、その自乗誤差の総和を、例えば、学習用データメモリ３３に記憶されている学習対の数で除算した正規化誤差を求め、ステップＳ４８に進む。
【００９９】
ステップＳ４８では、判定制御部３６は、正規化誤差が、所定の閾値Ｓ１より大（以上）であるかどうかを判定する。ステップＳ４８において、正規化誤差が所定の閾値Ｓ１より大であると判定された場合、即ち、パラメータ制御データａおよびｂによって定義される式（１３）の一次式が、学習用データメモリ３３に記憶された生徒データと教師データとの関係を、精度良く近似していない場合、ステップＳ４９に進み、判定制御部３６は、上述したように、パラメータ制御データとして、オードモードを表すオートモードデータを、パラメータ制御データメモリ３７に供給して記憶させる。そして、ステップＳ４１に戻り、以下、同様の処理が繰り返される。
【０１００】
従って、パラメータ制御データａおよびｂを求めることができても、そのパラメータ制御データａおよびｂによって定義される式（１３）の一次式が、学習用データメモリ３３に記憶された生徒データと教師データとの関係を、精度良く近似していない場合には、パラメータ制御データａおよびｂを求めることができるだけの学習情報が存在しない場合と同様に、入力信頼度と出力信頼度から自動的に求められる重みｗ（ｔ）が、そのまま入力信号ｘ（ｔ）の補正に用いられることになる。
【０１０１】
一方、ステップＳ４８において、正規化誤差が所定の閾値Ｓ１より大でないと判定された場合、即ち、パラメータ制御データａおよびｂによって定義される式（１３）の一次式が、学習用データメモリ３３に記憶された生徒データと教師データとの関係を、精度良く近似している場合、ステップＳ５０に進み、判定制御部３６は、パラメータ制御データ計算部３４からのパラメータ制御データａおよびｂによって定義される式（１３）の一次式で表される回帰直線と、学習用データメモリ３３に記憶された最新の教師データおよび生徒データで規定される点との間の誤差（距離）εを求める。
【０１０２】
そして、ステップＳ５１に進み、判定制御部３６は、誤差εの大きさが、所定の閾値Ｓ２より大（以上）であるかどうかを判定し、大でないと判定した場合、ステップＳ５２をスキップして、ステップＳ５３に進み、判定制御部３６は、ステップＳ４６で求められたパラメータ制御データａおよびｂを、パラメータ制御部データメモリ３７に出力する。パラメータ制御データメモリ３７は、判定制御部３６からのパラメータ制御データａおよびｂを上書きする形で記憶し、ステップＳ４１に戻る。
【０１０３】
一方、ステップＳ５１において、誤差εの大きさが、所定の閾値Ｓ２より大であると判定された場合、ステップＳ５２に進み、判定制御部３６は、パラメータ制御データ計算部３４を制御することにより、学習用データメモリ３３に記憶された最近の教師データと生徒データとしての、最新の学習対から所定数の過去の学習対のみを用いて（学習情報メモリ３５の学習情報を用いずに）、パラメータ制御データａおよびｂを再計算させる。そして、ステップＳ５３に進み、判定制御部３６は、ステップＳ５２で求められたパラメータ制御データａおよびｂを、パラメータ制御部データメモリ３７に出力し、上書きする形で記憶させ、ステップＳ４１に戻る。
【０１０４】
従って、パラメータ制御データａおよびｂを求めることができ、かつ、そのパラメータ制御データａおよびｂによって定義される式（１３）の一次式が、学習用データメモリ３３に記憶された生徒データと教師データとの関係を、精度良く近似している場合には、ユーザによる操作部３の操作に基づいて得られる学習対を用いて学習が行われることにより求められたパラメータ制御データａおよびｂによって定義される式（１３）にしたがって、入力信頼度と出力信頼度から求められる重みｗ（ｔ）が補正され、その補正によって得られる補正重みＷが、入力信号ｘ（ｔ）の補正に用いられることになる。
【０１０５】
ここで、ステップＳ４６で求められたパラメータ制御データａおよびｂによって定義される式（１３）の一次式で表される回帰直線は、図８Ａに示すように、Ｎセットの教師データと生徒データによって規定されるＮ個の点との自乗誤差（の総和）を最小にする直線であるが、ステップＳ５０では、この直線と、最新の教師データおよび生徒データで規定される点との間の誤差εが求められる。
【０１０６】
そして、この誤差εの大きさが、閾値Ｓ２より大でない場合には、ステップＳ４６で求められたパラメータ制御データａおよびｂによって定義される式（１３）の一次式で表される回帰直線は、最新の教師データと生徒データで規定される点も含め、いままでに与えられた教師データと生徒データで規定される点のいずれも、比較的精度良く近似していると考えられる。
【０１０７】
しかしながら、誤差εの大きさが、閾値Ｓ２より大の場合には、即ち、最新の教師データと生徒データで規定される点（図８Ｂにおいて○印で示す）が、図８Ｂに示すように、ステップＳ４６で求められたパラメータ制御データａおよびｂによって定義される式（１３）の一次式で表される回帰直線から大きく離れている場合には、何らかの原因で、ユーザが、いままでとは異なる傾向の操作部３の操作を行ったと考えられる。
【０１０８】
そこで、この場合、判定制御部３６は、パラメータ制御データ計算部３４を制御することにより、ステップＳ５２において、学習用データメモリ３３に記憶された学習対のうちの、最近の学習対のいくつかのみを用いて、パラメータ制御データａおよびｂを再計算させる。
【０１０９】
即ち、この場合、パラメータ制御データ計算部３４は、学習情報メモリ３５に記憶された過去の足し込み結果としての学習情報を用いずに（忘却して）、最近の幾つかの教師データと生徒データのセットのみを用いて、それらの教師データと生徒データによって規定される点の集合を最も良く近似する式（１３）の直線を定義するパラメータ制御データａおよびｂを再計算する。
【０１１０】
具体的には、パラメータ制御データ計算部３４は、例えば、図８Ｃに示すように、最新の教師データと生徒データによって規定される点（図８Ｃにおいて○印で示す）と、その１回前に与えられた教師データと生徒データによって規定される点（図８Ｃにおいて△印で示す）とを通る直線を定義するパラメータ制御データａ’およびｂ’を求める。
【０１１１】
以上のように、ユーザの操作に応じて供給される操作信号が、学習に用いることができるかどうかを判定し、学習に用いることのできる学習用操作信号である場合には、その学習用操作信号に基づいて、入力信号を補正する重みを補正するパラメータ制御データａおよびｂを学習するようにしたので、ユーザの操作を、ユーザが知らないうちに学習することができ、その結果、その学習結果に基づいて、ユーザにとって、徐々に適切な処理が行われるようになり、最終的には、ユーザにとって最適な処理が行われることになる。
【０１１２】
これは、ユーザ側からみれば、ユーザが操作部３を通常操作していると、そのうちに、操作を行わなくても、各種の入力信号に対して、ユーザにとって最適なノイズ除去結果が得られることを意味し、従って、装置が、いわば手になじんでくることを意味する。そして、この手になじんでくる段階では、ユーザが、所望の出力信号を得られるように、操作部３の操作を行うことから、ユーザにおいては、操作部３の操作と、入力信号の補正に用いられる重みＷとの関係が、徐々に明確に認識されていくことになり、最終的には、ユーザによる操作部３の操作と、入力信号の補正に用いられる重みＷとが、定性的に関係付けられることになる。
【０１１３】
また、図３のＮＲ回路においては、ユーザによる操作部３の操作にしたがい、補正部１で行われる補正処理（図５）で用いられる重みＷが、ユーザにとって所望の出力信号が得られるように変更される。即ち、ユーザが操作部３を操作すると、操作信号処理部３０は、その操作に対応した操作信号が表す重みを出力し、選択部２１は、その重みを選択して、補正部１に供給する。この場合、補正部１では、ユーザの操作に対応した重みを用いて、式（８）で表される補正処理が行われる。そして、ユーザの操作により式（８）の重みｗ（ｔ）が変更される場合には、当然に、式（８）で表される処理（補正処理）の内容も変更することとなるから、図３のＮＲ回路では、ユーザの操作にしたがい、その「処理の内容」が、ユーザにとって所望の出力信号が得られるように変更されているということができる。
【０１１４】
さらに、図３のＮＲ回路では、パラメータ制御データａおよびｂを求めることができない場合や、求めることができても、そのパラメータ制御データａおよびｂによって定義される式（１３）の一次式が、学習用データメモリ３３に記憶された生徒データと教師データとの関係を、精度良く近似していない場合には、入力信頼度と出力信頼度とから自動的に求められる重みが、補正部１における補正処理に用いられる。一方、パラメータ制御データａおよびｂを求めることができ、かつ、そのパラメータ制御データａおよびｂによって定義される式（１３）の一次式が、学習用データメモリ３３に記憶された生徒データと教師データとの関係を、精度良く近似している場合には、ユーザによる操作部３の操作に基づいて得られる学習対を用いて学習が行われることにより求められたパラメータ制御データａおよびｂによって定義される式（１３）にしたがって、入力信頼度と出力信頼度から求められる重みが補正され、その補正によって得られる補正重みが、補正部１による補正処理に用いられる。
【０１１５】
即ち、図３のＮＲ回路では、ユーザから十分な数の学習対が入力されていない場合や、精度の高い近似が可能な学習対が入力されていない場合には、入力信頼度と出力信頼度とから自動的に求められる重みが、補正部１における補正処理に用いられ、ユーザから精度の高い近似が可能な学習対が入力された場合には、その学習対を用いて学習が行われることにより求められたパラメータ制御データａおよびｂによって求められる補正重みが、補正部１における補正処理に用いられる。
【０１１６】
従って、十分な数の学習対や、精度の高い近似が可能な学習対が得られていない場合と、精度の高い近似が可能な学習対が得られた場合とでは、やはり、式（８）の重みｗ（ｔ）が変化し、その結果、その式（８）で表される補正処理の内容も変更することとなるから、かかる観点からも、図３のＮＲ回路では、ユーザの操作にしたがい、その「処理の内容」が、ユーザにとって所望の出力信号が得られるように変更されているということができる。
さらに、図３のＮＲ回路では、十分な数の学習対や、精度の高い近似が可能な学習対が得られていない場合と、精度の高い近似が可能な学習対が得られた場合とで、補正処理に用いられる重みを算出する体系が変化する。
【０１１７】
即ち、十分な数の学習対や、精度の高い近似が可能な学習対が得られていない場合には、ユーザの操作に関係なく、入力信頼度と出力信頼度から、重みが求められる。一方、精度の高い近似が可能な学習対が得られた場合には、ユーザの操作に基づいて得られた学習対を用いた学習によって求められたパラメータ制御データに基づいて、重みが求められる。
【０１１８】
従って、この場合、ユーザの操作にしたがい、重みを算出する処理体系、つまり、重みの求め方のアルゴリズムが、ユーザにとって所望の出力信号が得られるように変更されているということができる。
【０１１９】
ここで、重みを求める処理を、関数Ｆで表すこととすると、上述の「処理の内容」の変更というのは、関数Ｆが変更されることに相当する。そして、関数Ｆが変更される場合としては、大きく分けて、関数Ｆそれ自体の形が変わる場合（例えば、Ｆ＝ｘからＦ＝ｘ2に変わる場合など）と、関数Ｆそれ自体の形は変わらないが、関数Ｆを定義する係数が変わる場合（例えば、Ｆ＝２ｘからＦ＝３ｘに変わる場合など）とがある。
【０１２０】
いま、「処理の内容」の変更のうち、その処理を表す関数Ｆそれ自体の形が変わる場合を、「処理の構造」の変更というものとすると、上述のように、重みを算出する処理体系（重みの求め方のアルゴリズム）が変わることは、「処理の構造」の変更ということができる。
【０１２１】
従って、図３のＮＲ回路では、ユーザの操作にしたがい、その「処理の内容」も、さらには、その「処理の構造」も変更され、これにより、ユーザにとって所望の出力信号が得られるようになっている。
【０１２２】
なお、入力信号としては、画像信号や音声信号は勿論、その他の信号を用いることが可能である。但し、入力信号が画像信号の場合は、入力信頼度は、処理しようとしている画素に対して、空間的または時間的に近い位置にある複数の画素から求められる分散に基づいて計算することになる。
【０１２３】
また、上述の場合には、説明を簡単にするため、学習部２において、入力信頼度等から求められる重みｗを、パラメータ制御データａおよびｂによって定義される式（１３）の一次式によって、補正重みＷに補正するようにしたが、重みｗの補正は、実際には、より高次の式によって行うのが望ましい。また、その高次の式の次数は、例えば、最適化装置が適用されるアプリケーション等に基づいて適切な値に設定するのが望ましい。
【０１２４】
さらに、重みｗから、補正重みＷを求める式（以下、適宜、補正重み算出式という）としては、式（１３）の１次式Ｗ＝ａｗ＋ｂの他に、例えば、２次式Ｗ＝ａｗ2＋ｂｗ＋ｃや、３次式Ｗ＝ａｗ3＋ｂｗ2＋ｃｗ＋ｄなどの複数を用意しておき（ａ，ｂ，ｃ，ｄは、所定の係数）、その複数の補正重み算出式のうちの、正規化誤差が最小になるものを採用するようにすることが可能である。なお、この場合、ユーザの操作によって得られる学習対から求められる正規化誤差が最小になる補正重み算出式が選択され、その選択された補正重み算出式によって、補正重みが求められることになる。即ち、ユーザの操作にしたがい、補正重みの求め方のアルゴリズムが変更されることになる。従って、この場合も、ユーザの操作にしたがい、「処理の構造」が変更されているということができる。
【０１２５】
次に、図９は、図１の最適化装置を、ＮＲ回路に適用した場合の他の詳細構成例を示している。なお、図中、図３における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図９のＮＲ回路は、重み補正部２６が設けられておらず、入力信頼度計算部２２と生徒データ生成部３２に替えて、入力信頼度計算部４１と生徒データ生成部４２がそれぞれ設けられている他は、基本的に、図３における場合と同様に構成されている。
【０１２６】
入力信頼度計算部４１は、入力信号の入力信頼度を、入力信号の複数のサンプルと、パラメータ制御データメモリ３７に記憶されたパラメータ制御データとから計算し、出力信頼度計算部２３と重み計算部２５に供給する。
【０１２７】
生徒データ生成部４２は、入力信号と、出力信頼度計算部２３が出力する出力信頼度とを生徒データとして取得し、学習用データメモリ３３に供給する。
【０１２８】
なお、図９の実施の形態では、重み補正部２６が設けられていないため、重み計算部２５において求められた重みが、そのまま、選択部２１に供給されるようになっており、選択部２１は、この重み計算部２５が出力する重みと、操作信号処理部３０が出力する重みのうちのいずれか一方を、図３における場合と同様にして選択して出力するようになっている。
【０１２９】
また、図９の実施の形態では、パラメータ制御データは、入力信頼度を制御するデータとして機能する。
【０１３０】
図９のＮＲ回路でも、図３のＮＲ回路と同様に、補正処理、補正パラメータ演算処理、および制御データ学習処理が行われる。なお、補正処理としては、図５で説明した処理と同様の処理が行われるため、図９のＮＲ回路については、補正処理の説明は省略し、補正パラメータ演算処理および制御データ学習処理について説明する。
【０１３１】
即ち、図９のＮＲ回路では、補正処理で用いられる、式（６）に示した重みを規定する入力信頼度αx(t)が、例えば、次式で定義されるものとして、補正パラメータ演算処理および制御データ学習処理が行われる。
【数２２】
2008146661.tif 000023
・・・（２２）
【０１３２】
但し、式（２２）において、ａ1，ａ2，・・・，ａNは、パラメータ制御データであり、ｘ1，ｘ2，・・・，ｘNは、いま処理を施そうとしている入力信号のサンプル（注目サンプル）と所定の関係にある入力信号のサンプルである。ここで、入力信号が、例えば、画像信号である場合には、ｘ1，ｘ2，・・・，ｘNとしては、例えば、注目サンプルとしての画素（図１０において×印で示す）と、その画素から、空間的または時間的に近い位置にある画素（図１０に○印で示す）を用いることができる。
【０１３３】
式（２２）から、式（６）で与えられる重みｗ（ｔ）は、式（２３）に示すように表すことができる。
【数２３】
2008146661.tif 000024
・・・（２３）
【０１３４】
従って、入力信号ｘ1，ｘ2，・・・，ｘNが入力された場合に、ユーザから与えられた重みＷを得るためには、式（２３）から、次式を満たすようなパラメータ制御データａ1，ａ2，・・・，ａNを求めれば良いことになる。
【数２４】
2008146661.tif 000025
・・・（２４）
【０１３５】
そこで、式（２４）を変形すると、式（２５）を得ることができる。
【数２５】
2008146661.tif 000026
・・・（２５）
【０１３６】
式（２５）を常時満たすパラメータ制御データａ1，ａ2，・・・，ａNを求めることは、一般に困難であるため、ここでは、例えば、式（２５）の左辺と右辺の自乗誤差の総和が最小になるパラメータ制御データａ1，ａ2，・・・，ａNを、最小自乗法により求めることを考える。
【０１３７】
ここで、式（２５）の左辺と右辺の自乗誤差の総和を最小にするということは、式（２３）によって与えられる重みｗ（ｔ）と、ユーザによって与えられる重みＷとの自乗誤差を最小にすること、即ち、ユーザによって与えられる重みＷを教師データとするとともに、式（２３）の重みｗ（ｔ）を定義する入力信号ｘ1，ｘ2，・・・，ｘN、および出力信頼度αy(t-1)を生徒データとして、その生徒データから、式（２３）によって計算される重みｗ（ｔ）と、ユーザによって与えられる教師データとしての重みＷとの自乗誤差を最小にすることと等価であり、そのようなパラメータ制御データａ1，ａ2，・・・，ａNと、生徒データとから式（２３）によって計算される重みｗ（ｔ）は、教師データＷとの誤差が小さいものとなる。
【０１３８】
式（２５）の左辺と右辺の自乗誤差ｅ2は、式（２６）で与えられる。
【数２６】
2008146661.tif 000027
・・・（２６）
【０１３９】
自乗誤差ｅ2を最小にするパラメータ制御データａ1，ａ2，・・・，ａNは、式（２６）の自乗誤差ｅ2を、ａ1，ａ2，・・・，ａNそれぞれで偏微分したものが０となるという条件、即ち、次式によって与えられる。
【数２７】
2008146661.tif 000028
・・・（２７）
【０１４０】
式（２７）に、式（２６）を代入して計算すると、式（２８）が得られる。
【数２８】
2008146661.tif 000029
・・・（２８）
【０１４１】
従って、行列Ｘ，Ａ，Ｙそれぞれを、式（２９）に示すように定義すると、これらの行列Ｘ，Ａ，Ｙには、式（２８）から、式（３０）の関係が成立する。
【数２９】
2008146661.tif 000030
・・・（２９）
【数３０】
2008146661.tif 000031
・・・（３０）
【０１４２】
但し、式（２９）におけるサメーション（Σ）は、入力信号ｘ1乃至ｘNと、その入力信号ｘ1乃至ｘNが入力されたときにユーザから与えられた重みＷとのセットの数についてのサメーションを意味する。
【０１４３】
式（３０）は、例えば、コレスキー法などによって、行列（ベクトル）Ａ、即ち、パラメータ制御データａ1，ａ2，・・・，ａNについて解くことができる。
【０１４４】
図９のＮＲ回路は、以上のように、ユーザによって与えられる重みＷを教師データとするとともに、式（２３）の重みｗ（ｔ）を定義する入力信号ｘ1，ｘ2，・・・，ｘN、および出力信頼度αy(t-1)を生徒データとして、その生徒データから、式（２３）によって計算される重みｗ（ｔ）と、ユーザによって与えられる教師データとしての重みＷとの自乗誤差を最小にするパラメータ制御データａ1，ａ2，・・・，ａNを、最小自乗法により学習する制御データ学習処理を行う。さらに、図９のＮＲ回路は、そのパラメータ制御データａ1乃至ａNで定義される式（２２）から入力信頼度αx(t)を求め、さらに、その入力信頼度αx(t)と出力信頼度αy(t-1)から、式（２３）にしたがって、補正パラメータとしての重みを求める補正パラメータ演算処理を行う。
【０１４５】
そこで、図１１のフローチャートを参照して、図９のＮＲ回路による補正パラメータ演算処理について説明する。
【０１４６】
補正パラメータ演算処理では、まず最初に、ステップＳ６１において、入力信頼度計算部４１が、パラメータ制御データメモリ３７からパラメータ制御データを読み出し、ステップＳ６２に進む。ステップＳ６２では、入力信頼度計算部４１は、パラメータ制御データメモリ３７から読み出したパラメータ制御データが、入力信頼度をパラメータ制御データを用いずに求めるモード、即ち、ユーザによる操作部３の操作に関係なく、入力信頼度を、入力信号だけから、いわば自動的に求めるモード（このモードも、以下、適宜、オートモードという）を表すオートモードデータとなっているかどうかを判定する。
【０１４７】
ステップＳ６２において、パラメータ制御データがオートモードデータでないと判定された場合、ステップＳ６３に進み、入力信頼度計算部４１は、パラメータ制御データメモリ３７から読み出したパラメータ制御データａ1乃至ａNによって定義される式（２２）の一次式にしたがい、そこに供給される最新のＮ個の入力信号のサンプルｘ1乃至ｘNを用いて求め、出力信頼度計算部２３および重み計算部２５に供給して、ステップＳ６５に進む。
【０１４８】
また、ステップＳ６２において、パラメータ制御データがオートモードデータであると判定された場合、ステップＳ６４に進み、入力信頼度計算部４１は、例えば、図６のステップＳ３１における場合と同様に、入力信号のみを用い、その分散に基づく入力信頼度αx(t)を求め、出力信頼度計算部２３および重み計算部２５に供給する。
【０１４９】
そして、ステップＳ６５では、重み計算部２５は、入力信頼度計算部４１からの入力信頼度αx(t)と、ラッチ回路２４においてラッチされた、出力信頼度計算部２３が１サンプル前に出力した出力信頼度αy(t-1)とを用い、式（２３）にしたがって、重みｗ（ｔ）を求める。この重みｗ（ｔ）は、重み計算部２５から選択部２１に供給される。
【０１５０】
その後、ステップＳ６６に進み、出力信頼度計算部２３は、図６のステップＳ３７における場合と同様に、入力信頼度計算部４１から供給された入力信頼度αx(t)と、ラッチ回路２４がラッチしている１サンプル前の出力信頼度αy(t-1)とを、式（５）にしたがって加算することで、出力信頼度αy(t)を更新し、ラッチ回路２４に上書きする形で記憶させる。
【０１５１】
そして、ステップＳ６７に進み、選択部２１は、操作信号処理部３０の出力から、操作部３がユーザによって操作されているかどうかを判定する。ステップＳ６７において、操作部３が操作されていないと判定された場合、ステップＳ６８に進み、選択部２１は、重み計算部２５から供給された重みを選択し、補正部１に出力して、ステップＳ６１に戻る。
【０１５２】
また、ステップＳ６７において、操作部３が操作されていると判定された場合、ステップＳ６９に進み、選択部２１は、その操作に応じて、操作信号処理部３０が出力する重みを選択し、補正部１に出力して、ステップＳ６１に戻る。
【０１５３】
従って、図１１の補正パラメータ演算処理においては、操作部３が操作されていない場合は、入力信頼度に基づいて算出された重みが、補正部１に供給され、また、操作部３が操作されている場合は、その操作信号に対応する重みが、補正部１に供給される。その結果、補正部１では、操作部３が操作されていない場合は、入力信頼度に基づく重みによって、入力信号が補正され、操作部３が操作されている場合には、その操作信号に対応する重みによって、入力信号が補正される。
【０１５４】
さらに、図１１の補正パラメータ演算処理においては、オートモードの場合は、操作部３の操作に関係なく、入力信号の分散に基づく入力信頼度から、補正処理に用いられる重みが求められ、オートモードでない場合には、操作部３の操作に基づいて、後述する図１２の制御データ学習処理による学習によって得られるパラメータ制御データを用いて求められる入力信頼度から、補正処理に用いられる重みが求められる。
【０１５５】
次に、図１２のフローチャートを参照して、図９のＮＲ回路が行う制御データ学習処理を説明する。
【０１５６】
制御データ学習処理では、まず最初に、ステップＳ７１において、図７のステップＳ４１における場合と同様に、操作信号処理部３０が、学習用操作信号を、操作部３から受信したかどうかを判定し、受信していないと判定した場合、ステップＳ７１に戻る。
【０１５７】
また、ステップＳ７１において、操作部３から、学習用操作信号を受信したと判定された場合、即ち、例えば、操作部３が、その操作の開始後、第１の時間ｔ１以上の間隔をあけることなく、第２の時間ｔ２以上連続して操作され、その後、第３の時間ｔ３以上連続して、その操作が停止された場合や、操作部３の操作の開始後、第３の時間ｔ３以上連続して、その操作が停止された場合など、ユーザが、所望の出力信号を得られるように、操作部３の操作を行ったと判定することができる場合、ステップＳ７２に進み、教師データ生成部３１が教師データを生成するとともに、生徒データ生成部４２が生徒データを生成する。
【０１５８】
即ち、操作信号処理部３０は、学習用操作信号を受信した場合、その学習用操作信号に対応する重みＷを、学習フラグとともに、教師データ生成部３１および生徒データ生成部４２に供給する。教師データ生成部３１は、学習フラグ付きの重みＷを受信すると、その重みＷを、教師データとして取得し、学習用データメモリ３３に供給する。
【０１５９】
一方、生徒データ生成部４２は、入力信号をバッファリングするバッファ（図示せず）を内蔵しており、入力信号を、そのバッファに、その記憶容量分だけ常に記憶しており、学習フラグ付きの重みを受信すると、そのときに入力された入力信号のサンプルと所定の位置関係にある入力信号のサンプルｘ1乃至ｘNを、その内蔵するバッファから読み出す。さらに、生徒データ生成部４２は、出力信頼度計算部２３から、出力信頼度αy(t-1)を読み出す。そして、生徒データ生成部４２は、これらの入力信号のサンプルｘ1乃至ｘNと、出力信頼度αy(t-1)とを、生徒データとして、学習用データメモリ３３に供給する。
【０１６０】
学習用データメモリ３３は、教師データ生成部３１から教師データＷを受信するとともに、生徒データ生成部４２から生徒データｘ1乃至ｘNおよびαy(t-1)を受信すると、ステップＳ７３において、その最新の教師データＷと生徒データｘ1乃至ｘNおよびαy(t-1)のセット（学習対）を記憶し、ステップＳ７４に進む。
【０１６１】
ステップＳ７４では、パラメータ制御データ計算部３４が、教師データと生徒データを対象として、最小自乗法における足し込みを行う。
【０１６２】
即ち、パラメータ制御データ計算部３４は、式（２９）における行列ＸとＹの要素となっている生徒データどうしの積、および生徒データと教師データの積、並びにそれらのサメーションに相当する演算を行う。
【０１６３】
なお、ステップＳ７４における足し込みは、図７のステップＳ４４における場合と同様に行われる。即ち、学習情報メモリ３５には、前回の足し込み結果が、学習情報として記憶されており、パラメータ制御データ計算部３４は、この学習情報を用いて、最新の教師データと生徒データについての足し込みを行う。
【０１６４】
パラメータ制御データ計算部３４は、ステップＳ７４において足し込みを行った後、その足し込み結果を、学習情報として、学習情報メモリ３５に上書きする形で記憶させ、ステップＳ７５に進み、パラメータ制御データ計算部３４が、学習情報メモリ３５に記憶された学習情報としての足し込み結果から、式（３０）を、行列Ａについて解くことが可能であるかどうか、即ち、パラメータ制御データａ1乃至ａNを求めることが可能であるかどうかを判定する。
【０１６５】
即ち、式（３０）は、所定数以上の学習対から得られた学習情報が存在しなければ、行列Ａについて解くことができず、その要素となっているパラメータ制御データａ1乃至ａNを求めることができない。そこで、ステップＳ７５では、学習情報から、パラメータ制御データａ1乃至ａNを求めることが可能であるかどうかが判定される。
【０１６６】
ステップＳ７５において、パラメータ制御データａ1乃至ａNを求めることが可能でないと判定された場合、パラメータ制御データ計算部３４は、その旨を、判定制御部３６に供給し、ステップＳ７９に進む。ステップＳ７９では、判定制御部３６は、パラメータ制御データとして、オードモードを表すオートモードデータを、パラメータ制御データメモリ３７に供給して記憶させる。そして、ステップＳ７１に戻り、以下、同様の処理が繰り返される。
【０１６７】
従って、パラメータ制御データａ1乃至ａNを求めることができるだけの学習情報が存在しない場合には、図１１で説明したように、入力信号の分散に基づく入力信頼度から求められる重みが、入力信号ｘ（ｔ）の補正に用いられることになる。
【０１６８】
一方、ステップＳ７５において、パラメータ制御データを求めることが可能であると判定された場合、ステップＳ７６に進み、パラメータ制御データ計算部３４は、学習情報を用い、式（３０）を、行列Ａについて解くことで、その要素となっているパラメータ制御データａ1乃至ａNを求め、判定制御部３６に供給して、ステップＳ７７に進む。
【０１６９】
ステップＳ７７では、判定制御部３６は、パラメータ制御データ計算部３４からのパラメータ制御データａ1乃至ａNによって定義される式（２３）にしたがい、学習用データメモリ３３に記憶された各生徒データから、対応する教師データの予測値を求め、その予測値の予測誤差（学習用データメモリ３３に記憶されている教師データに対する誤差）の、式（２６）で表される自乗誤差の総和を求める。さらに、判定制御部３６は、その自乗誤差の総和を、例えば、学習用データメモリ３３に記憶されている学習対の数で除算した正規化誤差を求め、ステップＳ７８に進む。
【０１７０】
ステップＳ７８では、判定制御部３６は、正規化誤差が、所定の閾値Ｓ１より大（以上）であるかどうかを判定する。ステップＳ７８において、正規化誤差が所定の閾値Ｓ１より大であると判定された場合、即ち、パラメータ制御データａ1乃至ａNによって定義される式（２３）の一次式が、学習用データメモリ３３に記憶された生徒データと教師データとの関係を、精度良く近似していない場合、ステップＳ７９に進み、判定制御部３６は、上述したように、パラメータ制御データとして、オードモードを表すオートモードデータを、パラメータ制御データメモリ３７に供給して記憶させる。そして、ステップＳ７１に戻り、以下、同様の処理が繰り返される。
【０１７１】
従って、パラメータ制御データａ1乃至ａNを求めることができても、そのパラメータ制御データａ1乃至ａNによって定義される式（２３）が、学習用データメモリ３３に記憶された生徒データと教師データとの関係を、精度良く近似していない場合には、パラメータ制御データａ1乃至ａNを求めることができるだけの学習情報が存在しない場合と同様に、入力信号の分散に基づく入力信頼度から求められる重みが、入力信号ｘ（ｔ）の補正に用いられることになる。
【０１７２】
一方、ステップＳ７８において、正規化誤差が所定の閾値Ｓ１より大でないと判定された場合、即ち、パラメータ制御データａ1乃至ａNによって定義される式（２３）の一次式が、学習用データメモリ３３に記憶された生徒データと教師データとの関係を、精度良く近似している場合、ステップＳ８０に進み、判定制御部３６は、パラメータ制御データ計算部３４で求められたパラメータ制御データａ1乃至ａNによって定義される式（２３）の面（線）と、学習用データメモリ３３に記憶された最新の教師データおよび生徒データで規定される点との間の誤差（距離）εを求める。
【０１７３】
そして、ステップＳ８１に進み、判定制御部３６は、誤差εの大きさが、所定の閾値Ｓ２より大（以上）であるかどうかを判定し、大でないと判定した場合、ステップＳ８２をスキップして、ステップＳ８３に進み、判定制御部３６は、ステップＳ７６で求められたパラメータ制御データａ1乃至ａNを、パラメータ制御部データメモリ３７に出力する。パラメータ制御データメモリ３７は、判定制御部３６からのパラメータ制御データａ1乃至ａNを上書きする形で記憶し、ステップＳ７１に戻り、以下、同様の処理が繰り返される。
【０１７４】
一方、ステップＳ８１において、誤差εの大きさが、所定の閾値Ｓ２より大であると判定された場合、ステップＳ８２に進み、判定制御部３６は、パラメータ制御データ計算部３４を制御することにより、学習用データメモリ３３に記憶された最近の教師データと生徒データのみを用いて、パラメータ制御データａ1乃至ａNを再計算させる。そして、ステップＳ８３に進み、判定制御部３６は、ステップＳ８２で求められたパラメータ制御データａ1乃至ａNを、パラメータ制御部データメモリ３７に出力し、上書きする形で記憶させ、ステップＳ７１に戻る。
【０１７５】
即ち、図１２の実施の形態においても、図７の実施の形態における場合と同様に、ステップＳ８２において、いままでに与えられた教師データおよび生徒データから求められたパラメータ制御データａ1乃至ａNから式（２３）で定義される面と、最新の教師データおよび生徒データで規定される点との間の誤差εが求められる。
【０１７６】
そして、この誤差εの大きさが、閾値Ｓ２より大でない場合には、ステップＳ７６で求められたパラメータ制御データａ1乃至ａNによって定義される式（２３）の面が、最新の教師データと生徒データで規定される点も含め、いままでに与えられた教師データと生徒データで規定される点のいずれも、比較的精度良く近似していると考えられるため、そのパラメータ制御データａ1乃至ａNが、パラメータ制御データメモリ３７に記憶される。
【０１７７】
一方、誤差εの大きさが、閾値Ｓ２より大の場合には、ステップＳ７６で求められたパラメータ制御データａ1乃至ａNによって定義される式（２３）の面から、最新の教師データと生徒データで規定される点が比較的大きく離れていると考えられるため、判定制御部３６は、パラメータ制御データ計算部３４を制御することにより、ステップＳ８２において、学習用データメモリ３３に記憶された最近の教師データと生徒データのみを用いて、パラメータ制御データａ1乃至ａNを再計算させる。
【０１７８】
図９のＮＲ回路では、入力信頼度計算部４１において、以上のようにして求められたパラメータ制御データａ1乃至ａNから、式（２２）にしたがい、入力信頼度αx(t)が計算される。
【０１７９】
従って、この場合も、ユーザの操作に応じて供給される学習用操作信号に基づいて、式（２２）の入力信頼度αx(t)を規定するパラメータ制御データａ1乃至ａNの学習が行われるので、ユーザの操作を、ユーザが知らないうちに学習することができ、さらに、その学習結果を用いて、ユーザにとって最適な処理を行うことが可能となる。
【０１８０】
また、図９のＮＲ回路も、図３のＮＲ回路と同様に、ユーザが操作部３を操作すると、操作信号処理部３０は、その操作に対応した操作信号が表す重みを出力し、選択部２１は、その重みを選択して、補正部１に供給する。この場合、補正部１では、ユーザの操作に対応した重みを用いて、式（８）で表される補正処理が行われる。そして、ユーザの操作により式（８）の重みｗ（ｔ）が変更される場合には、当然に、式（８）で表される処理（補正処理）の内容も変更することとなるから、図９のＮＲ回路でも、ユーザの操作にしたがい、その「処理の内容」が、ユーザにとって所望の出力信号が得られるように変更されているということができる。
【０１８１】
さらに、図９のＮＲ回路では、パラメータ制御データａ1乃至ａNを求めることができない場合や、求めることができても、そのパラメータ制御データａ1乃至ａNによって定義される式（２３）が、学習用データメモリ３３に記憶された生徒データと教師データとの関係を、精度良く近似していない場合には、入力信号の分散に基づく入力信頼度から求められる重みが、補正部１における補正処理に用いられる。一方、パラメータ制御データａ1乃至ａNを求めることができ、かつ、そのパラメータ制御データａ1乃至ａNによって定義される式（２３）が、学習用データメモリ３３に記憶された生徒データと教師データとの関係を、精度良く近似している場合には、ユーザによる操作部３の操作に基づいて得られる学習対を用いて学習が行われることにより求められたパラメータ制御データａ1乃至ａNによって定義される式（２３）にしたがって、入力信号およびパラメータ制御データａ1乃至ａN（から算出される入力信頼度）と出力信頼度とから求められる重みが、補正部１による補正処理に用いられる。
【０１８２】
即ち、図９のＮＲ回路も、図３のＮＲ回路における場合と同様に、十分な数の学習対や、精度の高い近似が可能な学習対が得られていない場合と、精度の高い近似が可能な学習対が得られた場合とで、補正処理に用いられる重みを算出する体系が変化する。
【０１８３】
従って、図９のＮＲ回路でも、ユーザの操作にしたがい、その「処理の内容」も、さらには、その「処理の構造」も変更され、これにより、ユーザにとって所望の出力信号が出力されることになる。
【０１８４】
なお、上述の場合においては、出力信頼度αy(t-1)を生徒データとして用いて、パラメータ制御データａ1乃至ａNを求めているが、この出力信頼度αy(t-1)は、式（５）に示したように、入力信頼度αx(t-1)から求められる。そして、入力信頼度αx(t)は、図１２の制御データ学習処理が行われることにより、徐々に、ユーザが希望する重みが得られるように改善されていくから、あわせて、出力信頼度αy(t-1)も改善されていくことになる。
【０１８５】
また、上述の場合には、出力信頼度を既知の値とするとともに、入力信頼度を、パラメータ制御データａ1乃至ａNによって規定し、ユーザが希望する重みが得られるようなパラメータ制御データａ1乃至ａNを求めるようにしたが、これとは逆に、入力信頼度を既知の値とするとともに、出力信頼度を、パラメータ制御データａ1乃至ａNによって規定し、ユーザが希望する重みが得られるようなパラメータ制御データａ1乃至ａNを求めることも可能である。
【０１８６】
さらに、例えば、出力信頼度を既知の値とするとともに、入力信頼度を、パラメータ制御データａ1乃至ａNによって規定し、ユーザが希望する重みが得られるようなパラメータ制御データａ1乃至ａNを求め、さらに、そのパラメータ制御データａ1乃至ａNによって得られる入力信頼度を既知の値とするとともに、出力信頼度を、パラメータ制御データａ1’乃至ａN’によって規定し、ユーザが希望する重みが得られるようなパラメータ制御データａ1’乃至ａN’を求めること、即ち、２セットのパラメータ制御データａ1乃至ａNおよびａ1’乃至ａN’を求めるようにすることも可能である。
【０１８７】
また、上述の場合には、重みを、式（６）に示したように、入力信頼度αx(t)と出力信頼度αy(t-1)で定義して、パラメータ制御データａ1乃至ａNを求めるようにしたが、その他、重みを、例えば、式（３１）に示すように、入力信頼度αx(t)と出力信頼度αy(t-1)の他、入力信頼度αx(t)または出力信頼度αy(t-1)の補正項△αをも用いて定義して、パラメータ制御データａ1乃至ａNと補正項△αを求めるようにすることが可能である。
【数３１】
2008146661.tif 000032
・・・（３１）
【０１８８】
さらに、入力信頼度を、パラメータ制御データによって定義する式は、式（２２）に限定されるものではない。
【０１８９】
次に、図１３は、図１の最適化装置を適用した、自動車の自動走行装置の一実施の形態の構成例を示している。
【０１９０】
自動走行装置においては、自動車の位置座標（Ｘ，Ｙ）や走行方向θが求められ、所定の軌跡に沿って、自動車を走行させるようになっている。しかしながら、自動走行装置において求められる座標（Ｘ，Ｙ）や走行方向θには、誤差が含まれる場合が多く、この場合には、自動車が、所定の軌跡からはずれて走行することがある。そこで、図１３の自動走行装置においては、ユーザの操作を、ユーザが知らないうちに学習し、その学習結果に基づいて、自動車を、所定の軌跡に沿って走行させるようになっている。即ち、自動車が、所定の軌跡からはずれて走行しだした場合、一般に、ユーザは、自動車を所定の軌跡に沿って走行させるように、ハンドルやアクセルなどを操作する。そこで、図１３の自動走行装置では、そのようなユーザの操作を、ユーザが知らないうちに学習し、その学習結果に基づいて、自動車を、徐々に、所定の軌跡に沿って走行させるように制御する。
【０１９１】
ジャイロセンサ５１は、自動車のヨーレートｒを検知し、演算部５３に供給する。車輪パルサ５２は、自動車の車輪の回転角度に応じた数の電気パルスを、演算部５３に供給する。
【０１９２】
演算部５３は、ジャイロセンサ５１と車輪パルサ５２の出力から、例えば、次式にしたがって、自動車の座標（Ｘ，Ｙ）と走行方向θを演算し、最適化装置５４に供給する。
【数３２】
2008146661.tif 000033
・・・（３２）
【０１９３】
但し、式（３２）において、θ（０）は自動車の走行開始時の方向を表し、（Ｘ（０），Ｙ（０））は、自動車の走行開始時の座標を表す。なお、θ（０）や（Ｘ（０），Ｙ（０））は、例えば、図示せぬＧＰＳ(Global Positioning System)等を利用して求めることができる。また、Ｖrは、自動車の走行速度を表し、βは、自動車の重心点のスリップアングルを表す。
【０１９４】
ここで、上述のようにして、自動車の座標（Ｘ，Ｙ）と走行方向θを求める方法は、例えば、特開平10-69219号公報に開示されている。
【０１９５】
最適化装置５４は、ユーザによる操作部５８の操作を学習し、即ち、ユーザが操作部５８を操作することにより供給される操作信号に基づいて学習を行い、その学習結果に基づき、演算部５３からの座標（Ｘ，Ｙ）や走行方向θを、ユーザが所望する走行が行われるように補正し、自動走行制御部５５に供給する。
【０１９６】
自動走行制御部５５は、地図データと、自動走行すべき、あらかじめ設定された軌跡（以下、適宜、設定軌跡という）を記憶している。そして、自動走行制御部５５は、最適化装置５４から供給される座標（Ｘ，Ｙ）と走行方向θから、自動車の現在位置と走行方向を認識し、自動車が設定軌跡に沿って走行するように、後述する駆動部５７を制御する制御信号を生成して、選択部５６に出力する。
【０１９７】
選択部５６には、自動走行制御部５５から制御信号が供給される他、操作部５８から操作信号が供給されるようになっている。そして、選択部５６は、自動走行制御部５５からの制御信号と、操作部５８からの操作信号のうちの操作信号を、優先的に選択し、駆動部５７に出力する。即ち、選択部５６は、通常は、自動走行制御部５５からの制御信号を選択し、駆動部５７に出力するが、操作部５８からの操作信号を受信すると、その操作信号を受信している間は、自動走行制御部５５からの制御信号の出力を停止して、操作部５８からの操作信号を、駆動部５７に出力する。
【０１９８】
駆動部５７は、選択部５６からの制御信号または操作信号にしたがい、自動車の図示せぬエンジンや、車輪、ブレーキ、クラッチ等の、走行に必要な各機構を駆動する。操作部５８は、例えば、ハンドルや、アクセルペダル、ブレーキペダル、クラッチペダル等で構成され、ユーザの操作に対応した操作信号を、最適化装置５４および選択部５６に供給する。
【０１９９】
以上のように構成される自動走行装置では、演算部５３において、ジャイロセンサ５１と車輪パルサ５２の出力から、自動車の現在の座標（Ｘ，Ｙ）と走行方向θが演算され、最適化装置５４を介して、自動走行制御部５５に供給される。自動走行制御部５５は、そこに供給される座標（Ｘ，Ｙ）と走行方向θから、自動車の現在位置と走行方向を認識し、自動車が設定軌跡に沿って走行するように、後述する駆動部５７を制御する制御信号を生成して、選択部５６を介して、駆動部５７に供給する。これにより、自動車は、自動走行制御部５５が出力する制御信号にしたがって自動走行する。
【０２００】
一方、ユーザが操作部５８を操作すると、その操作に対応した操作信号が、選択部５６を介して、駆動部５７に供給され、これにより、自動車は、ユーザによる操作部５８の操作にしたがって走行する。
【０２０１】
さらに、ユーザが操作部５８を操作することにより、操作部５８が出力する操作信号は、最適化装置５４にも供給される。最適化装置５４は、ユーザが操作部５８を操作することにより供給される操作信号に基づいて学習を行う。そして、最適化装置５４は、ユーザが操作部５８の操作を停止すると、演算部５３から供給される座標（Ｘ，Ｙ）や走行方向θを、学習結果に基づき、ユーザが所望する走行としての設定軌跡に沿った走行が行われるように補正し、自動走行制御部５５に供給する。
【０２０２】
次に、図１４は、図１３の最適化装置５４の構成例を示している。なお、図中、図３における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図１４の最適化装置５４は、選択部２１が設けられておらず、操作信号処理部３０と教師データ生成部３１に替えて、操作信号処理部６０と教師データ生成部６１がそれぞれ設けられている他は、基本的に、図３における場合と同様に構成されている。
【０２０３】
ここで、以下においては、説明を簡単にするため、演算部５３から最適化装置５４に供給される座標（Ｘ，Ｙ）と走行方向θのうち、走行方向θにだけ注目して、説明を行う。但し、座標（Ｘ，Ｙ）についても、以下説明する走行方向θに対する処理と同様の処理を行うことが可能である。
【０２０４】
操作信号処理部６０は、操作部５８からの操作信号を受信し、学習用操作信号かどうかを判定する。そして、操作信号処理部６０は、操作信号が学習用操作信号である場合には、その旨を表すメッセージを、生徒データ生成部３２と教師データ生成部６１に供給する。
【０２０５】
教師データ生成部６１には、操作信号処理部６０から、操作信号が学習用操作信号である旨のメッセージ（以下、適宜、学習メッセージという）が供給される他、入力信号としての、演算部５３からの走行方向θが供給されるようになっている。さらに、教師データ生成部６１には、補正部１（演算器１６）が出力する出力信号としての、演算部５３からの走行方向θを補正したもの（以下、適宜、補正走行方向という）も供給されるようになっている。教師データ生成部６１は、学習メッセージを受信したときに供給される入力信号としての走行方向θと、出力信号としての補正走行方向とから、学習用操作信号に対応する重みＷを求め、教師データとして、学習用データメモリ３３に供給する。
【０２０６】
即ち、いまの場合、教師データとしては、自動車が所定の方向に向くように、ユーザが、ハンドルとしての操作部５８を操作した後に、自動車が所定の方向を向いたときの重みＷを求める必要がある。つまり、教師データとしては、ユーザが、ハンドルとしての操作部５８を操作し、自動車が所望の方向を向くようになった直後の、その走行方向θを表す入力信号ｘ（ｔ）の補正に用いられる重みＷを採用する必要がある。この、操作部５８の操作直後の入力信号ｘ（ｔ）は、式（８）にしたがい、その入力信号ｘ（ｔ）と、操作部５８の操作直前に出力される出力信号ｙ（ｔ−１）との重み付け加算によって、補正走行方向としての、操作部５８の操作直後の出力信号ｙ（ｔ）に補正されることから、操作部５８の操作直後の入力信号ｘ（ｔ）の補正に用いられる重みＷは、式（８）から、操作部５８の操作直後の入力信号ｘ（ｔ）並びに操作部５８の操作直後の出力信号ｙ（ｔ）および操作部５８の操作直前のｙ（ｔ−１）によって求めることができる。そこで、教師データ生成部６１は、学習メッセージを受信した直後に供給される入力信号ｘ（ｔ）としての走行方向θ、および学習メッセージを受信した直前と直後にそれぞれ供給される出力信号ｙ（ｔ−１）とｙ（ｔ）としての補正走行方向から、教師データとしての重みＷを求め、学習用データメモリ３３に供給する。
【０２０７】
なお、生徒データ生成部３２は、学習メッセージを受信すると、その直前までに供給された入力信号としての走行方向から求められている重みｗを、生徒データとして、学習用データメモリ３３に供給する。
【０２０８】
即ち、生徒データ生成部３２は、図３で説明したように、入力信頼度計算部２２、出力信頼度計算部２３、ラッチ回路２４、および重み計算部２５と同様に構成され、そこに供給される入力信号としての走行方向から重みｗ（重み計算部２５で求められるのと同一の重みｗ）を計算しており、学習メッセージを受信する直前において計算された重みｗを、生徒データとして、学習用データメモリ３３に供給する。
【０２０９】
従って、パラメータ制御データ計算部３４では、ユーザが操作部５８を操作して、走行方向が、ユーザが所望する方向となったときの重みＷを教師データとするとともに、ユーザが操作部５８を操作する直前に重み計算部２５が出力したのと同一の重みｗを生徒データとして、式（２０）および（２１）に示したパラメータ制御データａおよびｂの計算が行われる。
【０２１０】
そして、重み補正部２６では、そのパラメータ制御データａおよびｂを用いて、式（１３）にしたがい、重み計算部２５で求められた重みｗが補正され、補正部１に供給される。
【０２１１】
その結果、パラメータ制御データａおよびｂは、ユーザが操作部５８を操作する直前の走行方向を、ユーザが操作部５８を操作した直後の走行方向に補正するように、重み計算部２５で求められた重みｗを補正するものとなるから、自動車は、設定軌跡に沿って自動走行するようになることになる。
【０２１２】
即ち、ユーザが操作部５８を操作するということは、ジャイロセンサ５１の誤差や、その出力に含まれるノイズ、演算部５３における演算誤差等に起因して、演算部５３が出力する走行方向θが誤差を含み、自動車の真の走行方向を表していないために、自動車の実際の走行方向が、設定軌跡からはずれている状態になっていると考えられる。さらに、この場合におけるユーザによる操作部５８の操作は、自動車の実際の走行方向を、設定軌跡に沿った方向にするものであると考えられる。従って、ユーザが操作部５８を操作し、自動車の実際の走行方向が、設定軌跡に沿ったものとなったときにおける重みＷを教師データとするとともに、ユーザが操作部５８を操作する直前に重み計算部２５で求められた重みｗ、即ち、設定軌跡からはずれている状態での重み計算部２５が出力する重みｗを生徒データとして学習を行うことにより、設定軌跡からはずれている状態での走行方向を、設定軌跡に沿った方向に補正するように、式（６）の重みを補正する式（１３）のパラメータ制御データａおよびｂが求められることになる。
【０２１３】
次に、図１４の最適化装置５４の処理について説明する。なお、図１４の最適化装置５４では、図３のＮＲ回路と同様に、入力信号ｘ（ｔ）としての演算部５３が出力する走行方向θを補正する補正処理、その補正処理に用いられる補正パラメータとしての重みを求める補正パラメータ演算処理、およびユーザによる操作部５８（図１３）の操作を学習することにより、補正パラメータとしての重みを制御（補正）するパラメータ制御データを求める制御データ学習処理が行われるが、補正処理は、図５で説明した図３のＮＲ回路による補正処理と同一であるため、ここでは、図１４の最適化装置５４が行う補正パラメータ演算処理と生徒データ学習処理について説明する。
【０２１４】
まず、図１５のフローチャートを参照して、図１４の最適化装置５４が行う補正パラメータ演算処理について説明する。
【０２１５】
補正パラメータ演算処理では、まず最初に、ステップＳ９１において、入力信頼度計算部２２が、図６のステップＳ３１における場合と同様に、入力信号としての演算部５３（図１３）からの走行方向θの分散に基づく入力信頼度αx(t)を求め、出力信頼度計算部２３および重み計算部２５に供給する。
【０２１６】
その後、ステップＳ９２に進み、重み計算部２５は、入力信頼度計算部２２からの入力信頼度αx(t)を用い、式（６）にしたがって、重みｗ（ｔ）を求め、重み補正部２６に供給し、ステップＳ９３に進む。
【０２１７】
ステップＳ９３では、重み補正部２６は、パラメータ制御データメモリ３７からパラメータ制御データを読み出し、ステップＳ９４に進む。ステップＳ９４では、重み補正部２６は、パラメータ制御データメモリ３７から読み出したパラメータ制御データが、重みｗ（ｔ）を補正しないモード、即ち、ユーザによる操作部５８（図１３）の操作に関係なく、重み計算部２５において、入力信頼度と出力信頼度から、いわば自動的に求められる重みｗ（ｔ）を、そのまま入力信号ｘ（ｔ）を補正するための重みＷとして用いるモード（オートモード）を表すオートモードデータとなっているかどうかを判定する。
【０２１８】
ステップＳ９３において、パラメータ制御データがオートモードデータでないと判定された場合、ステップＳ９５に進み、重み補正部２６は、重み計算部２５から供給される重みｗ（ｔ）を、パラメータ制御データメモリ３７から供給されるパラメータ制御データａとｂによって定義される式（１３）の一次式にしたがって補正し、ステップＳ９６に進む。ステップＳ９６では、重み補正部２６が、補正後の重みを、補正パラメータとして、補正部１に供給し、ステップＳ９７に進む。
【０２１９】
一方、ステップＳ９４において、パラメータ制御データがオートモードデータであると判定された場合、ステップＳ９５をスキップして、ステップＳ９６に進み、重み補正部２６は、重み計算部２５からの重みｗ（ｔ）を、補正パラメータとして、そのまま補正部１に供給し、ステップＳ９７に進む。
【０２２０】
ステップＳ９７では、出力信頼度計算部２３は、出力信頼度を更新する。即ち、出力信頼度計算部２３は、直前のステップＳ３１で入力信頼度計算部２２が計算した入力信頼度αx(t)と、ラッチ回路２４がラッチしている１サンプル前の出力信頼度αy(t-1)とを、式（５）にしたがって加算することで、現在の出力信頼度αy(t)を求め、ラッチ回路２４に上書きする形で記憶させる。
【０２２１】
ステップＳ９７の処理後は、ステップＳ９１に戻り、以下、同様の処理が繰り返される。
【０２２２】
以上のように、図１５の補正パラメータ演算処理においては、オートモードの場合は、操作部５８の操作に関係なく、入力信頼度と出力信頼度から、補正処理に用いられる重みが求められ、オートモードでない場合には、操作部５８の操作に基づいて、後述する図１６の制御データ学習処理による学習によって得られるパラメータ制御データを用いて、補正処理に用いられる重みが求められる。
【０２２３】
次に、図１６のフローチャートを参照して、図１４の最適化装置５４が行う制御データ学習処理について説明する。
【０２２４】
制御データ学習処理では、まず最初に、ステップＳ１０１において、操作信号処理部６０が、学習用操作信号を、操作部５８（図１３）から受信したかどうかを判定し、受信していないと判定した場合、ステップＳ１０１に戻る。
【０２２５】
また、ステップＳ１０１において、操作部５８から、学習用操作信号を受信したと判定された場合、即ち、例えば、操作部５８としてハンドルなどが、その操作の開始後、第１の時間ｔ１以上の間隔をあけることなく、第２の時間ｔ２以上連続して操作され、その後、第３の時間ｔ３以上連続して、その操作が停止された場合や、操作部５８としてのハンドルの操作の開始後、第３の時間ｔ３以上連続して、その操作が停止された場合など、自動車が所望の方向を向くように、ユーザが操作部５８としてのハンドルの操作を行ったと判定することができる場合、ステップＳ１０２に進み、教師データ生成部６１が教師データを生成するとともに、生徒データ生成部３２が生徒データを生成する。
【０２２６】
即ち、操作信号処理部６０は、学習用操作信号を受信したと判定すると、学習メッセージを、教師データ生成部６１および生徒データ生成部３２に供給する。教師データ生成部６１は、操作信号処理部６０から学習メッセージを受信すると、ステップＳ１０２において、演算部５３から供給される入力信号としての走行方向θと、補正部１（演算器１６）が出力する出力信号としての、演算部５３からの走行方向θを補正したもの（補正走行方向）とから、学習用操作信号に対応する重みＷを求める。
【０２２７】
具体的には、教師データ生成部６１は、ユーザが、ハンドルとしての操作部５８を操作し、自動車が所望の方向を向くようになった直後の、その走行方向θを表す入力信号ｘ（ｔ）を、演算部５３（図１３）から受信する。さらに、教師データ生成部６１は、補正部１が出力する現在の出力信号ｙ（ｔ）と、その１時刻だけ前の出力信号ｙ（ｔ−１）、即ち、操作部５８の操作直前の出力信号ｙ（ｔ−１）を保持するようになっており、これらの入力信号ｘ（ｔ）、並びに出力信号ｙ（ｔ）およびｙ（ｔ−１）を用いて、式（８）にしたがい、学習用操作信号が与えられたときに補正部１で用いられた重みＷ（学習用操作信号に対応する重み）を求める。
【０２２８】
なお、ここでは、説明を簡単にするために、ユーザによる操作部５８としてのハンドルの操作が、ｔ−１からｔまでの１時刻の間に、瞬時に完了するものとする。
【０２２９】
教師データ生成部６１は、以上のようにして、学習用操作信号に対応する重みＷを求めると、その重みＷを、教師データとして、学習用データメモリ３３に供給する。
【０２３０】
さらに、ステップＳ１０２では、操作信号処理部６０から学習メッセージを受信した生徒データ生成部３２が、その直前までに、演算部５３（図１３）から供給された入力信号としての走行方向から求められる入力信頼度と出力信頼度を用いて計算された、重み計算部２５が出力するのと同一の重みｗを、生徒データとして、学習用データメモリ３３に供給する。
【０２３１】
従って、学習データメモリ３３には、ユーザが操作部５８を操作して、自動車の実際の走行方向が、ユーザが所望する方向となったときに補正部１で用いられた重みＷを教師データとするとともに、ユーザが操作部５８を操作する直前に、入力信頼度と出力信頼度から求められていた重みｗを生徒データとする学習対が供給される。
【０２３２】
学習用データメモリ３３は、教師データ生成部６１から教師データＷを受信するとともに、生徒データ生成部３２から生徒データｗを受信すると、ステップＳ１０３において、その最新の教師データＷと生徒データｗのセットを記憶し、ステップＳ１０４に進む。
【０２３３】
ステップＳ１０４では、パラメータ制御データ計算部３４が、図７のステップＳ４４における場合と同様に、学習用データメモリ３３に記憶された最新の教師データと生徒データ、および学習情報メモリ３５に記憶されている学習情報を対象として、最小自乗法における足し込みを行う。さらに、ステップＳ１０４では、パラメータ制御データ計算部３４は、その足し込み結果を、学習情報として、学習情報メモリ３５に上書きする形で記憶させ、ステップＳ１０５に進む。
【０２３４】
ステップＳ１０５では、図７のステップＳ４５における場合と同様に、パラメータ制御データ計算部３４が、学習情報メモリ３５に記憶された学習情報としての足し込み結果から、式（２０）および（２１）によって、パラメータ制御データａおよびｂを求めることが可能であるかどうかを判定する。
【０２３５】
ステップＳ１０５において、パラメータ制御データａおよびｂを求めることが可能でないと判定された場合、パラメータ制御データ計算部３４は、その旨を、判定制御部３６に供給し、ステップＳ１０９に進む。ステップＳ１０９では、判定制御部３６は、パラメータ制御データとして、オードモードを表すオートモードデータを、パラメータ制御データメモリ３７に供給して記憶させる。そして、ステップＳ１０１に戻り、以下、同様の処理が繰り返される。
【０２３６】
従って、パラメータ制御データａおよびｂを求めることができるだけの学習情報が存在しない場合には、重み計算部２５（図１４）において、入力信頼度と出力信頼度から自動的に求められる重みｗ（ｔ）が、そのまま入力信号ｘ（ｔ）の補正に用いられることになる。
【０２３７】
一方、ステップＳ１０５において、パラメータ制御データａおよびｂを求めることが可能であると判定された場合、ステップＳ１０５に進み、パラメータ制御データ計算部３４は、学習情報を用い、式（２０）および（２１）を計算することで、パラメータ制御データａおよびｂを求め、判定制御部３６に供給して、ステップＳ１０７に進む。
【０２３８】
ステップＳ１０７では、判定制御部３６は、パラメータ制御データ計算部３４からのパラメータ制御データａおよびｂによって定義される式（１３）の一次式にしたがい、学習用データメモリ３３に記憶された各生徒データから、対応する教師データの予測値を求め、その予測値の予測誤差（学習用データメモリ３３に記憶されている教師データに対する誤差）の、式（１５）で表される自乗誤差の総和を求める。さらに、判定制御部３６は、その自乗誤差の総和を、例えば、学習用データメモリ３３に記憶されている学習対の数で除算した正規化誤差を求め、ステップＳ１０８に進む。
【０２３９】
ステップＳ１０８では、判定制御部３６は、正規化誤差が、所定の閾値Ｓ１より大（以上）であるかどうかを判定する。ステップＳ１０８において、正規化誤差が所定の閾値Ｓ１より大であると判定された場合、即ち、パラメータ制御データａおよびｂによって定義される式（１３）の一次式が、学習用データメモリ３３に記憶された生徒データと教師データとの関係を、精度良く近似していない場合、ステップＳ１０９に進み、判定制御部３６は、上述したように、パラメータ制御データとして、オードモードを表すオートモードデータを、パラメータ制御データメモリ３７に供給して記憶させる。そして、ステップＳ１０１に戻り、以下、同様の処理が繰り返される。
【０２４０】
従って、パラメータ制御データａおよびｂを求めることができても、そのパラメータ制御データａおよびｂによって定義される式（１３）の一次式が、学習用データメモリ３３に記憶された生徒データと教師データとの関係を、精度良く近似していない場合には、パラメータ制御データａおよびｂを求めることができるだけの学習情報が存在しない場合と同様に、入力信頼度と出力信頼度から自動的に求められる重みｗ（ｔ）が、そのまま入力信号ｘ（ｔ）の補正に用いられることになる。
【０２４１】
一方、ステップＳ１０８において、正規化誤差が所定の閾値Ｓ１より大でないと判定された場合、即ち、パラメータ制御データａおよびｂによって定義される式（１３）の一次式が、学習用データメモリ３３に記憶された生徒データと教師データとの関係を、精度良く近似している場合、ステップＳ１１０に進み、判定制御部３６は、パラメータ制御データ計算部３４からのパラメータ制御データａおよびｂによって定義される式（１３）の一次式で表される回帰直線と、学習用データメモリ３３に記憶された最新の教師データおよび生徒データで規定される点との間の誤差（距離）εを求める。
【０２４２】
そして、ステップＳ１１１に進み、判定制御部３６は、誤差εの大きさが、所定の閾値Ｓ２より大（以上）であるかどうかを判定し、大でないと判定した場合、ステップＳ１１２をスキップして、ステップＳ１１３に進み、判定制御部３６は、ステップＳ１０６で求められたパラメータ制御データａおよびｂを、パラメータ制御部データメモリ３７に出力する。パラメータ制御データメモリ３７は、判定制御部３６からのパラメータ制御データａおよびｂを上書きする形で記憶し、ステップＳ１０１に戻る。
【０２４３】
一方、ステップＳ１１１において、誤差εの大きさが、所定の閾値Ｓ２より大であると判定された場合、ステップＳ１１２に進み、判定制御部３６は、パラメータ制御データ計算部３４を制御することにより、学習用データメモリ３３に記憶された最近の教師データと生徒データとしての、最新の学習対から所定数の過去の学習対のみを用いて（学習情報メモリ３５の学習情報を用いずに）、パラメータ制御データａおよびｂを再計算させる。そして、ステップＳ１１３に進み、判定制御部３６は、ステップＳ１１２で求められたパラメータ制御データａおよびｂを、パラメータ制御部データメモリ３７に出力し、上書きする形で記憶させ、ステップＳ１０１に戻る。
【０２４４】
従って、パラメータ制御データａおよびｂを求めることができ、かつ、そのパラメータ制御データａおよびｂによって定義される式（１３）の一次式が、学習用データメモリ３３に記憶された生徒データと教師データとの関係を、精度良く近似している場合には、ユーザによる操作部３の操作に基づいて得られる学習対を用いて学習が行われることにより求められたパラメータ制御データａおよびｂによって定義される式（１３）にしたがって、入力信頼度と出力信頼度から求められる重みｗ（ｔ）が補正され、その補正によって得られる補正重みＷが、入力信号ｘ（ｔ）の補正に用いられることになる。
【０２４５】
以上のように、図１３の自動走行装置でも、ユーザの操作に応じて供給される操作信号が、学習に用いることができるかどうかが判定され、学習に用いることのできる学習用操作信号である場合には、その学習用操作信号に基づいて、入力信号を補正する重みを補正するパラメータ制御データａおよびｂが学習されるので、ユーザの操作を、ユーザが知らないうちに学習することができ、その結果、その学習結果に基づいて、ユーザにとって、徐々に適切な処理が行われるようになり、最終的には、ユーザにとって最適な処理が行われることになる。
【０２４６】
即ち、ユーザが、走行方向を、設定軌跡に沿ったものに修正するように、操作部５８を操作しているうちに、自動車は、徐々に、設定軌跡に沿って自動走行するようになる。
【０２４７】
また、図１４の最適化装置５４においても、図３のＮＲ回路と同様に、ユーザによる操作部５８の操作にしたがい、自動車の実際の走行方向が設定軌跡に沿ったものにあるように、補正部１で行われる補正処理（図５）で用いられる重みＷが変更される。即ち、自動車の走行方向が所望の方向となるように、ユーザが操作部５８を操作すると、演算部５３（図１３）が出力する入力信号としての走行方向θが変化し、その走行方向θから求められる入力信頼度、さらには、その入力信頼度から求められる出力信頼度も変化する。この入力信頼度および出力信頼度の変化によって、重み計算部２５で求められる重みも変化し、この変化した重みは、重み補正部２６を経由して、補正部１に供給される。そして、補正部１では、このようにして供給される重みを用いて、式（８）で表される補正処理が行われる。従って、ユーザが操作部５８を操作した場合には、そのユーザの操作により式（８）の重みが変更され、図３のＮＲ回路で説明した場合と同様に、当然に、式（８）で表される処理（補正処理）の内容も変更することとなるから、図１４の最適化装置５４でも、ユーザの操作にしたがい、その「処理の内容」が、ユーザにとって所望の走行方向が得られるように変更されているということができる。
【０２４８】
さらに、図１４の最適化装置５４でも、図３のＮＲ回路と同様に、ユーザから十分な数の学習対が入力されていない場合や、精度の高い近似が可能な学習対が入力されていない場合には、入力信頼度と出力信頼度とから自動的に求められる重みが、補正部１における補正処理に用いられ、ユーザから精度の高い近似が可能な学習対が入力された場合には、その学習対を用いて学習が行われることにより求められたパラメータ制御データａおよびｂによって求められる補正重みが、補正部１における補正処理に用いられる。即ち、十分な数の学習対や、精度の高い近似が可能な学習対が得られていない場合と、精度の高い近似が可能な学習対が得られた場合とで、補正処理に用いられる重みを算出する体系が変化する。
【０２４９】
従って、図１４の最適化装置５４でも、図３のＮＲ回路と同様に、ユーザの操作にしたがい、その「処理の内容」も、さらには、その「処理の構造」も変更され、これにより、設定軌跡に沿った走行方向に、自動車が自動走行するようになっている。
【０２５０】
なお、例えば、特開平7-13625号公報には、田植機等の作業車の走行制御装置が開示されており、この走行制御装置においては、ユーザの操作状態と、ジャイロセンサ等の検出結果に基づく情報との差が少なくなるように、自動操縦状態における制御パラメータの補正量が演算されるようになっている。従って、図１３の自動走行装置は、ユーザの操作に基づいて、自動走行（自動操縦）のためのパラメータの補正量が変化する点において、特開平7-13625号公報に記載の走行制御装置と共通する。
【０２５１】
しかしながら、図１３の自動走行装置は、ユーザの操作に応じて供給される操作信号が、学習に用いることができるかどうかを判定する点、操作信号が学習に用いることのできる学習用操作信号である場合には、その学習用操作信号に基づいて、入力信号を補正する重みを補正するパラメータ制御データを学習する点において、スイッチを手動で切り替えて、手動操縦制御モードとした場合にのみ、自動操縦状態における制御パラメータの補正量が演算される特開平7-13625号公報に記載の走行制御装置と大きく異なる。
【０２５２】
かかる相違がある結果、特開平7-13625号公報に記載の走行制御装置では、ユーザが、適切な自動操縦が行われていないと感じるたびに、スイッチを切り替え、手動操縦制御モードとし、制御パラメータの補正量の演算の終了後に、再び、スイッチを切り替え、自動操縦制御モードとしなければならず、従って、ユーザに煩わしさを感じさせることおそれがある。
【０２５３】
これに対して、図１３の自動走行装置では、ユーザの操作に応じて供給される操作信号が、学習に用いることができるかどうかを判定し、さらに、学習に用いることのできる学習用操作信号である場合には、その学習用操作信号に基づいて、入力信号を補正する重みを補正するパラメータ制御データを学習するので、ユーザが、上述のようなスイッチの切り替えを行わなくても、適切な自動走行が行われるようになる。即ち、ユーザが知らないうちに、ユーザの操作の学習が行われるので、ユーザが走行方向を修正する操作をしているうちに、学習が進み、徐々に、ユーザが操作を行わなくても、自動車が設定軌跡に沿って走行するようになる。
【０２５４】
さらに、図１３の自動走行装置は、ユーザの操作に対応して、処理の構造が変化するが、その点においても、特開平7-13625号公報に記載の走行制御装置と異なる。
【０２５５】
次に、図１７は、図１３の最適化装置５４の他の構成例を示している。なお、図中、図１４における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【０２５６】
図３および図９のＮＲ回路、並びに図１４の最適化装置５４においては、ユーザの操作に基づいて得られる学習対を用いて、補正パラメータを制御するパラメータ制御データの学習が行われるようになっていたが、図１７の最適化装置５４では、ユーザの操作に基づいて得られる学習対を用いて、補正パラメータ自体の学習が行われるようになっている。
【０２５７】
即ち、図１７の実施の形態では、補正部１は、補正量計算部７１と演算器７２で構成され、学習部２は、学習用データメモリ３３、学習情報メモリ３５、判定制御部３６、操作信号処理部６０、教師データ生成部７３、生徒データ生成部７４、補正パラメータ計算部７５、および補正パラメータメモリ７６から構成されている。
【０２５８】
補正量計算部７１には、学習部２の補正パラメータメモリ７６から、後述するような補正パラメータが供給されるようになっており、補正量計算部７１は、その補正パラメータを用いて、入力信号としての走行方向θを補正する補正量を計算し、演算器７２に供給する。
【０２５９】
演算器７２には、補正量計算部７１から補正量が供給される他、入力信号としての走行方向θが、演算部５３（図１３）から供給されるようになっており、演算器７２は、入力信号としての走行方向θを、それに補正量を加算することで補正し、その補正後の走行方向（補正走行方向）を、出力信号として、自動走行制御部５５（図１３）に出力する。
【０２６０】
教師データ生成部７３は、操作信号処理部６０から学習メッセージを受信した直後に供給される入力信号としての走行方向を、教師データとして、学習用データメモリ３３に供給する。生徒データ生成部７４は、操作信号処理部６０から学習メッセージを受信した直前に供給される入力信号としての走行方向を、生徒データとして、学習用データメモリ３３に供給する。
【０２６１】
補正パラメータ計算部７５は、判定制御部３６の制御の下、学習用データメモリ３３に記憶された学習用データとしての教師データおよび生徒データ、さらには、必要に応じて、学習情報メモリ３５に記憶された学習情報を用いて、所定の統計的な誤差を最小にする補正パラメータを、新たな学習情報を演算することにより学習し、判定制御部３６に供給する。また、補正パラメータ計算部７５は、学習によって得られた新たな学習情報によって、学習情報メモリ３５の記憶内容を更新する。
【０２６２】
補正パラメータメモリ７６は、判定制御部３６が出力する補正パラメータを記憶する。
【０２６３】
以上のように構成される最適化装置５４では、演算部５３から供給される走行方向θが、次のように補正される。
【０２６４】
即ち、ジャイロセンサ５１（図１３）が出力する時刻ｔのヨーレートを、ｒ’とすると、演算部５３では、走行方向が、式（３２）におけるｒを、ｒ’に置き換えた式から計算される。
【０２６５】
いま、ジャイロセンサ５１が出力するヨーレートｒ’に含まれる誤差をｅrとするとともに、真のヨーレートをｒとすることとすると、ジャイロセンサ５１が出力するヨーレートｒ’は、次式で表される。
【数３３】
2008146661.tif 000034
・・・（３３）
【０２６６】
演算部５３において、ジャイロセンサ５１が出力するヨーレートｒ’から計算される走行方向θ’は、式（３２）と（３３）から、次のようになる。
【数３４】
2008146661.tif 000035
・・・（３４）
【０２６７】
従って、演算部５３で求められる走行方向θ’と、真のヨーレートｒから求められる真の走行方向θとの関係は、次式で示すようになる。
【数３５】
2008146661.tif 000036
・・・（３５）
【０２６８】
ジャイロセンサ５１が出力するヨーレートｒ’に含まれる誤差ｅrが白色である場合には、式（３５）の右辺第２項は、長期的にみれば、次式に示すように０になるから、特に問題はない。なお、短期的には、式（３５）の右辺第２項は０にならないが、この場合は、図１４の最適化装置５４によって対処することができる。
【数３６】
2008146661.tif 000037
・・・（３６）
【０２６９】
しかしながら、誤差ｅrが有色である場合には、時間ｔの経過とともに、誤差ｅrが蓄積され、演算部５３で求められる走行方向θ’は、真の走行方向θから大きくずれることになる。
【０２７０】
即ち、いま、説明を簡単にするために、ある一定方向に直進する自動走行を考えると、自動走行制御部５５（図１３）では、演算部５３で求められる走行方向θ’が、図１８に点線で示すように、一定となるような制御信号が生成される。
【０２７１】
しかしながら、演算部５３で求められる走行方向θ’に含まれる誤差ｅrが有色である場合には、時間ｔの経過とともに、誤差ｅrが蓄積されることから、演算部５３で求められる走行方向θ’が、例えば、図１８において実線で示すような曲線の軌跡を描くときが、自動車が真に直進しているときとなる。
【０２７２】
このため、図１７の最適化装置５４は、入力信号として供給される演算部５３からの走行方向θ’が、図１８において実線で示す軌跡を描くように、その走行方向θ’を補正する補正パラメータａ0，ａ1，・・・，ａNを、ユーザからの学習用操作信号に基づいて学習する補正パラメータ学習処理を行い、その補正パラメータａ0乃至ａNを用いて、演算部５３からの走行方向θ’を補正する補正処理を行うようになっている。
【０２７３】
そこで、図１９および図２０を参照して、図１７の最適化装置５４が行う補正処理と補正パラメータ学習処理について説明する。なお、図１５の実施の形態では、一定方向に直進する自動走行を行うこととしたが、図１７の最適化装置５４は、任意の軌跡に沿った自動走行に適用することが可能である。
【０２７４】
まず最初に、図１９のフローチャートを参照して、図１７の最適化装置５４が行う補正処理について説明する。
【０２７５】
補正処理では、ステップＳ１２１において、補正量計算部７１が、補正パラメータメモリ７６に記憶された補正パラメータａ0乃至ａNを用いて、補正量を計算する。
【０２７６】
即ち、ここでは、例えば、真の走行方向θが、補正パラメータａ0乃至ａNと、入力信号としての演算部５３からの走行方向θ’とを用いて、式（３７）に示すように表されることとして、補正量が計算される。
【数３７】
2008146661.tif 000038
・・・（３７）
【０２７７】
従って、式（３７）から、補正量計算部７１では、ａ0＋ａ1ｔ1+ａ2ｔ2＋・・・＋ａNｔNが、補正量として計算される。この補正量は、演算器７２に供給される。
【０２７８】
演算器７２では、ステップＳ１２２において、入力信号としての演算器５３からの走行方向θ’と、補正量とが加算され、その加算値（式（３７）のθ）が、出力信号として出力され、次の入力信号のサンプルが供給されるのを待って、ステップＳ１２２に戻り、以下、同様の処理が繰り返される。
【０２７９】
次に、図２０のフローチャートを参照して、図１７の最適化装置５４が行う補正パラメータ学習処理について説明する。
【０２８０】
補正パラメータ学習処理では、まず最初に、ステップＳ１３１において、操作信号処理部６０が、学習用操作信号を、操作部５８（図１３）から受信したかどうかを判定し、受信していないと判定した場合、ステップＳ１３１に戻る。
【０２８１】
また、ステップＳ１３１において、操作部５８から、学習用操作信号を受信したと判定された場合、即ち、例えば、操作部５８が、その操作の開始後、第１の時間ｔ１以上の間隔をあけることなく、第２の時間ｔ２以上連続して操作され、その後、第３の時間ｔ３以上連続して、その操作が停止された場合や、操作部５８の操作の開始後、第３の時間ｔ３以上連続して、その操作が停止された場合など、ユーザが、自動車が所望の走行方向を向くように、操作部５８の操作を行ったと判定することができる場合、ステップＳ１３２に進み、教師データ生成部７３が教師データを生成するとともに、生徒データ生成部７４が生徒データを生成する。
【０２８２】
即ち、操作信号処理部６０は、学習用操作信号を受信した場合、その旨の学習メッセージを、教師データ生成部７３および生徒データ生成部７４に供給する。教師データ生成部７３は、学習メッセージを受信すると、その直後に供給される入力信号としての走行方向を、教師データとして取得し、学習用データメモリ３３に供給する。
【０２８３】
即ち、いまの場合、教師データとしては、自動車が所望の方向に向くように、ユーザが、ハンドルとしての操作部５８を操作した後の走行方向を用いる必要がある。そこで、教師データ生成部７３は、学習メッセージを受信した後に供給される入力信号としての走行方向θを、教師データとして、学習用データメモリ３３に供給する。
【０２８４】
また、生徒データ生成部３２は、学習メッセージを受信すると、その直前に供給された入力信号としての走行方向、即ち、自動車が所望の方向を向く直前の走行方向を、生徒データとして、学習用データメモリ３３に供給する。
【０２８５】
その後、ステップＳ１３３に進み、学習用データメモリ３３は、教師データ生成部３１から教師データと生徒データのセットを記憶し、ステップＳ１３４に進む。
【０２８６】
ステップＳ１３４では、補正パラメータ計算部７５が、教師データと生徒データを対象として、式（２２）乃至式（３０）で説明した場合と同様の最小自乗法における足し込みを行う。
【０２８７】
なお、ステップＳ１３４における足し込みは、上述した場合と同様に、学習情報メモリ３５に記憶されている学習情報としての前回の足し込み結果を用いて行われる。また、ここでは、式（３７）のθ’として、生徒データを用いて計算される式（３７）のθとしての教師データの予測値と、対応する教師データとの自乗誤差の総和を最小にする補正パラメータａ0乃至ａNを求めるための足し込みが行われる。
【０２８８】
補正パラメータ計算部７５は、ステップＳ１３４において足し込みを行った後、その足し込み結果を、学習情報として、学習情報メモリ３５に上書きする形で記憶させ、ステップＳ１３５に進む。
【０２８９】
ステップＳ１３５では、補正パラメータ計算部７５が、学習情報メモリ３５に記憶された学習情報としての足し込み結果から、補正パラメータａ1乃至ａNを求めることが可能であるかどうかを判定する。
【０２９０】
ステップＳ１３５において、補正パラメータａ1乃至ａNを求めることが可能でないと判定された場合、補正パラメータ計算部７５は、その旨を、判定制御部３６に供給し、ステップＳ１３９に進む。ステップＳ１３９では、判定制御部３６は、補正パラメータとして、補正の禁止を表すディセーブル（disable）データを、補正パラメータメモリ７６に供給して記憶させる。そして、ステップＳ１３１に戻り、以下、同様の処理が繰り返される。
【０２９１】
従って、補正パラメータａ1乃至ａNを求めることができるだけの学習情報が存在しない場合には、補正部１では、入力信号の補正は行われない。即ち、入力信号の補正量は０とされる。
【０２９２】
一方、ステップＳ１３５において、補正パラメータを求めることが可能であると判定された場合、ステップＳ１３６に進み、補正パラメータ計算部７５は、学習情報を用いて、補正パラメータａ0乃至ａNを求め、判定制御部３６に供給して、ステップＳ１３７に進む。
【０２９３】
ステップＳ１３７では、判定制御部３６は、補正パラメータ計算部７５からのパラメータ制御データａ1乃至ａNによって定義される式（３７）にしたがい、学習用データメモリ３３に記憶された各生徒データから、対応する教師データの予測値を求め、その予測値の予測誤差（学習用データメモリ３３に記憶されている教師データに対する誤差）の自乗和を求める。さらに、判定制御部３６は、その予測誤差の自乗和を、例えば、学習用データメモリ３３に記憶されている学習対の数で除算した正規化誤差を求め、ステップＳ１３８に進む。
【０２９４】
ステップＳ１３８では、判定制御部３６は、正規化誤差が、所定の閾値Ｓ１より大（以上）であるかどうかを判定する。ステップＳ１３８において、正規化誤差が所定の閾値Ｓ１より大であると判定された場合、即ち、補正パラメータａ1乃至ａNによって定義される式（３７）の一次式が、学習用データメモリ３３に記憶された生徒データと教師データとの関係を、精度良く近似していない場合、ステップＳ１３９に進み、判定制御部３６は、上述したように、補正パラメータとして、ディセーブルデータを、補正パラメータメモリ７６に供給して記憶させる。そして、ステップＳ１３１に戻り、以下、同様の処理が繰り返される。
【０２９５】
従って、補正パラメータａ1乃至ａNを求めることができても、その補正パラメータａ1乃至ａNによって定義される式（３７）が、学習用データメモリ３３に記憶された生徒データと教師データとの関係を、精度良く近似していない場合には、補正パラメータａ1乃至ａNを求めることができるだけの学習情報が存在しない場合と同様に、入力信号ｘ（ｔ）の補正量は０とされる。
【０２９６】
一方、ステップＳ１３８において、正規化誤差が所定の閾値Ｓ１より大でないと判定された場合、即ち、補正パラメータａ1乃至ａNによって定義される式（３７）の一次式が、学習用データメモリ３３に記憶された生徒データと教師データとの関係を、精度良く近似している場合、ステップＳ１４０に進み、判定制御部３６は、補正パラメータ計算部７５からの補正パラメータａ0乃至ａNによって定義される式（３７）の面と、学習用データメモリ３３に記憶された最新の教師データおよび生徒データで規定される点との間の誤差εを求める。
【０２９７】
そして、ステップＳ１４１に進み、判定制御部３６は、誤差εの大きさが、所定の閾値Ｓ２より大（以上）であるかどうかを判定し、大でないと判定した場合、ステップＳ１４２をスキップして、ステップＳ１４３に進み、判定制御部３６は、ステップＳ１３６で求められた補正パラメータａ0乃至ａNを、補正パラメータメモリ７６に出力する。この場合、補正パラメータメモリ７６は、判定制御部３６からの補正パラメータａ0乃至ａNを上書きする形で記憶し、ステップＳ１３１に戻る。
【０２９８】
一方、ステップＳ１４１において、誤差εの大きさが、所定の閾値Ｓ２より大であると判定された場合、ステップＳ１４２に進み、判定制御部３６は、補正パラメータ計算部７５を制御することにより、学習用データメモリ３３に記憶された最近の教師データと生徒データのみを用いて、補正パラメータａ0乃至ａNを再計算させる。そして、ステップＳ１４３に進み、判定制御部３６は、ステップＳ１４２で求められた補正パラメータａ0乃至ａNを、パラメータ制御部データメモリ３７に出力して、上書きする形で記憶させ、ステップＳ１３１に戻る。
【０２９９】
即ち、図２０の実施の形態においても、図７の実施の形態における場合と同様に、ステップＳ１４０において、いままでに与えられた教師データおよび生徒データから求められた補正パラメータａ0乃至ａNから式（３７）で定義される面と、最新の教師データおよび生徒データで規定される点との間の誤差εが求められる。
【０３００】
そして、この誤差εの大きさが、閾値Ｓ２より大でない場合には、ステップＳ１３６で求められた補正パラメータａ0乃至ａNによって定義される式（３７）の面が、最新の教師データと生徒データで規定される点も含め、いままでに与えられた教師データと生徒データで規定される点のいずれも、比較的精度良く近似していると考えられるため、その補正パラメータａ0乃至ａNが、補正パラメータメモリ７６に記憶される。
【０３０１】
一方、誤差εの大きさが、閾値Ｓ２より大の場合には、ステップＳ１３６で求められた補正パラメータａ0乃至ａNによって定義される式（３７）の面から、最新の教師データと生徒データで規定される点が比較的大きく離れていると考えられるため、判定制御部３６は、ステップＳ１４２において、学習用データメモリ３３に記憶された最近の教師データと生徒データのみを用いて、補正パラメータａ0乃至ａNを再計算させる。
【０３０２】
従って、この場合も、ユーザの操作に応じて供給される学習用操作信号に基づいて、式（３７）の補正パラメータａ0乃至ａNの学習が行われるので、ユーザの操作を、ユーザが知らないうちに学習することができ、さらに、その学習結果を用いて、ユーザにとって最適な処理を行うことが可能となる。
【０３０３】
さらに、この場合、演算部５３（図１３）が出力する走行方向に含まれる誤差が有色であるときに、所定の設定軌跡に沿って、自動車を自動走行させることが可能となる。
【０３０４】
また、図１７の最適化装置５４では、ユーザによる操作部５８の操作にしたがい、自動車の実際の走行方向が設定軌跡に沿ったものにあるように、補正部１で行われる補正処理（図５）で用いられる補正パラメータが変更される。即ち、自動車の走行方向が所望の方向となるように、ユーザが操作部５８を操作すると、演算部４３（図１３）が出力する、操作部５８の操作直前と直後の入力信号としての走行方向θそれぞれを、それぞれ生徒データと教師データとして、補正パラメータの学習が行われ、これにより、補正パラメータが変更される。この変更された補正パラメータは、補正部１に供給され、補正部１では、その補正パラメータを用いて補正量が計算され、その補正量によって、入力信号の補正処理（図１９）が行われる。従って、ユーザが操作部５８を操作した場合には、そのユーザの操作により式（３７）の補正パラメータが変更されることにより、当然に、式（３７）で表される処理（補正処理）の内容も変更することとなるから、図１７の最適化装置５４でも、ユーザの操作にしたがい、その「処理の内容」が、ユーザにとって所望の走行方向が得られるように変更されているということができる。
【０３０５】
さらに、図１７の最適化装置５４では、ユーザから十分な数の学習対が入力されていない場合や、精度の高い近似が可能な学習対が入力されていない場合には、補正部１における入力信号の補正量が０とされ、ユーザから精度の高い近似が可能な学習対が入力された場合には、その学習対を用いて学習が行われることにより求められた補正パラメータによって求められる補正量によって、入力信号の補正が行われる。即ち、十分な数の学習対や、精度の高い近似が可能な学習対が得られていない場合と、精度の高い近似が可能な学習対が得られた場合とで、補正部１の補正処理に用いられる重みを算出する体系が変化する。
【０３０６】
従って、図１７の最適化装置５４でも、ユーザの操作にしたがい、その「処理の内容」も、さらには、その「処理の構造」も変更され、これにより、設定軌跡に沿った走行方向に、自動車が自動走行するようになっている。
【０３０７】
ここで、図２０の実施の形態では（図７および図１２の実施の形態おいても同様）、ステップＳ１４０において、補正パラメータ計算部７５からの補正パラメータａ0乃至ａNによって定義される式（３７）の面と、最新の教師データおよび生徒データで規定される点との間の誤差εを求め、以降の処理を行うようにしたが、ステップＳ１４０では、最近の複数の教師データと生徒データが供給される前にステップＳ１３６で求められた補正パラメータａ0乃至ａNによって定義される式（３７）の面と、最近の複数の教師データおよび生徒データで規定される点それぞれとの間の誤差εを求め、その複数の誤差εに基づいて、以降の処理を行うようにすることも可能である。
【０３０８】
なお、図１３の最適化装置５４は、図１４や図１７に示した他、例えば、図９に示した最適化装置を利用して構成することも可能である。
【０３０９】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０３１０】
そこで、図２１は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０３１１】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク１０５やＲＯＭ１０３に予め記録しておくことができる。
【０３１２】
あるいはまた、プログラムは、フロッピー（登録商標）ディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体１１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体１１１は、いわゆるパッケージソフトウエアとして提供することができる。
【０３１３】
なお、プログラムは、上述したようなリムーバブル記録媒体１１１からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部１０８で受信し、内蔵するハードディスク１０５にインストールすることができる。
【０３１４】
コンピュータは、CPU(Central Processing Unit)１０２を内蔵している。CPU１０２には、バス１０１を介して、入出力インタフェース１１０が接続されており、CPU１０２は、入出力インタフェース１１０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部１０７が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)１０３に格納されているプログラムを実行する。あるいは、また、CPU１０２は、ハードディスク１０５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部１０８で受信されてハードディスク１０５にインストールされたプログラム、またはドライブ１０９に装着されたリムーバブル記録媒体１１１から読み出されてハードディスク１０５にインストールされたプログラムを、RAM(Random Access Memory)１０４にロードして実行する。これにより、CPU１０２は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU１０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース１１０を介して、LCD(Liquid CryStal Display)やスピーカ等で構成される出力部１０６から出力、あるいは、通信部１０８から送信、さらには、ハードディスク１０５に記録等させる。
【０３１５】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０３１６】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０３１７】
以上、本発明を、入力信号からのノイズ除去や、自動走行に適用した場合について説明したが、本発明は、ノイズ除去や自動走行以外の、例えば、信号の周波数特性の変換その他のアプリケーションに広く適用可能である。
【図面の簡単な説明】
【０３１８】
【図１】図１は、本発明を適用した最適化装置の一実施の形態の構成例を示すブロック図である。
【図２】図２は、最適化装置による最適化処理を説明するフローチャートである。
【図３】図３は、最適化装置を利用したＮＲ回路の一実施の形態の構成例を示すブロック図である。
【図４】図４Ａは、入力信号を示す波形図である。図４Ｂは、入力信頼度を示す波形図である。
【図５】図５は、ＮＲ回路による補正処理を説明するフローチャートである。
【図６】図６は、ＮＲ回路による補正パラメータ演算処理を説明するフローチャートである。
【図７】図７は、ＮＲ回路による制御データ学習処理を説明するフローチャートである。
【図８】図８Ａ〜図８Ｃは、制御データ学習処理を説明するための図である。
【図９】図９は、最適化装置を利用したＮＲ回路の他の一実施の形態の構成例を示すブロック図である。
【図１０】図１０は、パラメータ制御データと乗算される画素を示す図である。
【図１１】図１１は、ＮＲ回路による補正パラメータ演算処理を説明するフローチャートである。
【図１２】図１２は、ＮＲ回路による制御データ学習処理を説明するフローチャートである。
【図１３】図１３は、本発明を適用した自動走行装置の一実施の形態の構成例を示すブロック図である。
【図１４】図１４は、最適化装置５４の構成例を示すブロック図である。
【図１５】図１５は、最適化装置５４による補正パラメータ演算処理を説明するフローチャートである。
【図１６】図１６は、最適化装置５４による制御データ学習処理を説明するフローチャートである。
【図１７】図１７は、最適化装置５４の他の構成例を示すブロック図である。
【図１８】図１８は、演算部５３が出力する走行方向を示す図である。
【図１９】図１９は、最適化装置５４による補正処理を説明するフローチャートである。
【図２０】図２０は、最適化装置５４による補正パラメータ学習処理を説明するフローチャートである。
【図２１】図２１は、本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
【０３１９】
１  補正部，  ２  学習部，  ３  操作部，  ３３  学習用データメモリ，  ３５  学習情報メモリ
【図１】
2008146661.tif 000039
【図２】
2008146661.tif 000040
【図３】
2008146661.tif 000041
【図４】
2008146661.tif 000042
【図５】
2008146661.tif 000043
【図６】
2008146661.tif 000044
【図７】
2008146661.tif 000045
【図８】
2008146661.tif 000046
【図９】
2008146661.tif 000047
【図１０】
2008146661.tif 000048
【図１１】
2008146661.tif 000049
【図１２】
2008146661.tif 000050
【図１３】
2008146661.tif 000051
【図１４】
2008146661.tif 000052
【図１５】
2008146661.tif 000053
【図１６】
2008146661.tif 000054
【図１７】
2008146661.tif 000055
【図１８】
2008146661.tif 000056
【図１９】
2008146661.tif 000057
【図２０】
2008146661.tif 000058
【図２１】
2008146661.tif 000059