JP3817866B2 - Data conversion device and coefficient determination device thereof - Google Patents
Data conversion device and coefficient determination device thereof Download PDFInfo
- Publication number
- JP3817866B2 JP3817866B2 JP30408097A JP30408097A JP3817866B2 JP 3817866 B2 JP3817866 B2 JP 3817866B2 JP 30408097 A JP30408097 A JP 30408097A JP 30408097 A JP30408097 A JP 30408097A JP 3817866 B2 JP3817866 B2 JP 3817866B2
- Authority
- JP
- Japan
- Prior art keywords
- coefficient
- coefficient value
- data group
- value
- values
- 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
Links
Images
Landscapes
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
- Image Processing (AREA)
- Processing Of Color Television Signals (AREA)
- Editing Of Facsimile Originals (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、適宜の個数の離散値の係数により規定されるデータ変換装置において、所定の入力データに対応する理想出力データとの誤差が小さい出力を得るための係数を決定する方法、および装置に関する。本発明は例えば離散値の係数を持つ階層型ニューラルネットワークによる色変換装置の係数決定や、代表点テーブルおよび補間を用いた色変換の代表点値決定に適用できる。
【0002】
【従来の技術】
適宜の個数の離散値の係数により規定されるデータ変換装置では、取り得る係数の範囲を限れば、各係数の取りうる値の種類は有限である。従って、全ての係数の組合せについて誤差を評価すれば、その中には少なくとも1つの最適な係数が存在する。そして、このように係数の全空間を検索する手法によれば確実に最適な係数を得ることが可能である。しかしながら、一般的にはこの組合せは膨大な数となるために、係数を算出する手法としては現実的ではない。そこで、各データ変換装置の特性を基に、演繹的な方法や、各種の近似的な方法によって係数を算出することが一般的である。
【0003】
離散値の係数を含むデータ変換装置において、与えられた任意の入出力対応に対して最適な係数が演繹的に定まる場合は、その手法により係数を定めることが可能であり、従来の技術を用いても課題となることはない。
【0004】
一方、係数が演繹的に定まる場合でも、離散値の係数とはならない場合がある。例えば、離散値の係数からなる行列演算によるデータ変換装置においては、誤差が最小となる各係数は演繹的に算出できるものの、算出結果は離散値とはならず、これを四捨五入、切上げ、切捨て等により離散値に丸める操作が必要となる。丸めにより、各係数は最適値とは異なる値となるために、誤差が大きくなることが一般的である。
【0005】
同様に、行列演算などの手法であっても、演算過程において有効精度が限られる場合、例えば有限精度の固定小数点の積和演算による場合には、データ変換装置の演算過程において、計算過程の丸めなどによって更に精度が低下する。このような場合、最適な係数を算出するために計算過程の丸めなどの特性を考慮する必要があるが、係数と誤差の対応が非常に複雑な関係となるために、従来は考慮されることはなかった。従来技術により精度を向上するためには、一般的には計算過程における有効精度や、係数の刻みを細かくするなどの技術が用いられてきた。
【0006】
代表点テーブルおよび補間を用いるデータ変換装置では、入力の各次元の代表点からなる格子点に、変換後のデータを予めテーブルに記録し、補間を行うことにより変換結果を得る。このようなデータ変換装置においてテーブルに記録される係数は、代表点の変換後のデータが用いられることが一般的である。一般に、補間により補間誤差が発生するが、格子点以外の入力の変換誤差も考慮して格子点に記録される係数を最適化する手法はなかった。従来技術により精度を向上するためには、一般的には入力次元の代表点の数を増やすという技術が用いられてきた。
【0007】
係数が連続値であり、誤差を各係数で偏微分できるデータ変換装置については、微分方程式の逐次近似による係数の決定方法が知られている。特に、ニューラルネットワークでは、バックプロパゲーション法に代表される係数算出方法が一般的に用いられている。
【0008】
しかしながら、離散値の係数を含む場合に関しては、それらの係数では誤差を偏微分することは不可能であり、バックプロパゲーションに代表される上述の方法を用いることができない。
【0009】
そこで、従来は、同構成で、偏微分可能なデータ変換装置を構成できる場合については、予め、連続値で係数を算出し、その結果を丸めることによって離散値の係数を得る技術が用いられてきた。この場合には、前述の行列式と同じように、丸めによって精度が低下するなどの課題があった。
【0010】
また、ハードウェアによる学習では、同様の微分方程式を有限精度で近似したバックプロパゲーションに類する技術が用いられてきた。この技術では、逆伝搬する誤差が計算精度を下回った時点で学習が停止してしまうという課題があった。
【0011】
さらに、有限精度の固定小数点演算によるニューラルネットワークなどでは、固定小数点の行列式と同様に、計算過程の丸めなどの影響があり、係数と誤差の関係は更に複雑になるために、実際に最適な離散値を獲得することは困難であった。従来技術により精度を向上するためには、一般的には計算過程における有効精度や、係数の刻みを細かくするなどの技術が用いられてきた。有効精度や、係数の刻みを細かくする場合、データ変換装置の構成が複雑になる。
【0012】
また、この手法では、微分方程式を逐次近似によって解く必要があるので、この方法に基づく装置の構成が複雑になるという課題があった。
【0013】
ニューラルネットワークに限定すると、構成が比較的簡単な学習方法としては、特開平4−282476号公報(米国特許明細書第5459817号)にあるように、係数の更新差分量を乱数により発生し、更新前後の二者択一によって係数を更新する手法があった。この手法では各シナプスごとに乱数を発生する機構が必要となる。更に、更新量自体は制御せず、符号のみを乱数によって制御するために、学習の初期から、逐次学習が進行した段階まで、更新量を制御してはいない。そのため、学習の速度に課題が生じる上に、二者択一の構成を適切に行わなければ極少に収束するという課題があった。
【0014】
【発明が解決しようとする課題】
以上述べた方法のうち、係数の全空間を検索する手法を除いては、各データ変換装置の構成に基づいて係数を算出する方法が異なり、これらの方法に基づく装置を構成した場合には、装置の構成が複雑になるという課題があった。また、前述したように、係数の全空間を検索する手法に基づく装置は、構成は簡単なものの、膨大な空間を検索するので、現実的ではなかった。
【0015】
データ変換装置の精度を向上する目的では、装置や方法の構成を変更する必要があった。
【0016】
また、微係数に基づいて係数を更新する場合については、微分方程式を構成することが必須要件であり、桁落ちなどの微分不可能な対応については微分方程式が構成できず、係数を決定できなかった。
【0017】
そこで、本発明は、係数自体や計算過程の丸めなどの影響等も考慮した上で、各データ変換装置の構成によらず、かつ、係数の全空間を検索する手法より短時間に誤差が少ない係数を算出することを課題とする。
【0018】
【課題を解決するための手段】
本発明は、誤差の計算と、誤差に依存した確率的な係数の選択に基づいた操作の繰り返しによって誤差を低減することにより、誤差の小さい係数を算出することを特徴とする。
【0019】
すなわち、本発明によれば、上述の目的を達成するために、離散的な値を取る少なくとも1つの係数を含むk個の係数に応じてm次元の入力データをn次元の出力データに変換するデータ変換装置において係数を最適化する係数決定装置に、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より所定のステップs1だけ大きな係数値、および上記現在の係数値より所定のステップs2だけ小さい係数値のうち少なくとも2つの係数値について所定の入力データ群に対する出力データ群を算出する手段と、上記少なくとも2つの係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも2つの係数値のいずれか1つを新たな係数値として選択する係数値選択手段とを設けるようにしている。
【0020】
この構成においては、候補係数値について誤差を算出し、この誤差が小さい候補係数値ほど高い確率で新たな係数値とするようにしている。したがって係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【0021】
また、この構成においては、上記係数値選択手段が、上記少なくとも2つの係数値におけるそれぞれの誤差に、所定の分布に従う乱数をそれぞれ加え、その和の最小値を与える係数値を選択する手段を有するようにすることができる。
【0022】
また、上記誤差ないしは微係数の大きさに対する上記確率の漸減の程度、もしくは、上記所定のステップs1とs2を、もしくはその双方を、誤差の履歴に応じて制御する手段とを設けるようにしてもよい。
【0023】
また、上記誤差の大きさに対する上記確率の漸減の程度を誤差の履歴に応じて制御する手段は、乱数についての上記所定の分布を制御する手段によるようにしてもよい。
【0024】
また、上記離散的な値を取る少なくとも1つの係数は、m次元の入力データに対応するm次元の代表点のテーブルの各代表点ごとに、それぞれn個の出力に相当する離散値を予め記録し、出力に相当する値を補間することによってn次元の出力を得るデータ変換装置の上記代表点の出力に相当する値であって、適宜の入力値群について誤差及び理想出力値群を規定することにより係数を更新する手段を有するようにすることができる。
【0025】
また、本発明によれば、上述の目的を達成するために、データ変換装置に、離散的な値を取る少なくとも1つの係数を含むk個の係数に応じてm次元の入力データをn次元の出力データに変換するデータ変換手段と、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より所定のステップs1だけ大きな係数値、および上記現在の係数値より所定のステップs2だけ小さい係数値のうち少なくとも2つの係数値について所定の入力データ群に対する出力データ群を算出する手段と、上記少なくとも2つの係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも2つの係数値のいずれか1つを新たな係数値として選択する係数値選択手段とを設けている。
【0026】
この構成においても、候補係数値について誤差を算出し、この誤差が小さい候補係数値ほど高い確率で新たな係数値とするようにしている。したがって係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【0027】
また、本発明によれば、上述の目的を達成するために、色変換装置に、離散的な値を取る少なくとも1つの係数を含むk個の係数に応じてm次元の第1の色データをn次元の第2の色データに変換する色変換手段と、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より所定のステップs1だけ大きな係数値、および上記現在の係数値より所定のステップs2だけ小さい係数値のうち少なくとも2つの係数値について所定の第1の色データ群に対する第2の色データ群を算出する手段と、上記少なくとも2つの係数値について算出した第2の色データ群と上記所定の第1の色データ群に対応する理想の第2の色データ群との誤差が小さいほど高くなる確率で、上記少なくとも2つの係数値のいずれか1つを新たな係数値として選択する係数値選択手段とを設けている。
【0028】
この構成においても、候補係数値について誤差を算出し、この誤差が小さい候補係数値ほど高い確率で新たな係数値とするようにしている。したがって係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【0029】
また、この構成においては、上記誤差を色差とすることができる。
【0030】
また、本発明によれば、上述の目的を達成するために、カラー画像形成装置(例えばカラー複写機やカラー印刷機)に、m次元の第1の色データを受け取る手段と、離散的な値を取る少なくとも1つの係数を含むk個の係数に応じて上記m次元の第1の色データをn次元の第2の色データに変換する色変換手段と、上記色変換手段から出力された上記第2の色データに基づいて所定の出力動作を行う出力手段と、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より所定のステップs1だけ大きな係数値、および上記現在の係数値より所定のステップs2だけ小さい係数値のうち少なくとも2つの係数値について所定の第1の色データ群に対する第2の色データ群を算出する手段と、上記少なくとも2つの係数値について算出した第2の色データ群と上記所定の第1の色データ群に対応する理想の第2の色データ群との誤差が小さいほど高くなる確率で、上記少なくとも2つの係数値のいずれか1つを新たな係数値として選択する係数値選択手段とを設けるようにしている。
【0031】
この構成においても、候補係数値について誤差を算出し、この誤差が小さい候補係数値ほど高い確率で新たな係数値とするようにしている。したがって係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【0032】
また、この構成においては、上記出力手段は上記第2の色データを後続の色変換手段を介して受け取るようにしてもよい。
【0033】
また、本発明によれば、上述の目的を達成するために、電子機器に、m次元の入力データを受け取る手段と、離散的な値を取る少なくとも1つの係数を含むk個の係数に応じて上記m次元の入力データをn次元の出力データに変換するデータ変換手段と、上記データ変換手段から出力されたn次元の出力データに基づいて所定の出力動作を行う出力手段と、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より所定のステップs1だけ大きな係数値、および上記現在の係数値より所定のステップs2だけ小さい係数値のうち少なくとも2つの係数値について所定の入力データ群に対する出力データ群を算出する手段と、上記少なくとも2つの係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも2つの係数値のいずれか1つを新たな係数値として選択する係数値選択手段とを設けるようにしている。
【0034】
この構成においても、候補係数値について誤差を算出し、この誤差が小さい候補係数値ほど高い確率で新たな係数値とするようにしている。したがって係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【0035】
また、本発明によれば、離散的な値を取る少なくとも1つの係数を含むk個の係数に応じてm次元の入力データをn次元の出力データに変換するデータ変換装置において係数を最適化する係数決定装置に、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のp種類の係数値について出力データ群を算出する手段と、上記p種類の係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差を算出し、p種類の誤差を得る算出手段と、上記p種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、上記微係数に基づいて、確率的ないしは確定的に係数を更新する係数値更新手段とを設けるようにしている。
【0036】
ここで、現在の係数値を含む適宜の区間からp種類の係数を得るのに代えて、現在の係数値にp種類の所定の関数を施すことによりp種類の係数値を算出することができる。この関数は、任意の関数をとることができるが、とくに、適宜の離散値を現在の係数値に加えて関数値とすることも可能であり、また、適宜の値を、現在の係数値に乗じて、その結果の積を離散値に丸めた値を関数値とすることもできる。上記pの個数および、上記所定のp種類の関数を、誤差の履歴に応じて制御する手段をさらに設けてもよい。また、上記所定の関数は、適宜の離散値を、現在の係数値に加えて関数値とするものでもよい。また、上記所定の関数は、適宜の値を、現在の係数値に乗じて、もしくは、現在の係数値を適宜の値で除して、その結果の積または商を離散値に丸めた値を関数値とするものでもよい。
【0037】
この構成においては、候補係数値について誤差を算出し、この誤差に基づいて誤差の関数を想定し、この関数に基づいて現在の係数値における誤差の関数の微係数を求めるようにしている。そしてこの微係数に基づいて新たな係数値を求めている。係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【0038】
また、この構成において、現在の係数値、現在の係数値に所定のステップs1を加えた係数値、及び、現在の係数値から所定のステップs2を減じた係数値のうち少なくとも1つが上記p種類の係数に含まれるようにすることができる。
【0039】
また、上記微係数の大きさに対する上記確率の漸減の程度および上記所定のステップs1とs2の一方または双方を、誤差の履歴に応じて制御する手段を設けるようにしてもよい。
【0040】
また、上記離散的な値を取る少なくとも1つの係数は、m次元の入力データに対応するm次元の代表点のテーブルの各代表点ごとに、それぞれn個の出力に相当する離散値を予め記録し、出力に相当する値を補間することによってn次元の出力を得るデータ変換装置の上記代表点の出力に相当する値であって、適宜の入力値群について誤差及び理想出力値群を規定することにより係数を更新する手段を設けるようにしてもよい。
【0041】
また、本発明によれば、上述の目的を達成するために、データ変換装置に、離散的な値を取る少なくとも1つの係数を含むk個の係数に応じてm次元の入力データをn次元の出力データに変換するデータ変換手段と、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のp種類の係数値について出力データ群を算出する手段と、上記p種類の係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差を算出し、p種類の誤差を得る算出手段と、上記p種類の誤差から、上記現在の係数値において微分可能な適宜の計数値から誤差への関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、上記微係数に基づいて、確率的ないしは確定的に係数を更新する係数値更新手段とを設けるようにしている。
【0042】
この構成においても、候補係数値について誤差を算出し、この誤差に基づいて誤差の関数を想定し、この関数に基づいて現在の係数値における誤差の関数の微係数を求めるようにしている。そしてこの微係数に基づいて新たな係数値を求めている。係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【0043】
また、本発明によれば、上述の目的を達成するために、色変換装置に、離散的な値を取る少なくとも1つの係数を含むk個の係数に応じてm次元の第1の色データをn次元の第2の色データに変換する色変換手段と、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のp種類の係数値について第2の色データ群を算出する手段と、上記p種類の係数値について算出した第2の色データ群と上記所定の第1の色データ群に対応する理想の第2の色データ群との誤差を算出し、p種類の誤差を得る算出手段と、上記p種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、上記微係数に基づいて、確率的ないしは確定的に係数を更新する係数値更新手段とを設けるようにしている。
【0044】
この構成においても、候補係数値について誤差を算出し、この誤差に基づいて誤差の関数を想定し、この関数に基づいて現在の係数値における誤差の関数の微係数を求めるようにしている。そしてこの微係数に基づいて新たな係数値を求めている。係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【0045】
また、この構成において、上記誤差を色差とすることができる。
【0046】
また、本発明によれば、上述の目的を達成するために、カラー画像形成装置(たとえばカラー複写機やカラー印刷機)に、m次元の第1の色データを受け取る手段と、離散的な値を取る少なくとも1つの係数を含むk個の係数に応じて上記m次元の第1の色データをn次元の第2の色データに変換する色変換手段と、上記色変換手段から出力された上記第2の色データに基づいて所定の出力動作を行う出力手段と、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のp種類の係数値について第2の色データ群を算出する手段と、上記p種類の係数値について算出した第2の色データ群と上記所定の第1の色データ群に対応する理想の第2の色データ群との誤差を算出し、p種類の誤差を得る算出手段と、上記p種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、上記微係数に基づいて、確率的ないしは確定的に係数を更新する係数値更新手段とを設けるようにしている。
【0047】
この構成においても、候補係数値について誤差を算出し、この誤差に基づいて誤差の関数を想定し、この関数に基づいて現在の係数値における誤差の関数の微係数を求めるようにしている。そしてこの微係数に基づいて新たな係数値を求めている。係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【0048】
また、この構成においては、上記出力手段は上記第2の色データを後続の色変換手段を介して受け取るようにしてもよい。
【0049】
また、本発明によれば、上述の目的を達成するために、電子機器に、m次元の入力データを受け取る手段と、離散的な値を取る少なくとも1つの係数を含むk個の係数に応じて上記m次元の入力データをn次元の出力データに変換するデータ変換手段と、上記データ変換手段から出力されたn次元の出力データに基づいて所定の出力動作を行う出力手段と、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のp種類の係数値について出力データ群を算出する手段と、上記p種類の係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差を算出し、p種類の誤差を得る算出手段と、上記p種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、上記微係数に基づいて、確率的ないしは確定的に係数を更新する係数値更新手段とを設けるようにしている。
【0050】
この構成においても、候補係数値について誤差を算出し、この誤差に基づいて誤差の関数を想定し、この関数に基づいて現在の係数値における誤差の関数の微係数を求めるようにしている。そしてこの微係数に基づいて新たな係数値を求めている。係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【0051】
また、本発明によれば、上述の目的を達成するために、離散的な結合係数、あるいは、離散的な閾値、あるいはその双方を少なくとも1つ含むk個の係数をもつニューラルネットワークにおいて係数値の最適化を行う係数決定装置に、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より所定のステップs1だけ大きな係数値、および上記現在の係数値より所定のステップs2だけ小さい係数値のうち少なくとも2つの係数値について所定の入力データ群に対する出力データ群を算出する手段と、上記少なくとも2つの係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも2つの係数値のいずれか1つを新たな係数値として選択する係数値選択手段とを設けるようにしている。
【0052】
この構成においても、候補係数値について誤差を算出し、この誤差が小さい候補係数値ほど高い確率で新たな係数値とするようにしている。したがって係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【0053】
また、本発明によれば、上述の目的を達成するために、データ変換装置に、離散的な結合係数、あるいは、離散的な閾値、あるいはその双方を少なくとも1つ含むk個の係数をもつニューラルネットワークと、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より所定のステップs1だけ大きな係数値、および上記現在の係数値より所定のステップs2だけ小さい係数値のうち少なくとも2つの係数値について所定の入力データ群に対する出力データ群を算出する手段と、上記少なくとも2つの係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも2つの係数値のいずれか1つを新たな係数値として選択する係数値選択手段とを設けるようにしている。
【0054】
この構成においても、候補係数値について誤差を算出し、この誤差が小さい候補係数値ほど高い確率で新たな係数値とするようにしている。したがって係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【0055】
また、本発明によれば、上述の目的を達成するために、離散的な結合係数、あるいは、離散的な閾値、あるいはその双方を少なくとも1つ含むk個の係数をもつニューラルネットワークにおいて係数値を最適化する係数決定装置に、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のp種類の係数値について出力データ群を算出する手段と、上記p種類の係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差を算出し、p種類の誤差を得る算出手段と、上記p種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、上記微係数に基づいて、確率的ないしは確定的に係数を更新する係数値更新手段とを設けるようにしている。
【0056】
この構成においても、候補係数値について誤差を算出し、この誤差に基づいて誤差の関数を想定し、この関数に基づいて現在の係数値における誤差の関数の微係数を求めるようにしている。そしてこの微係数に基づいて新たな係数値を求めている。係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【0057】
また、本発明によれば、上述の目的を達成するために、データ変換装置に、離散的な結合係数、あるいは、離散的な閾値、あるいはその双方を少なくとも1つ含むk個の係数をもつニューラルネットワークと、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のp種類の係数値について出力データ群を算出する手段と、上記p種類の係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差を算出し、p種類の誤差を得る算出手段と、上記p種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、上記微係数に基づいて、確率的ないしは確定的に係数を更新する係数値更新手段とを設けるようにしている。
【0058】
この構成においても、候補係数値について誤差を算出し、この誤差に基づいて誤差の関数を想定し、この関数に基づいて現在の係数値における誤差の関数の微係数を求めるようにしている。そしてこの微係数に基づいて新たな係数値を求めている。係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【0059】
また、本発明によれば、上述の目的を達成するために、離散的な値を取る少なくとも1つの係数を含むk個の係数に応じてm次元の入力データをn次元の出力データに変換するデータ変換装置において係数値を最適化する係数決定装置に、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より所定のステップs1だけ大きな係数値、および上記現在の係数値より所定のステップs2だけ小さい係数値のうち少なくとも2つの係数値について所定の入力データ群に対する出力データ群を算出する手段と、上記少なくとも2つの係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも2つの係数値のいずれか1つを新たな係数値として選択する係数値選択手段と、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のp種類の係数値について出力データ群を算出する手段と、上記p種類の係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差を算出し、p種類の誤差を得る算出手段と、上記p種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、上記微係数に基づいて、確率的ないしは確定的に係数を更新する係数値更新手段とを設け、上記係数値選択手段による係数値の選択を1回以上実行した後、上記係数値更新手段による係数値の更新を1回以上実行するようにしている。
【0060】
この構成においては、まず、候補係数値について誤差を算出し、この誤差が小さい候補係数値ほど高い確率で新たな係数値とするようにしている。この後、この誤差に基づいて誤差の関数を想定し、この関数に基づいて現在の係数値における誤差の関数の微係数を求めるようにしている。そしてこの微係数に基づいて新たな係数値を求めている。係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【0061】
また、本発明によれば、上述の目的を達成するために、離散的な値を取る少なくとも1つの係数を含むk個の係数に応じてm次元の入力データをn次元の出力データに変換するデータ変換装置において上記係数値を決定する方法において、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より所定のステップs1だけ大きな係数値、および上記現在の係数値より所定のステップs2だけ小さい係数値のうち少なくとも2つの係数値について所定の入力データ群に対する出力データ群を算出するステップと、上記少なくとも2つの係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも2つの係数値のいずれか1つを新たな係数値として選択するステップとを実行するようにしている。
【0062】
この構成においても、候補係数値について誤差を算出し、この誤差が小さい候補係数値ほど高い確率で新たな係数値とするようにしている。したがって係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【0063】
また、本発明によれば、上述の目的を達成するために、離散的な値を取る少なくとも1つの係数を含むk個の係数に応じてm次元の入力データをn次元の出力データに変換するデータ変換装置において上記係数値を決定する方法において、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のp種類の係数値について出力データ群を算出するステップと、上記p種類の係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差を算出し、p種類の誤差を得る算出手段と、上記p種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出するステップと、上記微係数に基づいて、確率的ないしは確定的に係数を更新するステップとを実行するようにしている。
【0064】
この構成においても、候補係数値について誤差を算出し、この誤差に基づいて誤差の関数を想定し、この関数に基づいて現在の係数値における誤差の関数の微係数を求めるようにしている。そしてこの微係数に基づいて新たな係数値を求めている。係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【0065】
また、本発明によれば、上述の目的を達成するために、離散的な値を取る少なくとも1つの係数を含むk個の係数に応じてm次元の入力データをn次元の出力データに変換するデータ変換装置において上記係数値を決定する方法において、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より所定のステップs1だけ大きな係数値、および上記現在の係数値より所定のステップs2だけ小さい係数値のうち少なくとも2つの係数値について所定の入力データ群に対する出力データ群を算出するステップと、上記少なくとも2つの係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも2つの係数値のいずれか1つを新たな係数値として選択するステップと、上記新たな係数値が選択された後、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のp種類の係数値について出力データ群を算出するステップと、上記p種類の係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差を算出し、p種類の誤差を得る算出手段と、上記p種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出するステップと、上記微係数に基づいて、確率的ないしは確定的に係数を更新するステップとを実行し、上記係数値の選択を1回以上実行した後、上記係数値の更新を1回以上実行するするようにしている。
【0066】
この構成においては、まず、候補係数値について誤差を算出し、この誤差が小さい候補係数値ほど高い確率で新たな係数値とするようにしている。この後、この誤差に基づいて誤差の関数を想定し、この関数に基づいて現在の係数値における誤差の関数の微係数を求めるようにしている。そしてこの微係数に基づいて新たな係数値を求めている。係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【0067】
また、本発明によれば、上述の目的を達成するために、離散的な値を取る少なくとも1つの係数を含むk個の係数に応じてm次元の入力データをn次元の出力データに変換するデータ変換装置において上記係数値を設定する方法において、上記データ変換装置本体と同等な機能を有する標準データ変換装置において、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より所定のステップs1だけ大きな係数値、および上記現在の係数値より所定のステップs2だけ小さい係数値のうち少なくとも2つの係数値について所定の入力データ群に対する出力データ群を算出するステップと、上記少なくとも2つの係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも2つの係数値のいずれか1つを新たな係数値として選択するステップと、選択した係数を上記データ変換装置本体の係数として設定するステップとを実行するようにしている。
【0068】
この構成においても、候補係数値について誤差を算出し、この誤差が小さい候補係数値ほど高い確率で新たな係数値とするようにしている。したがって係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【0069】
また、本発明によれば、上述の目的を達成するために、離散的な値を取る少なくとも1つの係数を含むk個の係数に応じてm次元の入力データをn次元の出力データに変換するデータ変換装置において上記係数値を設定する方法において、上記データ変換装置本体と同等のデータ変換機能を有する基準データ変換装置において、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のp種類の係数値について出力データ群を算出するステップと、上記p種類の係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差を算出し、p種類の誤差を得る算出手段と、上記p種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出するステップと、上記微係数に基づいて、確率的ないしは確定的に係数を更新するステップと、更新した係数を上記データ変換装置本体の係数として設定するステップとを実行するようにしている。
【0070】
この構成においても、候補係数値について誤差を算出し、この誤差に基づいて誤差の関数を想定し、この関数に基づいて現在の係数値における誤差の関数の微係数を求めるようにしている。そしてこの微係数に基づいて新たな係数値を求めている。係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【0071】
【発明の実施の態様】
以下、本発明の実施例について説明する。
[実施例1]
図1は、本発明の実施例1の構成を示すものであり、この図において、データ変換装置の係数最適化システムは、入力バッファ11、データ変換装置12、出力バッファ13、理想出力メモリ14、誤差算出部15、誤差履歴メモリ16、乱数分布制御部17、ステップ制御部18および係数更新部19を有している。入力バッファ11は外部から与えられたm次元の入力データを記憶するものである。データ変換装置12は、離散的な値をとる係数を用いてm次元の入力データをn次元の出力データに変換するものである。出力バッファ13はデータ変換装置12から出力されたn次元の出力データを記憶する。誤差算出部15は出力データと理想出力データとの誤差を算出し、この誤差を係数更新部19および誤差履歴メモリ16に送出する。乱数分布制御部17は誤差の履歴に応じて乱数の分布を可変し、またステップ制御部18も誤差の履歴に応じてステップの大きさを可変する。これにより、アニーリングが行われる。係数更新部19は誤差と乱数との和が最少となる係数値を新たな係数値とする。
【0072】
つぎに係数の最適化について詳細に説明する。m次元の入力データと、それに対応するn次元の理想出力データがj組与えれられた場合について説明する。すなわち、入力データxと理想出力データyは、{x1,y1},{x2,y2},…,{xi,yi}…,{xj,yj}であり、各入力データxiは、m次元で、xi=(xi1,xi2,…,xim)であり、各理想出力データyiは、n次元で、yi=(yi1,yi2,…,yin)であるとする。このデータ変換装置のk個の係数(w1,w2,…,wp,…,wk)は、予め適宜の初期値、一例としては、丸めなどによる従来の手法で決定した係数や、全て0などにより初期化しておく。このデータ変換装置に、m次元のデータxiを与えた時の出力を、f(xi|w1,w2,…,wp,…,wk)とする。このときの理想出力yiとの誤差を、d(yi,f(xi|w1,w2,…,wp,…,wk))とする。ここで、dはn次元の適宜の距離、例えばユークリッド距離などとする。本実施例では、このデータ変換装置の誤差を、各データの誤差の和
【0073】
【数1】
E(w1,w2,…,wp,…,wk)
=Σi=1・・・jd(yi,f(xi|w1,w2,…,wp,…,wk))
とする。
【0074】
いま、k個の係数のうち、p番目の係数wpに着目し、現在の係数値に対する誤差E0、すなわち、E0=E(w1,w2,…,wp,…,wk)、現在の係数値より所定のステップsだけ大きな係数値に対する誤差E+、すなわち、E+=E(w1,w2,…,wp+s,…,wk)、および、現在の係数値より所定のステップsだけ小さな係数値に対する誤差E-、すなわち、E-=E(w1,w2,…,wp−s,…,wk)の3種類の誤差を算出する。この実施例では加算の場合の所定のステップと、減算の場合の所定のステップはいずれの場合もsとしているが、加算の場合の所定のステップと、減算の場合の所定のステップは必ずしも等しい値とする必要はない。
【0075】
次に、これらの誤差に、所定の区間[0,T]に一様な分布に基づく乱数Nをそれぞれに加算し、
【0076】
【数2】
e0=E0+N
e+=E++N
e-=E-+N
を得る。ここで、e0,e+,e-のうち、e0が最小であれば、wpは更新しない。e+が最小であれば、wpにsを加え、更新する。e-が最小であれば、wpからsを減じ、更新する。
【0077】
この操作を各係数wp(p=1,2,…,k)について適用する。この最適化の操作が1巡した時点で、このデータ変換装置の誤差を求め、所定の値以下になるか、ほぼ収束する状態、もしくは、所定の回数まで繰り返す。その際、最小の誤差となった場合には、「最適な係数」として係数を記録し、前述の所定の区間を決定するTに、1よりも大きい所定の値を乗じることによって、Tを増加させる。一方、誤差が最適化を1巡行う前に比較して、増加してしまった場合には、Tに1よりも小さい所定の値を乗じて、Tを減少させる。所定のステップsについても同様の操作を行うが、最小ステップ未満の値とはしない。
【0078】
以上により、学習が終了した時点で、最終的に記録された「最適な係数」を出力する。
【0079】
つぎに、第2図に示す、本実施例の最も簡素な一例を用いて係数決定の具体的な手順を示す。1入力1出力で、2つの整数の係数w1とw2を持つ下記の式によるデータ変換装置について説明する。
【0080】
【数3】
y=x・w1+w2
ここで、xはデータ変換装置の入力、yはデータ変換装置の出力である。所定のステップを、s1=s2=1として、このデータ変換装置に、入力群と、対応する理想出力群として、以下の値を供給する。
【0081】
【表1】
本実施例による係数を決定する方法により、w1とw2と初期値をいずれも0とする。この場合、誤差としては、合計のユークリッド距離を用いる。まず、w1について、誤差と、誤差に区間[0…2]の一様乱数を加えたものを算出する。その結果、次表のように算出されたとする。
【0082】
【表2】
この結果に基づき、w1は更新しない。次に、w2について、同様に、誤差と、誤差に同上の乱数を加えたものを算出する。その結果、次表のように算出されたとする。
【0083】
【表3】
この結果に基づき、w2も更新しない。この状況は、いずれの変数も変更しない方が誤差が小さいという極少の状況の例である。本実施例では誤差を付加しているので、引続きこの計算を繰り返し、所定の確率によってこのような極少から脱出できる。
【0084】
この時点で誤差を評価し、2を得る。誤差が大きいので、引続き、w1について、誤差と、誤差に乱数を加えたものを算出する。その結果、次表のように算出されたとする。
【0085】
【表4】
この結果に基づき、w1は1に更新する。更に、w2について、同様に、誤差と、誤差に乱数を加えたものを算出する。その結果、次表のように算出されたとする。
【0086】
【表5】
この結果に基づき、w2は−1に更新する。この時点で誤差を評価し、0を得る。誤差が十分に小さいので、係数の最適化を終了する。
【0087】
以上に例を以て示したように、本実施例によれば、誤差は次第に減少し、所定の乱数を付加することによって誤差が極少となる点から、所定の確率によって脱出し、より誤差の小さい係数を得ることができる。
【0088】
以上に示した簡単な例では、最適化を2巡した時点で最適化が終了したが、現実的な係数決定では、より複雑な係数を決定する必要があることが一般的である。この場合、乱数の大きさが大きいまま最適化を進めると、最適化が概ね終了しても、最終的な係数には収束しにくい。そこで、誤差が小さい係数がより高い確率で選択されるように、乱数の大きさを小さくし、収束を進めるようにする。一方、乱数が小さすぎると極少を脱出できなくなる場合がある。本実施例では誤差の履歴により、確率を制御することによってこの課題を解決した。
【0089】
また、以上に示した簡単な例では所定のステップは、s1,s2とも1を用いたが、処理を高速化するためと、極少からより高い確率で脱出できる目的で、誤差の履歴により、所定のステップを制御している。また、s1,s2に異なる値を用い、実質的により小さいステップ、すなわちs1、s2、|s1−s2|の最大公約数による最適化を可能にする。
【0090】
以上、簡単な例を以て作用を説明したが、本実施例によれば複雑なデータ変換装置においても、同様の動作をする。
【0091】
本方式においては、データ変換装置の誤差は、装置内の丸めや精度を含めた誤差による評価を行っている。従って、このような誤差を含めた上で、より誤差の少ない係数を、全探査よりも高速に算出することが可能である。
【0092】
[実施例2]
つぎにデータ変換装置として離散的な係数をとるニューラルネットワークを用いて色変換を行う実施例2について説明する。図3は本実施例の構成を示し、この図において、図1と対応する箇所には対応する符号を付して詳細な説明を省略する。図3において、入力バッファ11は入力データとして印刷のC(サイアン)、M(マジェンタ)、Y(イエロー)、K(墨)の面積率を保持している。ニューラルネットワークを用いた色変換装置21はC、M、Y、Kの面積率をCIE L*a*b*(D50)色座標に変換するものである。ニューラルネットワークの係数は離散的であり、係数更新部19によって最適化されていく。変換された色座標データは出力バッファ13にストアされ、色差算出部22によって出力色座標データと理想色座標データとの色差が算出される。色差自乗平均算出部23は色差の自乗平均を算出し、これが誤差とされる。
【0093】
つぎに色変換装置21の係数の最適化について詳細に説明する。上述のとおり、色変換装置21は、印刷のC、M、Y、Kの面積率を、印刷結果のCIE L*a*b*(D50)色座標に変換するものである。この色変換装置21の係数決定には、、入力として、IT8/7.3 extended setに基づく928組のCMYK面積率を、理想出力には、各面積率に基づいて印刷を行い、印刷結果をD50光源により測色し、CIE L*a*b*色座標としたものを用いる。すなわち、入力データxと理想出力データyは、{x1,y1},{x2,y2},…,{xi,yi}…,{x928,y928}であり、各入力データxiは、4次元で、xi=(Ci,Mi,Yi,Ki)であり、各理想出力データyiは、3次元で、yi=(Li,ai,bi)であるとする。このデータ変換装置のk個の係数(w1,w2,…,wp,…,wk)は、予め全て0に初期化しておく。このデータ変換装置に、データxiを与えた時の出力を、g(xi|w1,w2,…,wp,…,wk)とする。このときの理想出力yiとの誤差を、ΔE色差、すなわち、CIE L*a*b*色空間上のユークリッド距離ΔE(yi,g(xi|w1,w2,…,wp,…,wk))とする。本実施例では、この色変換装置の誤差を、各色の自乗平均誤差、すなわち、
【0094】
【数4】
とする。
【0095】
いま、k個の係数のうち、p番目の係数wpに着目し、現在の係数値に対する誤差E0、すなわち、E0=E(w1,w2,…,wp,…,wk)と、現在の係数値より所定のステップs1だけ大きな係数値に対する誤差E+、すなわち、E+=E(w1,w2,…,wp+s1,…,wk)、及び、現在の係数値より所定のステップs2だけ小さな係数値に対する誤差E、すなわち、E-=E(w1,w2,…,wp−s2,…,wk)の3種類の誤差を算出する。この実施例では加算の場合の所定のステップを異なる値としているが、加算の場合の所定のステップと、減算の場合の所定のステップは必ずしも異なる値とする必要はない。
【0096】
次に、これらの誤差に基づいて、より低い誤差のものが、より高い確率で選ばれる適宜の関数によって、いずれか1つを選択する。E0が選択された場合、wpは更新しない。E+が選択された場合、wpにs1を加え、更新する。E-が選択された場合、wpからs2を減じ、更新する。
【0097】
この操作を各重みwp(p=1,2,…,k)について適用する。この最適化の操作が1巡した時点で、この色変換装置の誤差を求め、所定の値以下になるか、ほぼ収束する状態、もしくは、所定の回数まで繰り返す。その際、最小の誤差となった場合には、「最適な係数」として係数を記録し、前述の所定のステップsに、1よりも大きい所定の値を乗じることによって、sを増加させる。一方、誤差が最適化を1巡行う前に比較して、増加してしまった場合には、s1やS2に1よりも小さい所定の値を乗じて、s1やS2を減少させるが、最小ステップ以下未満の値とはしない。
【0098】
以上により、学習が終了した時点で、最終的に記録された「最適な係数」を出力する。
【0099】
[実施例3]
つぎに係数が離散値をとるテーブルと補間とを用いる色変換装置を用いた実施例3について説明する。図4は実施例3の構成を示しており、この図において、図1と対応する箇所には対応する符号を付して詳細な説明を省略する。図4において、入力バッファ11は入力データとしてCIE L*a*b* (D50)色座標データをストアしている。色変換装置31は、係数が離散値をとるテーブルと補間とを用いて、CIE L*a*b* (D50)色座標を入力し、所定の印刷装置のC、M、Y、Kの面積率を算出するものである。本実施例では、各格子点に記憶する値は離散値とする。この変換装置31の詳細は後述する。C、M、Y、Kの面積率は出力バッファ13にストアされ、これに基づいて印刷装置32を駆動して印刷出力を得る。こののち印刷出力を測定してCIE L*a*b*(D50)色座標データを得る。この色座標データは測定値バッファ33にストアされる。理想出力データメモリ14には入力データ自体がストアされ、この入力データと測定値バッファ33の色座標データとの色差が色差算出部22で算出され、平均色差が平均色差算出部34で算出され、誤差とされる。
【0100】
つぎに変換装置31の係数の最適化について詳細に説明する。変換装置31は、入力空間上のL*軸、a*軸、b*軸の各々の代表点、例えば、各軸10点からなる3次元の表に、予め変換後のCMYK各面積率を記録し、色変換に際しては、入力した色座標を含む直方体の各頂点に相当する格子点の変換値を、直方体内の位置に応じて補間を行い、変換結果を得るものであり、補間方法としては、4面体補間法、プリズム補間法、cubic補間法などが知られている。本実施例はこれらの補間方法のいずれの場合でも適用することができる。
【0101】
一般的に、各格子点に記憶される変換値は、各代表点の変換値をテーブルの精度によって丸めた値であり、いずれの補間方法においても、入出力の対応によっては補間誤差が発生する。
【0102】
所定の係数における、この色変換装置の誤差を次の手順により求めた平均色差とする。十分に細かい所定の間隔、例えば、各次元とも格子点の代表値の間隔の16分の1の間隔で、所定のの係数によって色変換し、CMYKの各面積率を算出する。この算出結果をもとに印刷を行い、測色値と、変換前の色座標との色差を算出し、全入力範囲についての平均の色差を誤差とする。この際、実際に印刷を行って、測色することに換えて、プリンタをモデル化したものを用いて印刷後の予測値を推定しても良い。
【0103】
本実施例は、補間後の平均の色差が最小になるように、各格子点の値を最適化することを目的とし、以下の最適化を行う。
【0104】
まず、全ての格子点について、各格子点(L,A,B)のテーブルに記憶する離散値の係数{C(L,A,B),M(L,A,B),Y(L,A,B),K(L,A,B)}を、対応する変換値をテーブルの精度によって丸めた値により初期化する。T及びsをそれぞれ適宜の初期値とする。各格子点に、色再現範囲内で、彩度の低いものから順に通し番号を付け、引続き、色再現範囲外の格子点について、変換前後の色差が小さい順に通し番号を付ける。つぎに以下の処理プを行う。
処理(1):通し番号が小さい順に、Kの格子点値を、処理(1.1)〜(1.3)の操作により最適化する。
処理(1.1):現在のKの値に所定のステップsを加え、色変換装置の誤差を算出する。
処理(1.2):現在のKの値から所定のステップs及びステップの最小単位を減じ、色変換装置の誤差を算出する。
【0105】
この際、全入力範囲に換えて、この係数が影響を持つ範囲に限って色差の平均を求めてもよい。例えば、4面体補間法、プリズム補間法、cubic補間法では、それぞれ当該格子点を頂点に持つ4面体、3角柱、直方体に含まれる部分のみについて平均を求めても良い。
処理(1.3):上記処理(1.1)の誤差と処理(1.2)の誤差に所定の区間[0,T]に一様な分布に基づく乱数をそれぞれに加算し、処理(1.1)の誤差と乱数の和が、処理(1.2)の誤差と乱数の和よりも小さい場合には現在のKの値に所定のステップsを加え、更新する。そうでない場合には、現在のKの値から所定のステップs及びステップの最小単位を減じ更新する。
処理(2):上記処理(1)の操作を、全ての格子点のKに適用する。この最適化の操作が1巡した時点で、この色変換装置の誤差を求め、所定の値以下になるか、ほぼ収束する状態、もしくは、所定の回数まで繰り返す。その際、最小の誤差となった場合には、「Kが最適な係数」として係数を記録し、前述の所定の区間を決定するTに、1よりも大きい所定の値を乗じることによって、Tを増加させる。一方、誤差が最適化を1巡行う前に比較して、増加してしまった場合には、Tに1よりも小さい所定の値を乗じて、Tを減少させる。所定のステップsについても同様の操作を行うが、最小ステップ未満の値とはしない。
【0106】
次に、「Kが最適な係数」を初期値として、T及びsをそれぞれ適宜の初期値とし以下の処理を実行する。
処理(3):通し番号が小さい順に、CMYの格子点値を、処理(3.1)〜(3.5)の操作により最適化する。
処理(3.1):現在のCの値に所定のステップsを加え、色変換装置の誤差を算出する。
処理(3.2):現在のCの値から所定のステップs及びステップの最小単位を減じ、色変換装置の誤差を算出する。
処理(3.3):上記処理(3.1)の誤差と処理(3.2)の誤差に所定の区間[0,T]に一様な分布に基づく乱数をそれぞれに加算し、処理(3.1)の誤差と乱数の和が処理(3.2)の誤差と乱数の和よりも小さい場合には現在のCの値に所定のステップsを加え、更新する。そうでない場合には、現在のCの値から所定のステップs及びステップの最小単位を減じ更新する。
処理(3.4):処理(3.1)〜(3.3)の操作をCに換えてMについて適用する。
処理(3.5):処理(3.1)〜(3.3)の操作をCに換えてYについて適用する。
処理(4):上記処理(3)の操作を、全ての格子点に適用する。この最適化の操作が1巡した時点で、この色変換装置の誤差を求め、所定の値以下になるか、ほぼ収束する状態、もしくは、所定の回数まで繰り返す。その際、最小の誤差となった場合には、「最適な係数」として係数を記録し、前述の所定の区間を決定するTに、1よりも大きい所定の値を乗じることによって、Tを増加させる。一方、誤差が最適化を1巡行う前に比較して、増加してしまった場合には、Tに1よりも小さい所定の値を乗じて、Tを減少させる。所定のステップsについてもTと同様の操作を行うが、最小ステップ未満の値とはしない。
【0107】
以上により、学習が終了した時点で、最終的に記録された「最適な係数」を出力する。
【0108】
[実施例4]
つぎに離散的な係数値と誤差との間に想定可能な連続的な関数を導入して係数の最適化を行う実施例4について説明する。図5は実施例4の構成を示しており、この図において図3と対応する箇所には対応する符号を付して詳細な説明をその省略する。図5において、2次関数決定部41はE0、E-、E+の誤差に基づいて2次関数を決定し、微係数算出部42はこの2次関数のE0における微係数を算出する。係数更新部43は温度(アニーリングにおける温度)および微係数に応じて係数を決定する。これについては後に詳述する。
【0109】
つぎにこの実施例における色変換装置21の係数の最適化について詳細に説明する。色変換装置21は、本実施単独で最適化を行ってもよいし、また、本実施例に先だって実施例2により適宜回数最適化を行った後に本実施例による最適化を行ってもよい。誤差などの諸定義は実施例2と同じである。
【0110】
いま、k個の係数のうち、p番目の係数wpに着目し、現在の係数値に対する誤差E0、すなわち、E0=E(w1,w2,…,wp,…,wk)と、現在の係数値より所定のステップs1だけ大きな係数値に対する誤差E+、すなわち、E+=E(w1,w2,…,wp+s1,…,wk)、及び、現在の係数値より所定のステップs2だけ小さな係数値に対する誤差E、すなわち、E-=E(w1,w2,…,wp−s2,…,wk)の3種類の誤差を算出する。この3点の誤差より、2次関数を推定し、wpにおける微係数E’pを算出する。
【0111】
温度tに応じて、微係数E’pが大きければ高い確率で1(それ以外は0)となる確率変数X+(E’p;t)と、微係数E’pが小さければ高い確率で1(それ以外は0)となる確率変数X-(E’p;t)によって、係数wpを、以下の値によって更新する。ここで、確率変数X+とX-は、温度が高いほど不確定的に、温度が低いほど確定的に微係数の影響を受けるものとする。
【0112】
【数5】
wp←wp+s1・X+(E’p;t)−s2・X-(E’p;t)
この実施例では加算の場合の所定のステップを異なる値としているが、加算の場合の所定のステップと、減算の場合の所定のステップは必ずしも異なる値とする必要はない。
【0113】
この操作を各重みwp(p=1,2,…,k)について適用する。この最適化の操作が1巡した時点で、この色変換装置の誤差を求め、所定の値以下になるか、ほぼ収束する状態、もしくは、所定の回数まで繰り返す。その際、最小の誤差となった場合には、「最適な係数」として係数を記録し、前述の所定のステップs1、s2と温度tに、1よりも大きい所定の値を乗じることによって、ステップと温度を増加させる。一方、誤差が最適化を1巡行う前に比較して、増加してしまった場合には、s1、s2と温度tに1よりも小さい所定の値を乗じて、ステップと温度をを減少させる。但し各ステップは、最小ステップ以下未満の値とはしない。
【0114】
以上により、学習が終了した時点で、最終的に記録された「最適な係数」を出力する。
【0115】
尚、本実施例では3点を取り、2次関数により微係数を算出したが、2点以上の点を取れば適宜の関数によって微係数を定めることができる。
【0116】
また、以上では、3点をとっていたが、p種類の適宜の関数f1(w)、f2(w)…fp(w)を用いてp種類の係数を算出することができる。
【0117】
ここで、例として、p=4の場合、
【0118】
【数6】
f1(w)=w+1
f2(w)=w+2
f3(w)=w+3
f4(w)=w+4
とすることができる。微係数を算出する場合では、現在の係数を含む区間でなくても現在の値の微係数を推定することが可能であるから、関数値が現在の係数を含む区間でなくてもよい。
【0119】
また、別の例として、p=5の場合、
【0120】
【数7】
f1(w)=floor(w×0.98)
f2(w)=floor(w×0.99)
f3(w)=w
f4(w)=ceil(w/0.99)
f5(w)=ceil(w/0.98)
としてもよい。ここで、floorは切り捨て、ceilは切り上げによる丸めである。ここでは、係数の取り得る離散値に丸める操作の例として切り捨てや切り上げを用いて例を示したが、丸める操作は任意の方法を取ることができる。
【0121】
[適用例]
つぎに本発明の適用例について説明する。
【0122】
図6は、本発明のデータ変換装置を利用した電子機器を示しており、この図において、電子機器100はデータ変換装置110を有している。データ変換装置110は上述した実施例と同様なものであり、変換用の係数として離散値をとっている。データ変換装置110は係数最適化部111により上述した実施例と同様な手法で最適化が行われる。
【0123】
この場合、基準となるデータ変換装置で予め係数の最適化を行い、これを電子機器100のデータ変換装置110にインストールするようにしてもよい。この後、さらに係数最適化部111で最終的な最適化処理を行うようにしてもよい。
【0124】
図7は本発明のデータ変換装置を利用したカラー画像形成装置(カラー複写機やカラー印刷機)を示しており、この図において、画像形成装置200はデータ変換装置からなる2つの色変換装置210、220を有している。入力部230から入力された色データは色変換部210、220で逐次色変換され、出力部240に供給され、印刷出力される。この例では色変換装置210、220の両方もしくは一方において本発明のデータ変換装置の係数最適化を行える。
【0125】
図8は、本発明のデータ変換装置を利用したロボット装置を示しており、この図において、ロボット300はデータ変換装置310を備えており、位置入力部320からの位置入力に応じて姿勢等の制御を行うようになっている。誤差検出部330は誤差を検出し、これに応じてデータ変換装置の係数の最適化が行われる。
【0126】
【発明の効果】
以上説明したように、本発明によれば、離散的な値を取る係数を用いてデータの変換を行う場合であっても、係数の値を簡易かつ安定して学習させることができる。
【図面の簡単な説明】
【図1】 本発明の実施例1の構成を示す図である。
【図2】 上述実施例の詳細を具体的に説明する図である。
【図3】 本発明の実施例2の構成を示す図である。
【図4】 本発明の実施例3の構成を示す図である。
【図5】 本発明の実施例4の構成を示す図である。
【図6】 本発明の適用例を説明する図である。
【図7】 本発明の適用例を説明する図である。
【図8】 本発明の適用例を説明する図である。
【符号の説明】
11 入力バッファ
12 データ変換装置
13 出力バッファ
14 理想出力メモリ
15 誤差算出部
16 誤差履歴メモリ
17 乱数分布制御部
18 ステップ制御部
19 係数更新部
100 電子機器
200 カラー画像形成装置
300 ロボット[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a method and apparatus for determining a coefficient for obtaining an output with a small error from ideal output data corresponding to predetermined input data in a data conversion apparatus defined by an appropriate number of discrete value coefficients. . The present invention can be applied to, for example, determination of coefficients of a color conversion device using a hierarchical neural network having discrete coefficient values, and determination of representative point values for color conversion using a representative point table and interpolation.
[0002]
[Prior art]
In a data conversion apparatus defined by an appropriate number of discrete-value coefficients, if the range of possible coefficients is limited, the types of values that each coefficient can take are limited. Therefore, if errors are evaluated for all combinations of coefficients, there is at least one optimum coefficient. In addition, according to the method of searching the entire space of coefficients in this way, it is possible to surely obtain an optimum coefficient. However, in general, there are an enormous number of such combinations, and this is not practical as a method for calculating coefficients. Therefore, it is common to calculate the coefficients by a priori method or various approximate methods based on the characteristics of each data converter.
[0003]
In a data conversion device that includes discrete value coefficients, if the optimal coefficient is determined a priori for any given input / output response, the coefficient can be determined by that method, using conventional techniques. But it won't be a problem.
[0004]
On the other hand, even if the coefficient is determined a priori, it may not be a discrete coefficient. For example, in a data conversion device using matrix operations consisting of coefficients of discrete values, each coefficient that minimizes the error can be calculated a priori, but the calculation result is not a discrete value, and this is rounded, rounded up, rounded down, etc. Therefore, an operation of rounding to a discrete value is required. Since each coefficient becomes a value different from the optimum value due to rounding, the error generally increases.
[0005]
Similarly, even in the case of a technique such as matrix operation, when the effective accuracy is limited in the operation process, for example, in the case of finite precision fixed-point product-sum operation, the calculation process is rounded in the operation process of the data converter. Etc., the accuracy further decreases. In such a case, it is necessary to consider characteristics such as rounding of the calculation process in order to calculate the optimum coefficient. However, since the correspondence between the coefficient and the error has a very complicated relationship, it is conventionally considered. There was no. In order to improve accuracy by conventional techniques, techniques such as effective accuracy in calculation processes and finer increments of coefficients have been generally used.
[0006]
In a data conversion apparatus using a representative point table and interpolation, the converted data is recorded in advance in a table at a grid point composed of input representative points of each dimension, and a conversion result is obtained by performing interpolation. As a coefficient recorded in the table in such a data conversion apparatus, data after conversion of representative points is generally used. In general, an interpolation error occurs due to interpolation, but there has been no method for optimizing the coefficients recorded at the grid points in consideration of input conversion errors other than the grid points. In order to improve the accuracy by the conventional technique, generally, a technique of increasing the number of representative points of the input dimension has been used.
[0007]
For a data conversion device in which a coefficient is a continuous value and an error can be partially differentiated by each coefficient, a coefficient determination method by successive approximation of a differential equation is known. In particular, in a neural network, a coefficient calculation method represented by a back propagation method is generally used.
[0008]
However, in the case of including discrete-value coefficients, it is impossible to perform partial differentiation of errors with these coefficients, and the above-described method represented by back-propagation cannot be used.
[0009]
Therefore, conventionally, in the case where a data converter capable of partial differentiation can be configured with the same configuration, a technique has been used in which a coefficient is calculated in advance as a continuous value and the result is rounded to obtain a discrete value coefficient. It was. In this case, as with the above-described determinant, there is a problem that accuracy is reduced by rounding.
[0010]
In learning by hardware, a technique similar to backpropagation in which similar differential equations are approximated with finite precision has been used. This technique has a problem in that learning stops when the error of back propagation falls below the calculation accuracy.
[0011]
Furthermore, in the case of neural networks using finite precision fixed-point operations, as with fixed-point determinants, there is an influence such as rounding of the calculation process, and the relationship between coefficients and errors becomes more complicated, so the optimum optimum is actually achieved. It was difficult to obtain discrete values. In order to improve accuracy by conventional techniques, techniques such as effective accuracy in calculation processes and finer increments of coefficients have been generally used. When the effective accuracy and the coefficient increment are made fine, the configuration of the data conversion apparatus becomes complicated.
[0012]
In addition, this method has a problem that the configuration of the apparatus based on this method becomes complicated because it is necessary to solve the differential equation by successive approximation.
[0013]
As a learning method having a relatively simple configuration when limited to a neural network, a coefficient update difference amount is generated by a random number and updated as disclosed in JP-A-4-282476 (US Pat. No. 5,459,817). There was a method to update the coefficient by the alternative of before and after. This method requires a mechanism that generates random numbers for each synapse. Furthermore, since the update amount itself is not controlled and only the code is controlled by a random number, the update amount is not controlled from the initial stage of learning to the stage where the sequential learning progresses. For this reason, there is a problem in that the speed of learning arises, and there is a problem that convergence will be minimal if the alternative configuration is not properly performed.
[0014]
[Problems to be solved by the invention]
Of the methods described above, except for the method of searching the entire space of the coefficients, the method of calculating the coefficients is different based on the configuration of each data conversion device, and when a device based on these methods is configured, There has been a problem that the configuration of the apparatus becomes complicated. Further, as described above, an apparatus based on a technique for searching the entire space of coefficients is not realistic because it searches a huge space, although the configuration is simple.
[0015]
In order to improve the accuracy of the data conversion apparatus, it is necessary to change the configuration of the apparatus and method.
[0016]
In addition, when updating a coefficient based on a differential coefficient, it is essential to construct a differential equation, and for a non-differentiable correspondence such as a digit loss, a differential equation cannot be constructed and the coefficient cannot be determined. It was.
[0017]
Therefore, the present invention has less errors in a shorter time than the method of searching the entire space of coefficients, regardless of the configuration of each data conversion apparatus, taking into account the influence of the coefficients themselves and the rounding of the calculation process. It is an object to calculate a coefficient.
[0018]
[Means for Solving the Problems]
The present invention is characterized in that a coefficient having a small error is calculated by reducing the error by repeating an operation based on calculation of the error and selection of a probabilistic coefficient depending on the error.
[0019]
That is, according to the present invention, in order to achieve the above-described object, m-dimensional input data is converted into n-dimensional output data according to k coefficients including at least one coefficient that takes discrete values. A coefficient determination device for optimizing a coefficient in a data conversion apparatus, for each coefficient having a discrete value, a current coefficient value, a coefficient value larger than the current coefficient value by a predetermined step s1, and the current Means for calculating an output data group for a predetermined input data group for at least two coefficient values among coefficient values smaller than the coefficient value by a predetermined step s2, and an output data group calculated for the at least two coefficient values and the predetermined value The probability that the smaller the error from the ideal output data group corresponding to the input data group is, the higher the probability is, and one of the at least two coefficient values is newly set. And it is provided with a coefficient value selecting means for selecting as a number.
[0020]
In this configuration, an error is calculated for a candidate coefficient value, and a candidate coefficient value having a smaller error is set to a new coefficient value with a higher probability. Therefore, the coefficient value can be optimized by repeatedly updating the coefficient value.
[0021]
Further, in this configuration, the coefficient value selecting means includes means for adding a random number according to a predetermined distribution to each error in the at least two coefficient values and selecting a coefficient value that gives a minimum value of the sum. Can be.
[0022]
Also, a means for controlling the degree of the gradual decrease of the probability with respect to the magnitude of the error or derivative, or the predetermined steps s1 and s2, or both according to the error history may be provided. Good.
[0023]
The means for controlling the degree of gradual decrease of the probability with respect to the magnitude of the error according to the error history may be a means for controlling the predetermined distribution of random numbers.
[0024]
In addition, at least one coefficient taking the discrete value is recorded in advance as a discrete value corresponding to n outputs for each representative point in the m-dimensional representative point table corresponding to the m-dimensional input data. The value corresponding to the output of the representative point of the data conversion apparatus that obtains the n-dimensional output by interpolating the value corresponding to the output, and defining the error and the ideal output value group for the appropriate input value group Thus, a means for updating the coefficient can be provided.
[0025]
Further, according to the present invention, in order to achieve the above-described object, the data conversion apparatus receives m-dimensional input data according to k coefficients including at least one coefficient taking a discrete value. For each of the data conversion means for converting to output data and the coefficient taking the discrete value, a current coefficient value, a coefficient value larger by a predetermined step s1 than the current coefficient value, and a predetermined value from the current coefficient value Means for calculating an output data group for a predetermined input data group with respect to at least two coefficient values among the coefficient values small by step s2, and the output data group calculated for the at least two coefficient values and the predetermined input data group. A factor for selecting one of the at least two coefficient values as a new coefficient value with a probability that the smaller the error from the corresponding ideal output data group is, the higher the probability is. Are provided and a value selection means.
[0026]
Also in this configuration, an error is calculated for a candidate coefficient value, and a candidate coefficient value with a smaller error is set to a new coefficient value with a higher probability. Therefore, the coefficient value can be optimized by repeatedly updating the coefficient value.
[0027]
Further, according to the present invention, in order to achieve the above-described object, the color conversion device receives m-dimensional first color data according to k coefficients including at least one coefficient taking a discrete value. color conversion means for converting to n-dimensional second color data; and for each of the coefficients taking discrete values, a current coefficient value, a coefficient value larger than the current coefficient value by a predetermined step s1, and the above Means for calculating a second color data group for a predetermined first color data group for at least two coefficient values of coefficient values smaller than the current coefficient value by a predetermined step s2, and calculating for the at least two coefficient values; Any one of the at least two coefficient values has a probability of increasing as the error between the second color data group and the ideal second color data group corresponding to the predetermined first color data group decreases. The new A coefficient value selecting means for selecting as a number is provided.
[0028]
Also in this configuration, an error is calculated for a candidate coefficient value, and a candidate coefficient value with a smaller error is set to a new coefficient value with a higher probability. Therefore, the coefficient value can be optimized by repeatedly updating the coefficient value.
[0029]
In this configuration, the error can be a color difference.
[0030]
Further, according to the present invention, in order to achieve the above object, the color image forming apparatus (for example, a color copying machine or a color printing machine) receives the m-dimensional first color data, discrete values, and the like. Color conversion means for converting the m-dimensional first color data into n-dimensional second color data in accordance with k coefficients including at least one coefficient taking the above, and the color conversion means output from the color conversion means For each of the output means for performing a predetermined output operation based on the second color data and the coefficient having the discrete value, a current coefficient value, a coefficient value larger than the current coefficient value by a predetermined step s1, And means for calculating a second color data group for a predetermined first color data group for at least two coefficient values of coefficient values smaller than the current coefficient value by a predetermined step s2, and the at least two coefficient values One of the at least two coefficient values has a probability that it increases as the error between the calculated second color data group and the ideal second color data group corresponding to the predetermined first color data group decreases. Coefficient value selection means for selecting one as a new coefficient value is provided.
[0031]
Also in this configuration, an error is calculated for a candidate coefficient value, and a candidate coefficient value with a smaller error is set to a new coefficient value with a higher probability. Therefore, the coefficient value can be optimized by repeatedly updating the coefficient value.
[0032]
In this configuration, the output means may receive the second color data via a subsequent color conversion means.
[0033]
Further, according to the present invention, in order to achieve the above-described object, the electronic device is provided with means for receiving m-dimensional input data and k coefficients including at least one coefficient taking a discrete value. Data conversion means for converting the m-dimensional input data into n-dimensional output data; output means for performing a predetermined output operation based on the n-dimensional output data output from the data conversion means; For each coefficient that takes a value, at least two coefficient values are selected from the current coefficient value, a coefficient value that is larger than the current coefficient value by a predetermined step s1, and a coefficient value that is smaller than the current coefficient value by a predetermined step s2. Means for calculating an output data group for a predetermined input data group, corresponding to the output data group calculated for the at least two coefficient values and the predetermined input data group That at a probability becomes higher as a small error from the ideal output data group, so that provided the coefficient value selecting means for selecting one of the at least two coefficient values as a new coefficient value.
[0034]
Also in this configuration, an error is calculated for a candidate coefficient value, and a candidate coefficient value with a smaller error is set to a new coefficient value with a higher probability. Therefore, the coefficient value can be optimized by repeatedly updating the coefficient value.
[0035]
In addition, according to the present invention, coefficients are optimized in a data conversion apparatus that converts m-dimensional input data into n-dimensional output data according to k coefficients including at least one coefficient taking discrete values. For the coefficient determination device, for each coefficient taking the discrete value, means for calculating an output data group for p kinds of coefficient values in an appropriate section including the current coefficient value, and for the p kinds of coefficient values An error between the calculated output data group and the ideal output data group corresponding to the predetermined input data group is calculated, and a calculation means for obtaining p types of errors, and a differential in the current coefficient value from the p types of errors. Assuming a possible predetermined function from the coefficient value to the error, a differential coefficient calculating means for calculating the differential coefficient at the current coefficient value, and a function for updating the coefficient probabilistically or deterministically based on the above-mentioned differential coefficient Numeric It is to be provided and new means.
[0036]
Here, instead of obtaining p kinds of coefficients from an appropriate section including the current coefficient value, p kinds of coefficient values can be calculated by applying p kinds of predetermined functions to the current coefficient value. . This function can be an arbitrary function. In particular, an appropriate discrete value can be added to the current coefficient value to obtain a function value, and the appropriate value can be changed to the current coefficient value. A value obtained by multiplying and rounding the product of the result to a discrete value can also be used as a function value. Means may be further provided for controlling the number of p and the predetermined p types of functions according to an error history. The predetermined function may be a function value obtained by adding an appropriate discrete value to the current coefficient value. Further, the predetermined function is obtained by multiplying an appropriate value by a current coefficient value or dividing the current coefficient value by an appropriate value and rounding the product or quotient of the result to a discrete value. It may be a function value.
[0037]
In this configuration, an error is calculated for the candidate coefficient value, an error function is assumed based on this error, and a differential coefficient of the error function in the current coefficient value is obtained based on this function. Then, a new coefficient value is obtained based on this differential coefficient. By repeatedly updating the coefficient value, the coefficient value can be optimized.
[0038]
In this configuration, at least one of the current coefficient value, the coefficient value obtained by adding the predetermined step s1 to the current coefficient value, and the coefficient value obtained by subtracting the predetermined step s2 from the current coefficient value is the above-mentioned p types. It can be included in the coefficient.
[0039]
Further, means for controlling the degree of the gradual decrease of the probability with respect to the magnitude of the derivative and one or both of the predetermined steps s1 and s2 according to an error history may be provided.
[0040]
In addition, at least one coefficient taking the discrete value is recorded in advance as a discrete value corresponding to n outputs for each representative point in the m-dimensional representative point table corresponding to the m-dimensional input data. The value corresponding to the output of the representative point of the data conversion apparatus that obtains the n-dimensional output by interpolating the value corresponding to the output, and defining the error and the ideal output value group for the appropriate input value group Thus, means for updating the coefficient may be provided.
[0041]
Further, according to the present invention, in order to achieve the above-described object, the data conversion apparatus receives m-dimensional input data according to k coefficients including at least one coefficient taking a discrete value. Data conversion means for converting to output data; means for calculating an output data group for p types of coefficient values in an appropriate section including the current coefficient value for each of the coefficients having discrete values; An error between the output data group calculated for the type of coefficient value and the ideal output data group corresponding to the predetermined input data group is calculated to obtain p types of errors, and from the p types of errors, the current Assuming a function from an appropriate differentiable count value to an error in the coefficient value of, and a differential coefficient calculation means for calculating a differential coefficient at the current coefficient value, and a coefficient stochastic or deterministically based on the above differential coefficient Update And it is provided with a coefficient value updating means.
[0042]
Also in this configuration, an error is calculated for the candidate coefficient value, an error function is assumed based on this error, and a differential coefficient of the error function in the current coefficient value is obtained based on this function. Then, a new coefficient value is obtained based on this differential coefficient. By repeatedly updating the coefficient value, the coefficient value can be optimized.
[0043]
Further, according to the present invention, in order to achieve the above-described object, the color conversion device receives m-dimensional first color data according to k coefficients including at least one coefficient taking a discrete value. Color conversion means for converting to n-dimensional second color data, and second color data for p-type coefficient values in an appropriate section including the current coefficient value for each of the coefficients having discrete values. Calculating an error between the means for calculating the group, the second color data group calculated for the p kinds of coefficient values, and the ideal second color data group corresponding to the predetermined first color data group; Assuming a calculation means for obtaining p types of errors and a predetermined function from the coefficient values to the errors that can be differentiated in the current coefficient values from the p types of errors, a differential coefficient in the current coefficient values is calculated. Based on the derivative calculation means and the above derivative, And it is provided with a coefficient value updating means for updating the coefficients Joteki.
[0044]
Also in this configuration, an error is calculated for the candidate coefficient value, an error function is assumed based on this error, and a differential coefficient of the error function in the current coefficient value is obtained based on this function. Then, a new coefficient value is obtained based on this differential coefficient. By repeatedly updating the coefficient value, the coefficient value can be optimized.
[0045]
In this configuration, the error can be a color difference.
[0046]
Further, according to the present invention, in order to achieve the above-mentioned object, the color image forming apparatus (for example, a color copying machine or a color printing machine) receives the m-dimensional first color data and the discrete values. Color conversion means for converting the m-dimensional first color data into n-dimensional second color data in accordance with k coefficients including at least one coefficient taking the above, and the color conversion means output from the color conversion means The output means for performing a predetermined output operation based on the second color data, and the second of the p types of coefficient values in the appropriate section including the current coefficient value for each of the coefficients having the discrete values. An error between the means for calculating the color data group, the second color data group calculated for the p kinds of coefficient values, and the ideal second color data group corresponding to the predetermined first color data group is calculated. Calculating means for obtaining p types of errors, and the above p types Assuming a predetermined function from the coefficient value to the error, which is differentiable from the error of the current coefficient value, and based on the differential coefficient calculating means for calculating the differential coefficient in the current coefficient value, Coefficient value updating means for updating the coefficient stochastically or deterministically is provided.
[0047]
Also in this configuration, an error is calculated for the candidate coefficient value, an error function is assumed based on this error, and a differential coefficient of the error function in the current coefficient value is obtained based on this function. Then, a new coefficient value is obtained based on this differential coefficient. By repeatedly updating the coefficient value, the coefficient value can be optimized.
[0048]
In this configuration, the output means may receive the second color data via a subsequent color conversion means.
[0049]
Further, according to the present invention, in order to achieve the above-described object, the electronic device is provided with means for receiving m-dimensional input data and k coefficients including at least one coefficient taking a discrete value. Data conversion means for converting the m-dimensional input data into n-dimensional output data; output means for performing a predetermined output operation based on the n-dimensional output data output from the data conversion means; For each coefficient that takes a value, means for calculating an output data group for p types of coefficient values in an appropriate section including the current coefficient value, an output data group calculated for the p types of coefficient values, and the predetermined value A calculation means for calculating an error from the ideal output data group corresponding to the input data group and obtaining p types of errors, and from the p types of errors to a coefficient value to an error that can be differentiated in the current coefficient value. Place As a function, a differential coefficient calculation unit that calculates a differential coefficient at the current coefficient value, and a coefficient value update unit that updates the coefficient stochastically or deterministically based on the differential coefficient are provided. .
[0050]
Also in this configuration, an error is calculated for the candidate coefficient value, an error function is assumed based on this error, and a differential coefficient of the error function in the current coefficient value is obtained based on this function. Then, a new coefficient value is obtained based on this differential coefficient. By repeatedly updating the coefficient value, the coefficient value can be optimized.
[0051]
Further, according to the present invention, in order to achieve the above-described object, the coefficient value is determined in a neural network having k coefficients including at least one of discrete coupling coefficients and / or discrete threshold values. For each of the coefficients that take the discrete values, the coefficient determination device that performs the optimization has a current coefficient value, a coefficient value that is larger than the current coefficient value by a predetermined step s1, and a predetermined value that is greater than the current coefficient value. Means for calculating an output data group for a predetermined input data group for at least two coefficient values of coefficient values smaller by step s2, and corresponding to the output data group calculated for the at least two coefficient values and the predetermined input data group One of the at least two coefficient values is replaced with a new coefficient value with a probability that the smaller the error from the ideal output data group is, the higher the probability is. And it is provided with a coefficient value selecting means for selecting and.
[0052]
Also in this configuration, an error is calculated for a candidate coefficient value, and a candidate coefficient value with a smaller error is set to a new coefficient value with a higher probability. Therefore, the coefficient value can be optimized by repeatedly updating the coefficient value.
[0053]
Further, according to the present invention, in order to achieve the above-mentioned object, the data conversion apparatus includes a neural network having k coefficients including at least one of discrete coupling coefficients and / or discrete threshold values. For each of the network and the coefficient taking the discrete value, a current coefficient value, a coefficient value larger than the current coefficient value by a predetermined step s1, and a coefficient value smaller than the current coefficient value by a predetermined step s2. Means for calculating an output data group for a predetermined input data group for at least two coefficient values, an output data group calculated for the at least two coefficient values, and an ideal output data group corresponding to the predetermined input data group, A coefficient value selection that selects one of the at least two coefficient values as a new coefficient value with a probability that the error becomes higher as the error of And it is provided with a means.
[0054]
Also in this configuration, an error is calculated for a candidate coefficient value, and a candidate coefficient value with a smaller error is set to a new coefficient value with a higher probability. Therefore, the coefficient value can be optimized by repeatedly updating the coefficient value.
[0055]
Further, according to the present invention, in order to achieve the above-mentioned object, the coefficient value is calculated in a neural network having k coefficients including at least one of discrete coupling coefficients and / or discrete threshold values. A coefficient determination device to be optimized has means for calculating an output data group for p kinds of coefficient values in an appropriate section including a current coefficient value, for each of the coefficients having the discrete values, An error between the output data group calculated for the coefficient value and an ideal output data group corresponding to the predetermined input data group is calculated, and a calculation means for obtaining p types of errors, and the current relation from the p types of errors. Assuming a specific function that can be differentiated numerically from the coefficient value to the error, the derivative calculation means for calculating the derivative at the current coefficient value, and the probability or confirmation based on the derivative And it is provided with a coefficient value updating means for updating the coefficients.
[0056]
Also in this configuration, an error is calculated for the candidate coefficient value, an error function is assumed based on this error, and a differential coefficient of the error function in the current coefficient value is obtained based on this function. Then, a new coefficient value is obtained based on this differential coefficient. By repeatedly updating the coefficient value, the coefficient value can be optimized.
[0057]
Further, according to the present invention, in order to achieve the above-mentioned object, the data conversion apparatus includes a neural network having k coefficients including at least one of discrete coupling coefficients and / or discrete threshold values. For each of the network and the coefficient taking the discrete value, a means for calculating an output data group for p types of coefficient values in an appropriate section including the current coefficient value, and calculation for the p types of coefficient values An error between the output data group and the ideal output data group corresponding to the predetermined input data group is calculated to obtain p types of errors; from the p types of errors, the current coefficient value can be differentiated. Supposing a predetermined function from the coefficient value to the error, a derivative calculating means for calculating a derivative in the current coefficient value, and a function for updating the coefficient probabilistically or deterministically based on the derivative And it is provided with a value updating means.
[0058]
Also in this configuration, an error is calculated for the candidate coefficient value, an error function is assumed based on this error, and a differential coefficient of the error function in the current coefficient value is obtained based on this function. Then, a new coefficient value is obtained based on this differential coefficient. By repeatedly updating the coefficient value, the coefficient value can be optimized.
[0059]
According to the present invention, in order to achieve the above-mentioned object, m-dimensional input data is converted into n-dimensional output data according to k coefficients including at least one coefficient taking discrete values. A coefficient determination device for optimizing a coefficient value in a data conversion apparatus, for each coefficient having a discrete value, a current coefficient value, a coefficient value larger than the current coefficient value by a predetermined step s1, and the current Means for calculating an output data group for a predetermined input data group for at least two coefficient values among coefficient values smaller than the coefficient value by a predetermined step s2, and the output data group calculated for the at least two coefficient values and the predetermined value The probability that the smaller the error from the ideal output data group corresponding to the input data group is, the higher the probability is that it becomes higher, and one of the at least two coefficient values is newly associated Coefficient value selecting means for selecting values, means for calculating an output data group for p kinds of coefficient values in an appropriate section including the current coefficient value, for each of the coefficients having discrete values, and the p An error between the output data group calculated for the type of coefficient value and the ideal output data group corresponding to the predetermined input data group is calculated to obtain p types of errors, and from the p types of errors, the current Assuming a predetermined function from the coefficient value to the error that can be differentiated in the coefficient value, a derivative calculation means for calculating the derivative in the current coefficient value, and based on the derivative, probabilistically or deterministically Coefficient value updating means for updating the coefficient is provided, and after the coefficient value selection by the coefficient value selection means is executed at least once, the coefficient value update by the coefficient value update means is executed at least once. .
[0060]
In this configuration, first, an error is calculated for a candidate coefficient value, and a candidate coefficient value with a smaller error is set to a new coefficient value with a higher probability. Thereafter, an error function is assumed based on this error, and a differential coefficient of the error function at the current coefficient value is obtained based on this function. Then, a new coefficient value is obtained based on this differential coefficient. By repeatedly updating the coefficient value, the coefficient value can be optimized.
[0061]
According to the present invention, in order to achieve the above-mentioned object, m-dimensional input data is converted into n-dimensional output data according to k coefficients including at least one coefficient taking discrete values. In the method of determining the coefficient value in the data converter, for each coefficient having the discrete value, a current coefficient value, a coefficient value larger than the current coefficient value by a predetermined step s1, and the current coefficient A step of calculating an output data group for a predetermined input data group for at least two coefficient values among coefficient values smaller than a numerical value by a predetermined step s2, and an output data group calculated for the at least two coefficient values and the predetermined input One of the at least two coefficient values is newly added with a probability that the smaller the error from the ideal output data group corresponding to the data group, the higher the error. And so as to execute and selecting a coefficient value.
[0062]
Also in this configuration, an error is calculated for a candidate coefficient value, and a candidate coefficient value with a smaller error is set to a new coefficient value with a higher probability. Therefore, the coefficient value can be optimized by repeatedly updating the coefficient value.
[0063]
According to the present invention, in order to achieve the above-mentioned object, m-dimensional input data is converted into n-dimensional output data according to k coefficients including at least one coefficient taking discrete values. In the method for determining the coefficient value in the data converter, for each coefficient having the discrete value, calculating an output data group for p types of coefficient values in an appropriate section including the current coefficient value; Calculating a difference between the output data group calculated for the p kinds of coefficient values and an ideal output data group corresponding to the predetermined input data group, and obtaining p kinds of errors; and from the p kinds of errors, Assuming a predetermined function from a coefficient value to an error that is differentiable in the current coefficient value, calculating a derivative in the current coefficient value, and, based on the derivative, probabilistic or It is to be executed and updating the coefficients Joteki.
[0064]
Also in this configuration, an error is calculated for the candidate coefficient value, an error function is assumed based on this error, and a differential coefficient of the error function in the current coefficient value is obtained based on this function. Then, a new coefficient value is obtained based on this differential coefficient. By repeatedly updating the coefficient value, the coefficient value can be optimized.
[0065]
According to the present invention, in order to achieve the above-mentioned object, m-dimensional input data is converted into n-dimensional output data according to k coefficients including at least one coefficient taking discrete values. In the method of determining the coefficient value in the data converter, for each coefficient having the discrete value, a current coefficient value, a coefficient value larger than the current coefficient value by a predetermined step s1, and the current coefficient A step of calculating an output data group for a predetermined input data group for at least two coefficient values among coefficient values smaller than a numerical value by a predetermined step s2, and an output data group calculated for the at least two coefficient values and the predetermined input One of the at least two coefficient values is newly added with a probability that the smaller the error from the ideal output data group corresponding to the data group, the higher the error. Output data for p types of coefficient values in an appropriate section including the current coefficient value for each of the coefficients taking discrete values after the step of selecting as a coefficient value and the new coefficient value is selected Calculating a group; and calculating means for calculating an error between the output data group calculated for the p kinds of coefficient values and an ideal output data group corresponding to the predetermined input data group, and obtaining p kinds of errors; Assuming a predetermined function from the coefficient value to the error that can be differentiated from the p types of errors from the current coefficient value, calculating a differential coefficient at the current coefficient value, and based on the differential coefficient, The coefficient is updated probabilistically or deterministically, the coefficient value is selected one or more times, and then the coefficient value is updated one or more times.
[0066]
In this configuration, first, an error is calculated for a candidate coefficient value, and a candidate coefficient value with a smaller error is set to a new coefficient value with a higher probability. Thereafter, an error function is assumed based on this error, and a differential coefficient of the error function at the current coefficient value is obtained based on this function. Then, a new coefficient value is obtained based on this differential coefficient. By repeatedly updating the coefficient value, the coefficient value can be optimized.
[0067]
According to the present invention, in order to achieve the above-mentioned object, m-dimensional input data is converted into n-dimensional output data according to k coefficients including at least one coefficient taking discrete values. In the method of setting the coefficient value in the data converter, in a standard data converter having a function equivalent to that of the main body of the data converter, for each coefficient taking the discrete value, a current coefficient value, the current Calculating an output data group for a predetermined input data group for at least two coefficient values among a coefficient value larger than the coefficient value by a predetermined step s1 and a coefficient value smaller than the current coefficient value by a predetermined step s2; The error between the output data group calculated for the at least two coefficient values and the ideal output data group corresponding to the predetermined input data group is small. The step of selecting any one of the at least two coefficient values as a new coefficient value and the step of setting the selected coefficient as a coefficient of the data conversion device main body are executed with a probability of becoming higher. ing.
[0068]
Also in this configuration, an error is calculated for a candidate coefficient value, and a candidate coefficient value with a smaller error is set to a new coefficient value with a higher probability. Therefore, the coefficient value can be optimized by repeatedly updating the coefficient value.
[0069]
According to the present invention, in order to achieve the above-mentioned object, m-dimensional input data is converted into n-dimensional output data according to k coefficients including at least one coefficient taking discrete values. In the method of setting the coefficient value in the data conversion apparatus, the reference data conversion apparatus having a data conversion function equivalent to that of the data conversion apparatus main body includes a current coefficient value for each of the coefficients taking the discrete values. Calculating an output data group for p types of coefficient values in an appropriate section; and calculating an error between the output data group calculated for the p types of coefficient values and an ideal output data group corresponding to the predetermined input data group. Assuming a calculation means for calculating and obtaining p types of errors, and a predetermined function from coefficient values to errors that can be differentiated from the p types of errors in the current coefficient value, A step of calculating a differential coefficient in the coefficient value, a step of updating the coefficient probabilistically or deterministically based on the differential coefficient, and a step of setting the updated coefficient as a coefficient of the data converter main body I am doing so.
[0070]
Also in this configuration, an error is calculated for the candidate coefficient value, an error function is assumed based on this error, and a differential coefficient of the error function in the current coefficient value is obtained based on this function. Then, a new coefficient value is obtained based on this differential coefficient. By repeatedly updating the coefficient value, the coefficient value can be optimized.
[0071]
BEST MODE FOR CARRYING OUT THE INVENTION
Examples of the present invention will be described below.
[Example 1]
FIG. 1 shows a configuration of a first embodiment of the present invention. In this figure, a coefficient optimization system of a data conversion apparatus includes an
[0072]
Next, optimization of coefficients will be described in detail. A case where j sets of m-dimensional input data and corresponding n-dimensional ideal output data are given will be described. That is, the input data x and the ideal output data y are expressed as {x1, Y1}, {X2, Y2}, ..., {xi, Yi} ..., {xj, Yj} And each input data xiIs m-dimensional and xi= (Xi1, Xi2, ..., xim) And each ideal output data yiIs n-dimensional and yi= (Yi1, Yi2, ..., yin). K coefficients (w1, W2, ..., wp, ..., wk) Is initialized in advance with an appropriate initial value, for example, a coefficient determined by a conventional method such as rounding, or all zeros. In this data converter, m-dimensional data xiIs given by f (xi| w1, W2, ..., wp, ..., wk). Ideal output y at this timeiAnd d (yi, F (xi| w1, W2, ..., wp, ..., wk)). Here, d is an appropriate n-dimensional distance, such as the Euclidean distance. In this embodiment, the error of this data conversion apparatus is calculated by adding the error of each data.
[0073]
[Expression 1]
E (w1, W2, ..., wp, ..., wk)
= Σi = 1 ... jd (yi, F (xi| w1, W2, ..., wp, ..., wk))
And
[0074]
Now, of the k coefficients, the p-th coefficient wpThe error E with respect to the current coefficient value0That is, E0= E (w1, W2, ..., wp, ..., wk), An error E for a coefficient value larger than the current coefficient value by a predetermined step s.+That is, E+= E (w1, W2, ..., wp+ S, ..., wk) And an error E for a coefficient value smaller than the current coefficient value by a predetermined step s.-That is, E-= E (w1, W2, ..., wp-S, ..., wk) Three types of errors are calculated. In this embodiment, the predetermined step in the case of addition and the predetermined step in the case of subtraction are s in both cases, but the predetermined step in the case of addition and the predetermined step in the case of subtraction are not necessarily the same value. It is not necessary to.
[0075]
Next, a random number N based on a uniform distribution in a predetermined section [0, T] is added to each of these errors,
[0076]
[Expression 2]
e0= E0+ N
e+= E++ N
e-= E-+ N
Get. Where e0, E+, E-E0If is the smallest, wpWill not be updated. e+If is the smallest, wpS is added to and updated. e-If is the smallest, wpSubtract from s and update.
[0077]
This operation is performed for each coefficient wp(P = 1, 2,..., K). When this optimization operation completes one round, the error of the data conversion apparatus is obtained, and the error is repeated until it reaches a predetermined value or is almost converged, or a predetermined number of times. At that time, if the minimum error occurs, the coefficient is recorded as an “optimum coefficient”, and T is increased by multiplying T, which determines the predetermined section, by a predetermined value greater than 1. Let On the other hand, if the error has increased compared to before performing one round of optimization, T is decreased by multiplying T by a predetermined value smaller than 1. The same operation is performed for the predetermined step s, but the value is not less than the minimum step.
[0078]
As described above, when the learning is finished, the finally recorded “optimum coefficient” is output.
[0079]
Next, a specific procedure for determining the coefficient will be described using the simplest example of this embodiment shown in FIG. 1
[0080]
[Equation 3]
y = x · w1+ W2
Here, x is an input of the data converter, and y is an output of the data converter. The predetermined step is s1= S2= 1, the following values are supplied to the data converter as an input group and a corresponding ideal output group.
[0081]
[Table 1]
By the method of determining the coefficients according to this embodiment, w1And w2And the initial value is 0. In this case, the total Euclidean distance is used as the error. First, w1Is calculated by adding an error and a uniform random number in the interval [0... 2] to the error. As a result, it is calculated as shown in the following table.
[0082]
[Table 2]
Based on this result, w1Will not be updated. Then w2Similarly, the error and the error plus the same random number are calculated. As a result, it is calculated as shown in the following table.
[0083]
[Table 3]
Based on this result, w2Also do not update. This situation is an example of a minimal situation where the error is smaller when neither variable is changed. Since an error is added in the present embodiment, this calculation is continuously repeated, and it is possible to escape from such a minimum with a predetermined probability.
[0084]
At this point, the error is evaluated and 2 is obtained. Since the error is large, w1For, calculate the error and the error plus a random number. As a result, it is calculated as shown in the following table.
[0085]
[Table 4]
Based on this result, w1Is updated to 1. In addition, w2Similarly, an error and a value obtained by adding a random number to the error are calculated. As a result, it is calculated as shown in the following table.
[0086]
[Table 5]
Based on this result, w2Is updated to -1. At this point, the error is evaluated and 0 is obtained. Since the error is sufficiently small, the coefficient optimization is finished.
[0087]
As described above by way of example, according to this embodiment, the error gradually decreases, and the error is minimized by adding a predetermined random number. Can be obtained.
[0088]
In the simple example shown above, the optimization is completed when the optimization is performed twice, but it is general that a more complex coefficient needs to be determined in the practical coefficient determination. In this case, if optimization is performed while the size of the random number is large, even if the optimization is almost completed, it is difficult to converge to the final coefficient. Therefore, the size of the random number is reduced and the convergence is advanced so that a coefficient with a small error is selected with a higher probability. On the other hand, if the random number is too small, it may be impossible to escape the minimum. In this embodiment, this problem is solved by controlling the probability based on the error history.
[0089]
In the simple example shown above, the predetermined step is s.1, S2Although 1 is used for both, a predetermined step is controlled by a history of errors for the purpose of speeding up the processing and for the purpose of being able to escape from the minimum with a higher probability. Also, s1, S2Using different values for and substantially smaller steps, ie s1, S2, | S1-S2Allows optimization by the greatest common divisor of |.
[0090]
Although the operation has been described with a simple example, the same operation is performed even in a complicated data conversion apparatus according to the present embodiment.
[0091]
In this method, the error of the data conversion apparatus is evaluated by an error including rounding and accuracy in the apparatus. Accordingly, it is possible to calculate a coefficient having a smaller error at a higher speed than in the entire search, including such an error.
[0092]
[Example 2]
Next, a second embodiment in which color conversion is performed using a neural network that takes discrete coefficients as a data conversion apparatus will be described. FIG. 3 shows the configuration of the present embodiment. In this figure, portions corresponding to those in FIG. In FIG. 3, the
[0093]
Next, optimization of the coefficients of the
[0094]
[Expression 4]
And
[0095]
Now, of the k coefficients, the p-th coefficient wpThe error E with respect to the current coefficient value0That is, E0= E (w1, W2, ..., wp, ..., wk) And a predetermined step s from the current coefficient value1Error E for large coefficient values+That is, E+= E (w1, W2, ..., wp+ S1, ..., wk) And a predetermined step s from the current coefficient value2Error E for small coefficient values, ie E-= E (w1, W2, ..., wp-S2, ..., wk) Three types of errors are calculated. In this embodiment, the predetermined step for addition is a different value, but the predetermined step for addition and the predetermined step for subtraction do not necessarily have to be different values.
[0096]
Next, based on these errors, one of the lower errors is selected by an appropriate function that is selected with a higher probability. E0If is selected, wpWill not be updated. E+If is selected, wpIn1Add and update. E-If is selected, wpTo s2Reduce and update.
[0097]
Repeat this operation for each weight wp(P = 1, 2,..., K). When this optimization operation completes one cycle, the error of this color conversion device is obtained and repeated until it reaches a predetermined value or substantially converges or until a predetermined number of times. At that time, when the error becomes the minimum, the coefficient is recorded as “optimum coefficient”, and s is increased by multiplying the predetermined step s by a predetermined value larger than 1. On the other hand, if the error has increased compared to before performing one round of optimization, s1And S2Is multiplied by a predetermined value less than 1, and s1And S2Is not reduced below the minimum step.
[0098]
As described above, when the learning is finished, the finally recorded “optimum coefficient” is output.
[0099]
[Example 3]
Next, a description will be given of a third embodiment using a color conversion device using a table in which coefficients take discrete values and interpolation. FIG. 4 shows the configuration of the third embodiment. In this figure, portions corresponding to those in FIG. In FIG. 4, the
[0100]
Next, optimization of the coefficient of the
[0101]
In general, the conversion value stored in each grid point is a value obtained by rounding the conversion value of each representative point according to the accuracy of the table. In any interpolation method, an interpolation error occurs depending on the correspondence between input and output. .
[0102]
The error of the color conversion device in a predetermined coefficient is defined as an average color difference obtained by the following procedure. Color conversion is performed by a predetermined coefficient at a sufficiently fine predetermined interval, for example, an interval of 1/16 of the interval between the representative values of the grid points in each dimension, and each area ratio of CMYK is calculated. Printing is performed based on the calculation result, the color difference between the colorimetric value and the color coordinate before conversion is calculated, and the average color difference over the entire input range is regarded as an error. At this time, instead of actually performing printing and measuring the color, the predicted value after printing may be estimated using a modeled printer.
[0103]
The present embodiment aims to optimize the value of each grid point so that the average color difference after interpolation is minimized, and performs the following optimization.
[0104]
First, for all grid points, the coefficients of discrete values {C (L, A, B), M (L, A, B), Y (L, L) stored in the table of each grid point (L, A, B) are used. A, B), K (L, A, B)} are initialized with values obtained by rounding the corresponding conversion values according to the precision of the table. Let T and s be appropriate initial values. Each grid point is assigned a serial number in order from the lowest saturation within the color reproduction range. Subsequently, a serial number is assigned to the grid points outside the color reproduction range in ascending order of color difference before and after conversion. Next, the following processing steps are performed.
Process (1): The grid point values of K are optimized by the operations of processes (1.1) to (1.3) in ascending order of serial numbers.
Process (1.1): A predetermined step s is added to the current value of K, and the error of the color conversion device is calculated.
Process (1.2): A predetermined step s and a minimum unit of steps are subtracted from the current value of K, and an error of the color conversion device is calculated.
[0105]
At this time, instead of the entire input range, the average of color differences may be obtained only in the range in which this coefficient has an influence. For example, in the tetrahedral interpolation method, the prism interpolation method, and the cubic interpolation method, an average may be obtained only for a portion included in a tetrahedron, a triangular prism, or a rectangular parallelepiped having the lattice point as a vertex.
Process (1.3): Random numbers based on a uniform distribution in the predetermined section [0, T] are added to the error in process (1.1) and the error in process (1.2), respectively, and the process ( If the sum of the error in 1.1) and the random number is smaller than the sum of the error in the process (1.2) and the random number, a predetermined step s is added to the current K value to update it. Otherwise, the current value of K is updated by subtracting the predetermined step s and the minimum unit of steps.
Process (2): The operation of the process (1) is applied to K of all grid points. When this optimization operation completes one cycle, the error of this color conversion device is obtained and repeated until it reaches a predetermined value or substantially converges or until a predetermined number of times. At that time, if the error becomes the smallest, the coefficient is recorded as “K is the optimum coefficient”, and T for determining the predetermined section is multiplied by a predetermined value larger than 1 to calculate T Increase. On the other hand, if the error has increased compared to before performing one round of optimization, T is decreased by multiplying T by a predetermined value smaller than 1. The same operation is performed for the predetermined step s, but the value is not less than the minimum step.
[0106]
Next, the following processing is executed with “K is an optimum coefficient” as an initial value and T and s as appropriate initial values.
Process (3): The CMY grid point values are optimized by the operations of processes (3.1) to (3.5) in ascending order of serial numbers.
Process (3.1): A predetermined step s is added to the current C value to calculate the error of the color conversion apparatus.
Process (3.2): The error of the color conversion device is calculated by subtracting the predetermined step s and the minimum unit of steps from the current C value.
Process (3.3): Random numbers based on a uniform distribution in a predetermined section [0, T] are added to the error of process (3.1) and the error of process (3.2), respectively, and the process ( If the sum of the error in 3.1) and the random number is smaller than the sum of the error in the process (3.2) and the random number, a predetermined step s is added to the current C value to update it. Otherwise, the current value of C is updated by subtracting the predetermined step s and the minimum unit of steps.
Process (3.4): The operations of processes (3.1) to (3.3) are applied to M instead of C.
Process (3.5): The operations of processes (3.1) to (3.3) are changed to C and applied to Y.
Process (4): The operation of the process (3) is applied to all grid points. When this optimization operation completes one cycle, the error of this color conversion device is obtained and repeated until it reaches a predetermined value or substantially converges or until a predetermined number of times. At that time, if the minimum error occurs, the coefficient is recorded as an “optimum coefficient”, and T is increased by multiplying T, which determines the predetermined section, by a predetermined value greater than 1. Let On the other hand, if the error has increased compared to before performing one round of optimization, T is decreased by multiplying T by a predetermined value smaller than 1. The same operation as T is performed for the predetermined step s, but the value is not less than the minimum step.
[0107]
As described above, when the learning is finished, the finally recorded “optimum coefficient” is output.
[0108]
[Example 4]
Next, a description will be given of a fourth embodiment in which the coefficient is optimized by introducing a continuous function that can be assumed between the discrete coefficient value and the error. FIG. 5 shows a configuration of the fourth embodiment. In this figure, portions corresponding to those in FIG. 3 are denoted by corresponding reference numerals, and detailed description thereof is omitted. In FIG. 5, the quadratic
[0109]
Next, optimization of the coefficients of the
[0110]
Now, of the k coefficients, the p-th coefficient wpThe error E with respect to the current coefficient value0That is, E0= E (w1, W2, ..., wp, ..., wk) And a predetermined step s from the current coefficient value1Error E for large coefficient values+That is, E+= E (w1, W2, ..., wp+ S1, ..., wk) And a predetermined step s from the current coefficient value2Error E for small coefficient values, ie E-= E (w1, W2, ..., wp-S2, ..., wk) Three types of errors are calculated. From this three-point error, a quadratic function is estimated and wpDerivative E 'inpIs calculated.
[0111]
Depending on the temperature t, the derivative E 'pIs a random variable X with a high probability of 1 (otherwise 0)+(E ’pT) and the derivative E 'pIs a random variable X with a high probability of 1 (otherwise 0)-(E ’p; By t), the coefficient wpIs updated with the following values: Where the random variable X+And X-Is uncertainly affected by higher temperatures and deterministically affected by lower temperatures.
[0112]
[Equation 5]
wp ← wp+ S1・ X+(E ’pT) -s2・ X-(E ’pT)
In this embodiment, the predetermined step for addition is a different value, but the predetermined step for addition and the predetermined step for subtraction do not necessarily have to be different values.
[0113]
Repeat this operation for each weight wp(P = 1, 2,..., K). When this optimization operation completes one cycle, the error of this color conversion device is obtained and repeated until it reaches a predetermined value or substantially converges or until a predetermined number of times. At that time, if the minimum error occurs, the coefficient is recorded as “optimum coefficient”, and the predetermined step s described above is performed.1, S2And the temperature t are multiplied by a predetermined value greater than 1 to increase the step and temperature. On the other hand, if the error has increased compared to before performing one round of optimization, s1, S2And the temperature t are multiplied by a predetermined value less than 1 to reduce the step and temperature. However, each step does not have a value less than the minimum step.
[0114]
As described above, when the learning is finished, the finally recorded “optimum coefficient” is output.
[0115]
In this embodiment, three points are taken and the derivative is calculated by a quadratic function. However, if two or more points are taken, the derivative can be determined by an appropriate function.
[0116]
Also, in the above, three points were taken, but p kinds of appropriate functions f1(W), f2(W) ... fpP types of coefficients can be calculated using (w).
[0117]
Here, as an example, when p = 4,
[0118]
[Formula 6]
f1(W) =
f2(W) =
fThree(W) =
fFour(W) = w + 4
It can be. In the case of calculating the derivative, it is possible to estimate the derivative of the current value even if it is not a section including the current coefficient. Therefore, the function value may not be a section including the current coefficient.
[0119]
As another example, when p = 5,
[0120]
[Expression 7]
f1(W) = floor (w × 0.98)
f2(W) = floor (w × 0.99)
fThree(W) = w
fFour(W) = ceil (w / 0.99)
fFive(W) = ceil (w / 0.98)
It is good. Here, floor is rounded down and ceil is rounded up. Here, as an example of the operation of rounding to a discrete value that can be taken by the coefficient, an example is shown using rounding down or rounding up, but the rounding operation can take any method.
[0121]
[Application example]
Next, application examples of the present invention will be described.
[0122]
FIG. 6 shows an electronic apparatus using the data conversion apparatus of the present invention. In this figure, the
[0123]
In this case, the coefficient may be optimized in advance by the reference data conversion device and installed in the
[0124]
FIG. 7 shows a color image forming apparatus (a color copying machine or a color printing machine) using the data conversion apparatus of the present invention. In this figure, the
[0125]
FIG. 8 shows a robot apparatus using the data conversion apparatus of the present invention. In this figure, the
[0126]
【The invention's effect】
As described above, according to the present invention, even when data is converted using a coefficient having a discrete value, the coefficient value can be learned easily and stably.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a first exemplary embodiment of the present invention.
FIG. 2 is a diagram specifically explaining details of the above-described embodiment.
FIG. 3 is a diagram showing a configuration of a second exemplary embodiment of the present invention.
FIG. 4 is a diagram showing a configuration of Example 3 of the present invention.
FIG. 5 is a diagram illustrating a configuration of a fourth embodiment of the present invention.
FIG. 6 is a diagram illustrating an application example of the present invention.
FIG. 7 is a diagram illustrating an application example of the present invention.
FIG. 8 is a diagram illustrating an application example of the present invention.
[Explanation of symbols]
11 Input buffer
12 Data converter
13 Output buffer
14 Ideal output memory
15 Error calculator
16 Error history memory
17 Random number distribution controller
18 Step controller
19 Coefficient update unit
100 electronic equipment
200 color image forming apparatus
300 robots
Claims (33)
上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より加算のステップ幅s1だけ大きな係数値、および上記現在の係数値より減算のステップ幅s2だけ小さい係数値のうち少なくとも2つの係数値について最適化用の入力データ群に対する出力データ群を算出する手段と、
上記少なくとも2つの係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも2つの係数値のいずれか1つを新たな係数値として選択する係数値選択手段とを有することを特徴とする係数決定装置。 In a data converter for converting m-dimensional input data into n-dimensional output data according to k coefficients (however, including at least one coefficient taking discrete values) ,
For each of the coefficients taking discrete values, the current coefficient value, the coefficient value larger by the step width s1 of addition than the current coefficient value, and the coefficient value smaller by the step width s2 of subtraction than the current coefficient value. Means for calculating an output data group for an input data group for optimization for at least two coefficient values;
Any one of the at least two coefficient values has a probability of increasing as the error between the output data group calculated for the at least two coefficient values and the ideal output data group corresponding to the optimization input data group decreases. And a coefficient value selecting means for selecting as a new coefficient value.
上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より加算のステップ幅s1だけ大きな係数値、および上記現在の係数値より減算のステップ幅s2だけ小さい係数値のうち少なくとも2つの係数値について最適化用の入力データ群に対する出力データ群を算出する手段と、
上記少なくとも2つの係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも2つの係数値のいずれか1つを新たな係数値として選択する係数値選択手段とを有することを特徴とするデータ変換装置。data conversion means for converting m-dimensional input data into n-dimensional output data according to k coefficients (including at least one coefficient taking discrete values) ;
For each of the coefficients taking discrete values, the current coefficient value, the coefficient value larger by the step width s1 of addition than the current coefficient value, and the coefficient value smaller by the step width s2 of subtraction than the current coefficient value. Means for calculating an output data group for an input data group for optimization for at least two coefficient values;
Any one of the at least two coefficient values has a probability of increasing as the error between the output data group calculated for the at least two coefficient values and the ideal output data group corresponding to the optimization input data group decreases. And a coefficient value selecting means for selecting a new coefficient value.
上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より加算のステップ幅s1だけ大きな係数値、および上記現在の係数値より減算のステップ幅s2だけ小さい係数値のうち少なくとも2つの係数値について最適化用の第1の色データ群に対する第2の色データ群を算出する手段と、
上記少なくとも2つの係数値について算出した第2の色データ群と上記最適化用の第1の色データ群に対応する理想の第2の色データ群との誤差が小さいほど高くなる確率で、上記少なくとも2つの係数値のいずれか1つを新たな係数値として選択する係数値選択手段とを有することを特徴とする色変換装置。color conversion means for converting m-dimensional first color data into n-dimensional second color data according to k coefficients (including at least one coefficient taking discrete values) ;
For each of the coefficients taking discrete values, the current coefficient value, the coefficient value larger by the step width s1 of addition than the current coefficient value, and the coefficient value smaller by the step width s2 of subtraction than the current coefficient value. Means for calculating a second color data group for the first color data group for optimization for at least two coefficient values;
With the probability that the smaller the error between the second color data group calculated for the at least two coefficient values and the ideal second color data group corresponding to the first color data group for optimization, the higher the value. A color conversion apparatus comprising: coefficient value selection means for selecting any one of at least two coefficient values as a new coefficient value.
k個の係数(離散的な値を取る少なくとも1つの係数を含む)に応じて上記m次元の第1の色データをn次元の第2の色データに変換する色変換手段と、
上記色変換手段から出力された上記第2の色データに基づいて所定の出力動作を行う出力手段と、
上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より加算のステップ幅s1だけ大きな係数値、および上記現在の係数値より減算のステップ幅s2だけ小さい係数値のうち少なくとも2つの係数値について最適化用の第1の色データ群に対する第2の色データ群を算出する手段と、
上記少なくとも2つの係数値について算出した第2の色データ群と上記最適化用の第1の色データ群に対応する理想の第2の色データ群との誤差が小さいほど高くなる確率で、上記少なくとも2つの係数値のいずれか1つを新たな係数値として選択する係数値選択手段とを有することを特徴とするカラー画像形成装置。means for receiving m-dimensional first color data;
color conversion means for converting the m-dimensional first color data into n-dimensional second color data according to k coefficients (including at least one coefficient taking discrete values) ;
Output means for performing a predetermined output operation based on the second color data output from the color conversion means;
For each of the coefficients taking discrete values, the current coefficient value, the coefficient value larger by the step width s1 of addition than the current coefficient value, and the coefficient value smaller by the step width s2 of subtraction than the current coefficient value. Means for calculating a second color data group for the first color data group for optimization for at least two coefficient values;
With the probability that the smaller the error between the second color data group calculated for the at least two coefficient values and the ideal second color data group corresponding to the first color data group for optimization, the higher the value. A color image forming apparatus comprising: coefficient value selection means for selecting any one of at least two coefficient values as a new coefficient value.
k個の係数(離散的な値を取る少なくとも1つの係数を含む)に応じて上記m次元の入力データをn次元の出力データに変換するデータ変換手段と、
上記データ変換手段から出力されたn次元の出力データに基づいて所定の出力動作を行う出力手段と、
上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より加算のステップ幅s1だけ大きな係数値、および上記現在の係数値より減算のステップ幅s2だけ小さい係数値のうち少なくとも2つの係数値について最適化用の入力データ群に対する出力データ群を算出する手段と、
上記少なくとも2つの係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも2つの係数値のいずれか1つを新たな係数値として選択する係数値選択手段とを有することを特徴とする電子機器。means for receiving m-dimensional input data;
data conversion means for converting the m-dimensional input data into n-dimensional output data according to k coefficients (including at least one coefficient taking discrete values) ;
Output means for performing a predetermined output operation based on the n-dimensional output data output from the data conversion means;
For each of the coefficients taking discrete values, the current coefficient value, the coefficient value larger by the step width s1 of addition than the current coefficient value, and the coefficient value smaller by the step width s2 of subtraction than the current coefficient value. Means for calculating an output data group for an input data group for optimization for at least two coefficient values;
Any one of the at least two coefficient values has a probability of increasing as the error between the output data group calculated for the at least two coefficient values and the ideal output data group corresponding to the optimization input data group decreases. And a coefficient value selection means for selecting a new coefficient value.
上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のp種類の係数値について最適化用の入力データ群から出力データ群を算出する手段と、
上記p種類の係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差を算出し、p種類(pは2以上の整数)の誤差を得る算出手段と、
上記p種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、
上記微係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなる係数値更新手段とを有することを特徴とする係数決定装置。 In a data conversion device that converts m-dimensional input data into n-dimensional output data according to k coefficients (including at least one coefficient that takes discrete values) ,
Means for calculating an output data group from an input data group for optimization for p kinds of coefficient values in an appropriate section including a current coefficient value for each of the coefficients taking discrete values;
An error between the output data group calculated for the p types of coefficient values and an ideal output data group corresponding to the optimization input data group is calculated, and a calculation for obtaining p types (p is an integer of 2 or more) is obtained. Means,
A differential coefficient calculating means for calculating a differential coefficient in the current coefficient value assuming a predetermined function from the coefficient value to the error that can be differentiated from the p kinds of errors in the current coefficient value;
Based on the above derivative, stochastically updating the coefficients, coefficient determination apparatus characterized by having a larger coefficient value updating means in accordance with the progress of the optimization process are further the probability of a coefficient update.
上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のp種類の係数値について最適化用の入力データ群から出力データ群を算出する手段と、
上記p種類(pは2以上の整数)の係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差を算出し、p種類の誤差を得る算出手段と、
上記p種類の誤差から、上記現在の係数値において微分可能な適宜の計数値から誤差への関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、
上記微係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなる係数値更新手段とを有することを特徴とするデータ変換装置。data conversion means for converting m-dimensional input data into n-dimensional output data according to k coefficients (including at least one coefficient taking discrete values) ;
Means for calculating an output data group from an input data group for optimization for p kinds of coefficient values in an appropriate section including a current coefficient value for each of the coefficients taking discrete values;
Calculation for calculating the error between the output data group calculated for the coefficient values of p types (p is an integer of 2 or more) and the ideal output data group corresponding to the input data group for optimization to obtain p types of errors Means,
Assuming a function from an appropriate count value that can be differentiated in the current coefficient value from the p types of errors, a differential coefficient calculating means for calculating a differential coefficient in the current coefficient value;
Based on the above derivative, stochastically updating the coefficients, the data conversion apparatus characterized by having a coefficient updating means probability of further coefficient update increases with progress of the processing of the optimization.
上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のp種類の係数値について最適化用の第1の色データ群から第2の色データ群を算出する手段と、
上記p種類の係数値について算出した第2の色データ群と上記最適化用の第1の色データ群に対応する理想の第2の色データ群との誤差を算出し、p種類(pは2以上の整数)の誤差を得る算出手段と、
上記p種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、
上記微係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなる係数値更新手段とを有することを特徴とする色変換装置。color conversion means for converting m-dimensional first color data into n-dimensional second color data according to k coefficients (including at least one coefficient taking discrete values) ;
Means for calculating a second color data group from the first color data group for optimization with respect to each of the coefficients taking the discrete values for p kinds of coefficient values in an appropriate section including the current coefficient value. When,
An error between the second color data group calculated for the p types of coefficient values and the ideal second color data group corresponding to the first color data group for optimization is calculated, and p types (p is Calculating means for obtaining an error of an integer of 2 or more;
A differential coefficient calculating means for calculating a differential coefficient in the current coefficient value assuming a predetermined function from the coefficient value to the error that can be differentiated from the p kinds of errors in the current coefficient value;
Based on the above derivative, stochastically updating the coefficients, the color conversion apparatus characterized by having a larger coefficient value updating means in accordance with the progress of the optimization process are further the probability of a coefficient update.
k個の係数(離散的な値を取る少なくとも1つの係数を含む)に応じて上記m次元の第1の色データをn次元の第2の色データに変換する色変換手段と、
上記色変換手段から出力された上記第2の色データに基づいて所定の出力動作を行う出力手段と、
上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のp種類(pは2以上の整数)の係数値について最適化用の第1の色データ群から第2の色データ群を算出する手段と、
上記p種類の係数値について算出した第2の色データ群と上記最適化用の第1の色データ群に対応する理想の第2の色データ群との誤差を算出し、p種類の誤差を得る算出手段と、
上記p種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、
上記微係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなる係数値更新手段とを有することを特徴とするカラー画像形成装置。means for receiving m-dimensional first color data;
color conversion means for converting the m-dimensional first color data into n-dimensional second color data according to k coefficients (including at least one coefficient taking discrete values) ;
Output means for performing a predetermined output operation based on the second color data output from the color conversion means;
For each of the coefficients having the discrete values, the p-type (p is an integer of 2 or more) coefficient values in an appropriate section including the current coefficient value are second to the second color data for optimization . Means for calculating the color data group of
An error between the second color data group calculated for the p kinds of coefficient values and the ideal second color data group corresponding to the first color data group for optimization is calculated, and the p kinds of errors are calculated. Calculating means to obtain;
A differential coefficient calculating means for calculating a differential coefficient in the current coefficient value assuming a predetermined function from the coefficient value to the error that can be differentiated from the p kinds of errors in the current coefficient value;
Based on the above derivative, stochastically updating the coefficients, further color image forming apparatus characterized by having a larger coefficient value updating means in accordance with the progress of the probability of the coefficient updating of the optimization process.
k個の係数(離散的な値を取る少なくとも1つの係数を含む)に応じて上記m次元の入力データをn次元の出力データに変換するデータ変換手段と、
上記データ変換手段から出力されたn次元の出力データに基づいて所定の出力動作を行う出力手段と、
上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のp種類(pは2以上の整数)の係数値について最適化用の入力データ群から出力データ群を算出する手段と、
上記p種類の係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差を算出し、p種類の誤差を得る算出手段と、
上記p種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、
上記微係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなる係数値更新手段とを有することを特徴とする電子機器。means for receiving m-dimensional input data;
data conversion means for converting the m-dimensional input data into n-dimensional output data according to k coefficients (including at least one coefficient taking discrete values) ;
Output means for performing a predetermined output operation based on the n-dimensional output data output from the data conversion means;
For each coefficient having a discrete value, an output data group is calculated from the input data group for optimization with respect to p kinds (p is an integer of 2 or more) of coefficient values in an appropriate interval including the current coefficient value. Means to
Calculating means for calculating an error between the output data group calculated for the p kinds of coefficient values and an ideal output data group corresponding to the optimization input data group, and obtaining p kinds of errors;
A differential coefficient calculating means for calculating a differential coefficient in the current coefficient value assuming a predetermined function from the coefficient value to the error that can be differentiated from the p kinds of errors in the current coefficient value;
Electronic device based on the differential coefficients, stochastically updating the coefficient, the probability of further coefficients update is characterized by having a larger coefficient value updating means in accordance with the progress of the optimization process.
上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より加算のステップ幅s1だけ大きな係数値、および上記現在の係数値より減算のステップ幅s2だけ小さい係数値のうち少なくとも2つの係数値について最適化用の入力データ群に対する出力データ群を算出する手段と、
上記少なくとも2つの係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも2つの係数値のいずれか1つを新たな係数値として選択する係数値選択手段とを有することを特徴とするニューラルネットワークの係数決定装置。 In a neural network having k coefficients (including at least one discrete coupling coefficient and / or discrete threshold) ,
For each of the coefficients taking discrete values, the current coefficient value, the coefficient value larger by the step width s1 of addition than the current coefficient value, and the coefficient value smaller by the step width s2 of subtraction than the current coefficient value. Means for calculating an output data group for an input data group for optimization for at least two coefficient values;
Any one of the at least two coefficient values has a probability of increasing as the error between the output data group calculated for the at least two coefficient values and the ideal output data group corresponding to the optimization input data group decreases. And a coefficient value selecting means for selecting a coefficient value as a new coefficient value.
上記少なくとも2つの係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも2つの係数値のいずれか1つを新たな係数値として選択する係数値選択手段とを有することを特徴とするデータ変換装置。 a neural network having k coefficients (including at least one of discrete coupling coefficients and / or discrete thresholds) and a current coefficient value for each of the coefficients taking the discrete values, Output data for an input data group for optimization with respect to at least two coefficient values among a coefficient value larger than the current coefficient value by an addition step width s1 and a coefficient value smaller than the current coefficient value by a subtraction step width s2. Means for calculating the group;
Any one of the at least two coefficient values has a probability of increasing as the error between the output data group calculated for the at least two coefficient values and the ideal output data group corresponding to the optimization input data group decreases. And a coefficient value selecting means for selecting a new coefficient value.
上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のp種類の係数値について最適化用の入力データ群から出力データ群を算出する手段と、
上記p種類の係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差を算出し、p種類(pは2以上の整数)の誤差を得る算出手段と、
上記p種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、
上記微係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなる係数値更新手段とを有することを特徴とするニューラルネットワークの係数決定装置。 In a neural network having k coefficients (including at least one discrete coupling coefficient and / or discrete threshold) ,
Means for calculating an output data group from an input data group for optimization for p kinds of coefficient values in an appropriate section including a current coefficient value for each of the coefficients taking discrete values;
An error between the output data group calculated for the p types of coefficient values and an ideal output data group corresponding to the optimization input data group is calculated, and a calculation for obtaining p types (p is an integer of 2 or more) is obtained. Means,
A differential coefficient calculating means for calculating a differential coefficient in the current coefficient value assuming a predetermined function from the coefficient value to the error that can be differentiated from the p kinds of errors in the current coefficient value;
Based on the above derivative, stochastically updating the coefficients, further coefficient determiner neural network and having a larger coefficient value updating means in accordance with the progress of processing of the probability optimization coefficient update.
上記p種類の係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差を算出し、p種類の誤差を得る算出手段と、
上記p種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、
上記微係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなる係数値更新手段とを有することを特徴とするニューラルネットワークの係数決定装置およびニューラルネットワークによるデータ変換装置。 For each of the neural network having k coefficients (including at least one of discrete coupling coefficients and / or discrete thresholds) and the coefficient taking the discrete value, the current coefficient value is Means for calculating an output data group from an input data group for optimization with respect to p kinds (p is an integer of 2 or more) of coefficient values in an appropriate interval including:
Calculating means for calculating an error between the output data group calculated for the p kinds of coefficient values and an ideal output data group corresponding to the optimization input data group, and obtaining p kinds of errors;
A differential coefficient calculating means for calculating a differential coefficient in the current coefficient value assuming a predetermined function from the coefficient value to the error that can be differentiated from the p kinds of errors in the current coefficient value;
Based on the above derivative, stochastically updating the coefficients, coefficient determination device and a neural network characterized by having a larger coefficient value updating means in accordance with further progress of the process of the probability optimization coefficient update Data conversion device using neural network.
上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より加算のステップ幅s1だけ大きな係数値、および上記現在の係数値より減算のステップ幅s2だけ小さい係数値のうち少なくとも2つの係数値について最適化用の入力データ群に対する出力データ群を算出する手段と、
上記少なくとも2つの係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも2つの係数値のいずれか1つを新たな係数値として選択する係数値選択手段と、
上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のp種類(pは2以上の整数)の係数値について出力データ群を算出する手段と、
上記p種類の係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差を算出し、p種類の誤差を得る算出手段と、
上記p種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、
上記微係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなる係数値更新手段とを有し、
上記係数値選択手段による係数値の選択を1回以上実行した後、上記係数値更新手段による係数値の更新を1回以上実行する係数決定装置。 In a data conversion device that converts m-dimensional input data into n-dimensional output data according to k coefficients (including at least one coefficient that takes discrete values) ,
For each of the coefficients taking the discrete value, a current coefficient value, a coefficient value larger by the addition step width s1 than the current coefficient value, and a coefficient value smaller by the subtraction step width s2 than the current coefficient value. Means for calculating an output data group for an input data group for optimization with respect to at least two coefficient values,
Any one of the at least two coefficient values has a probability of increasing as the error between the output data group calculated for the at least two coefficient values and the ideal output data group corresponding to the optimization input data group decreases. Coefficient value selection means for selecting as a new coefficient value;
Means for calculating an output data group for p kinds (p is an integer of 2 or more) of coefficient values in an appropriate section including the current coefficient value for each of the coefficients having discrete values;
Calculating means for calculating an error between the output data group calculated for the p kinds of coefficient values and an ideal output data group corresponding to the optimization input data group, and obtaining p kinds of errors;
A differential coefficient calculating means for calculating a differential coefficient in the current coefficient value assuming a predetermined function from the coefficient value to the error that can be differentiated from the p kinds of errors in the current coefficient value;
Based on the above derivative, stochastically updating the coefficients, and a larger coefficient value updating means in accordance with the progress of the optimization process is further probability coefficient update,
A coefficient determination device that executes coefficient value update by the coefficient value update means once or more after the coefficient value selection means executes the coefficient value selection one or more times.
上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より加算のステップ幅s1だけ大きな係数値、および上記現在の係数値より減算のステップ幅s2だけ小さい係数値のうち少なくとも2つの係数値について最適化用の入力データ群に対する出力データ群を算出するステップと、
上記少なくとも2つの係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも2つの係数値のいずれか1つを新たな係数値として選択するステップとを有することを特徴とする係数決定方法。 In the method of determining the coefficient value in a data conversion device that converts m-dimensional input data into n-dimensional output data according to k coefficients (including at least one coefficient that takes discrete values) ,
For each of the coefficients taking the discrete value, a current coefficient value, a coefficient value larger by the addition step width s1 than the current coefficient value, and a coefficient value smaller by the subtraction step width s2 than the current coefficient value. Calculating an output data group for an input data group for optimization for at least two coefficient values,
Any one of the at least two coefficient values has a probability of increasing as the error between the output data group calculated for the at least two coefficient values and the ideal output data group corresponding to the optimization input data group decreases. Selecting a new coefficient value as a coefficient value.
上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のp種類(pは2以上の整数)の係数値について最適化用に入力データ群から出力データ群を算出するステップと、
上記p種類の係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差を算出し、p種類の誤差を得る算出手段と、
上記p種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出するステップと、
上記微係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなるようにするステップとを有することを特徴とする係数決定方法。 In the method of determining the coefficient value in a data conversion device that converts m-dimensional input data into n-dimensional output data according to k coefficients (including at least one coefficient that takes discrete values) ,
For each of the coefficients having discrete values, an output data group is calculated from the input data group for optimization with respect to p kinds (p is an integer of 2 or more) of coefficient values in an appropriate interval including the current coefficient value. And steps to
Calculating means for calculating an error between the output data group calculated for the p kinds of coefficient values and an ideal output data group corresponding to the optimization input data group, and obtaining p kinds of errors;
Assuming a predetermined function from the coefficient value to the error that is differentiable from the p kinds of errors in the current coefficient value, and calculating a differential coefficient in the current coefficient value;
Based on the above derivative, stochastically updating the coefficients, coefficient determination method characterized by a step of further probability coefficient updating to be larger in accordance with the progress of the optimization process.
上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より加算のステップ幅s1だけ大きな係数値、および上記現在の係数値より減算のステップ幅s2だけ小さい係数値のうち少なくとも2つの係数値について最適化用の入力データ群に対する出力データ群を算出するステップと、
上記少なくとも2つの係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも2つの係数値のいずれか1つを新たな係数値として選択するステップと、
上記新たな係数値が選択された後、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のp種類の係数値について出力データ群を算出するステップと、
上記p種類の係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差を算出し、p種類の誤差を得る算出手段と、
上記p種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出するステップと、
上記微係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなるようにするステップとを有し、
上記係数値の選択を1回以上実行した後、上記係数値の更新を1回以上実行するすることを特徴とする係数決定方法。 In the method of determining the coefficient value in a data conversion device that converts m-dimensional input data into n-dimensional output data according to k coefficients (including at least one coefficient that takes discrete values) ,
For each of the coefficients taking the discrete value, a current coefficient value, a coefficient value larger by the addition step width s1 than the current coefficient value, and a coefficient value smaller by the subtraction step width s2 than the current coefficient value. Calculating an output data group for an input data group for optimization for at least two coefficient values,
Any one of the at least two coefficient values has a probability of increasing as the error between the output data group calculated for the at least two coefficient values and the ideal output data group corresponding to the optimization input data group decreases. Selecting as a new coefficient value;
Calculating an output data group for p kinds of coefficient values in an appropriate section including a current coefficient value for each of the coefficients taking the discrete values after the new coefficient value is selected;
Calculating means for calculating an error between the output data group calculated for the p kinds of coefficient values and an ideal output data group corresponding to the predetermined input data group, and obtaining p kinds of errors;
Assuming a predetermined function from the coefficient value to the error that is differentiable from the p kinds of errors in the current coefficient value, and calculating a differential coefficient in the current coefficient value;
Based on the above derivative, stochastically updating the coefficients, and a step to be larger in accordance with the progress of the optimization process is further probability coefficient update,
A coefficient determination method, wherein the coefficient value is updated once or more after the coefficient value is selected one or more times.
上記データ変換装置本体と同等な機能を有する標準データ変換装置において、
上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より加算のステップ幅s1だけ大きな係数値、および上記現在の係数値より減算のステップ幅s2だけ小さい係数値のうち少なくとも2つの係数値について最適化用の入力データ群に対する出力データ群を算出するステップと、
上記少なくとも2つの係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも2つの係数値のいずれか1つを新たな係数値として選択するステップと、
選択した係数を上記データ変換装置本体の係数として設定するステップとを有することを特徴とする係数設定方法。 In a method of setting the coefficient value in a data conversion apparatus that converts m-dimensional input data into n-dimensional output data according to k coefficients (including at least one coefficient taking discrete values) ,
In the standard data converter having the same function as the data converter main body,
For each of the coefficients taking the discrete value, a current coefficient value, a coefficient value larger by the addition step width s1 than the current coefficient value, and a coefficient value smaller by the subtraction step width s2 than the current coefficient value. Calculating an output data group for an input data group for optimization for at least two coefficient values,
Any one of the at least two coefficient values has a probability of increasing as the error between the output data group calculated for the at least two coefficient values and the ideal output data group corresponding to the optimization input data group decreases. Selecting as a new coefficient value;
And a step of setting the selected coefficient as a coefficient of the data converter main body.
上記データ変換装置本体と同等のデータ変換機能を有する基準データ変換装置において、
上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のp種類(pは2以上の整数)の係数値について最適化用の入力データ群から出力データ群を算出するステップと、
上記p種類の係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差を算出し、p種類の誤差を得る算出手段と、
上記p種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出するステップと、
上記微係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなるようにするステップと、
更新した係数を上記データ変換装置本体の係数として設定するステップとを有することを特徴とする係数設定方法。 In a method of setting the coefficient value in a data conversion apparatus that converts m-dimensional input data into n-dimensional output data according to k coefficients (including at least one coefficient taking discrete values) ,
In a reference data converter having a data conversion function equivalent to that of the data converter main body,
For each coefficient having a discrete value, an output data group is calculated from the input data group for optimization with respect to p kinds (p is an integer of 2 or more) of coefficient values in an appropriate interval including the current coefficient value. And steps to
Calculating means for calculating an error between the output data group calculated for the p kinds of coefficient values and an ideal output data group corresponding to the optimization input data group, and obtaining p kinds of errors;
Assuming a predetermined function from the coefficient value to the error that is differentiable from the p kinds of errors in the current coefficient value, and calculating a differential coefficient in the current coefficient value;
A step based on the differential coefficients, stochastically updating the coefficients, further probability coefficient update is set to be larger as the progress of the optimization process,
And a step of setting the updated coefficient as a coefficient of the data converter main body.
上記離散的な値を取る係数のうち、少なくとも1つ以上について、現在の係数値にp種類の所定の関数を施すことによりp種類(pは2以上の整数)の係数値を算出する係数算出手段と、
上記係数算出手段により与えられるp種類の係数値について最適化用の入力データ群から出力データ群を算出する出力データ算出手段と、
上記出力データ群と、上記最適化用の入力データ群に対応する理想出力データ群との誤差を算出し、p種類の誤差を得る誤差算出手段と、
上記p種類の誤差から、上記現在の係数値において、
微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段とを有することを特徴とする係数決定装置。 In a data conversion device that converts m-dimensional input data into n-dimensional output data according to k coefficients (including at least one coefficient that takes discrete values) ,
Coefficient calculation for calculating p-type coefficient values (p is an integer of 2 or more) by applying p-type predetermined functions to the current coefficient value for at least one of the coefficients having discrete values. Means,
Output data calculating means for calculating an output data group from an input data group for optimization with respect to p kinds of coefficient values given by the coefficient calculating means;
An error calculating means for calculating an error between the output data group and an ideal output data group corresponding to the optimization input data group to obtain p types of errors;
From the p types of errors, in the current coefficient value,
A coefficient determination apparatus comprising differential coefficient calculation means for calculating a differential coefficient at a current coefficient value assuming a differentiable predetermined function from a coefficient value to an error.
上記離散的な値を取る係数のうち、少なくとも1つ以上について、現在の係数値にp種類の所定の関数を施すことによりp種類の係数値を算出する係数算出手段と、
上記係数算出手段により与えられるp種類(pは2以上の整数)の係数値について最適化用の入力データ群から出力データ群を算出する出力データ算出手段と、
上記出力データ群と、上記最適化用の入力データ群に対応する理想出力データ群との誤差を算出し、p種類の誤差を得る誤差算出手段と、
上記p種類の誤差から、上記現在の係数値において、
微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、
上記係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなる係数値更新手段とを有することを特徴とする係数決定装置。 In a data conversion device that converts m-dimensional input data into n-dimensional output data according to k coefficients (including at least one coefficient that takes discrete values) ,
Coefficient calculating means for calculating p kinds of coefficient values by applying p kinds of predetermined functions to the current coefficient values for at least one of the coefficients having discrete values,
Output data calculating means for calculating an output data group from an input data group for optimization with respect to p kinds (p is an integer of 2 or more) of coefficient values given by the coefficient calculating means;
An error calculating means for calculating an error between the output data group and an ideal output data group corresponding to the optimization input data group to obtain p types of errors;
From the p types of errors, in the current coefficient value,
Assuming a differentiable predetermined function from the coefficient value to the error, a derivative calculating means for calculating a derivative at the current coefficient value;
Based on the above factors, stochastically updating the coefficients, coefficient determination apparatus characterized by having a larger coefficient value updating means in accordance with the progress of the optimization process are further the probability of a coefficient update.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30408097A JP3817866B2 (en) | 1996-11-07 | 1997-11-06 | Data conversion device and coefficient determination device thereof |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8-295278 | 1996-11-07 | ||
JP29527896 | 1996-11-07 | ||
JP30408097A JP3817866B2 (en) | 1996-11-07 | 1997-11-06 | Data conversion device and coefficient determination device thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10191091A JPH10191091A (en) | 1998-07-21 |
JP3817866B2 true JP3817866B2 (en) | 2006-09-06 |
Family
ID=26560192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30408097A Expired - Fee Related JP3817866B2 (en) | 1996-11-07 | 1997-11-06 | Data conversion device and coefficient determination device thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3817866B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017218851A1 (en) * | 2017-10-23 | 2019-04-25 | Robert Bosch Gmbh | Method, device and computer program for creating a deep neural network |
-
1997
- 1997-11-06 JP JP30408097A patent/JP3817866B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10191091A (en) | 1998-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dhingra et al. | The proximal augmented Lagrangian method for nonsmooth composite optimization | |
JP4595734B2 (en) | Profile creation method, profile creation device, profile creation program, print control method, print control device, and print control program | |
CN112947084B (en) | Model unknown multi-agent consistency control method based on reinforcement learning | |
Fukumizu | Statistical active learning in multilayer perceptrons | |
CN111203890B (en) | Position error compensation method of robot | |
JP2001236337A (en) | Predicting device using neural network | |
CN111182564B (en) | Wireless link quality prediction method based on LSTM neural network | |
EP3779801A1 (en) | Method for optimizing neural network parameter appropriate for hardware implementation, neural network operation method, and apparatus therefor | |
Ma et al. | Conservative and adaptive penalty for model-based safe reinforcement learning | |
CN111142386A (en) | Uncertain multi-agent system consistency control method based on non-uniform quantization | |
CN108898257A (en) | A kind of gray prediction method based on particle group optimizing | |
JP2002010096A (en) | Color processing method, storage medium, color processor and image forming equipment | |
TWI452529B (en) | Combined with the system equivalent model of the system and its computer program products | |
JP3817866B2 (en) | Data conversion device and coefficient determination device thereof | |
Hassan-Moghaddam et al. | On the exponential convergence rate of proximal gradient flow algorithms | |
JP3868358B2 (en) | Method and apparatus for controlling physical system and computer program for controlling physical system | |
CN112752290B (en) | Method and equipment for predicting data traffic of wireless base station | |
US6304863B1 (en) | Data converting apparatus and coefficient determining apparatus for use therewith | |
CN115529350A (en) | Parameter optimization method and device, electronic equipment and readable storage medium | |
Lughofer et al. | Online adaptation of Takagi-Sugeno fuzzy inference systems | |
Flentge | Locally weighted interpolating growing neural gas | |
JP2000259598A (en) | Optimization learning method for neural network | |
CN113252036B (en) | Variation self-adaptive collaborative navigation method based on belief propagation | |
JP3597341B2 (en) | Globally accelerated learning method for neural network model and its device | |
JPH08221378A (en) | Learning machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051220 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060220 |
|
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: 20060523 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060605 |
|
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: 20100623 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110623 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110623 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |