JP2020184268A - 演算処理装置、演算処理プログラム、及び演算処理方法 - Google Patents

演算処理装置、演算処理プログラム、及び演算処理方法 Download PDF

Info

Publication number
JP2020184268A
JP2020184268A JP2019089094A JP2019089094A JP2020184268A JP 2020184268 A JP2020184268 A JP 2020184268A JP 2019089094 A JP2019089094 A JP 2019089094A JP 2019089094 A JP2019089094 A JP 2019089094A JP 2020184268 A JP2020184268 A JP 2020184268A
Authority
JP
Japan
Prior art keywords
difference
accuracy
value
calculation
objective function
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.)
Granted
Application number
JP2019089094A
Other languages
English (en)
Other versions
JP7298284B2 (ja
Inventor
有紀人 ▲角▼田
有紀人 ▲角▼田
Yukito Tsunoda
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019089094A priority Critical patent/JP7298284B2/ja
Priority to US16/831,889 priority patent/US11550873B2/en
Priority to EP20166701.1A priority patent/EP3736746A1/en
Priority to CN202010285128.2A priority patent/CN111913685A/zh
Publication of JP2020184268A publication Critical patent/JP2020184268A/ja
Application granted granted Critical
Publication of JP7298284B2 publication Critical patent/JP7298284B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Physiology (AREA)
  • Operations Research (AREA)
  • Genetics & Genomics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Feedback Control In General (AREA)
  • Complex Calculations (AREA)

Abstract

【課題】進化的計算を用いる際に、適切な計算結果を短時間で得る。【解決手段】生成部12は、変数を表す個体に対する目的関数の値を進化的計算によって求める際に、前世代の複数の個体に基づいて、現世代の複数の個体を生成する。第1計算部14は、現世代の複数の個体のうちの一部の個体について、個体に対する目的関数の値を所定の方式で計算する。第2計算部16は、現世代の複数の個体の各々について、個体に対する目的関数の値を所定の方式よりも低い精度で近似計算する。精度差算出部18は、所定の方式で計算された目的関数の値と近似計算された目的関数の値との間の差異を表す精度差を算出する。適合度差算出部20は、目的関数の値に基づいて、目的関数の値の間の差異を表す適合度差を算出する。精度制御部22は、適合度差が大きいほど精度差が大きくなるように、かつ適合度差が小さいほど精度差が小さくなるように、近似計算の精度を制御する。【選択図】図1

Description

開示の技術は、演算処理装置、演算処理プログラム、及び演算処理方法に関する。
従来、入力されたデータの組合せで決まる真値に近似する値を出力する近似値出力装置が知られている。この近似値出力装置は、各種類のデータがとり得る範囲を複数に分割した区画の組合せ毎に顆粒細胞値を有する層モデルを複数層備えた小脳モデル部を有している。また、この近似値出力装置は、入力された複数種のデータから対応する区画の組合せの顆粒細胞値を特定し、各層毎の顆粒細胞値を加算して近似値を計算する計算部を有している。そして、この近似値出力装置の小脳モデル部の分割位置は、指定された分割数の範囲内で、進化的アルゴリズムで適切化されている。
また、遺伝的探索法を用いた最適化設計装置において、設計変数データの数が膨大となる実設計問題において、自動計算を実施し、最適解を得ることを可能にする最適化設計装置が知られている。この最適化設計装置は、骨組部材断面寸法などの離散設計変数データの近似式を使用する近似最適化計算装置と該設計変数データを使用する詳細最適化計算装置を設け、これら二つの計算装置を結合して骨組構造の最適化設計装置を構成する。そして、この最適化設計装置は、上記設計変数データの近似式を用いた近似最適化計算装置及び詳細最適化計算装置により、2段階の最適化計算を連続して自動的に実施する。
特開2001-109732号公報 特開2001-134628号公報
進化的計算を用いて所定の目的関数を最適化しようとする場合には、目的関数の変数を表す個体の生成が繰り返される。進化的計算においては、各世代において複数の個体が新たに生成されるため、それらの個体に対応した目的関数の値を計算する必要がある。このため、進化的計算において生成される個体の数は膨大であり、目的関数の計算に膨大な時間がかかる。
そのため、進化的計算に近似計算を適用させることが考えられる。進化的計算に近似計算が適用されることにより、進化的計算の計算処理が高速化される。しかし、近似計算は計算精度が低いため、適切な計算結果を得られない場合がある、という課題がある。
一つの側面では、開示の技術は、進化的計算を用いる際に、適切な計算結果を短時間で得ることが目的である。
一つの実施態様では、開示の技術に係る演算処理装置の生成部は、変数を表す個体に対する目的関数の値を進化的計算によって求める際に、前世代の複数の個体に基づいて、現世代の複数の個体を生成する。そして、第1計算部は、前記生成部によって生成された現世代の複数の個体のうちの一部の個体の各々について、個体に対する前記目的関数の値を所定の方式で計算する。そして、第2計算部は、前記生成部によって生成された現世代の複数の個体の各々について、個体に対する前記目的関数の値を前記所定の方式よりも低い精度で近似計算する。そして、精度差算出部は、前記第1計算部により前記所定の方式で計算された前記目的関数の値と、前記第2計算部により前記近似計算された前記目的関数の値との間の差異を表す精度差を算出する。そして、適合度差算出部は、前記第1計算部の前記所定の方式又は前記第2計算部の前記近似計算により計算された前記目的関数の値に基づいて、前記目的関数の値の間の差異を表す適合度差を算出する。そして、精度制御部は、前記精度差算出部によって算出された前記精度差と、前記適合度差算出部によって算出された前記適合度差とに基づいて、前記第2計算部の前記近似計算の精度を制御する。精度制御部は、前記適合度差が大きいほど前記精度差が大きくなるように、かつ前記適合度差が小さいほど前記精度差が小さくなるように、前記第2計算部の前記近似計算の精度を制御する。
一つの側面として、開示の技術は、進化的計算を用いる際に、適切な計算結果を短時間で得ることができる、という効果を有する。
第1実施形態に係る演算処理装置の概略ブロック図である。 進化的計算を説明するための説明図である。 進化的計算を説明するための説明図である。 第1計算部により高精度計算される目的関数の値と第2計算部によって近似計算される目的関数の値との間の関係を説明するための説明図である。 記憶部に格納されるテーブルを説明するための説明図である。 テーブルを用いた近似計算を説明するための説明図である。 近似計算結果を説明するための説明図である。 進化的計算に近似計算を適用し、かつ近似計算の精度を制御した場合の計算結果の一例を示す図である。 本実施形態を適用した場合の進化的計算における計算時間を説明するための説明図である。 実施形態に係る演算処理装置として機能するコンピュータの概略構成を示すブロック図である。 本実施形態の演算処理ルーチンの一例を示すフローチャートである。 第4実施形態で用いられる学習済みモデルの一例を示す図である。
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
<第1実施形態の演算処理装置>
図1に示すように、第1実施形態に係る演算処理装置10は、生成部12と、第1計算部14と、記憶部15と、第2計算部16と、精度差算出部18と、適合度差算出部20と、精度制御部22とを備えている。本実施形態の演算処理装置10は、進化的計算を用いて所定の目的関数の最適値を算出する。
生成部12は、変数を表す個体に対する目的関数の値を進化的計算によって求める際に、前世代の複数の個体の各々に基づいて、現世代の複数の個体を生成する。進化的計算の一例としては、遺伝的アルゴリズムが知られている。遺伝的アルゴリズムは、様々な目的関数に適用可能である。
図2に、進化的計算を説明するための説明図を示す。図2の例では、個体に対応する数値が2進数のビット列によって表現されている。なお、図2では、0〜1の数値xが2進数によって表記されている。
進化的計算では、各世代において複数の個体が生成される。そして、それらの個体に対する目的関数の値が計算される。この場合、図2に示されるように、前世代の複数の個体の選択、交配、及び変異によって、現世代の複数の個体が生成される。なお、現世代の個体の生成の際には、前世代の複数の個体に対する目的関数の値(以下、「適合度」とも称する。)に応じて、複数の個体の順位付けがなされる。
例えば、図2に示されるように、進化的計算における選択においては、目的関数の値が最小(図2では「Worst」と表記。)である個体「1100001111b」(この個体xは、x=0.7654相当)が除去される。一方、目的関数の値が最大(図2では「Best」と表記。)である個体「0100111101b」(この個体xは、x=0.3099相当)は、交配及び変異等が行われることなく、現世代である第1世代の個体として複製される。
また、図2に示されるように、進化的計算における交配においては、個体「0100111101b」と個体「1001100001b」との間において上位3ビットを交換する交配1が行われ、個体「1000111101b」と個体「0101100001b」とが生成される。また、個体「0111000011b」と個体「0100001111b」との間において上位4ビットを交換する交配2が行われ、個体「0100000011b」と個体「0111001111b」とが生成される。
また、図2に示されるように、進化的計算における変異においては、個体「0101100001b」が「0111100001b」へ変異する。
このようにして、前世代である第0世代の個体から、現世代である第1世代の個体が生成される。これら複数の個体の生成が繰り返され世代が進むことにより、図3に示されるように、複数の個体は目的関数の最適値に近づき、最終的に(例えば、第10世代目)目的関数の最適値が得られる。
第1計算部14は、生成部12によって生成された現世代の複数の個体の各々のうちの一部の個体の各々について、当該一部の個体に対する目的関数の値を所定の方式で計算する。第1計算部14によって計算される所定の方式は、後述する第2計算部16における計算方式とは異なる。具体的には、第1計算部14による計算の精密さの度合いを表す計算の精度は、第2計算部16による計算の精度よりも高い。
このため、生成部12によって生成された現世代の複数の個体の全てについて、計算の精度が高い第1計算部14による計算が行われる場合には、膨大な計算時間がかかる。そこで、本実施形態の演算処理装置10においては、高精度な計算(以下、単に「高精度計算」と称する。)を行う第1計算部14は、生成部12によって生成された現世代の複数の個体のうちの一部に対する目的関数の値を計算する。一方、後述するように、第1計算部14に比べ低精度な近似計算を行う第2計算部16は、生成部12によって生成された現世代の複数の個体の全てについて、当該個体の目的関数の値を計算する。
図4に、第1計算部14により高精度計算される目的関数の値と、第2計算部16によって近似計算される目的関数の値との間の関係を説明するための説明図を示す。図4に示される三角印は、第1計算部14により高精度計算される、現世代の複数の個体のうちの一部の個体の各々の目的関数の値を示す。また、図4に示される黒丸印は、第2計算部16により低精度計算される、現世代の全ての個体に対する目的関数の値を示す。現世代の複数の個体のうちの一部の個体の各々(x,x,x,x,x・・・)の目的関数の値は、後述する精度差を算出する際に用いられる。
なお、第2計算部16による近似計算は、第1計算部14による高精度計算よりも精度が低いため、計算時間が短い。このため、複数の個体に対する目的関数の値が近似計算によって計算されることにより、高精度計算のみによって目的関数の値を計算する場合に比べて、進化的計算の計算時間が低減される。これにより、進化的計算を用いる際の計算処理が高速化される。
記憶部15には、個体の値と当該個体の値に対応する目的関数の値とが予め対応付けられたテーブルが複数格納されている。記憶部15に格納されている複数のテーブルは、後述する第2計算部16における近似計算で用いられる。
図5に、記憶部15に格納されるテーブルを説明するための説明図を示す。図5に示されるように、テーブルには、個体に対応する変数の値と当該個体に対する目的関数の値とが対応付けられて格納される。図5には、個体を表す変数が2次元ベクトルである場合の例が示されている。個体を表す変数はx=(v,w)の2次元ベクトルで表され、その個体xに対応する目的関数の値はf(x)(例えば、図5中のf00等)によって表される。そのため、テーブルには、各個体x=(v,w)に対する目的関数f(x)の値が対応付けられている。ただし、i=0,1,2,・・・,kであり、j=0,1,2,・・・,mである。
図5には、複数のテーブルの一例である、テーブルT1とテーブルT2とが示されている。テーブルT1とテーブルT2とを比較すると、個体と目的関数の値との組み合わせの数が異なる。テーブルT1とテーブルT2とを比較した場合、テーブルT2には、新たなデータであるN1の列データとN2の行データとが追加されている。テーブルT1とテーブルT2とを含む複数のテーブルの各々は、登録されるデータの数が異なり、登録されるデータの数が多いほど高精度な近似計算を実行する際に用いられる。
記憶部15のテーブルに格納される各値は、第1計算部14によって計算された目的関数f(x)の値である。そのため、第1計算部14は、前処理として、複数の変数の各々について、当該変数に対する目的関数f(x)の値を所定の方式で計算し、それらの目的関数f(x)の値を複数のテーブルに格納する。テーブルに格納された変数とその変数に対する目的関数の値を用いて、個体に対する目的関数の値が計算される。なお、複数のテーブルの各々は、個体を表す変数とその変数に対する目的関数の値との組み合わせの数が異なるため、登録されるデータの数が多いテーブルほど高精度な近似計算を実行する際に用いられる。
第2計算部16は、第1計算部14によって所定の方式で計算された一部の個体の各々を含む現世代の個体の各々について、個体に対する目的関数の値を第1計算部14による所定の方式よりも低い精度で近似計算する。
近似計算の手法としては様々な手法が存在するが、第1実施形態の第2計算部16は、記憶部15に格納されたテーブルを参照して目的関数の値を求めることにより、現世代の個体に対する目的関数の値を近似計算する。
例えば、第2計算部16は、生成部12によって現世代の個体x=(v’,w’)が生成された場合、記憶部15のテーブルに格納された各値からの内挿によって、現世代の個体x=(v’,w’)に対する目的関数の値を近似計算する。
例えば、現世代の個体を表すベクトルの要素v’が図5に示すテーブルT1に格納されたvとvとの間に位置し、かつ個体を表すベクトルの要素w’がテーブルT1に格納されたwとwとの間に位置しているとする。
この場合、要素v’,w’は以下の式で表される。なお、d1はv’とvとの間の距離を表し、d2はv’とvとの間の距離を表す。また、d3はw’とwとの間の距離を表し、d4はw’とwとの間の距離を表す。
v’=(d2*v+d1*v)/(d1+d2)
w’=(d4*v+d3*v)/(d3+d4)
具体的には、図6に示されるように、要素v’は、vとvとの中間に位置しているとする。一方、図6に示されるように、要素w’とwとの間の距離と、要素w’とwとの間の距離との比は、2:1の関係となっているとする。
この場合、要素v’,w’は以下の式で表される。
v’=(v+v)/2
w’=(w+2*w)/3
この場合、第2計算部16は、記憶部15のテーブルT1を参照し、以下の式に従って、個体x=(v’,w’)に対する目的関数の値g(v’,w’)を算出する。
g(v’,w’)=((f01+f02)/2+2*(f11+f12)/2)/3
このように、本実施形態においては、第2計算部16による近似計算の計算結果が利用されることにより、進化的計算の計算処理が高速化される。しかし、近似計算が進化的計算に適用される場合、近似計算の精度は低いため、生成部12によって生成される複数の個体の順位付けを適切に行うことができない場合がある。また、近似計算が進化的計算に適用される場合には、個体が最適値に辿り着けない場合がある。
図7に、近似計算結果を説明するための説明図を示す。図7に示される各グラフは、進化的計算に近似計算が用いられた場合のシミュレーション結果の一例である。図7に示される実線は、高精度計算によって計算された目的関数f(x)である。また、破線は、近似計算によって計算された目的関数g(x)である。高精度計算による目的関数f(x)の値に対し、近似計算による目的関数g(x)の値は精度差がある。また、図7に示される白丸印は、近似計算によって得られる、個体に対する目的関数の値を表す。
生成部12によって現世代の個体が生成される際には、前世代の個体に対して適合度に応じた順位付けがなされ、その順位付け結果に応じて現世代の個体の生成が行われる。しかし、近似計算の精度は低いため、近似計算による計算結果からは、複数の個体の順位付けを適切に行うことができない場合がある。例えば、近似計算によって、個体xに対する目的関数の値g(x)と個体xに対する目的関数の値g(x)とが同一の値となってしまう場合には、目的関数の値を表す適合度に応じた順位付けを行うことができない。
この点、図7に示される第0世代の個体のように、近似計算での各個体の目的関数の値のばらつきが大きく、各個体の目的関数の値の間の差が大きい場合には、近似計算の計算精度が低くとも個体の順位付けは可能である。一方、図7に示される第5世代の個体のように、近似計算での各個体の目的関数の値のばらつきが小さく、各個体の目的関数の値の間の差が小さい場合には、異なる個体の目的関数の値が同一の値となってしまう場合がある。このため、各個体の目的関数の値の間の差が小さい場合には、複数の個体の順位付けを適切に行うことができないときがある。
更に、図7に示される第9世代のように、各個体に対する近似計算結果の目的関数g(x)の値を用いて進化的計算を行う場合には、近似計算の計算結果の粗さのため、生成された個体が局所解に陥り、最適値に辿り着けないときがある。
そこで、本実施形態では、第1計算部14による高精度計算と第2計算部16による近似計算との間の差異と、現世代の複数の個体の目的関数の値の間の差異とに応じて、第2計算部16における近似計算の精度を制御する。具体的には、本実施形態の演算処理装置10は、進化的計算を行う際に、新たに生成された複数の個体に対する目的関数の値の順位付けが可能となるように、近似計算の精度を制御する。
以下、具体的に説明する。
精度差算出部18は、第1計算部14により所定の方式で計算された目的関数の値と、第2計算部16により近似計算された目的関数の値との間の差異を表す精度差aを算出する。本実施形態の精度差算出部18は、第1計算部14により所定の方式で計算された目的関数の値と、第2計算部16により近似計算された目的関数の値との間の差分のうちの最大値を、精度差aとして算出する。
具体的には、精度差算出部18は、同一の個体xに対する、第1計算部14によって得られる目的関数f(x)の値と、第2計算部16によって得られる目的関数g(x)の値との間の差分のうちの最大値を、精度差aとして算出する。
例えば、現世代の複数の個体(x,x,・・・,x)のうちの一部の個体の各々(x,x,x,・・・,x)(但し、k<n)について、第1計算部14と第2計算部16との両方によって目的関数の値が計算される場合を例に説明する。
この場合には、目的関数の値f(x)と目的関数の値g(x)との間の差分の絶対値である、|f(x)−g(x)|,|f(x)−g(x)|,|f(x)−g(x)|,・・・,|f(x)−g(x)|のうち、最大値が精度差aとして算出される。
適合度差算出部20は、現世代の複数の個体の各々の目的関数の値に基づいて、目的関数の値の間の差異を表す適合度差bを算出する。なお、本実施形態の適合度差算出部20は、第1計算部14によって計算された、一部の個体の各々の目的関数の値のうちの最大値と、一部の個体の各々の目的関数の値のうちの最小値との間の差分を適合度差bとして算出する。具体的には、第1計算部14により計算される目的関数f(x)の値のうちの最大値と最小値との差分が適合度差bとして算出される。適合度差は、第1計算部14により高精度に計算された目的関数の値のばらつき度合いを示す値であり、適合度差が大きいほど、複数の個体に対する目的関数の値が広い範囲に亘って分布していることを表している。
精度制御部22は、精度差算出部18により算出された精度差aと、適合度差算出部20により算出された適合度差bとに基づいて、第2計算部16の近似計算の精密さの度合い(以下、単に「近似計算の精度」と称する。)を制御する。具体的には、精度制御部22は、適合度差bが大きいほど精度差aが大きくなるように、かつ適合度差bが小さいほど精度差aが小さくなるように、第2計算部16の近似計算の精度を制御する。
適合度差bが大きいほど精度差aが大きくなるように、かつ適合度差bが小さいほど精度差aが小さくなるように近似計算の精度を制御することにより、新たに生成された現世代の複数の個体の順位付けが可能となり、進化的計算を適切に実行することができる。
進化的計算において、適合度差bが大きい場合には、各個体の適合度のばらつきが大きく、近似計算の精度が低くとも、各個体の順位付けをすることは容易である。なお、近似計算の精度が低いことは、精度差aが大きいことに対応する。一方、適合度差bが小さい場合には、各個体の適合度が同じような値をとることとなり、近似計算の精度が低いと、個体の適合度を精密に区分け出来ず、各個体の順位付けをすることは難しくなる。このため、精度差aと適合度差bとの関係を適切に制御すれば、各個体の順位付けを適切に行うことが可能となり、結果として、進化的計算の計算結果の精度が保たれる。
そこで、本実施形態の精度制御部22は、適合度差bが大きいほど精度差aを大きくし、適合度差bが小さいほど精度差aを小さくする。これにより、複数の個体の順位付けを適切に行うことが可能となる。また、上記図7にも示されるように、第2計算部16により近似計算される目的関数g(x)は、第1計算部14により高精度計算される目的関数f(x)を中心として、上下に分布していることがわかる。このため、精度差aの2倍程度の値が適合度差bの値内に収まると、各個体の順位付けが可能となる場合が多い。
そこで、本実施形態の精度制御部22は、精度差の2倍の値2aが適合度差b以下であるという関係(2a≦b)が保たれるように、近似計算の精度を制御する。精度差の2倍の値2aが適合度差b以下であるという関係(2a≦b)が保たれることにより、各個体の順位付けが可能となり、進化的計算の計算結果の精度が十分に保たれる。
また、適合度差bが大きい場合には、各個体の適合度のばらつきが大きく、近似計算の精度が低くとも、各個体の順位付けをすることは容易である。このため、本実施形態の精度制御部22は、適合度差bが大きい場合は、高精度計算と近似計算との間の精度差aを大きくし、近似計算の精度を低下させる。これにより、計算時間の短縮が図られる。
具体的には、精度制御部22は、精度差の2倍の値2aが適合度差b以下であるという関係(2a≦b)が保たれている場合には、第2計算部16による近似計算の精度をそのままとする。一方、精度制御部22は、精度差の2倍の値2aが適合度差b以下であるという関係(2a≦b)が保たれていない場合には、近似計算の精度を向上させる旨の精度制御信号を、第2計算部16へ出力する。
第2計算部16は、精度制御部22から精度制御信号を取得した場合、前回までの近似計算よりも精度の高い近似計算を行う。具体的には、第2計算部16は、前回までの近似計算で用いられたテーブルよりも、登録されたデータの数が多いテーブルを用いて、現世代の複数の個体に対する目的関数の値を再計算する。これにより、前回までの近似計算よりも精度の高い近似計算が行われ、精度差aが小さくなる。このため、精度差aの2倍の値2aが適合度差b以下であるという関係(2a≦b)が保たれるようになる。
また、精度制御部22は、精度差aが予め設定された閾値以下となった場合には、近似計算を停止する旨の停止制御信号を、第1計算部14及び第2計算部16へ出力する。
第1計算部14は、精度制御部22から停止制御信号を取得した場合、次回以降に生成部12によって生成された現世代の複数の個体の全てについて、当該個体に対する目的関数の値を所定の方式で計算する。また、第2計算部16は、精度制御部22から停止制御信号を取得した場合、次回以降に生成された現世代の個体に対する近似計算を停止する。これにより、現世代の複数の個体に対する目的関数の値は、第1計算部14による高精度計算のみによって計算される。
図8に、進化的計算に近似計算を適用し、かつ近似計算の精度を制御した場合の計算結果の一例を示す。図8に示される各グラフは、進化的計算に近似計算を適用し、かつ近似計算の精度を制御した場合のシミュレーション結果の一例である。
図8に示される第0世代においては、第2計算部16による低精度計算から得られる目的関数g(x)は、第1計算部14による高精度計算から得られる目的関数f(x)に対し精度差を有している。この場合、精度差aの2倍の値2aが適合度差b以下であるという関係(2a≦b)が保たれるように、第2計算部16の近似計算の精度が制御され、第5世代においては精度差が小さくなる。そして、第6世代以降においては精度差が0となり、近似計算ではなく第1計算部14による高精度計算のみが行われる。このように、精度差aの2倍の値2aが適合度差b以下であるという関係(2a≦b)が保たれることにより、近似計算を進化的計算に適用させた場合であっても、複数の個体の順位付けが適切に行われる。
次に、図9に、本実施形態を適用した場合の進化的計算における計算時間を説明するための説明図を示す。図9の実線は高精度計算のみによる目的関数の計算時間を表し、破線は本実施形態を適用した場合の計算時間を表す。図9に示される例では、近似計算を用いる場合、第5世代までは第2計算部16によって近似計算が行われ、第5世代よりも後の世代においては第1計算部14によってのみ目的関数の値の計算が行われている。なお、第5世代までは、第2計算部16による近似計算の精度は適宜制御される。
図9に示される実線と破線とを比較すると、第5世代までは、第2計算部16による近似計算が行われるため、計算処理が高速化される。そして、第5世代より後の世代においては、第1計算部14による高精度計算が行われるため、実線と破線とは同程度の傾きとなる。第5世代までは、第2計算部16による近似計算が行われるため、進化的計算における計算時間を大幅に低減することができる。
演算処理装置10は、例えば、図10に示すコンピュータ50で実現することができる。コンピュータ50はCPU51、一時記憶領域としてのメモリ52、及び不揮発性の記憶部53を備える。また、コンピュータ50は、入出力装置が接続される入出力interface(I/F)54、及び記録媒体59に対するデータの読み込み及び書き込みを制御するread/write(R/W)部55を備える。また、コンピュータ50は、インターネット等のネットワークに接続されるネットワークI/F56を備える。CPU51、メモリ52、記憶部53、入出力I/F54、R/W部55、及びネットワークI/F56は、バス57を介して互いに接続される。
記憶部53は、Hard Disk Drive(HDD)、Solid State Drive(SSD)、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部53には、コンピュータ50を演算処理装置10として機能させるための演算処理プログラム60が記憶されている。演算処理プログラム60は、生成プロセス61と、第1計算プロセス62と、第2計算プロセス63と、精度差算出プロセス64と、適合度差算出プロセス65と、精度制御プロセス66とを有する。記憶領域67には、記憶部15を構成する情報が記憶される。
CPU51は、演算処理プログラム60を記憶部53から読み出してメモリ52に展開し、演算処理プログラム60が有するプロセスを順次実行する。CPU51は、生成プロセス61を実行することで、図1に示す生成部12として動作する。また、CPU51は、第1計算プロセス62を実行することで、図1に示す第1計算部14として動作する。また、CPU51は、第2計算プロセス63を実行することで、図1に示す第2計算部16として動作する。また、CPU51は、精度差算出プロセス64を実行することで、図1に示す精度差算出部18として動作する。また、CPU51は、適合度差算出プロセス65を実行することで、図1に示す適合度差算出部20として動作する。また、CPU51は、精度制御プロセス66を実行することで、図1に示す精度制御部22として動作する。また、CPU51は、記憶領域67から情報を読み出して、記憶部15をメモリ52に展開する。これにより、演算処理プログラム60を実行したコンピュータ50が、演算処理装置10として機能することになる。ソフトウェアである演算処理プログラム60を実行するCPU51はハードウェアである。
なお、演算処理プログラム60により実現される機能は、例えば半導体集積回路、より詳しくはApplication Specific Integrated Circuit(ASIC)等で実現することも可能である。
次に、本実施形態に係る演算処理装置10の作用について説明する。まず、演算処理装置10の第1計算部14は、複数の変数の各々について、当該変数に対する目的関数の値を計算し、記憶部15の複数のテーブルに登録する。そして、演算処理装置10は、進化的計算の開始を表す指示信号を受け付けると、図11に示す演算処理ルーチンを実行する。
ステップS100において、生成部12は、前回の本ステップS100で生成された前世代の複数の個体の各々に基づいて、現世代の複数の個体を生成する。
ステップS102において、第1計算部14は、上記ステップS100で生成された現世代の複数の個体の各々のうちの一部の個体の各々について、当該個体に対する目的関数の値を所定の方式で高精度計算する。
ステップS104において、第1実施形態の第2計算部16は、記憶部15に格納されたテーブルを参照して目的関数の値を求めることにより、上記ステップS100で生成された現世代の全部の個体に対する目的関数の値を近似計算する。
ステップS106において、精度差算出部18は、上記ステップS102において所定の方式で計算された目的関数の値と、上記ステップS104において近似計算された目的関数の値との間の差分のうちの最大値である精度差aを算出する。
ステップS108において、適合度差算出部20は、上記ステップS102で得られた、一部の個体の各々の目的関数の値のうちの最大値と、一部の個体の各々の目的関数の値のうちの最小値との間の差分である適合度差bを算出する。
ステップS109において、精度制御部22は、精度差aが予め設定された閾値c以下となったか否かを判定する。精度差aが予め設定された閾値c以下となった場合には、演算処理ルーチンは終了する。そして、精度制御部22は、近似計算を停止する旨の停止制御信号を、第1計算部14及び第2計算部16へ出力し、第1計算部14のみによる高精度計算を用いた進化的計算が実行される。一方、精度差aが予め設定された閾値c以下でない場合には、ステップS110へ移行する。
ステップS110において、精度制御部22は、上記ステップS106で算出された精度差aの2倍の値2aが、上記ステップS108で算出された適合度差b以下であるという関係(2a≦b)が保たれているか否かを判定する。2aが適合度差b以下であるという関係が保たれている場合には、ステップS100へ移行する。一方、2aが適合度差b以下であるという関係が保たれていない場合には、ステップS112へ移行する。
ステップS112において、精度制御部22は、近似計算の精度を向上させるように、第2計算部16へ制御信号を出力する。次回のステップS104における近似計算では、今回のステップS104における近似計算の精度よりも精度が向上した状態で、近似計算が実行される。そして、2aが適合度差b以下であるという関係になるまで、上記ステップS104〜上記ステップS112の処理が繰り返される。
以上説明したように、第1実施形態に係る演算処理装置は、現世代の複数の個体の各々のうちの一部の個体の各々について、当該個体に対する目的関数の値を所定の方式で計算する。また、演算処理装置は、所定の方式で計算された一部の個体の各々を含む現世代の複数の個体の各々について、当該個体に対する目的関数の値を所定の方式よりも低い精度で近似計算する。また、演算処理装置は、所定の方式で計算された目的関数の値と、近似計算された目的関数の値との間の差異を表す精度差を算出する。また、演算処理装置は、現世代の複数の個体の各々の目的関数の値に基づいて、目的関数の値の間の差異を表す適合度差を算出する。そして、演算処理装置は、精度差と適合度差とに基づいて、適合度差が大きいほど精度差が大きくなるように、かつ適合度差が小さいほど精度差が小さくなるように、近似計算の精度を制御する。これにより、進化的計算を用いる際に、適切な計算結果を短時間で得ることができる。具体的には、近似計算により、進化的計算を用いて目的関数を最適化する際の計算時間を低減させることができる。また、進化的計算を用いて目的関数を最適化する際に、複数の個体の順位付けが可能となり、精度の良い計算結果を短時間で取得することができる。
<第2実施形態の演算処理装置>
次に、第2実施形態について説明する。第2実施形態の演算処理装置は、繰り返し計算によって目的関数の値が求められる場合、その繰り返し回数を高精度計算よりも少なくすることによって近似計算を行う点が、第1実施形態と異なる。
目的関数の値を求める際に、繰り返し計算が用いられる場合がある。例えば、航空機の主翼の性能値を求める際には、主翼に関する設計値を表す個体に対し、当該主翼の性能値が目的関数の値として計算される。この場合、主翼に関する設計値から当該主翼の性能値を求める際には、流体力学計算を実施する必要がある。流体力学計算を実施する際には、有限要素法等を用いての繰り返し計算が必要となる。
そこで、第2実施形態の第2計算部16は、繰り返し計算によって目的関数の値が求められる場合、第1計算部14による繰り返し回数よりも少ない繰り返し回数で目的関数の値を求めることにより、現世代の個体に対する目的関数の値を近似計算する。
また、第2実施形態の精度制御部22は、近似計算の精度を制御する際に、第2計算部16による計算で用いられる繰り返し回数を調整することにより、近似計算の精度を制御する。具体的には、精度制御部22は、繰り返し回数を調整するための精度制御信号を第2計算部16へ出力することにより、第2計算部16の近似計算の精度を制御する。
これにより、目的関数の値の計算に繰り返し計算が用いられる場合であっても、進化的計算を用いて目的関数を最適化する際の計算時間を低減させることができる。
以上説明したように、第2実施形態の演算処理装置は、繰り返し計算によって目的関数の値が求められる場合、第1計算部14による繰り返し回数よりも少ない繰り返し回数で目的関数の値を求めることにより、現世代の個体に対する目的関数の値を近似計算する。また、演算処理装置は、近似計算の精度を制御する際に、第2計算部16による計算で用いられる繰り返し回数を調整するための精度制御信号を第2計算部16へ出力することにより、近似計算の精度を制御する。これにより、目的関数の値の計算に繰り返し計算が用いられる場合であっても、進化的計算を用いて目的関数を最適化する際の計算時間を低減させることができる。
<第3実施形態の演算処理装置>
次に、第3実施形態について説明する。第3実施形態の演算処理装置は、高精度計算で用いられるビット数よりも少ないビット数で目的関数の値を求めることにより、目的関数の値を近似計算する点が、第1実施形態及び第2実施形態と異なる。
第3実施形態の第2計算部16は、第1計算部14による計算で用いられるビット数よりも少ないビット数で表現された数値を用いて目的関数の値を求めることにより、現世代の個体に対する目的関数の値を近似計算する。
例えば、第1計算部14は、個体に対する目的関数の値を計算する際に、読み込み対象の数値のビット数を32ビットとする。これに対し、例えば、第2計算部16は、読み込み対象の数値のビット数を8ビットとする。これにより、第1計算部14の高精度計算で用いられる数値のビット数に対し、第2計算部16の近似計算で用いられる数値のビット数は、1/4となり、進化的計算の計算処理が高速化される。また、第2計算部16の近似計算で用いられる数値のビット数を少なくすることにより、近似計算の計算結果が記憶されるデータ記憶部(図示省略)における記憶の領域を低減させることができる。これにより、データ記憶部(図示省略)により多くの計算結果を格納することができる。
また、第3実施形態の精度制御部22は、近似計算の精度を制御する際に、第2計算部16による計算で用いられるビット数を調整することにより、近似計算の精度を制御する。具体的には、精度制御部22は、第2計算部16の近似計算に用いられる数値のビット数を調整するための精度制御信号を第2計算部16へ出力することにより、第2計算部16の近似計算の精度を制御する。
以上説明したように、第3実施形態に係る演算処理装置は、第1計算部14による計算で用いられるビット数よりも少ないビット数で表現された数値を用いて目的関数の値を求めることにより、現世代の個体に対する目的関数の値を近似計算する。また、演算処理装置は、近似計算の精度を制御する際に、第2計算部16による近似計算で用いられるビット数を調整することにより、近似計算の精度を制御する。これにより、進化的計算を用いて目的関数を最適化する際の計算時間を低減させることができ、かつ計算結果を記憶させる記憶の領域を低減させることができる。
<第4実施形態の演算処理装置>
次に、第4実施形態について説明する。第4実施形態の演算処理装置は、個体の値から目的関数の値を求めるための学習済みモデルを用いて、個体の値に対する目的関数の値を求めることにより、目的関数の値を近似計算する点が、第1〜第3実施形態と異なる。
第4実施形態においては、個体の値から目的関数の値を求めるための学習済みモデルとして、図12に示されるようなニューラルネットワークを用いる。第4実施形態の記憶部15には、個体の値から目的関数の値を求めるための学習済みモデルが格納される。
本実施形態の学習済みモデルは、個体の値から目的関数の値を出力する。なお、図12に示される学習済みモデルの例は、個体の値が3次元ベクトルによって表され、目的関数の値がスカラー値で表される場合の学習済みモデルの例である。
なお、本実施形態の学習済みモデルは、第1計算部14によって得られる高精度計算の計算結果を学習用データとして、予め学習されている。なお、学習済みモデルを学習させる際には、既存の学習アルゴリズムが用いられる。
具体的には、第1計算部14による高精度計算によって、個体の値とその個体に対する目的関数の値との組み合わせを表すデータが得られるため、本実施形態においてはそのデータを学習用データとして設定する。
第4実施形態の精度制御部22は、近似計算の精度を制御する際に、第2計算部16による近似計算で用いられる、学習済みモデルの学習に用いられる学習用データの数を増加させることにより、近似計算の精度を制御する。具体的には、精度制御部22は、学習用データの数を増加させる旨の精度制御信号を第2計算部16へ出力することにより、第2計算部16の近似計算の精度を制御する。
第4実施形態の第2計算部16は、精度制御部22から精度制御信号を取得した場合、第1計算部14の高精度計算によって得られた学習用データを用いて、学習済みモデルを再学習させる。学習済みモデルを再学習させることにより、目的関数の値をより高精度に出力する学習済みモデルが得られる。
第1計算部14による高精度計算の計算回数が増加すると、より多くの学習用データが得られるため、その学習用データを用いて学習済みモデルを再学習させることにより、学習済みモデルから出力される目的関数の値の精度が向上する。また、高精度計算の計算結果が学習済みモデルへ反映される。
そして、第2計算部16は、再学習が行われた学習済みモデルを用いて、個体の値から目的関数の値を近似計算する。これにより、前回までの近似計算よりも精度の高い近似計算が行われる。
以上説明したように、第4実施形態に係る演算処理装置は、個体の値から目的関数の値を求めるための学習済みモデルを用いて、個体の値に対する目的関数の値を求めることにより、現世代の個体に対する目的関数の値を近似計算する。そして、演算処理装置は、近似計算の精度を制御する際に、第2計算部16による近似計算で用いられる、学習済みモデルの学習に用いられる学習用データの数を調整することにより、近似計算の精度を制御する。これにより、高精度計算の計算結果が反映された学習済みモデルを利用して、進化的計算を用いて目的関数を最適化する際の計算時間を低減させることができる。
なお、上記では、各プログラムが記憶部に予め記憶(インストール)されている態様を説明したが、これに限定されない。開示の技術に係るプログラムは、CD−ROM、DVD−ROM、USBメモリ等の記録媒体に記録された形態で提供することも可能である。
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
次に、各実施形態の変形例を説明する。
上記第1実施形態の第2計算部16は、記憶部15のテーブルに格納された各値からの内挿によって、現世代の個体に対する目的関数の値を近似計算する場合を例に説明したが、これに限定されるものではない。例えば、第1実施形態の第2計算部16は、現世代の個体の値に最も近い値に対応する目的関数の値を用いるようにしてもよい。具体的には、現世代の個体x=(v’,w’)が生成された場合、要素v’が図5に示されるvに最も近く、かつ要素w’が図5に示されるwに最も近い場合、第2計算部16は、f(x)=f12とするようにしてもよい。また、第1実施形態の第2計算部16は、特開2001-109732号公報に記載の方法を用いて、近似計算を行うようにしてもよい。
また、上記第4実施形態では、学習用データの数を増加させ、その学習用データを用いて学習済みモデルを再学習させることにより、近似計算の精度を制御する場合を例に説明したが、これに限定されるものではない。例えば、学習済みモデルのパラメータ数を増加させることにより、近似計算の精度を制御するようにしてもよい。この場合には、例えば、ニューラルネットワークの層数又はニューロン数を増加させることにより、パラメータ数が増加し、より精度の高い近似計算を行うことが可能となる。なお、パラメータ数を増加させた際には、学習用データを用いて学習済みモデルを再度学習させる必要がある。
また、上記各実施形態の適合度差算出部20は、第1計算部14による高精度計算の計算結果に基づき、適合度差bを算出する場合を例に説明したが、これに限定されるものではない。適合度差算出部20は、第2計算部16による近似計算の計算結果に基づき、適合度差bを算出するようにしてもよい。
また、上記各実施形態の精度制御部22は、精度差aの2倍の値2aが適合度差b以下であるという関係(2a≦b)が保たれるように、第2計算部16の近似計算の精度が制御する場合を例に説明したが、これに限定されるものではない。適合度差bが大きいほど精度差aが大きくなるように、かつ適合度差bが小さいほど精度差aが小さくなるように近似計算の精度を制御するものであれば、どのように近似計算の精度を制御してもよい。例えば、精度制御部22は、精度差aが適合度差b以下であるという関係(a≦b)が保たれるように、第2計算部16の近似計算の精度を制御するようにしてもよい。また、精度制御部22は、精度差aと適合度差bとの間の差が予め設定した閾値以下であるという関係が保たれるように、第2計算部16の近似計算の精度を制御するようにしてもよい。
また、上記各実施形態の第2計算部16は1つである場合を例に説明したが、これに限定されるものではない。例えば、演算処理装置10は、第2計算部16を複数備え、近似計算を複数の第2計算部16によって分担するようにしてもよい。
また、上記各実施形態においては、世代毎に、適合度差bが大きいほど精度差aが大きくなるように、かつ適合度差bが小さいほど精度差aが小さくなるように、近似計算の精度を制御する場合を例に説明したが、これに限定されるものではない。例えば、予め設定された世代(例えば、第5世代及び第10世代等)のみ、適合度差bが大きいほど精度差aが大きくなるように、かつ適合度差bが小さいほど精度差aが小さくなるように、近似計算の精度を制御するようにしてもよい。
以上の各実施形態に関し、更に以下の付記を開示する。
(付記1)
変数を表す個体に対する目的関数の値を進化的計算によって求める際に、前世代の複数の個体に基づいて、現世代の複数の個体を生成する生成部と、
前記生成部によって生成された現世代の複数の個体のうちの一部の個体の各々について、個体に対する前記目的関数の値を所定の方式で計算する第1計算部と、
前記生成部によって生成された現世代の複数の個体の各々について、個体に対する前記目的関数の値を前記所定の方式よりも低い精度で近似計算する第2計算部と、
前記第1計算部の前記所定の方式又は前記第2計算部の前記近似計算により計算された前記目的関数の値に基づいて、前記目的関数の値の間の差異を表す適合度差を算出する適合度差算出部と、
前記第1計算部により前記所定の方式で計算された前記目的関数の値と、前記第2計算部により前記近似計算された前記目的関数の値との間の差異を表す精度差と、前記適合度差算出部によって算出された前記適合度差とに基づいて、前記適合度差が大きいほど前記精度差が大きくなるように、かつ前記適合度差が小さいほど前記精度差が小さくなるように、前記第2計算部の前記近似計算の精度を制御する精度制御部と、
を含む演算処理装置。
(付記2)
前記精度差を算出する精度差算出部を更に備える、
付記1に記載の演算処理装置。
(付記3)
前記精度制御部は、前記近似計算の精度を制御する際に、前記精度差が前記適合度差以下であるという関係が保たれるように、前記適合度差が大きいほど前記精度差が大きくなるように、かつ前記適合度差が小さいほど前記精度差が小さくなるように、前記近似計算の精度を制御する、
付記1又は付記2に記載の演算処理装置。
(付記4)
前記精度制御部は、前記近似計算の精度を制御する際に、前記精度差の2倍の値が前記適合度差以下であるという関係が保たれるように、前記適合度差が大きいほど前記精度差が大きくなるように、かつ前記適合度差が小さいほど前記精度差が小さくなるように、前記近似計算の精度を制御する、
付記1又は付記2に記載の演算処理装置。
(付記5)
前記精度差算出部は、前記第1計算部により前記所定の方式で計算された前記目的関数の値と、前記第2計算部により前記近似計算された前記目的関数の値との間の差分のうちの最大値を前記精度差として算出し、
前記適合度差算出部は、現世代の複数の前記個体の各々の前記目的関数の値のうちの最大値と、現世代の複数の前記個体の各々の前記目的関数の値のうちの最小値との間の差分を、前記適合度差として算出する、
付記2に記載の演算処理装置。
(付記6)
前記第2計算部は、前記個体の値と前記個体の値に対応する前記目的関数の値とが予め対応付けられたテーブルを参照して前記目的関数の値を求めることにより、現世代の前記個体に対する前記目的関数の値を近似計算する、
付記1〜付記5の何れか1項に記載の演算処理装置。
(付記7)
繰り返し計算によって前記目的関数の値が求められる場合、前記第2計算部は、前記第1計算部による前記所定の方式の計算における繰り返し回数よりも少ない繰り返し回数で前記目的関数の値を求めることにより、現世代の前記個体に対する前記目的関数の値を近似計算し、
前記精度制御部は、前記近似計算の精度を制御する際に、前記第2計算部による前記近似計算で用いられる前記繰り返し回数を調整することにより、前記近似計算の精度を制御する、
付記1〜付記5の何れか1項に記載の演算処理装置。
(付記8)
前記第2計算部は、前記第1計算部による前記所定の方式の計算で用いられるビット数よりも少ないビット数で表現された数値を用いて前記目的関数の値を求めることにより、現世代の前記個体に対する前記目的関数の値を近似計算し、
前記精度制御部は、前記近似計算の精度を制御する際に、前記第2計算部による前記近似計算で用いられるビット数を調整することにより、前記近似計算の精度を制御する、
付記1〜付記5の何れか1項に記載の演算処理装置。
(付記9)
前記第2計算部は、前記個体の値から前記目的関数の値を求めるための学習済みモデルを用いて、前記個体の値に対する前記目的関数の値を求めることにより、現世代の前記個体に対する前記目的関数の値を近似計算し、
前記精度制御部は、前記近似計算の精度を制御する際に、前記第2計算部による前記近似計算で用いられる、前記学習済みモデルのパラメータ数又は前記学習済みモデルの学習に用いられる学習用データの数を調整することにより、前記近似計算の精度を制御する、
付記1〜付記5の何れか1項に記載の演算処理装置。
(付記10)
前記精度制御部は、世代毎に、前記第2計算部の前記近似計算の精度を制御する、
付記1〜付記9の何れか1項に記載の演算処理装置。
(付記11)
前記精度制御部は、現世代の前記個体を繰り返し生成する毎に前記精度を変更するように制御し、変更した前記精度で近似計算を行う、
付記1〜付記10の何れか1項に記載の演算処理装置。
(付記12)
変数を表す個体に対する目的関数の値を進化的計算によって求める際に、前世代の複数の個体に基づいて、現世代の複数の個体を生成し、
生成された現世代の複数の個体のうちの一部の個体の各々について、個体に対する前記目的関数の値を所定の方式で計算し、
生成された現世代の複数の個体の各々について、個体に対する前記目的関数の値を前記所定の方式よりも低い精度で近似計算し、
前記所定の方式又は前記近似計算により計算された前記目的関数の値に基づいて、前記目的関数の値の間の差異を表す適合度差を算出し、
前記所定の方式で計算された前記目的関数の値と、前記近似計算された前記目的関数の値との間の差異を表す精度差と、算出された前記適合度差とに基づいて、前記適合度差が大きいほど前記精度差が大きくなるように、かつ前記適合度差が小さいほど前記精度差が小さくなるように、前記近似計算の精度を制御する
処理をコンピュータに実行させるための演算処理プログラム。
(付記13)
前記精度差を算出する処理を更に備える、
付記12に記載の演算処理プログラム。
(付記14)
前記近似計算の精度を制御する際に、前記精度差が前記適合度差以下であるという関係が保たれるように、前記適合度差が大きいほど前記精度差が大きくなるように、かつ前記適合度差が小さいほど前記精度差が小さくなるように、前記近似計算の精度を制御する、
付記12又は付記13に記載の演算処理プログラム。
(付記15)
前記近似計算の精度を制御する際に、前記精度差の2倍の値が前記適合度差以下であるという関係が保たれるように、前記適合度差が大きいほど前記精度差が大きくなるように、かつ前記適合度差が小さいほど前記精度差が小さくなるように、前記近似計算の精度を制御する、
付記12又は付記13に記載の演算処理プログラム。
(付記16)
前記所定の方式で計算された前記目的関数の値と、前記近似計算された前記目的関数の値との間の差分のうちの最大値を前記精度差として算出し、
現世代の複数の前記個体の各々の前記目的関数の値のうちの最大値と、現世代の複数の前記個体の各々の前記目的関数の値のうちの最小値との間の差分を、前記適合度差として算出する、
付記13に記載の演算処理プログラム。
(付記17)
前記個体の値と前記個体の値に対応する前記目的関数の値とが予め対応付けられたテーブルを参照して前記目的関数の値を求めることにより、現世代の前記個体に対する前記目的関数の値を近似計算する、
付記12〜付記16の何れか1項に記載の演算処理プログラム。
(付記18)
繰り返し計算によって前記目的関数の値が求められる場合、前記所定の方式の計算における繰り返し回数よりも少ない繰り返し回数で前記目的関数の値を求めることにより、現世代の前記個体に対する前記目的関数の値を近似計算し、
前記近似計算の精度を制御する際に、前記近似計算で用いられる前記繰り返し回数を調整することにより、前記近似計算の精度を制御する、
付記12〜付記16の何れか1項に記載の演算処理プログラム。
(付記19)
変数を表す個体に対する目的関数の値を進化的計算によって求める際に、前世代の複数の個体に基づいて、現世代の複数の個体を生成し、
生成された現世代の複数の個体のうちの一部の個体の各々について、個体に対する前記目的関数の値を所定の方式で計算し、
生成された現世代の複数の個体の各々について、個体に対する前記目的関数の値を前記所定の方式よりも低い精度で近似計算し、
前記所定の方式又は前記近似計算により計算された前記目的関数の値に基づいて、前記目的関数の値の間の差異を表す適合度差を算出し、
前記所定の方式で計算された前記目的関数の値と、前記近似計算された前記目的関数の値との間の差異を表す精度差と、算出された前記適合度差とに基づいて、前記適合度差が大きいほど前記精度差が大きくなるように、かつ前記適合度差が小さいほど前記精度差が小さくなるように、前記近似計算の精度を制御する
処理をコンピュータに実行させる情報処理方法。
(付記20)
変数を表す個体に対する目的関数の値を進化的計算によって求める際に、前世代の複数の個体に基づいて、現世代の複数の個体を生成し、
生成された現世代の複数の個体のうちの一部の個体の各々について、個体に対する前記目的関数の値を所定の方式で計算し、
生成された現世代の複数の個体の各々について、個体に対する前記目的関数の値を前記所定の方式よりも低い精度で近似計算し、
前記所定の方式又は前記近似計算により計算された前記目的関数の値に基づいて、前記目的関数の値の間の差異を表す適合度差を算出し、
前記所定の方式で計算された前記目的関数の値と、前記近似計算された前記目的関数の値との間の差異を表す精度差と、算出された前記適合度差とに基づいて、前記適合度差が大きいほど前記精度差が大きくなるように、かつ前記適合度差が小さいほど前記精度差が小さくなるように、前記近似計算の精度を制御する
処理をコンピュータに実行させるための演算処理プログラムを記憶した記憶媒体。
10 演算処理装置
12 生成部
14 第1計算部
15 記憶部
16 第2計算部
18 精度差算出部
20 適合度差算出部
22 精度制御部
50 コンピュータ
51 CPU
52 メモリ
53 記憶部
59 記録媒体
60 演算処理プログラム
61 生成プロセス
62 第1計算プロセス
63 第2計算プロセス
64 精度差算出プロセス
65 適合度差算出プロセス
66 精度制御プロセス
67 記憶領域

Claims (13)

  1. 変数を表す個体に対する目的関数の値を進化的計算によって求める際に、前世代の複数の個体に基づいて、現世代の複数の個体を生成する生成部と、
    前記生成部によって生成された現世代の複数の個体のうちの一部の個体の各々について、個体に対する前記目的関数の値を所定の方式で計算する第1計算部と、
    前記生成部によって生成された現世代の複数の個体の各々について、個体に対する前記目的関数の値を前記所定の方式よりも低い精度で近似計算する第2計算部と、
    前記第1計算部の前記所定の方式又は前記第2計算部の前記近似計算により計算された前記目的関数の値に基づいて、前記目的関数の値の間の差異を表す適合度差を算出する適合度差算出部と、
    前記第1計算部により前記所定の方式で計算された前記目的関数の値と、前記第2計算部により前記近似計算された前記目的関数の値との間の差異を表す精度差と、前記適合度差算出部によって算出された前記適合度差とに基づいて、前記適合度差が大きいほど前記精度差が大きくなるように、かつ前記適合度差が小さいほど前記精度差が小さくなるように、前記第2計算部の前記近似計算の精度を制御する精度制御部と、
    を含む演算処理装置。
  2. 前記精度差を算出する精度差算出部を更に備える、
    請求項1に記載の演算処理装置。
  3. 前記精度制御部は、前記近似計算の精度を制御する際に、前記精度差が前記適合度差以下であるという関係が保たれるように、前記適合度差が大きいほど前記精度差が大きくなるように、かつ前記適合度差が小さいほど前記精度差が小さくなるように、前記近似計算の精度を制御する、
    請求項1又は請求項2に記載の演算処理装置。
  4. 前記精度制御部は、前記近似計算の精度を制御する際に、前記精度差の2倍の値が前記適合度差以下であるという関係が保たれるように、前記適合度差が大きいほど前記精度差が大きくなるように、かつ前記適合度差が小さいほど前記精度差が小さくなるように、前記近似計算の精度を制御する、
    請求項1又は請求項2に記載の演算処理装置。
  5. 前記精度差算出部は、前記第1計算部により前記所定の方式で計算された前記目的関数の値と、前記第2計算部により前記近似計算された前記目的関数の値との間の差分のうちの最大値を前記精度差として算出し、
    前記適合度差算出部は、現世代の複数の前記個体の各々の前記目的関数の値のうちの最大値と、現世代の複数の前記個体の各々の前記目的関数の値のうちの最小値との間の差分を、前記適合度差として算出する、
    請求項2に記載の演算処理装置。
  6. 前記第2計算部は、前記個体の値と前記個体の値に対応する前記目的関数の値とが予め対応付けられたテーブルを参照して前記目的関数の値を求めることにより、現世代の前記個体に対する前記目的関数の値を近似計算する、
    請求項1〜請求項5の何れか1項に記載の演算処理装置。
  7. 繰り返し計算によって前記目的関数の値が求められる場合、前記第2計算部は、前記第1計算部による前記所定の方式の計算における繰り返し回数よりも少ない繰り返し回数で前記目的関数の値を求めることにより、現世代の前記個体に対する前記目的関数の値を近似計算し、
    前記精度制御部は、前記近似計算の精度を制御する際に、前記第2計算部による前記近似計算で用いられる前記繰り返し回数を調整することにより、前記近似計算の精度を制御する、
    請求項1〜請求項5の何れか1項に記載の演算処理装置。
  8. 前記第2計算部は、前記第1計算部による前記所定の方式の計算で用いられるビット数よりも少ないビット数で表現された数値を用いて前記目的関数の値を求めることにより、現世代の前記個体に対する前記目的関数の値を近似計算し、
    前記精度制御部は、前記近似計算の精度を制御する際に、前記第2計算部による前記近似計算で用いられるビット数を調整することにより、前記近似計算の精度を制御する、
    請求項1〜請求項5の何れか1項に記載の演算処理装置。
  9. 前記第2計算部は、前記個体の値から前記目的関数の値を求めるための学習済みモデルを用いて、前記個体の値に対する前記目的関数の値を求めることにより、現世代の前記個体に対する前記目的関数の値を近似計算し、
    前記精度制御部は、前記近似計算の精度を制御する際に、前記第2計算部による前記近似計算で用いられる、前記学習済みモデルのパラメータ数又は前記学習済みモデルの学習に用いられる学習用データの数を調整することにより、前記近似計算の精度を制御する、
    請求項1〜請求項5の何れか1項に記載の演算処理装置。
  10. 前記精度制御部は、世代毎に、前記第2計算部の前記近似計算の精度を制御する、
    請求項1〜請求項9の何れか1項に記載の演算処理装置。
  11. 前記精度制御部は、現世代の前記個体を繰り返し生成する毎に前記精度を変更するように制御し、変更した前記精度で近似計算を行う、
    請求項1〜請求項10の何れか1項に記載の演算処理装置。
  12. 変数を表す個体に対する目的関数の値を進化的計算によって求める際に、前世代の複数の個体に基づいて、現世代の複数の個体を生成し、
    生成された現世代の複数の個体のうちの一部の個体の各々について、個体に対する前記目的関数の値を所定の方式で計算し、
    生成された現世代の複数の個体の各々について、個体に対する前記目的関数の値を前記所定の方式よりも低い精度で近似計算し、
    前記所定の方式又は前記近似計算により計算された前記目的関数の値に基づいて、前記目的関数の値の間の差異を表す適合度差を算出し、
    前記所定の方式で計算された前記目的関数の値と、前記近似計算された前記目的関数の値との間の差異を表す精度差と、算出された前記適合度差とに基づいて、前記適合度差が大きいほど前記精度差が大きくなるように、かつ前記適合度差が小さいほど前記精度差が小さくなるように、前記近似計算の精度を制御する
    処理をコンピュータに実行させるための演算処理プログラム。
  13. 変数を表す個体に対する目的関数の値を進化的計算によって求める際に、前世代の複数の個体に基づいて、現世代の複数の個体を生成し、
    生成された現世代の複数の個体のうちの一部の個体の各々について、個体に対する前記目的関数の値を所定の方式で計算し、
    生成された現世代の複数の個体の各々について、個体に対する前記目的関数の値を前記所定の方式よりも低い精度で近似計算し、
    前記所定の方式又は前記近似計算により計算された前記目的関数の値に基づいて、前記目的関数の値の間の差異を表す適合度差を算出し、
    前記所定の方式で計算された前記目的関数の値と、前記近似計算された前記目的関数の値との間の差異を表す精度差と、算出された前記適合度差とに基づいて、前記適合度差が大きいほど前記精度差が大きくなるように、かつ前記適合度差が小さいほど前記精度差が小さくなるように、前記近似計算の精度を制御する
    処理をコンピュータに実行させる情報処理方法。
JP2019089094A 2019-05-09 2019-05-09 演算処理装置、演算処理プログラム、及び演算処理方法 Active JP7298284B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019089094A JP7298284B2 (ja) 2019-05-09 2019-05-09 演算処理装置、演算処理プログラム、及び演算処理方法
US16/831,889 US11550873B2 (en) 2019-05-09 2020-03-27 Arithmetic processing apparatus, arithmetic processing method, and non-transitory computer-readable storage medium for storing arithmetic processing program
EP20166701.1A EP3736746A1 (en) 2019-05-09 2020-03-30 Arithmetic processing apparatus, arithmetic processing method, and arithmetic processing program
CN202010285128.2A CN111913685A (zh) 2019-05-09 2020-04-13 运算处理装置、运算处理方法和非暂态计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019089094A JP7298284B2 (ja) 2019-05-09 2019-05-09 演算処理装置、演算処理プログラム、及び演算処理方法

Publications (2)

Publication Number Publication Date
JP2020184268A true JP2020184268A (ja) 2020-11-12
JP7298284B2 JP7298284B2 (ja) 2023-06-27

Family

ID=70224226

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019089094A Active JP7298284B2 (ja) 2019-05-09 2019-05-09 演算処理装置、演算処理プログラム、及び演算処理方法

Country Status (4)

Country Link
US (1) US11550873B2 (ja)
EP (1) EP3736746A1 (ja)
JP (1) JP7298284B2 (ja)
CN (1) CN111913685A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022016795A (ja) * 2020-07-13 2022-01-25 富士通株式会社 情報処理装置、情報処理プログラムおよび情報処理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002230514A (ja) * 2000-11-14 2002-08-16 Honda R & D Europe (Deutschland) Gmbh 進化的最適化方法
JP2005209211A (ja) * 2004-01-26 2005-08-04 Honda Research Inst Europe Gmbh 進化的最適化方法
JP2013257745A (ja) * 2012-06-13 2013-12-26 Dainippon Printing Co Ltd パラメータフィッティング方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001109732A (ja) 1999-10-08 2001-04-20 Rinnai Corp 近似値出力装置とその学習装置
JP2001134628A (ja) 1999-11-05 2001-05-18 Babcock Hitachi Kk 骨組構造の最適化設計装置
JP2006323710A (ja) * 2005-05-20 2006-11-30 Renesas Technology Corp データプロセッサ、データ処理方法及び演算制御プログラム
JP5282493B2 (ja) * 2008-09-04 2013-09-04 富士通株式会社 最適解関係表示装置、方法、及びプログラム
JP5530729B2 (ja) * 2009-01-23 2014-06-25 本田技研工業株式会社 音声理解装置
US9665694B2 (en) * 2013-01-31 2017-05-30 Codexis, Inc. Methods, systems, and software for identifying bio-molecules with interacting components
DE102016101665A1 (de) * 2015-01-29 2016-08-04 Affectomatics Ltd. Auf datenschutzüberlegungen gestützte filterung von messwerten der affektiven reaktion
US11232466B2 (en) * 2015-01-29 2022-01-25 Affectomatics Ltd. Recommendation for experiences based on measurements of affective response that are backed by assurances
WO2017075513A1 (en) * 2015-10-29 2017-05-04 Fuelcomm Inc. Systems, processes, and methods for estimating sales values

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002230514A (ja) * 2000-11-14 2002-08-16 Honda R & D Europe (Deutschland) Gmbh 進化的最適化方法
JP2005209211A (ja) * 2004-01-26 2005-08-04 Honda Research Inst Europe Gmbh 進化的最適化方法
JP2013257745A (ja) * 2012-06-13 2013-12-26 Dainippon Printing Co Ltd パラメータフィッティング方法

Also Published As

Publication number Publication date
EP3736746A1 (en) 2020-11-11
CN111913685A (zh) 2020-11-10
US20200356622A1 (en) 2020-11-12
JP7298284B2 (ja) 2023-06-27
US11550873B2 (en) 2023-01-10

Similar Documents

Publication Publication Date Title
US11593663B2 (en) Data discriminator training method, data discriminator training apparatus, non-transitory computer readable medium, and training method
WO2018227800A1 (zh) 一种神经网络训练方法及装置
JP3404532B2 (ja) 最適フィッティングパラメータ決定方法および装置、並びに最適フィッティングパラメータ決定プログラム
KR20160143548A (ko) 인공 신경 네트워크를 자동으로 조정하는 방법 및 장치
WO2018039011A1 (en) Asychronous training of machine learning model
KR20160143505A (ko) 신경망의 연산량을 줄이는 방법 및 시스템
Vasiljevic Classical and evolutionary algorithms in the optimization of optical systems
CN114391150A (zh) 基于逆向和前向建模机器学习的生成式设计
JP2020095586A (ja) 強化学習方法、および強化学習プログラム
JP7298284B2 (ja) 演算処理装置、演算処理プログラム、及び演算処理方法
CN114154615A (zh) 基于硬件性能的神经架构搜索方法和设备
JPWO2020075316A1 (ja) 位置決め制御装置及び位置決め方法
US20210365822A1 (en) Computer implemented method for generating generalized additive models
JP2020009178A (ja) 変換装置、学習装置、変換方法、学習方法及びプログラム
WO2020054402A1 (ja) ニューラルネットワーク処理装置、コンピュータプログラム、ニューラルネットワーク製造方法、ニューラルネットワークデータの製造方法、ニューラルネットワーク利用装置、及びニューラルネットワーク小規模化方法
Barber Flexible regression and smoothing: Using GAMLSS in R
WO2023007848A1 (ja) データ解析方法、データ解析装置、及び、データ解析プログラム
KR20200063904A (ko) 다중 간선 라벨 그래프의 정점들 간 관련도를 측정하는 방법 및 장치
JP7224263B2 (ja) モデル生成方法、モデル生成装置及びプログラム
US20220343162A1 (en) Method for structure learning and model compression for deep neural network
CN113591781B (zh) 基于服务机器人云平台的图像处理方法及系统
JP2023128703A (ja) 計算装置、計算プログラム、記録媒体及び計算方法
Ahmadi Prediction of Orthogonal Cutting Forces Based on Multi-fidelity Modeling
WO2022102255A1 (ja) 情報処理装置およびニューラルネットワーク縮約方法
Benureau et al. Learning Timescales in MTRNNs

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230120

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20230120

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20230120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230125

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: 20230516

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230529

R150 Certificate of patent or registration of utility model

Ref document number: 7298284

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150