特許第6697566号(P6697566)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 東莞理工学院の特許一覧 ▶ 李 耘の特許一覧 ▶ 李 琳の特許一覧

特許6697566遺伝的アルゴリズムに基づく大域的最適化、検索並びに機械学習法
<>
  • 特許6697566-遺伝的アルゴリズムに基づく大域的最適化、検索並びに機械学習法 図000015
  • 特許6697566-遺伝的アルゴリズムに基づく大域的最適化、検索並びに機械学習法 図000016
  • 特許6697566-遺伝的アルゴリズムに基づく大域的最適化、検索並びに機械学習法 図000017
  • 特許6697566-遺伝的アルゴリズムに基づく大域的最適化、検索並びに機械学習法 図000018
  • 特許6697566-遺伝的アルゴリズムに基づく大域的最適化、検索並びに機械学習法 図000019
  • 特許6697566-遺伝的アルゴリズムに基づく大域的最適化、検索並びに機械学習法 図000020
  • 特許6697566-遺伝的アルゴリズムに基づく大域的最適化、検索並びに機械学習法 図000021
  • 特許6697566-遺伝的アルゴリズムに基づく大域的最適化、検索並びに機械学習法 図000022
  • 特許6697566-遺伝的アルゴリズムに基づく大域的最適化、検索並びに機械学習法 図000023
  • 特許6697566-遺伝的アルゴリズムに基づく大域的最適化、検索並びに機械学習法 図000024
  • 特許6697566-遺伝的アルゴリズムに基づく大域的最適化、検索並びに機械学習法 図000025
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6697566
(24)【登録日】2020年4月28日
(45)【発行日】2020年5月20日
(54)【発明の名称】遺伝的アルゴリズムに基づく大域的最適化、検索並びに機械学習法
(51)【国際特許分類】
   G06N 3/12 20060101AFI20200511BHJP
   G06N 3/08 20060101ALI20200511BHJP
【FI】
   G06N3/12 160
   G06N3/08 160
【請求項の数】12
【全頁数】17
(21)【出願番号】特願2018-538208(P2018-538208)
(86)(22)【出願日】2017年6月21日
(65)【公表番号】特表2019-516148(P2019-516148A)
(43)【公表日】2019年6月13日
(86)【国際出願番号】CN2017089285
(87)【国際公開番号】WO2018161468
(87)【国際公開日】20180913
【審査請求日】2018年7月14日
(31)【優先権主張番号】201710437829.1
(32)【優先日】2017年6月12日
(33)【優先権主張国】CN
(31)【優先権主張番号】201710140258.5
(32)【優先日】2017年3月10日
(33)【優先権主張国】CN
【前置審査】
(73)【特許権者】
【識別番号】516333551
【氏名又は名称】東莞理工学院
(73)【特許権者】
【識別番号】518254207
【氏名又は名称】李 耘
【氏名又は名称原語表記】Yun Li
(73)【特許権者】
【識別番号】518254218
【氏名又は名称】李 琳
【氏名又は名称原語表記】Lin Li
(74)【代理人】
【識別番号】110002262
【氏名又は名称】TRY国際特許業務法人
(72)【発明者】
【氏名】李 耘
(72)【発明者】
【氏名】李 琳
【審査官】 今城 朋彬
(56)【参考文献】
【文献】 特開平10−307870(JP,A)
【文献】 特開2004−355220(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/12
G06N 3/08
(57)【特許請求の範囲】
【請求項1】
プロセッサーにより実施されるラマルクの獲得形質の遺伝原理に基づく大域的最適化、検索並びに機械学習法であって、
最適化、検索並びに機械学習の問題対象の構造の目的関数f(x)を採用する工程1と、
前記問題対象の最適化要求に基づいて問題対象が遺伝的アルゴリズムの染色体コードとして編集された後、遺伝的アルゴリズムの操作パラメータの計算または入力が行われ、且つアルゴリズムの初期化が行われる工程2と、
前記問題対象の最適化要求に基づいて、第k世代解候補群がGと設定され、且つG={P,P,・・・,P,・・・,P}であり、Pは解候補群G中の第i番染色体コードを表し、Sは群の大きさを表し、遺伝オペレーターの書き換え操作及び突然変異操作による反復最適化法によりk+1世代群Gk+1が獲得され、すなわちGk+1={Pk+1,Pk+1,・・・,Pk+1,・・・,Pk+1}であり、Pk+1は群Gk+1中の第i番染色体コードを表し、Sは群の大きさを表す工程3と、
前記問題対象の最終最適解集合が出力される工程4とを含み、
工程3の最適化過程は、
前記解候補群G中の各染色体コードPが解読された後に対応する目的関数値の大きさの計算が行われる個体の評価工程(1)と、
遺伝オペレーターの書き換え操作が実行され、臨時群G’k+1が生成される工程(2)と、
変異オペレーターが使用されて臨時群G’k+1に対して突然変異操作が実行され、新しい解候補群Gk+1が獲得される工程(3)と、
工程(1)から工程(3)が所定の終了条件を満たすまで反復して行われる工程(4)と、
前記群Gk+1が今回の最適化要求を満たすか否かの評価が下され、要求を満たしている場合は最終最適解集合が獲得され、要求を満たしていない場合は操作パラメータが修正され、最終最適解集合が得られるまで再計算が行われる工程(5)とを含み、
ここでは、工程(2)は、
交叉率pに基づいて解候補群G中から2つの染色体コードがランダムに選択され、2つの染色体コードの目的関数値f及びfの大きさが比較され、且つ遺伝子の遺伝の百分率pが計算され、p=f/(f+f),f>fとなる工程(2a)と、
次世代に遺伝される遺伝子数nが計算され、n=L・pとなり、Lは遺伝子鎖長を表し、pは遺伝子の遺伝の百分率を表す工程(2b)と、
目的関数値の大きい染色体コードが保留され、目的関数値の大きい染色体コード上のn番目の遺伝子が目的関数値が小さい染色体コードに対応する位置に書き換えられ、新しい染色体コードが形成される工程(2c)と、
上記工程(2a)-(2c)がpS回繰り返し行われ、前記遺伝オペレーターの書き換え操作後の臨時群G’k+1が生成される工程(2d)とをさらに含むことを特徴とするラマルクの獲得形質の遺伝原理に基づく大域的最適化、検索並びに機械学習法。
【請求項2】
工程2において、初期化方法は、
まず、遺伝的アルゴリズムの作動モードに基づいて、解候補群の大きさS、変数の次元d、変数の取得範囲、交叉率p、変異オペレーター中の内部パラメータの操作パラメータが確定される工程(1)と、
その後、問題対象に対する編集が行われ、個体遺伝子鎖、染色体、及び解候補群が形成され、遺伝子鎖長Lが確定される工程(2)と、
最後に、問題対象の変数の取得範囲に基づいて初期化が行われ、1組の初期解候補がランダムに生成され、k=0である場合、各染色体コードは{x(i),x(i),・・・,x(i)}であり、すなわちP={x(i),j=1,・・・,d}であり、初期群はG={ P,i=1,2,・・・,S}とし、Sは群の大きさを表し、dは変数の次元を表す工程(3)とを含むことを特徴とする請求項1に記載のラマルクの獲得形質の遺伝原理に基づく大域的最適化、検索並びに機械学習法。
【請求項3】
工程3の工程(1)において、個体評価には複数のプロセッサーまたは複数のコンピューターが使用されることを特徴とする請求項1に記載のラマルクの獲得形質の遺伝原理に基づく大域的最適化、検索並びに機械学習法。
【請求項4】
工程3の工程(2)において、前記遺伝オペレーターの書き換え操作時に書き換えられるn個の遺伝子はランダムに選択されることを特徴とする請求項1に記載のラマルクの獲得形質の遺伝原理に基づく大域的最適化、検索並びに機械学習法。
【請求項5】
工程3の工程(3)において、突然変異操作には遺伝的アルゴリズム中の突然変異法が採用され、変異率をpとする一様突然変異法を含むことを特徴とする請求項1に記載のラマルクの獲得形質の遺伝原理に基づく大域的最適化、検索並びに機械学習法。
【請求項6】
工程3の工程(2)及び工程3の工程(3)において、各世代中のエリート染色体コードは遺伝オペレーター及び変異オペレーターによる改変を受けないことを特徴とする請求項1に記載のラマルクの獲得形質の遺伝原理に基づく大域的最適化、検索並びに機械学習法。
【請求項7】
工程3の工程(5)において、前記群Gk+1が今が今回の最適化要求を満たせない場合、操作パラメータ中の交叉率または変異オペレーター中の内部パラメータが修正されることを特徴とする請求項1に記載のラマルクの獲得形質の遺伝原理に基づく大域的最適化、検索並びに機械学習法。
【請求項8】
工程3の工程(5)において、前記群Gk+1が今が今回の最適化要求を満たせない場合、操作パラメータ中の群の大きさ及び/または反復回数が増大されることを特徴とする請求項1に記載のラマルクの獲得形質の遺伝原理に基づく大域的最適化、検索並びに機械学習法。
【請求項9】
工程2で確定される交叉率及び変異オペレーター中の内部パラメータは、工程3の過程において、進化の状態に基づいて自動調整されることを特徴とする請求項1に記載のラマルクの獲得形質の遺伝原理に基づく大域的最適化、検索並びに機械学習法。
【請求項10】
工程2において、問題対象の編集により獲得された染色体上の遺伝子コードは問題対象の構造または構造の数値パラメータを表すことを特徴とする請求項2に記載のラマルクの獲得形質の遺伝原理に基づく大域的最適化、検索並びに機械学習法。
【請求項11】
工程2において、問題対象に対する編集が行われる方式は、dが2より小さいか等しい場合、二進数または十進数編集法が選択され、dが2より大きい場合、実数編集法が選択されることを特徴とする請求項10に記載のラマルクの獲得形質の遺伝原理に基づく大域的最適化、検索並びに機械学習法。
【請求項12】
工程2において、問題対象の遺伝子コードは算術演算子または論理演算子でもよいことを特徴とする請求項10に記載のラマルクの獲得形質の遺伝原理に基づく大域的最適化、検索並びに機械学習法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータプログラミング(含人工知能)の技術分野に関し、更に詳しくは、遺伝的アルゴリズムに基づく大域的最適化、検索並びに機械学習法に関する。
【背景技術】
【0002】
大域的最適化、検索及び機械学習等の技術的問題を解決させるために通常の遺伝的アルゴリズムではダーウィンの「適者生存」という進化論を利用し、複数回重複して選択オペレーター、交叉オペレーター及び変異オペレーターの3つのオペレーターを応用しているが、アルゴリズムの検索速度が遅く、検索精度が低かった。また、遺伝的アルゴリズムの局部探索能力が低く、アルゴリズムの進化的計算の検索効率が低下した。実用においては、遺伝的アルゴリズムは早熟収束の問題を誘発しやすく、どの選択方法を採用しても優良な個体を保留させ、群体の多様性を維持させることは、遺伝的アルゴリズムにおいて解決が難しい技術的問題であり、大域的最適化、検索及び機械学習において技術的効果が制限された。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ダーウィンの「適者生存」という進化論に基づいた通常の遺伝的アルゴリズムの上述の技術的問題を克服させるため、本発明ではラマルクの獲得形質の遺伝原理及び現代「エピジェネティクス」をダーウィンの進化論の「適者生存」の自然法に結合させ、「獲得形質の遺伝的アルゴリズム」の技術方法及び「獲得形質の遺伝的アルゴリズム」を構成させる。まず、ラマルクの獲得形質の遺伝の自然法に基づいた獲得形質の「遺伝オペレーター」及びその「書き換え操作」方法を発明し、通常の遺伝的アルゴリズムにおける2つのオペレーター(すなわち、「選択オペレーター」及び「交叉オペレーター」)を直接代替させ、遺伝的アルゴリズムの構造を簡略化させ、従来の遺伝的アルゴリズムに存在する多くの技術的欠陥を克服させ、遺伝的アルゴリズムの大域的最適化及び後期進化の持続可能性を高める。次いで、ラマルクの使い捨てオペレーターの自然法に基づいて「使用と廃止オペレーター」を発明し、通常の遺伝的アルゴリズムにおける先天性変異オペレーターを代替させる。こうして、同世代内で後天的定方向突然変異操作を行い、突然変異操作の新しい技術効果を生み出し、遺伝的アルゴリズムの性能を高め、大域的最適化、検索及び機械学習等の多くの問題を解決させてこれを向上させる。
【課題を解決するための手段】
【0004】
上記課題を解決するために、
ラマルクの獲得形質の遺伝原理に基づく大域的最適化、検索並びに機械学習法は、
最適化、検索並びに機械学習された問題対象の構造の目的関数f(x)に基づく工程1と、
問題対象の最適化要求に基づいて問題対象が遺伝的アルゴリズムの染色体として編集された後、遺伝的アルゴリズムの操作パラメータの自動計算または手動入力が行われ、且つアルゴリズムの初期化が行われる工程2であって、ここでは遺伝的アルゴリズムとは通常の遺伝的アルゴリズムを指すことと、
問題対象の最適化要求に基づいて、第k世代解候補群がGと設定され、且つG={P,P,・・・,P,・・・,P}であり、Pは解候補群G中の第i番染色体コードを表し、Sは群の大きさを表し、反復最適化法によりk+1世代群Gk+1が獲得され、すなわちGk+1={Pk+1,Pk+1,・・・,Pk+1,・・・,Pk+1}であり、Pk+1は群Gk+1中の第i番染色体コードを表し、Sは群の大きさを表す工程3と、
問題対象の最終最適解集合が出力される工程4とを含み、
工程3の最適化過程は、
解候補群G中の各染色体コードPが解読された後に対応する目的関数値の大きさの計算が行われる個体の評価工程(1)と、
ラマルクの獲得形質の遺伝オペレーターの書き換え操作が実行され、臨時群G’k+1が生成される工程(2)と、
ラマルクの使用と廃止オペレーターが使用されて臨時群G’k+1に対して定方向突然変異操作が実行され、新しい解候補群Gk+1が獲得される工程(3)であって、変異オペレーターは通常の遺伝的アルゴリズムにおける変異オペレーターであることと、
工程(1)から工程(3)が所定の終了条件を満たすまで反復して行われる工程(4)と、
解読後の前記最適解が今回の最適化計算要求を満たすか否かの評価が下され、要求を満たしている場合は最終最適解集合が獲得され、要求を満たしていない場合は操作パラメータが修正され、最終最適解集合が得られるまで再計算が行われる工程(5)とを含み、
ここでは、工程(2)は、
交叉率pに基づいて解候補群G中から2つの染色体コードがランダムに選択され、2つの染色体コードの目的関数値f及びfの大きさが比較され、且つ遺伝子の遺伝の百分率pが計算され、p=f/(f+f),f>fとなる工程(2a)と、
次世代に遺伝される遺伝子数nが計算され、n=L・pとなり、Lは遺伝子鎖長を表し、pは遺伝子の遺伝の百分率を表す(計算結果が整数nではない場合、切り上げて整数にする)工程(2b)と、
目的関数値の大きい染色体コードが保留され、目的関数値の大きい染色体コード上のn番目の遺伝子が目的関数値が小さい染色体コードに対応する位置に書き換えられ、新しい染色体コードが形成される工程(2c)であって、対応して書き換えられることにより目的関数値の大きい染色体コード上の選択された桁の遺伝子が目的関数値の小さい染色体コードの対応する位置に書き換えられ、以降同様に続くことと、
上記工程(2a)−(2c)がpS回繰り返し行われ、書き換え操作後の臨時群G’k+1が生成される工程(2d)であって、Sは群の大きさを表し、pは交叉率を表すことをさらに含む。
【0005】
工程2において、初期化方法は、
まず、遺伝的アルゴリズムの作動モードに基づいて、解候補群の大きさS、変数の次元
d、変数の取得範囲、交叉率p、変異オペレーター中の内部パラメータ等の操作パラメータが確定される工程(1)と、
その後、最適化要求に基づいて問題対象に対する編集が行われ、個体遺伝子鎖、染色体、及び解候補群が形成され、遺伝子鎖長Lが確定される工程(2)と、
最後に、問題対象の変数の取得範囲に基づいて初期化が行われ、1組の初期解候補がランダムに生成され、k=0である場合、各染色体ゲノムは{x(i),x(i),・・・,x(i)}であり、すなわち、P={x(i),j=1,・・・,d}であり、初期群はG={P,i=1,2,・・・,S}とし、Sは群の大きさを表し、dは変数の次元を表す工程(3)とを含む。
工程2(2)において、問題対象に対する編集が行われる方式は、dが2より小さいか等しい場合、二進数または十進数編集法が選択され、dが2より大きい場合、実数編集法が選択される。
目的関数値は最大化の問題に対する適合度関数値または最小化の問題に対するコスト関数値である。
【0006】
工程3の工程(1)において、個体評価には複数のプロセッサーまたは複数のコンピューターが使用される。
【0007】
工程3の工程(2)において、ラマルクの遺伝オペレーター書き換え操作時には書き換えられるn個の遺伝子はランダムに選択される。
【0008】
工程3の工程(3)において、突然変異操作には通常の遺伝的アルゴリズム中の非定方向突然変異法が採用され、変異率をpとする一様突然変異法を含み、「使用と廃止オペレーター」は使用されない。
【0009】
工程3の工程(3)において、突然変異操作にはラマルク「使い捨てオペレーター」の自然法に基づく「使用と廃止オペレーター」が採用され、定方向突然変異法が実施される。
【0010】
工程3の工程(3)において、勾配情報が獲得可能であれば「使用と廃止オペレーター」には勾配最適化法が採用される。勾配情報が獲得された状況では、勾配の符号及び大きさに基づいて変異の方向及びステップ長さが確定される方法である。
【0011】
工程3の工程(3)において、「使用と廃止オペレーター」として非勾配最適化法が採用される。非勾配最適化法は山登りアルゴリズム、アニーリングアルゴリズム、シンプレックス法(Simplex Method)、パターン検索(pattern search)、或いはパウエルの共役方向法(Powell’s method)等を含む。
【0012】
工程3の工程(2)及び工程3の工程(3)において、各世代中のエリート染色体コードはラマルクの遺伝オペレーター及び変異オペレーターによる改変を受けず、それまで進化に加わった変異群体の中から出現した最良の個体(エリート個体、エリート染色体コードと称する)として書き換えられずにエリートとして保留され、次世代中で直接複製される。エリートの確定方法は通常の遺伝的アルゴリズムの方法である。
【0013】
工程3の工程(5)において、最適解が今回の最適化計算要求を満たしているか否か評価が下され、要求を満たしている場合は演算が終了する。要求を満たしていない場合、操作パラメータ中の操作パラメータ中の交叉率または変異オペレーター中の内部パラメータが修正され、工程3が重複して実行され、問題対象の末代の最適解集合が獲得される。
【0014】
工程3の工程(5)において、最適解が今回の最適化計算要求を満たしているか否か評価が下され、要求を満たしている場合は演算が終了する。要求を満たしていない場合、操作パラメータ中の群の大きさ及び/または反復回数が増大され、工程3が重複して実行され、問題対象の末代の最適解集合が獲得される。
【0015】
工程2において確定される操作パラメータ中の交叉率及び変異オペレーター中の内部パラメータは工程3の過程において、進化状態に基づいて自動調整される。
【0016】
工程2において、染色体中の遺伝子コードは問題対象の構造または構造の数値パラメータを表す。
【0017】
通常、問題対象の構成は問題対象の構造と、各構造の数値パラメータと、構造間の組み合わせ方式とを含む(あるものは算術演算子または論理演算子により表示される)。通常の遺伝的アルゴリズムにおいて、染色体上の遺伝子コードは一般的には演算子ではない。「遺伝的プログラミング」においては染色体上の遺伝子コードが演算子でもよい。本発明の工程2においては問題対象の遺伝子コードが演算子でもよく、これにより本発明に係る獲得形質の遺伝的アルゴリズムが「獲得形質の遺伝的プログラミング」にまで拡大応用され、問題対象の構造に質的変化を発生させて自由最適化が実現する。図4に示すように、獲得形質の遺伝的プログラミングにおける「遺伝オペレーター」は通常の遺伝的プログラミングの交叉操作に類似し、但し、染色体のツリー状の「剪定接ぎ木」は獲得形質の遺伝的アルゴリズム中の書き換え操作により実現する。同様に、突然変異操作及び「使い捨てオペレーター」の分枝も新しい分枝により代替させてもよい。これにより、本発明に係る遺伝オペレーター及び使用と廃止オペレーターは獲得形質の遺伝的プログラミングにおける実施方式も改変されず、遺伝的プログラミングの速度及び精度は高まる。このように、後天的な獲得形質の遺伝が自由構造最適化、自動プログラム試行及び機械学習機能を向上させる。
【発明の効果】
【0018】
本発明はラマルクの獲得形質の遺伝原理及び現代のエピジェネティクスをダーウィンの進化論の適者生存の自然法と結合させ、獲得形質の遺伝的アルゴリズムの技術方法、獲得形質の遺伝的アルゴリズム及び獲得形質の遺伝的プログラミング方法を構成させる。ラマルクの獲得形質の遺伝の自然法を操作する遺伝オペレーターを発明することで通常の遺伝的アルゴリズムの選択オペレーター及び交叉オペレーターを直接代替させる。ラマルクの使い捨てオペレーターの自然法を操作する使用と廃止オペレーターを更に発明することによって通常の遺伝的アルゴリズム中の先天性変異オペレーターを代替させる。これにより、同世代内で使い捨てオペレーターの後天的定方向突然変異を実行させ、突然変異操作により新しい技術効果を生み出し、より多くの大域的最適化、検索及び機械学習等の問題により好ましい解決を得る。具体的には以下の長所を有する。
(1)最適化過程の構造が簡単になり、必要な制御パラメータが少なく、計算の難度が低く、操作が便利である。
(2)遺伝的アルゴリズム及び遺伝的プログラミングの大域的最適化及び後期進化の持続可能性が増強される。
(3)大域的最適化、検索及び機械学習等の問題の最適解集合の収束がより速くなり、精度が更に高まる。
(4)応用の展望及び応用分野がより広がる。
1)複雑な問題の最適化では明確な数式が不要であるため、このような問題を解決する有力なツールとなる。
2)複雑なシステムの分析では、進化的計算を応用することでクラスタ分析、パターン認識、画像処理、組織スケジュール等の作業を実施し、乱雑で複雑な物事を方式化可能にする。
3)自動制御。進化的計算技術は自己適応、自己学習、自己組織化という知的行為を実行でき、環境の変化に適応し、変動を減少させ、高い制御精度、制御の即時性及び高速性を保証する。
4)ハードウェアの自動設計では、複雑な回路設計及び自己適応ハードウェア分野に新しい方法を提供する。
5)自動プログラム設計。遺伝的プログラム設計に基づいて発展した自動プログラム設計方法は、進化的ソフトウェアの研究を発展させる。すなわち、コンピューターに対して具体的な方法を精確に教えなくてもコンピューターが自動的にタスクを完遂する。
6)総合的な応用。他の技術と結合され、それぞれの特徴を発揮させて問題を総合的に解決させる。例えば、遺伝的アルゴリズム及び人工ニューラルネットワークを結合させて機械学習等の問題を解決させる。
【図面の簡単な説明】
【0019】
図1】獲得形質の遺伝的アルゴリズムのフローチャートである。
図2】「遺伝オペレーター」の書き換え操作のフローチャートである。
図3】1回の書き換え操作の概略図である。
図4】獲得形質の遺伝的プログラミングの「接ぎ木繁殖」の概略図である。
図5】本発明及び通常の遺伝的アルゴリズムの大域的最小値(f)の最適化及び最大値の最適化(f)における具体的な実施例のアルゴリズムの適応度の比較である。
図6】本発明及び通常の遺伝的アルゴリズムの大域的最小値(f)の最適化及び最大値の最適化(f)における具体的な実施例のアルゴリズムの精度の比較である。
図7】ニューラルネットワークの機械学習の概略図である。
図8】ニューラルネットワークが2つの変数排他的論理和問題を実現する概略図である
図9】最適値及び平均関数値である。
図10】出力及び入力の関係を獲得する概略図である。
図11】本発明に係る方法と他の粒子フィルターアルゴリズムとの粒子数が10の場合の二乗平均平方根誤差の曲線の比較の概略図である。
【発明を実施するための形態】
【0020】
以下に図面を参照して、本発明を実施するための形態について、詳細に説明する。なお、本発明は、以下に説明する実施形態に限定されるものではない。
【実施例】
【0021】
本実施形態のテストは大域的最適化、検索及び機械学習の問題の標準関数を選択して本発明及び通常の遺伝的アルゴリズムに対して性能テスト及び比較を行う。標準関数及び関連するパラメータの設定を表1に示す。
【表1】
【0022】
通常、群の大きさは変数すなわち次元数の10倍に設定され、よって本実施形態の群の大きさはS=300と設定され、通常の遺伝的アルゴリズム中の交叉率は通常p=0.5と設定され、変異率は通常p=0.2と設定される。検証が一致するようにするため、本発明では交叉率として0.5を採用し、変異率として0.2を採用する。各テスト関数をそれぞれ独立して30回実行する。関数の評価回数は全て3×10である。
2つのテスト関数に対し、本発明に係るアルゴリズム及び通常の遺伝的アルゴリズムの解の検索の平均値、標準差、最適性、及び精度の結果を表2及び表3にそれぞれ示す。
【表2】
【表3】
【0023】
表2及び表3の統計資料から分かるように、本発明のアルゴリズムによる最適化の平均値、標準差、最適性、及び精度が全て通常の遺伝的アルゴリズムより優れている。また、解の精度も大きく上回り、理論最適値に極めて近い。
【0024】
図5及び図6はそれぞれ本発明及び通常の遺伝的アルゴリズムが関数の評価回数の変化に基づく平均適応度及び平均検索精度の関係を図示する。図示するように、本発明に係るアルゴリズムは最適化テスト関数f及びfの場合に得られる最適解は理論最適解に更に接近する。また、本発明に係るアルゴリズムの検索速度は通常の遺伝的アルゴリズムよりもはるかに速い。
【0025】
上述のように、本発明は高い最適化精度及び速い収束速度を有する。
【0026】
公衆が本発明の技術方法を理解して使用可能にするため、以下では2つの大域的最適化、検索及び機械学習の問題の応用実施形態を基に更に説明する。
【0027】
(応用実施形態1−簡単なニューラルネットワークに基づく排他的論理和機械学習の問題)
人工ニューラルネットワーク(Artificial Neural Networks、略称ANNs)はニューラルネットワーク(NNs)とも呼ばれ、動物のニューラルネットワークの振る舞いの特徴を模倣し、分散式並行情報処理及び機械学習のアルゴリズムモデルを実現させる。このネットワークは相互接続されたノンリニアニューロンノードに依存し、ノード間の相互接続関係及び比重を調整することにより情報の処理及び学習、記憶させる目的が達成される。図7は簡単なニューラルネットワークを図示し、円はニューロンを表し、入力点「−1」はバイアスノードと称される。ニューラルネットワークの最も左側の層は入力層であり、最も右側の層は出力層である。中間の全てのノードにより隠蔽層が構成され、訓練サンプルセット中でこれらの値を直接観察することはできない。また、前記ニューラルネットワークの機械学習の実施例において、2つの入力ユニット(バイアスユニットを含まず)、2つの隠蔽ユニット、及び1つの出力ユニットを観察することができる。
【0028】
図8に示すように、簡単なネットワークを有する1つのニューラルネットワークにより2つの変数の排他的論理和問題を実現し、獲得形質の遺伝的アルゴリズムを使用した機械学習の状況について説明する。これは実効的で有効な学習アルゴリズムを探し出すために重要な意義がある。入力ニューロンはx、xであり、出力はyであり、排他的論理和問題の4種類の訓練モデルは表4に示す。
【表4】
入力層のニューロンが出力層のニューロンに接続される重み値は合計9個であり、w、n=1,2,・・・,9と記載する。
本発明の大域的最適化、検索及び機械学習の技術方法によりニューラルネットワークが実現する排他的論理和問題を解決し、訓練ネットワークの重み値はwであり、具体的な実施フローチャートは図1及び図2に示す。
【0029】
工程1、排他的論理和問題の構造の目的関数f(W)に基づくと、Wは重みベクトルであり、すなわちW={w,n=1,2,・・・,9}となる。普遍性を保持させるため、ここでは
【数1】
が採用され、mは訓練モデル番号であり、yは表示訓練モデルmの出力を表す。図8からはfがWの関数であることが分かり、その値は解の適応度を表し、これが大きい程訓練または学習の誤差が小さくなる。よって、本実施形態の目的はfを最大化させることである。
【0030】
工程2では、問題対象の最適化要求に基づいて通常の遺伝的アルゴリズムの操作パラメータが自動計算または手動入力され、Wが染色体として編集され、初期化が行われる。
工程(1)、まず、通常の遺伝的アルゴリズムの作動モードに基づくと、S=90であり(一般的にはパラメータ変数の次元の10倍)、変数の次元d=9であり、W取得値の範囲は−5から4.9であり、遺伝率としてp=0.6が採用され、変異率としてp=0.05が採用される。
工程(2)、その後に問題対象の最適化が必要な構造及びそのパラメータに対して十進数の編集が行われ、個体遺伝子鎖、染色体、及び解候補群が形成され、遺伝子鎖長Lが確定される。ここでは、二桁の十進数が重み値の編集方法を説明するために採用され、具体的には表5に示し、遺伝子鎖長L=2×d=2×9=18である。例えば、W={w,w,w,w,w,w,w,w,w}={−5,−4.9,−4.8,−4.7,0.0,4.6,4.7,4.8,4.9}であり、編集形式はWc={000102035096979899}である。
【表5】
工程(3)、最後に問題対象の変数の取得範囲に基づいて初期化が行われ、1組の初期解候補がランダムに生成される。k=0である場合、各染色体Pの重み値ベクトルの編集形式はW={x(i),x(i),・・・,x(i)}であり、P={x(i),i=1,・・・,S,j=1,・・・,L}となり、x(i)はコードの各桁であり、初期群はG={P,i=1,2,・・・,S}とする。
【0031】
工程3において、最適化要求に基づいてk世代群をG={P,P,・・・,P}と仮定し、Pは群中の1つの個体(染色体)を表し、反復法を利用し、書き換え及び突然変異操作によりk+1世代群Gk+1={Pk+1,Pk+1,・・・,Pk+1}が得られる。最適化過程は以下のとおりである。
工程(1)、個体評価。表4によると、訓練入力マトリクスは
【数2】
であり、希望出力マトリクスはY=[0 1 0 1]であり、群G中の各個体Pの解読後の適応度、すなわち目的関数値が計算され、ここでは最大値の問題に属する。例えば、f(Pi1)=0.4、f(Pi2)=0.2であり、Pi1はPi2より優れる。
工程(2)、図2に示すように、ラマルクの「遺伝オペレーター」の書き換え操作が実行されて新しい解候補群G’k+1が生成され、以下の工程を含む。
工程(2a)、交叉率pに基づいて2つの親染色体(すなわち、親解候補の遺伝子クラスタ)がランダムに選択され、すなわち(0,1]の間の1つの乱数rがランダムに生成され、r<pである場合、2つの親染色体が選択され、さもなくば選択がなされず、乱数rの生成が継続される。例えば、Pi1={x(i1),x(i1),・・・,x(i1)}j=1及びPi2={x(i2),x(i2),・・・,x(i2)}j=1となる。
工程(2b)、2つの染色体の適合度関数値f(Pi1)及びf(Pi2)が比較される。例えば、f(Pi1)>f(Pi2)である場合、f(Pi1)は子世代に遺伝され、より多くの遺伝子となる。遺伝子の遺伝の百分率pが下記のように計算される。
【数3】
下記計算式に基づいて次世代に遺伝される遺伝子数が計算される。
【数4】
工程(2c)、遺伝オペレーターの操作及び書き換え操作の実行。適応度の高い染色体が保留され、適応度が高い染色体上のn個の遺伝子が適応度が低い染色体の対応する位置に書き換えられ、新しい染色体が形成される。対応して書き換えられることにより適応度の高い染色体上の選択された位置の遺伝子が適応度が低い染色体の対応する位置上に書き換えられ、以降同様に実行され、基本的なフローチャートは図2に示す。1回の書き換え操作は図3に示す(図中では全てのコードビットが記載されているわけではない)。上述の工程に基づくと、Pi2中の18×2/3=12個のコードビットはPi1中のコードビットにより書き換えられた後に1回書き換えられる。
工程(2d)、上述の工程(2a)乃至工程(2c)の過程がpS回重複して実行され、書き換え操作後の新しい解候補の臨時群G’k+1が生成される。
書き換え回数がN=pS(0.6×90=54。積が整数ではない場合、切り上げて整数にする)より多いか等しい場合、書き換え操作が終了し、書き換え回数が54より少ない場合、継続して工程(2a)乃至工程(2c)が繰り返し実行される。
【0032】
工程(3)、1つの適切な「変異オペレーター」が使用され、臨時群G’k+1に対して突然変異操作が実行され、新しい解候補群Gk+1が獲得される。ここでは、機械学習の問題は比較的簡単であり、本実施形態では「使い捨てオペレーター」の操作が採用されず、比較的常用される通常の遺伝的アルゴリズムにおける先天的一様突然変異法のみが採用される。変異率はp=0.05であり、1回の反復後の新しい群Gk+1中では90×18×0.05=81(積が整数出ない場合、切り上げて整数にする)個のコードビットを有し、且つ0乃至9の間の1つの新しい値が獲得される。
【0033】
工程(4)、所定の設定の終了条件が満たされるまで工程(1)乃至工程(3)が繰り返し反復される。ここでは、終了条件は単純に100世代までの進化と設定される。
【0034】
工程(5)、解読後の前記最適解が今回の最適化計算要求を満たしているか否か評価が下され、要求を満たしている場合、演算が終了する。要求を満たしていない場合、アルゴリズムの操作パラメータが修正され、例えば、交叉率pや変異率pが手動で修正されるか、或いは群の大きさ及び進化の反復回数が増大され、再計算が行われ、最終最適化結果が獲得される。ここでは、最適化計算要求はf>0.95であり、図9は要求を満たしている。
【0035】
工程4では、問題対象の末代最適解集Wが出力される。図8には1つの重み値の最適解集合を示す。
【0036】
図9及び図10はそれぞれ本発明に係るニューラルネットワークの最適化により2つの変数の排他的論理和機械学習の問題が解決された場合の100回反復が行われる最適化及び平均目的関数値並びに獲得された入力と出力の関係を示す。図から分かるように、本発明に係るアルゴリズムはニューラルネットワーク排他的論理和問題の重み値が最適化されて得られる出力が希望出力に近付く。
【0037】
上述のように、本発明に係る獲得形質の遺伝的アルゴリズムはニューラルネットワークを効果的に最適化させ、最適化された重み値が検索され、機械学習の問題も解決される。
【0038】
さらに、図7に示すネットワーク構造は遺伝子クラスタに編集され、これにより重み値も同時に最適化される。
【0039】
問題対象に要求されるネットワーク構造がより複雑な場合、獲得形質の遺伝的プログラミングを実施することによりネットワーク構造が直接的により自由に最適化される。
【0040】
(応用実施形態2−信号処理問題)
粒子フィルターアルゴリズムはノンリニア信号処理における重要な技術であり、システムモデル特性及びノイズ分布による制限を受けず、他のフィルター技術よりも高い適用性を有する。然しながら、粒子フィルターアルゴリズムの性能は自身の粒子窮乏化問題の制限を受ける。本発明に係るアルゴリズムを利用することで粒子フィルターアルゴリズムの再サンプリング過程における粒子欠乏問題が解決され、粒子分布が最適化され、粒子サンプルが実際の事後確率密度サンプルに更に近付き、フィルター性能が向上する。
【0041】
ここでは、粒子フィルターによりノンリニア動態システムの状態評価を実現させ、獲得形質の遺伝的アルゴリズムを使用した粒子フィルターによる処理信号の最適化状況について説明し、性能が優れたノンリニアフィルターアルゴリズムを見つけることの重要性を説明する。システム状態の空間モデルは下記のとおりである。
【数5】
【数6】
プロセスノイズはV〜Gamma(3,2)であり、観測ノイズはn〜N(0,0.00001)である。観測時間は70と設定され、実行回数は200と設定され、粒子数Nは10である。
【0042】
本発明に関わる大域的最適化、検索及び機械学習技術方法を利用して粒子フィルターアルゴリズムの粒子窮乏化問題を解決させ、粒子分布を最適化させる具体的な実施方式は以下のとおりである。
【0043】
工程1では、ノンリニア動態システムの状態評価問題の構造の目的関数f(x)に基づき、ここでは粒子の重み値関数が選択される。
【0044】
工程2では、問題対象の最適化要求に基づいて、通常の遺伝的アルゴリズムの操作パラメータが自動計算または手動入力され、初期化が行われる。
工程(1)、まず、通常の遺伝的アルゴリズムの作動モードに基づいて、群の大きさS=N=10が確定される。Nは粒子数であり、変数の次元はd=1であり、交叉率はp=0.9であり、変異率p=0.05である。
工程(2)、その後、問題対象の最適化には構造及びパラメータの編集が必要であり、個体遺伝子鎖、染色体及び候選群が形成され、遺伝子鎖長Lが確定される。ここでは、固定有効桁数l=7の浮動小数点数が採用されて各重点サンプリング粒子値が編集され、すなわちシステムの状態値xである。各染色体は1つの粒子の浮動小数点数形式を表し、浮動小数点数値の一桁目は符号桁を表し、「1」は正数であり、「0」は負数である。遺伝子クラスタの長さは固定有効桁数であり、すなわちL=d×l=1×7である。例えば、k時間のi番目の粒子状態値がx=10.4711である場合、その浮動小数点数編集形式はx=(1104711)となる。
工程(3)、最後に、問題対象の変数の取得範囲に基づいて初期化が行われ、1組の初期解候補がランダムに生成される。ここでは、粒子自身の初期化工程に基づいてランダムに生成される。k=0である場合、各染色体Pは粒子状態値の編集形式がx={x(i),x(i),・・・,x(i)}となり、すなわちp={x(i),j=1,・・・,d}となり、x(i)はコードの各桁であり、初期群はG={P,i=1,2,・・・,S}とする。
【0045】
工程3では、最適化要求に基づいて、仮に現世代(k世代)群をG={P,P,・・・,P}とし、Pは群中の1つの個体(染色体)を表す。反復法を利用し、書き換え及び突然変異操作によってk+1世代群が獲得される。最適化過程は以下のとおりである。
工程(1)、個体評価では、粒子重み値の公式に基づいて、群G中の各個体Pがxとして解読された後の適応度が計算され、ここでは最大値問題に属する。例えば、f(Pi1)=0.5779であり、f(Pi2)=0.4221である。
工程(2a)、遺伝率pに基づいて2つの親染色体(すなわち、親解候補の遺伝子クラスタ)がランダムに選択され、例えば、Pi1={x(i1),x(i1),・・・,x(i1)}j=1及びPi2={x(i2),x(i2),・・・,x(i2)}j=1となる。
工程(2b)、2つの染色体適合度関数値f(Pi1)及びf(Pi2)の比較が行われる。例えば、f(Pi1)>f(Pi2)である場合、Pi1が子世代に遺伝されてより多くの遺伝子となる。遺伝子の遺伝の百分率pの計算は
【数7】
となり、下記計算式に基づいて計算される次世代に遺伝される遺伝子数nはn=L×p=7×3/5≫5(ここでは、整数への切り上げが実施される)となる。
工程(2c)、遺伝オペレーターが操作され、書き換え操作が実行される。適応度の高い染色体が保留され、適応度の高い染色体上のn個の遺伝子が適応度が低い染色体の対応する位置上に書き換えされ、新しい染色体が形成される。対応して書き換えられることにより適応度の高い染色体上の選択位置の遺伝子が適応度が低い染色体の対応する位置上に書き換えられ、以降同様であり、基本的なフローチャートは図2に示す。上述の工程に基づくと、Pi2中の7×3/5≫5個のコードビットがPi1中のコードビットにより書き換えられる。
工程(2d)、上述の工程(2a)乃至(2c)の過程がpS回繰り返し実行され、書き換え操作の後に新しい解候補の臨時群G’k+1が生成される。
【0046】
工程(3)、1つの適切な「変異オペレーター」が使用され、臨時群G’k+1に対して突然変異操作が実行され、新しい解候補群Gk+1が獲得される。ここでは、機械学習ノンリニアフィルターの問題は複雑であるため、この実施形態においては「変異オペレーター」を考慮して「使い捨てオペレーター」の操作が採用される。
【0047】
工程(3a)、一般的には、通常の遺伝的アルゴリズムにおいて比較的常用される非定方向の一様突然変異法が採用される。変異率p=0.05であるため、1回の反復後の新しい群Gk+1中では10×7×0.05≒4(ここでは、整数への切り上げが実施される)個のコードビットを有して変異が実行される。ランダムに選択された変異桁が編集された符号桁である場合、通常の遺伝的アルゴリズムの二進数に従って変異が行われ、すなわち、1から0に変わり、或いは0から1に変わる。符号桁の変異桁が除去されて0乃至9の間の1つの新しい値が獲得される。
【0048】
工程(3b)ではフィルターアルゴリズムの速度及び精度を高めるため、ここでは例を挙げて通常の遺伝的アルゴリズムにおける非定方向の「変異オペレーター」に獲得形質の遺伝的アルゴリズムにおける定方向の「使い捨てオペレーター」のオペレーターをどのように採用するかについて説明する。この応用実施形態では、非勾配最適化の山登りアルゴリズムが用いられて「使い捨てオペレーター」の操作が実現される。新しい群Gk+1中の個体Pに対し、一様突然変異法に相似し、変異率は同様にp=0.05が選択され、但し、非定方向突然変異とは異なり、ここでは新しい群Gk+1中の個体Pが対応する粒子状態値xとして解読されて操作される。すなわち、1回の反復後に10×0.05≒1(ここでは、整数への切り上げが実施される)個の粒子状態を有して変異が実行され、変異した粒子状態により1つの元の粒子状態値付近のランダムな新しい値が獲得される。また、定方向突然変異は変異が必要な粒子状態値xに対してN回の変異が実行されて最良の結果が得られる。ここでは、N=S×20%=10×20%=2であり、2回の変異後に得られる2つの新しい粒子状態値及び本来のxが比較され、最良の結果が得られる。すなわち、定方向突然変異が形成される。よって、変異は常に悪い方向には向かわず、「使い捨てオペレーター」が実現される。
【0049】
工程(4)、所定の終了条件を満たすまで上述の工程3中の工程(1)乃至工程(3)が繰り返し反復される。
【0050】
工程(5)、前記最適解が今回の最適化計算要求を満たしているか否か評価が下され、要求を満たしている場合は演算が終了する。要求を満たしていない場合、アルゴリズムの操作パラメータが修正され、群の大きさ及び反復回数が増大され、再計算が行われて最終最適化結果が獲得される。
【0051】
工程4では、問題対象の末代最適解集が出力され、すなわち粒子集合である。
【0052】
表6は粒子数N=10の状況において200回モンテカルロ・テストが行われ、本発明及び他の複数種の粒子フィルターアルゴリズムが統計され、すなわち、基本粒子フィルターアルゴリズム(PF)、補助粒子フィルターアルゴリズム(APF)、及び正規化粒子フィルターアルゴリズム(RPF)との平方根平均二乗誤差(RMSE)の平均値、RMSEの平方偏差の比較結果を示す。
【表6】
【0053】
図11は本発明及び他の粒子フィルターアルゴリズムで生成されるRMSE平均値が時間経過に従って変化する概略図である。表6及び図11から分かるように、本発明に係る獲得形質の遺伝的アルゴリズムは粒子フィルターを効果的に最適化させ、最適化された粒子集合が検索可能であり、ノンリニアフィルターの問題を解決させる。
【0054】
上述の実施形態は本発明の技術思想及び特徴を説明するためのものにすぎず、当該技術分野を熟知する者に本発明の内容を理解させると共にこれをもって実施させることを目的とし、本発明の特許請求の範囲を限定するものではない。従って、本発明の精神を逸脱せずに行う各種の同様の効果をもつ改良又は変更は、後述の請求項に含まれるものとする。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11