首页 / 专利库 / 人工智能 / 进化算法 / Device for outputting approximate value and its learning device

Device for outputting approximate value and its learning device

阅读:649发布:2021-07-25

专利汇可以提供Device for outputting approximate value and its learning device专利检索,专利查询,专利分析的服务。并且PROBLEM TO BE SOLVED: To construct an approximate value outputting device (CMAC) which outputs a value approximating a true value decided by a combination of inputted data with a small amount of data quantity and in a short time.
SOLUTION: This CMAC has a cerebellum model part provided with a plurality of layers of layer models having a granule cell value in each combination of a plurality of sections obtained by dividing a range that can be taken by various data and a calculating part which specifies the granule cell value of a combination of corresponding sections from a plurality of kinds of inputted data, adds the granule cell values of each layer and calculates an approximate value, and the division position of the cerebellum model part is made suitable by evolutionary algorithm within the range of the number of designated divisions. This learning device for a granule cell value has a specifying part which specifies a granule cell value before learning corresponding to the combination of plurality of kinds of inputted data, an adding part which adds specified granule cell values, a deviation calculating part which calculates the deviation between the added value and the true value, an updating part which updates the granule cell value before learning on the basis of the deviation and the number of the layers of the layer model and a controlling part which starts the specification processing of the specifying part before the updating part completes update processing.
COPYRIGHT: (C)2001,JPO,下面是Device for outputting approximate value and its learning device专利的具体信息内容。

【特許請求の範囲】
  • 【請求項1】 複数種のデータを入力し、そのデータの組合せで決まる真値に近似する値を出力する近似値出力装置であり、 各種類のデータがとり得る範囲を複数に分割した区画の組合せ毎に顆粒細胞値を有する層モデルを複数層備えた小脳モデル部と、 入力された複数種のデータから対応する区画の組合せの顆粒細胞値を特定し、各層毎の顆粒細胞値を加算して近似値を計算する計算部を有し、 前記小脳モデル部の分割位置が、指定された分割数の範囲内で、進化的アルゴリズムで適切化されていることを特徴とする近似値出力装置。
  • 【請求項2】 各種類のデータがとり得る範囲を複数に分割した区画の組合せ毎に顆粒細胞値を有する層モデルを複数層備え、複数種のデータが入力されたときに、対応する区画の組合せの顆粒細胞値を特定し、各層毎の顆粒細胞値を加算して近似値を出力する近似値出力装置で用いられる前記顆粒細胞値の学習装置であり、 入力された複数種のデータの組合せに対応する学習前の顆粒細胞値を特定する特定部と、 特定された顆粒細胞値を加算する加算部と、 加算値と真値の偏差を計算する偏差計算部と、 偏差と層モデルの層数に基づいて学習前の顆粒細胞値を更新する更新部と、 前記更新部の更新処理の完了前に、前記特定部の特定処理を開始させる制御部とを有する学習装置。
  • 说明书全文

    【発明の詳細な説明】

    【0001】

    【発明の属する技術分野】この発明は、真値を計算するのに長時間を要する場合に、近似値を短時間に計算する技術に関する。

    【0002】

    【従来の技術】上記目的のために、特開平5−2044
    05号公報に記載の技術が知られている。 この技術では小脳モデルを用いる。 そこで、まず、小脳モデルを概観する。

    【0003】(1)小脳モデルの概観 「小脳モデル」は複数種の変数の組合せで一つの値が決定される場合を扱う。 例えば、空調機の最適熱量を決定する過程を考える。 最適熱量を計算するためには、外気温、室温、室内容積、天井高さ、窓面積、室内設備の発生熱量、居住する人数、居住する人の活動度等の多種類の変数が必要とされる。 あるいは、自動車の制動の最適値を決定する過程にも、路面と車輪の摩擦係数、停止するまでに許される移動距離、車両重量、車速、搭乗人数等の多種類の変数が扱われる。 このような問題では、
    外気温、室温、室内設備の発生熱量等の多種類の変数を入力し、入力された外気温、室温、室内設備の発生熱量等のデータの組合せによって、そのときの最適熱量が計算される。 通常この計算過程は複雑なことが多い。 多種類の変数を入力してから一つの値を決定するまでの時間を高速化する必要が多く存在する。 この計算が実現象に追従できないと制御不能となるからである。 現状においてはコンピュータの処理速度の高速化によってこの問題に対処している。 しかしながら、問題によっては計算時間が要求時間に間に合わず、制御不能になっている問題も多い。 そこで、多種類の変数の組合せで真値が決まる場合に、近似値を短時間で計算する必要が存在する。 現象に対する研究が進めば進むほど、一つの要素が他の要素と複合して結果に及ぼす影響が明らかになり、得られる結果の精度が向上する反面、決定式は複雑化して計算に時間を要するようになる性格を持っている。 研究が進めば進むほど、近似値を短時間で求める必要が多くなる。

    【0004】小脳モデルを利用した計算機(Cerebellar
    Model Arithmetic Computer、以下CMACという)
    は、複数種のデータを入力し、そのデータの組合せで決まる真値に近似する値を高速に計算して出力する近似値出力装置ということができる。 CMACは、各種類の変数(各種類のデータ)がとり得る範囲を複数に分割した区画の組合せ毎に顆粒細胞値を有する層モデルを複数層備えた小脳モデル部と、入力された複数種のデータから対応する区画の組合せの顆粒細胞値を特定し、各層毎の顆粒細胞値を加算して近似値を計算する計算部を有している。

    【0005】図示の明瞭化のために、2入力1出力の場合を例示する。 例えば、気温と湿度を入力して(2入力)そのときの最適熱量(1出力)を計算する場合を例とする。 図1に示すように、CMACでは、各変数(種類毎のデータ、例えば気温なら気温、湿度なら湿度)について、各変数(データ)がとり得る範囲を複数に分割して区画に分ける。 図1では、第1変数(この場合は気温)についてA1〜A5の5つの区画に分割し、第2変数(この場合は湿度)についてB1〜B5の5つの区画に分割した場合を例示している。 この結果、区画の組合せが発生する。 図1の場合、A1〜A5とB1〜B5の各5個の区画によって25個の区画の組合せが生じる。
    CMACでは、区画の組合せの一つ一つを顆粒細胞と呼ぶ。 そしてCMACでは、各顆粒細胞毎に予め或る値を割付けておく。 この値を顆粒細胞値という。 CMACでは、区画の組合せ毎に(すなわち顆粒細胞毎に)顆粒細胞値を有するものを層モデルといい、これを複数層用意しておく。 図1では4層の層モデルを有する場合を例示している。 通常は必要な近似精度に合わせてCMACのユーザーが層数を決定する。 あるいは、後記する進化的アルゴリズムを活用して必要な層数を算出する。 これについては後記する。

    【0006】CMACでは、複数種のデータが入力されたときに、対応する区画の組合せを特定し、対応する顆粒細胞値を特定し、各層毎の顆粒細胞値を加算して近似値を計算する。 すなわち、図1の場合、気温と湿度という2種のデータが入力されたとき、入力された気温と湿度のデータの組合せに対応する顆粒細胞を第1〜第4層の各層モデルのそれぞれについて特定し、その顆粒細胞の顆粒細胞値を特定し(図1の場合、第1層での顆粒細胞値がW1、第2層での顆粒細胞値がW2、第3層での顆粒細胞値がW3、第4層での顆粒細胞値がW4と示されている)、その顆粒細胞値を加算処理する。

    【0007】加算結果が真値に近似する値であるためには、顆粒細胞値が結果として近似値をもたらす値に調整されていなければならない。 CMACでは、学習することで顆粒細胞値を適値に調整しておく。 顆粒細胞値が適値に学習されていれば、顆粒細胞値の和が良い近似値を与える。 顆粒細胞の大きさ(分割の細かさ)と層数を適切に取ることによって、真値を計算するのに長時間を要する複雑な事象に対して、CMACによって短時間で良い近似値が計算されることが数学的に検証されている。

    【0008】CMACの場合、顆粒細胞値の学習のための時間を短縮化することが大きな課題となっている。 また、CMACの場合、短時間で近似値を出力することを使命としており、必要とするデータ量の圧縮が求められている。 当然のこととして、図1に例示した顆粒細胞が細かく分割されていればいるほど近似の程度が向上するものと期待される。 しかし、細かく分割すると必要なデータ量が増大し、CMACの使命に反することになる。
    CMACの場合、限られた分割数の中で処理することが求められている。 そこで、CMACの場合、各変数が取り得る範囲を、限られた分割数の制約の中でどう分割するかが大きな課題となっている。 範囲を単純に等分割することでは対応できないことが多い。 変数がわずかに変動することで出力値が敏感に変動する領域もあれば、鈍感にしか変動しない領域もある以上、等分割が最適分割であることはむしろ例外である。 そこで、上記2つの課題、すなわち、顆粒細胞値の学習技術と、分割の適切化問題に関する技術の現状を次に概観する。

    【0009】(2)顆粒細胞値の学習技術 CMACでは、「近似値=各層モデルでの顆粒細胞値の和」の式で近似値を求める。 CMACが実際に活用される場合には真値がわからない。 真値を計算していては間に合わないときに近似値を求めるためにCMACは利用されるからである。 ただし、CMACを実際に活用する以前の段階では時間をかけて真値を計算することができる。 あるいは時間をかけて各顆粒細胞毎に顆粒細胞値の最適値を実験的に求めておくこともできる。 先の例でいえば、自動車の制動力を実際に制御する局面に至っては最適制動力を求めるのに時間がかかりすぎるのに対し、
    自動車の出荷前に時間をかけて各顆粒細胞毎に顆粒細胞値を最適値に調整しておくことができる。

    【0010】CMACの顆粒細胞値の学習段階では真値を用いる。 具体的には次の処理で学習を進める。 第1工程:多種類の変数について各変数毎の値(データ)を入力する。 第2工程:入力されたデータの組合せに対応する学習前の顆粒細胞値を特定する。 第3工程:特定された顆粒細胞値を加算して近似値を求める。 第4工程:近似値と真値の偏差を求める。 第5工程:偏差を層モデルの層数で除する。 第6工程:第5工程で得られた除算値に学習係数を乗じた値をそれまでの顆粒細胞値に加算して学習後の顆粒細胞値を算出する。 ここで、学習係数は0.0〜1.0の間の定数であり、CMACのユーザが設定する。 学習スピードを重視するときには1.0に近い値を採用し、学習結果の安定性を重視するときには0.0に近い値を採用する。 第7工程:それまでの顆粒細胞値を、第6工程で得られた学習後の顆粒細胞値に置き換える。 以上の工程を繰返しているうちに、全部の顆粒細胞を通して、各顆粒細胞値が結果として良い近似値をもたらす適値に調整されていく。 このようにして良く学習した顆粒細胞値を有するCMACを活用することで、短時間に精度の高い近似値が出力される。

    【0011】(3)顆粒細胞の分割の適切化技術 例えば、0〜30度の温度範囲を3個の顆粒細胞に分割する場合、0〜10、10〜20、20〜30に等分割するのが最適とは限らない。 かえって0〜15、15〜
    25、25〜30のように不均等に分割したほうが、各種条件を通して全体として良い近似を実現することがありえるのである。 そこで適切分割位置を決定する技術が必要である。 現状ではこれに対する有効な技術が存在しない。 もっとも普通には範囲を当分割し、前記の顆粒細胞値の学習処理を進め、必要とされる近似精度が得られなければ分割数を増やして前記処理を繰返し、必要とする精度が得られるまで分割数を増やしていく。 冒頭に記載した特開平5−204405号公報には、分割位置の適切化問題に遺伝的アルゴリズムを用いる着想を示している。 しかしながら、この技術は分割数を決定する過程に遺伝的アルゴリズムを利用しており、分割数が制約されている中で適切分割位置を見つける問題を扱っていない。

    【0012】

    【発明が解決しようとする課題】CMACが性能を発揮するためには、顆粒細胞の分割位置が適切化されており、各顆粒細胞値が適値に学習されていることが必要とされる。 しかしながら、現状では、適切に分割する信頼性の高い技術が開発されておらず、実際に使用されているCMACでもその分割位置が適切であることは保証されていない。 また、顆粒細胞値の学習に長時間を要しており、これらがCMACの普及を妨げる要因となっている。 そこで本発明の一つの課題は、顆粒細胞の分割位置の決定過程に、短時間で解が見つかる数学的手法を導入することによって、分割の適切化問題を解決することにある。 また、他の一つの課題は、顆粒細胞値の学習処理を大幅に高速化する技術を実現することにある。 これらの課題が解決されることでCMACの活用範囲が拡張され、従来は制御不能であった事象がCMACの導入によって制御可能となることが期待される。

    【0013】

    【課題を解決するための手段と作用と効果】本発明は近似値出力装置に具現化される。 この近似値出力装置は、
    複数種のデータを入力し、そのデータの組合せで決まる真値に近似する値を出力する装置である。 この近似値出力装置は、各変数がとり得る範囲を複数に分割した区画の組合せ(顆粒細胞)毎に顆粒細胞値を有する層モデルを複数層備えた小脳モデル部と、入力された複数種のデータから対応する区画の組合せ(顆粒細胞)の顆粒細胞値を特定し、各層毎の顆粒細胞値を加算して近似値を計算する計算部を有している。 ここで、前記小脳モデル部の分割位置が、指定された分割数の範囲内で、進化的アルゴリズムで適切化されていることを特徴とする。

    【0014】ここでいう進化的アルゴリズムとは、「遺伝アルゴリズムと最適化」(システム制御学会編、三宮信夫、喜多一、玉置久、岩本貴司著、朝倉書店)等に記されている解の探索アルゴリズムをいう。 今おびただしい数の解の候補が存在するとする。 解の探索手法のもっとも素朴な方法は、すべての解の候補について順順に検証いく方法であろう。 しかしながら、この方法では解の探索に長時間を要する。 そこで、当然の事ながら、正しい解が得られるであろう方向に向けて解の探索を進めることが好ましい。 進化的アルゴリズムとは、解の探索過程に生物の進化の過程を類推して導入した方法ということができ、代表的には、遺伝的アルゴリズム(Genetic
    Algorithm 以下GAという。 ミシガン大学のJ.Holland
    を中心とするグループによって研究されたアルゴリズムであり、2個の遺伝子の交差を重視して進化の過程を捉える手法ということができる)、進化プログラミング(Evolutionary Programming以下EPという。アメリカ合衆国のL.Fogelを中心とするグループによって研究されたアルゴリズムであり、遺伝子の選択と突然変異を重視して進化の過程を捉える手法ということができる)、
    進化戦略(Evolution Strategy 以下ESという。ドイツのI.Rechenbergを中心とするグループによって研究されたアルゴリズムであり、遺伝子の選択と突然変異を重視して進化の過程を捉える手法ということができる)、
    バクテリア進化型アルゴリズム(Bacterial Evolutiona
    ry Algorithm 以下BEAという。 本発明者の一人である古橋を中心とするグループによって研究されたアルゴリズムであり、バクテリアの進化の過程に見られる遺伝形質の集団内での平伝播と部分形質の逆伝播を取り入れた解の探索アルゴリズムということができる)等の手順が例示される。 ただし、以上は進化的アルゴリズムの一例であって、この発明で言う進化的アルゴリズムは、
    これらのものに限定されるものではない。

    【0015】この進化的アルゴリズムをCMACの顆粒細胞への分割問題に適用すると、最小の分割数で適切に分割して、必要とされる近似精度を満たすことのできる解が得られる。 この結果、データ量が少なく、必要とされる近似精度を満たすことのできるCMACが短時間で実現され、CMACの利用可能性が広げられる。

    【0016】本発明はまた顆粒細胞値の学習装置に具現化される。 この学習装置は、近似値出力装置の小脳モデル部の顆粒細胞値の学習装置であって、入力された複数種のデータの組合せに対応する学習前の顆粒細胞値を特定する特定部と、特定された顆粒細胞値を加算する加算部と、加算値と真値の偏差を計算する偏差計算部と、偏差と層モデルの層数に基づいて学習前の顆粒細胞値を更新する更新部と、前記更新部の更新処理の完了前に前記特定部の特定処理を開始させる制御部とを有する。

    【0017】従来の学習技術は、従来技術の(2)の項で説明したように、 「第1工程:多種類の変数について各変数毎の値(データ)を入力する。 第2工程:入力されたデータ組合せに対応する学習前の顆粒細胞値を特定する。 第3工程:特定された顆粒細胞値を加算して近似値を求める。 第4工程:近似値と真値の偏差を求める。 第5工程:偏差を層モデルの層数で除する。 第6工程:除算値に学習係数を乗じた値を学習前の顆粒細胞値に加算して学習後の顆粒細胞値を算出する。 第7工程:学習前の顆粒細胞値を学習後の顆粒細胞値に置き換える。」という手順で顆粒細胞値の学習を進める。 この処理にはコンピュータが利用され、演算装置がプログラムに従って第1〜7工程を繰返し実行して学習処理を進めていた。 この学習処理の過程をより高速化するためには、コンピュータをプログラムして学習処理を実行させるよりも、学習処理専用の装置を構成したほうが早いことが本発明者らによって知徳された。 さらに、
    学習装置をハードウエアで構成するときに、ソフトウエアで用いられる学習手順をそのままハードウエア化すると、処理待ち時間が発生し、ハードウエア化して高速化する利点が十全に得られないことが知徳された。

    【0018】前記学習装置はこの問題を解決する。 学習装置をハードウェア化すると、入力された複数種のデータの組合せに対応する学習前の顆粒細胞値を特定する特定部と、特定された顆粒細胞値を加算する加算部と、加算値と真値の偏差を計算する偏差計算部と、偏差と層数に基づいて学習前の顆粒細胞値を更新する更新部が必要とされる。 この場合、顆粒細胞値が更新された後に、次のデータが入力されて顆粒細胞値が特定されるようにしないと、顆粒細胞値の学習が正しく進行してゆかないはずである。 従来の学習技術では、一つのデータの組合せに対する更新処理が終了してから次のデータの組合せを入力している。 しかしながら、ハードウエア化された装置の場合、上記手順に従って動作させると、学習前の顆粒細胞値の特定処理が終了した時から次の特定処理を開始する時までの間に待ち時間が発生してしまい、装置としては処理できるものが処理されないことになる。 そこで、本発明者が鋭意研究し、学習の完了を待って次のデータを入力することで誤学習を防止するメリットと、学習の完了を待たないで次のデータを入力することで処理速度を向上させるメリットを比較したところ、後者の方式によって得られる学習速度の短縮化効果の方が重要であり、誤学習による悪影響はほとんど生じないかあるいは悪影響が生じないように手当てできることが確認された。

    【0019】この発明の学習装置は上記知見によって開発されたものであり、学習装置の制御部が、更新部の更新処理の完了前に特定部による特定処理を開始させることを特徴とする。 この学習装置によって学習速度が大幅に向上し、信頼性の高いCMACを用意するまでの時間が大幅に短縮化される。 この学習装置は、出願時の装置価格による限り、ハードウエア化して具現化することが得策である。 しかしながら、技術的には、複数の演算装置を備えて並列処理することが可能な計算機をプログラムすることで具現化することもできる。 この発明は、コストパーフォンマンスの面から当面はハードウエア化して具現化されるであろうが、将来的には並列処理計算機で具現化されることが想定される。

    【0020】

    【発明の実施の形態】次に本発明の実施の形態を説明する。 図2はここで扱う技術の全体の流れを示している。
    S214以降はCMACの活用段階を示し、それ以前の処理が活用に耐えるCMACの調整段階を示す。 まず、
    ステップS200では、CMACの顆粒細胞数を仮決定する。 たとえば出力値が0〜11のいずれかの整数であり、要求される精度がプラスマイナス1の場合、0〜2
    について1の近似値が、3〜5について4の近似値が、
    6〜8について7の近似値が、9〜11について10の近似値が出力されなければならず、少なくとも4個の顆粒細胞が必要とされることがわかる。 これを分割の最小数とする。

    【0021】次に、ステップS202で、分割位置に関する一つの解の候補を決定する。 図3は第1の変数x1
    が0〜10の値をとり、第2の変数x2が0〜100の値をとり、第1の変数x1のCMACにおける分解能が1で、第2の変数x2のCMACにおける分解能が10
    の場合を例示している。 ここで各変数は整数しかとらないとすれば、第1の変数について1.1から9.1の9箇所に分割可能な位置があり、第2の変数について11から9
    1の9箇所に分割可能な位置がある。 なおここでは第1
    の変数について入力値1と2を区別するために1.1で分割しているが、2未満で1を超える値のどこで分割しても同じであるために、便宜上1.1としている。 その他の分割可能位置も同様である。

    【0022】この実施の形態では、分割可能な位置にそれぞれ1ビットを割付け、分割する位置には1を割付け、分割しない位置には0を割付けることで分割位置を記述することにする。 なお、この2進数では、第1の変数に関する分割位置を記述する2進数に、第2の変数に関する分割位置を記述する2進数を連続させることで一つの2進数とする。 図2のステップS202では、図3
    に例示するケースの場合、18ビットの2進数において、ステップS200で決定された分割数に等しい数だけの1を有する任意の2進数を作成する。 なお、図3では、2変数の場合を例示したが、3変数以上の場合も同様であり、第1の変数の分割可能な位置に対応して1ビットを有し、分割位置で1、非分割位置で0を有する2
    進数に、第2の変数に対する同様の2進数、第3の変数に対する同様の2進数を続けた一連の2進数で、層モデルの分割位置を記述する。 CMACは、図1に関連して説明したように、複数の層モデルを有する。 一般的に、
    層モデル毎に分割位置を異ならせることが好ましい。 分割位置を層モデル毎に異ならせることで、実質的な分割数を増大させられるからである。 分割位置を記述する2
    進数の例を図4に示す。 第1層の分割位置を記述する2
    進数に続けて第2層の2進数が続き、これが層モデルの全部について続けられる。 図4はn入力m層のCMAC
    の分割位置を記述する2進数の例を示している。

    【0023】以上の処理によって、仮の分割が決められたので、次にステップS204で顆粒細胞値の学習処理を進める。 学習に先だって顆粒細胞値は初期化されており、例えば全顆粒細胞値が1.0とされている。 学習の開始時には、図1に一例を示すCMACで全顆粒細胞値が
    1.0になっているのである。 この状態から学習を進める。 以下、図1に例示される2入力(2変数)1出力の場合について例示するが、数学的には変数の数に無関係に適用されるものである。

    【0024】顆粒細胞値の学習では、図5に示す処理を多数回繰返して実行する。 まず、最初に、複数種のデータの組合せを入力する。 すなわち第1の変数x1の値、
    第2の変数x2の値、…(図4の場合にはn種類の変数を入力するために)…第nの変数xnの値を入力する。
    これが最初の入力なので、これを図5では第1回のデータ群の入力処理1Aと記載されている。 次に、処理1B
    に進み、入力されたデータ群の組合せに対応する顆粒細胞値を特定する。 ここではm層の層モデルを有しているために、m個の顆粒細胞値が特定される。 次に処理1C
    で、顆粒細胞値が加算される。 ここでは加算結果(即ち和)をΣWとする。 次に処理1Dで、真値Wから加算値ΣWを減じて偏差eを計算する。 次に処理1Eで、偏差eを層モデルの層数mで除し、除算値e/mに学習係数gを乗じた値を学習前の顆粒細胞値に加算して学習後の顆粒細胞値を算出する。 最後に処理1Fで、学習前の顆粒細胞値を学習後の顆粒細胞値に置き換える。 このとき、すべての層モデルで顆粒細胞値を学習後の値に更新する。 以上の処理によって、1回目に入力されたデータ群を用いた学習処理が終了するので、次に2回目のデータ群を入力する。 これが処理2Aと示されている。 以下、このデータ群を用いた学習処理を進める。 これを多数回繰返す。 前記したように、層モデル毎に分割位置が相違しているために、例えば図1に示すように、第1回のデータ入力時には顆粒細胞値W1〜W4が更新されたのに、第2回のデータ入力時には、顆粒細胞値W1とW
    3が更新され、第2層と第4層については隣接する顆粒細胞の顆粒細胞値が更新されるという現象が生じる。 このようにして、層モデル毎に、異なる顆粒細胞値に学習されていく。

    【0025】多数回データを入力しているうちに、すべての顆粒細胞で顆粒細胞値が更新されていき、更新される毎に、加算値が真値に近づいていくために、学習済みの顆粒細胞値を有するCMACを用いると、顆粒細胞値を加算するという簡単な処理で近似値が得られることになる。

    【0026】図6は、上記した学習処理を、そのまま実行するときの処理内容を時間軸にそって示したものであり、1回目のデータ入力1Aをきっかけとして1回目の更新処理1Fが終了するまでは2回目のデータ入力2A
    が実行されないことになる。

    【0027】これに対して、図7は本発明を用いて処理をパイプライン化した場合を示し、この場合は各処理部が待ち時間を持たず、処理し続けることを特徴とする。
    この方式によると、2〜5回目のデータ入力に基づいて顆粒細胞値を特定する処理2B〜5Bでは、1度目の学習で更新処理1Fされる前の顆粒細胞値を特定することになる。 従って理屈の上では誤学習されてしまうことがある。 しかしながら、実際に学習処理を進めてみると、
    連続して入力されるデータ群が同じ顆粒細胞に対応する確率が低いことと、学習値を安定化させるために学習係数gを比較的小さめに設定する必要が多いことがあいまって、誤学習の機会が少なく、またたとえ誤学習が起こってもその影響が小さいことがわかった。 このために、
    CMACの精度を下げることなく、図6の方式から図7
    の方式に切り替えて処理をパイプライン化することが可能であることが確認された。 処理をパイプライン化することによって、学習スピードは大幅に向上した。

    【0028】図8は、パイプライン化された学習装置の一例を示している。 この装置は、Field Programmable G
    ate Array (FPGA)とFPGAボードを用いて作成した。 回路はVHDL言語で設計され、配線・配置にはAl
    tera Max +Plus IIを用いた。 この装置はコンピュータをプログラムして学習させるソフトウエア方式に対して、学習専用装置を構築して処理するハードウエア方式ということができる。 両方式を比較実験した結果、ハードウエア化することで学習処理が格段に高速化されることが確認された。 図8は図示の明瞭化のために、2層のCMACのための学習装置の構成を示している。 2層以上に拡張できることは当然である。

    【0029】図8において、70は多変数のデータ群の入力部であり、x1、x2、…というデータ群を入力する。 72はCMACの第1層の層モデルを有し、入力されたデータ群に対応する顆粒細胞値を特定して出力する。 74は第2層の層モデルを有し、入力されたデータ群に対応する顆粒細胞値を特定して出力する。 76は加算部である。 78は真値の入力部である。 真値は、予め正確に計算された値、あるいは、実験的に正確であることが検証されている値が用いられる。 80は真値から加算値を減じる偏差計算部である。 82と84は、偏差e
    を層モデルの層数mで除し、除算値e/mに学習係数g
    を乗じた値を学習前の顆粒細胞値に加算して学習後の顆粒細胞値を算出する学習後顆粒細胞値算出部である。 C
    MACの第1層72に対して第1層の学習後顆粒細胞値算出部82で算出された学習後の顆粒細胞値が出力されることで第1層の顆粒細胞値が学習後の値に更新される。 同様に、CMACの第2層74に対して第2層の学習後顆粒細胞値算出部84で算出された学習後の顆粒細胞値が出力されることで第2層の顆粒細胞値が学習後の値に更新される。

    【0030】図8は、図7のタイミングT0での処理状態を示し、データ群(ベクトルP0)を最初に入力する。 図9は、図7のタイミングT1での処理状態を示し、第1回目に入力されたデータ群(ベクトルP0)に対応する顆粒細胞値(a7、b1)が特定され、加算部76に送られることを示している。 このとき、2回目のデータ群(ベクトルP1)が入力される。 図10は、図7のタイミングT2での処理状態を示し、第1回目に入力されたデータ群に対応する顆粒細胞値が加算され(a
    7+b1)、偏差計算部80に送られる。 また、1回目のデータ群(P0)に対応する真値q0が、偏差計算部80に送られる。 また、2回目に入力されたデータ群(ベクトルP1)に対応する顆粒細胞値(a9、b2)
    が特定され、加算部76に送られる。 さらに3回目のデータ群(P2)が入力される。 図11は、図7のタイミングT3での処理状態を示し、第1回目に入力されたデータ群に対応する真値q0から加算値(a7+b1)が減じられて偏差e3が求められ、求められた偏差e3が学習後顆粒細胞値算出部82、84に送られる。 また、
    CMACの第1層72から第1回目に入力されたデータ群に対応する学習前の顆粒細胞値a7が送られ、CMA
    Cの第2層74から第1回目に入力されたデータ群に対応する学習前の顆粒細胞値b1が送られる。 さらに、2
    回目に入力されたデータ群に対応する顆粒細胞値の加算値(a9+b2)とその真値q1が偏差計算部80に送られる。 さらに、3回目の入力データに対応する顆粒細胞値(a16、b3)が加算部76に送られ、4回目のデータ群(P3)が入力される。 図12は、図7のタイミングT4での処理状態を示し、1回目に入力されたデータ群に対応する真値q0から加算値(a7+b1)が減じられて求められた偏差e3が層数mで除され、除算値e3/mに学習係数gが乗じられ、乗じられた値が学習前の顆粒細胞値a7に加算されて学習後の顆粒細胞値a7'が算出される。 この算出処理は第1層の学習後顆粒細胞値算出部82で算出される。 同様に、除算値e3
    /mに学習係数gが乗じられた値が学習前の顆粒細胞値b1に加算されて学習後の顆粒細胞値b1'が算出される。 この算出処理は第2層の学習後顆粒細胞値算出部8
    4で算出される。 さらに、2回目に入力されたデータ群に対応する真値q1から加算値(a9+b2)が減じられて偏差e4が求められ、求められた偏差e4が学習後顆粒細胞値算出部82、84に送られる。 また、CMA
    Cの第1層72から2回目に入力されたデータ群に対応する学習前の顆粒細胞値a9が送られ、CMACの第2
    層74から2回目に入力されたデータ群に対応する学習前の顆粒細胞値b2が送られる。 さらに、3回目に入力されたデータ群に対応する顆粒細胞値の加算値(a16
    +b3)とその真値q2が偏差計算部80に送られる。
    さらに、4回目の入力データに対応する顆粒細胞値(a
    3、b4)が加算部76に送られ、5回目のデータ群(P4)が入力される。 図13は、図7のタイミングT
    5での処理状態を示し、図12のタイミングで算出された学習後の顆粒細胞値a7'によって、それまでCMA
    Cの第1層72に記憶されていた学習前の顆粒細胞値a
    7が書きかえられる。 同様に、図12のタイミングで算出された学習後の顆粒細胞値b1'によって、それまでCMACの第2層74に記憶されていた学習前の顆粒細胞値b1が書きかえられる。 さらに、2回目に入力されたデータ群に対応する真値q1から加算値(a9+b
    2)が減じられて求められた偏差e4が層数mで除され、除算値e4/mに学習係数gが乗じられ、乗じられた値が学習前の顆粒細胞値a9に加算されて学習後の顆粒細胞値a9'が算出される。 この算出処理は第1層の学習後顆粒細胞値算出部82で算出される。 同様に、除算値e4/mに学習係数gが乗じられた値が学習前の顆粒細胞値b2に加算されて学習後の顆粒細胞値b2'が算出される。 この算出処理は第2層の学習後顆粒細胞値算出部84で算出される。 さらに、3回目に入力されたデータ群に対応する真値q2から加算値(a16+b
    3)が減じられて偏差e5が求められ、求められた偏差e5が学習後顆粒細胞値算出部82、84に送られる。
    また、CMACの第1層72から第3回目に入力されたデータ群に対応する学習前の顆粒細胞値a16が送られ、CMACの第2層74から第3回目に入力されたデータ群に対応する学習前の顆粒細胞値b3が送られる。
    さらに、4回目に入力されたデータ群に対応する顆粒細胞値の加算値(a3+b4)とその真値q3が偏差計算部80に送られる。 さらに、5回目の入力データに対応する顆粒細胞値(a10、b5)が加算部76に送られ、6回目のデータ群(P5)が入力される。

    【0031】以上のように、時間の経過とともに、各処理部が休み無く動作するように、制御部88が各処理装置に入力と出力を指令する。 この装置の場合、学習後の顆粒細胞値算出部82,84と、それらで算出された学習後の値を各層毎のCMAC72、74に出力してCM
    AC72,74にそれまで記憶されていた学習前の顆粒細胞値を学習後の顆粒細胞値に書きかえる動作によって、更新部が構成されている。

    【0032】以上の処理が多数回繰り替えされて顆粒細胞値の学習が進行する。 そして学習用データ群に対する処理が終了することで学習処理が終了する。 これによって図2のステップS204の処理が終了する。 次に処理は学習結果を評価する。 ここでは、学習後の顆粒細胞値の加算値と真値の偏差を二乗したものを多くのデータについて加算し、その加算値の大小を基準値と比較する。
    学習処理によって顆粒細胞値は適値に学習されているはずである。 しかるに、顆粒細胞の分割位置が不適切であったり、あるいは、分割数が少なすぎたりすれば、いかにうまく顆粒細胞値を学習しても必要な近似精度が得られない。

    【0033】学習結果が満足な場合、分割数も適切であり、分割位置も適切であり、さらに顆粒細胞も適値に学習されていることが確認されたことから、以後、このC
    MACを活用して各種制御に利用される(ステップS2
    14)。

    【0034】しかしながら、図2の場合、最小分割数で処理を開始しており(S200)、また、任意に分割位置を決めているにすぎないので(S202)、最初からステップS206でOKとなることはまずない。 この場合、ステップS208以下が実行されて分割位置の適切化と必要な分割数の最小値の探索が行われる。 以下ではその処理内容を説明する。

    【0035】この技術では、分割位置の適切位置を探索するために、進化的アルゴリズムを利用する。 ここでは、まず最初にバクテリア進化型アルゴリズムを利用する例を説明し、ついで、遺伝的アルゴリズムを利用する例について説明する。

    【0036】「バクテリア進化型アルゴリズムを利用する分割位置の探索例」ここで用いるバクテリア進化型アルゴリズムは、解の探索手法として本発明者の一人である古橋によって研究され、発表されたものであり、例えば、特願平10-361113号の明細書と図面、局所改善型遺伝的アルゴリズムの提案とファジイルールの発見(日本ファジイ学会誌、Vol.7, No.5, pp.978-987(19
    95))、Bacterial Evolutionary Algorithmのハードウェア化による高速化(日本ファジイ学会研究部会研究報告書(SOFT Technical Report)(ECOMP-98-2-27)、Ba
    cterial Evolutionary Algorithmのハードウェア化による高速演算(高速信号処理応用技術学会誌 Vol.2, No.2
    (1999.6))において発表されている。 この発明は、この解の探索手法をCMACの分割位置の適切化問題に適用可能であり、適用することでCMACの信頼性を向上できることが検証されたことに立脚している。

    【0037】この実施の形態では、図3ないし図4の示した2進数の中から、近似の程度を向上させる分割位置を記述する2進数を探索していく。 そのために、図1
    4、15に示される処理を繰返し実行する。 今図4の2
    進数がXビットであるとする。 BEAではこのXビットのイチ・ゼロの並び130(図15参照)をバクテリアの染色体に類推する。 一方においてそれよりもビット数の少ないイチ・ゼロの並び131を用意する。 最初は任意の並びを採用する。 BEAではこれをバクテリア遺伝子に類推する。

    【0038】BEAでは最初に、Xビットの染色体13
    0の一部をバクテリア遺伝子131におきかえる。 これをGTO(Gene Transfer Operation)という。 次に染色体をm個の部分に分け、そのうち一つの部分について突然変異をおこす。 ここで突然変異とはある確率でゼロがイチに変化し、イチがゼロに変化することを言う。 この突然変異の結果をk個作る。 このk個の染色体で記述される分割の一つ一つについて、図2のS204の顆粒細胞値の学習をし、学習結果を評価し、最も良く近似する結果をもたらす染色体を選ぶ。 これが図14のステップS128に示され、選択された染色体が133に示されている。 なお、突然変異した部分が丸印で示される。

    【0039】次に染色体133についてまだ突然変異していない領域について突然変異を起こし、これをk個用意し、先と同様の処理をしてk個のなかから最も良い近似をもたらす染色体を選択する。 以上のプロセス、即ち、部分領域内で突然変異を起こして最も良い近似値をもたらす染色体を選択する処理を、全部の領域について実施する。 これで染色体135が得られる。 この染色体は各部分について見たときに、望ましい分割位置を記述していると期待される。 このようにして得られた染色体135から任意の領域を選び出してこれを今までのバクテリア遺伝子と置き換える。 置き換えた後に前記の一連を処理を繰返し実行する。

    【0040】上記の一連の処理において、この実施の態様では、許容分割数以上にイチの値を有する染色体を評価の対象にせず、次世代の染色体の生成に用いない。 あるいは遺伝的演算において、イチの数が許容分割数以上にならないように制約を加える。 この制約を課する事で、限られた分割数の制約内で最も良い近似結果を実現する分割位置が探索されていく。

    【0041】ステップS208に示すように、進化の回数が所定回数に達しない間は、図14ないし図15で説明したBEAを用いて新たな染色体を作り、それを解の候補として、顆粒細胞値の学習処理と評価を繰返す。 進化の回数が所定回数に満たないうちに評価を満たす分割位置が得られれば、そのときの制約となっている分割数のなかでうまく分割すれば評価を満たす分割位置が存在し、その分割位置が見つかったことに相当する。 一方、
    所定回数進化を繰返しても評価が得られなければ、ステップS212で分割数を増やして再度評価を満足できる分割位置の探索を進める。

    【0042】図2の処理によって、与えられた分割位置に対して最も良く近似する顆粒細胞値が学習され、顆粒細胞値が適値に学習されても良好な近似が得られない場合には、分割数を少なく保ちながらより好ましい分割位置が探索され、その探索にあたっては解の探索手法として有用性が数学的に検証されている進化的アルゴリズムを用いることから、解が存在するとすればその解が高確率で探索されると予想され、それでも評価を満たす解が得られない場合には分割数を増加して再度探索する処理が実施される。 この処理によって、最も少ない分割数で評価を満たす分割位置と顆粒細胞値が決定されることになり、CMACの利用可能性が大きく広がるものと考えられる。

    【0043】このようにして、最小な分割数で、適切な分割位置で分割され、最適な顆粒細胞値を有するCMA
    Cが得られると、ステップS214で実際に活用される。 この段階では複雑な問題に対して短時間で近似値が得られるために、従来の計算技術では計算が間に合わないために制御できないでいる高速事象が制御できることになる。 なお、実際に活用する段階でも顆粒細胞値の学習を続けることはできる。 実時間では計算ないし検出できない真値でも、時間をかければ計算することができ、
    これを使って事後的に学習することはできるからである。

    【0044】上記の実施の形態では、最小分割数で要求される近似精度を満たす分割位置を探索する問題を記述してきた。 しかしながら、場合によっては、近似の程度を落としても分割数を減少させる必要があることがあり、この場合には、図14の処理において、選択と淘汰の処理S128で、誤差と分割数を総合して評価できる指標(例えば誤差に定数を乗じて規格化した値に分割数を加えた指標が考えられる)を用いることになる。 また、上記の例ではCMACの層数mが予め決められている場合を説明した。 これに対し、図2のステップS21
    2に代えて、まず層数1をインクリメントして解を探索するようにすることで、必要とされる近似精度を満たすことができる最小モデル層数を進化的アルゴリズムを活用して数学的に探していくこともできる。

    【0045】「遺伝的アルゴリズムを利用する分割位置の探索例」この技術は本質的には特開平5-20440
    5号公報に記載されており、処理内容自体については繰返し紹介する必要が無い。 ただしこの公報では、遺伝的アルゴリズムを分割数の決定に利用しており(段落00
    35参照)、分割可能なq個の位置のどこでも分割できるという条件で遺伝的アルゴリズムを適用する結果(段落0077等を参照)、分割位置を適切化することで分割数を少なくできること、あるいは分割数が制約を受けるなかで適切分割位置を探索することができなくなっている。

    【0046】本実施形態では、少ない分割数の中で分割位置を探索し、どうしても発見できない場合に分割数の増加を許す手順に従って遺伝的アルゴリズムを適用する。 あるいは、誤差と分割数を総合的に評価する指標によって選択と淘汰の処理を実行する。 このことによって、本実施例によると、データ量が少なく近似の程度が良いCMACが遺伝的アルゴリズムによって得られる。

    【0047】以上に詳述した例は、発明の例示であり、
    発明の技術的範囲を制約するものででない。 本発明は、
    特許請求の範囲に記載された技術の範囲内で、当業者がさまざまな態様で実施することができる。

    【0048】

    【図面の簡単な説明】

    【図1】CMACの概念を模式的に示す。

    【図2】CMACの調整から活用段階までの処理手順を示す。

    【図3】分割位置とそれを記述する2進数の関係を示す。

    【図4】分割位置を示す2進数を一般的に示す。

    【図5】顆粒細胞値の学習のための処理手順を示す。

    【図6】顆粒細胞値の学習のための処理手順と時間の経過を模式的に示す。

    【図7】顆粒細胞値の学習のための処理手順と時間の経過を模式的に示す。

    【図8】ハードウエア化された学習装置の構成を示す。

    【図9】学習装置のあるタイミングでの処理内容を示す。

    【図10】学習装置の図9に続くタイミングでの処理内容を示す。

    【図11】学習装置の図10に続くタイミングでの処理内容を示す。

    【図12】学習装置の図11に続くタイミングでの処理内容を示す。

    【図13】学習装置の図12に続くタイミングでの処理内容を示す。

    【図14】進化的アルゴリズムによって顆粒細胞の分割位置を探索する処理手順を示す。

    【図15】バクテリア進化型アルゴリズムを模式的に示す。

    【符号の説明】

    S204・・顆粒細胞の学習処理。 S210・・進化的アルゴリズムによって分割位置の候補を生成する処理。 72 ・・CMACの第1層 74 ・・CMACの第2層 76 ・・加算部 80 ・・偏差計算部 82 ・・学習後顆粒細胞値算出部 84 ・・学習後顆粒細胞値算出部 88 ・・制御部

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈