IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社竹中工務店の特許一覧

<>
  • 特許-関数同定方法 図1
  • 特許-関数同定方法 図2
  • 特許-関数同定方法 図3
  • 特許-関数同定方法 図4
  • 特許-関数同定方法 図5
  • 特許-関数同定方法 図6
  • 特許-関数同定方法 図7
  • 特許-関数同定方法 図8
  • 特許-関数同定方法 図9
  • 特許-関数同定方法 図10
  • 特許-関数同定方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-29
(45)【発行日】2024-06-06
(54)【発明の名称】関数同定方法
(51)【国際特許分類】
   G06F 17/17 20060101AFI20240530BHJP
   G06N 20/00 20190101ALI20240530BHJP
【FI】
G06F17/17
G06N20/00 130
【請求項の数】 3
(21)【出願番号】P 2020170109
(22)【出願日】2020-10-07
(65)【公開番号】P2022061876
(43)【公開日】2022-04-19
【審査請求日】2023-09-21
(73)【特許権者】
【識別番号】000003621
【氏名又は名称】株式会社竹中工務店
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】鈴木 ▲琢▼也
【審査官】田中 幸雄
(56)【参考文献】
【文献】特開平7-191967(JP,A)
【文献】国際公開第2019/215810(WO,A1)
【文献】特開平8-320792(JP,A)
【文献】関岡哲也ほか,遺伝的プログラミングを用いた関数合成アルゴリズムの改良法の提案,電子情報通信学会論文誌,日本,社団法人電子情報通信学会,2000年04月25日,Vol.J83-D-I, No.4,407~417ページ
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/17
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
数式中の項ごとの未知のパラメータを未知係数群として、前記未知係数群の候補係数ベクトルについて、計算対象の候補係数ベクトルを用いた前記数式と正解データの入力から計算される出力と前記正解データの出力との誤差に基づいて、所定の推定手法により、当該誤差を補正するように前記未知のパラメータを修正した第1候補係数ベクトルを計算し、
前記第1候補係数ベクトルを用いた前記数式と前記正解データの入力から計算される出力と前記正解データの出力との誤差に基づいて、所定の推定手法により、当該誤差に影響を与えず、かつ、不要な前記未知のパラメータを除去することによりノルムを小さくするように前記第1候補係数ベクトルを修正した第2候補係数ベクトルを計算し、
前記第2候補係数ベクトルを次の前記計算対象の候補係数ベクトルとして、前記第1候補係数ベクトル及び前記第2候補係数ベクトルの計算を所定の条件を満たすまで繰り返すことにより、前記数式の形式を導出する、
処理をコンピュータに実行させる関数同定方法。
【請求項2】
前記未知係数群を、少なくとも係数及び指数部の未知数とし、
前記繰り返しにより得られる前記未知係数群のパラメータが所定値以上である項を計算することにより、前記数式の形式を導出する請求項1に記載の関数同定方法。
【請求項3】
前記推定手法は、特異値の大きさに応じて定められたモードを用いる手法として、
第1選択手法においては特異値が大きな値を選択する低次モードを用いて前記第1候補係数ベクトルを計算し、第2選択手法においては特異値が小さな値を選択する高次モードを用いて前記第2候補係数ベクトルを計算する請求項1又は請求項2に記載の関数同定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、関数同定方法に関する。
【背景技術】
【0002】
実験などから得られた観測データから、データ間の関係を関数の形で見つけることは、物理法則を発見する上で重要とされる。このように未知の関数を同定する場合、同定対象とする関数は、様々な関数が網羅的に表せるように表現力を高く設定する必要がある。
【0003】
例えば、観測データとパラメータとの線形関係を表す計画行列の算出式が既知ではない場合でも最小二乗法をパラメータ推定に適用可能とする技術がある(特許文献1参照)。また、数式空間を探索する関数同定に関する技術として遺伝的プログラミングを用いた手法が知られている(非特許文献1及び非特許文献2参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2007-218811号公報
【0005】
【文献】伊庭 斉志,佐藤 泰介, "システム同定アプローチに基づく遺伝的プログラミング",人工知能学会誌,10,4 (1994)
【文献】又吉 光邦, 名嘉村 盛和, 宮城 隼夫: "Tree 染色体構造を持ったGAでの関数同定のための局所探索手法", IEEJ Trans. E IS, Vol.126,No.1, 2006
【発明の概要】
【発明が解決しようとする課題】
【0006】
以上のように、観測データから得られる入出力関係を正解データとして、入出力の関係を数式で表現したい場合、関数の表現力をどのように定めるかが問題となる。同定対象とする関数の表現力が高い場合、同定された関数に不要な項が入ってしまうことが避けられず、重要度の高い単純な式表現が見えにくくなってしまう場合がある。
【0007】
例えば同定したい式f()は、様々な式を表現できる必要があるが、一方で式f()の表現力を上げすぎると無駄な項が入りやすくなるという問題がある。以下の式f()はそのような無駄な項が入っている場合の一例である。
【0008】
単に、入出力システムを再現したい、という要請に対してはニューラルネットワークで対応できるもののニューラルネットワークでは入出力システムの処理の理解が困難になるという問題がある。
【0009】
本発明は上記事実を考慮して、不要な項を取り除き、データ間の関係を単純化した数式を得ることを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するために、本発明の関数同定方法は、数式中の項ごとの未知のパラメータを未知係数群として、前記未知係数群の候補係数ベクトルについて、計算対象の候補係数ベクトルを用いた前記数式と正解データの入力から計算された出力と前記正解データの出力との誤差に基づいて、所定の推定手法により、当該誤差を補正するように前記未知のパラメータを修正した第1候補係数ベクトルを計算し、前記第1候補係数ベクトルを用いた前記数式と前記正解データの入力から計算された出力と前記正解データの出力との誤差に基づいて、所定の推定手法により、当該誤差に影響を与えず、かつ、不要な前記未知のパラメータを除去することによりノルムを小さくするように修正した第2候補係数ベクトルを計算し、前記第2候補係数ベクトルを次の前記計算対象の候補係数ベクトルとして、前記第1候補係数ベクトル及び前記第2候補係数ベクトルの計算を所定の条件を満たすまで繰り返すことにより、前記数式の形式を導出する、処理をコンピュータに実行させる。これにより、不要な項を取り除き、データ間の関係を単純化した数式を得ることを可能とする。
【0011】
また、関数同定方法において、前記未知係数群を、少なくとも係数及び指数部の未知数とし、前記繰り返しにより得られる前記未知係数群のパラメータが所定値以上である項を計算することにより、前記数式の形式を導出するようにしてもよい。これにより、係数及び指数部の未知数のうち、不要なパラメータを除外して、データ間の関係を単純化した数式を導出することができる。
【0012】
また、関数同定方法において、前記推定手法は、特異値の大きさに応じて定められたモードを用いる手法として、第1選択手法により特異値が大きな値となる低次モードを用いて前記第1候補係数ベクトルを計算し、第2選択手法により特異値が小さな値となる高次モードを用いて前記第2候補係数ベクトルを計算するようにしてもよい。これにより、特異値を基準に用いて、誤差を小さくすると共に不要な未知数を除去していくことができる。
【0013】
なお,前記正解データの入力データに、前記数式に不要な入力データが含まれる場合であっても、関数同定方法による導出により、当該入力データが寄与しないことを確認することができる。
【発明の効果】
【0014】
本発明によれば、不要な項を取り除き、データ間の関係を単純化した数式を得ることができる、という効果が得られる。
【図面の簡単な説明】
【0015】
図1】本発明の実施形態の関数同定装置の構成を示すブロック図である。
図2】発明の実施形態に係る関数同定装置における関数同定処理を示すフローチャートである。
図3】第1候補計算処理の詳細を示すフローチャートである。
図4】第2候補計算処理の詳細を示すフローチャートである。
図5】例題の片持ち梁のたわみ式におけるパラメータの関係を示すグラフである。
図6】例題において本提案手法によって同定された候補係数の一覧を示す図である。
図7】例題において正解データの生成にあたり、片持ち梁のたわみ式におけるパラメータを変化させる範囲を示す図である。
図8】例題における順問題、逆問題の関係を示す図である。
図9】例題における未知係数群の初期値の一例を示す図である。
図10】例題における試行回数に対する誤差及び入力ベクトルノルムの検証結果を示すグラフである。
図11】例題において、不要なパラメータを含めた場合に、同定された候補係数の一覧を示す図である。
【発明を実施するための形態】
【0016】
[本発明の実施形態]
以下、図面を参照して、本発明の実施形態の関数同定手法について説明する。本実施形態の手法の特徴として、数式の関数同定を行う際に「正解データとの誤差を小さくするために未知数を調整する手順」と、「正解データとの誤差を変えずに、不要な未知数を減らしていく手順」に分離し、繰り返し実施することが挙げられる。これにより、観測データに対して最も単純化された数式の同定が可能となる。
【0017】
以下では、本実施形態の関数同定手法に係る構成及び作用を説明し、例題の検証について述べる。なお、誤差修正法、及びノイズ除去法として、MIEC(Modal Iterative Error Correction)法を用いる場合について説明するが、他の誤差修正法(非線形最小二乗法、Newton法、最急降下法、GA(Genetic Algorithm))、又はノイズ除去法(最小二乗法等)を用いてもよい。
【0018】
(構成)
図1は、関数同定装置100の構成を示すブロック図である。図1に示すように、関数同定装置100は、設定部110と、第1候補計算部120と、第2候補計算部130と、判定部140と、同定部150とを含む。関数同定装置100は、CPUと、RAMと、各処理部を実行するためのプログラム及び各種データを記憶したROMと、を含むコンピュータで構成することができる(図示省略)。なお、具体的な処理については作用の説明で述べる。
【0019】
設定部110は、数式を定義する。数式は、項ごとの指数及び係数等を未知として、これらの未知のパラメータからなる未知係数群を含む形で定義する。未知係数群は候補係数として候補係数ベクトルとして表すことができる。設定部110は、未知数の初期値を設定する。また、設定部110は、正解データを設定する。正解データは観測等によって得られた入出力データの各々である。なお、未知係数群は指数及び係数だけでなく、任意のべき乗部(sin値等)を未知数としてもよい。
【0020】
候補係数ベクトルは、以下、第1候補計算部120での計算結果を第1候補係数ベクトル、第2候補計算部130での計算結果を第2候補係数ベクトルと呼ぶ。
【0021】
第1候補計算部120は、計算対象の候補係数ベクトルを用いた数式と正解データの入力から計算された出力と正解データの出力との誤差に基づいて、第1候補係数ベクトルを計算する。第1候補計算部120では、誤差を補正するように計算対象の候補係数ベクトルを修正する。
【0022】
第2候補計算部130は、第1候補計算部120で計算された第1候補係数ベクトルを用いた前記数式と正解データの入力から計算された出力と正解データの出力との誤差の偏微分に基づいて、第1候補係数ベクトルを修正した第2候補係数ベクトルを計算する。なお、MIEC法以外の手法では誤差の偏微分に限定されるものではない。第2候補計算部130では、誤差に影響を与えず、かつ、不要な未知のパラメータを除去することによりノルムを小さくするように第1候補係数ベクトルを修正する。ここで除去するとは、繰り返しの処理によって該当するパラメータの成分を減らしていくということである。
【0023】
判定部140は、第1候補計算部120及び第2候補計算部130の計算を所定の条件を満たすまで繰り返す。条件は指定回数とすればよい。条件は閾値等としてもよい。繰り返しでは、第2候補係数ベクトルを次の計算対象の候補係数ベクトルとする。
【0024】
同定部150は、最終的に得られた候補係数ベクトルを用いて、未知数が所定値以上である項を抽出することにより未知係数群のうち微小なパラメータを除外し、数式の形式を導出する。
【0025】
(作用)
次に、本発明の実施形態の関数同定装置100の作用について説明する。図2は、本発明の実施形態に係る関数同定装置100における関数同定処理を示すフローチャートである。なお、関数同定装置100としてのコンピュータはCPUがROMからプログラム及び各種データを読み出して実行することにより、各種処理を行い、CPUが、コンピュータの各部として機能する。
【0026】
ステップS100では、設定部110が、未知係数群を含む数式を定義する。
【0027】
ステップS102では、設定部110が、未知係数群の初期値を設定する。
【0028】
ステップS104では、設定部110が、定義した数式の正解データを設定する。
【0029】
ステップS106では、第1候補計算部120が、計算対象の候補係数ベクトルを用いた数式と正解データの入力から計算された出力と正解データの出力との誤差に基づいて、第1候補係数ベクトルを計算する。具体的な処理内容については後述する。
【0030】
ステップS108では、第2候補計算部130が、第1候補計算部120で計算された第1候補係数ベクトルを用いた前記数式と正解データの入力から計算された出力と正解データの出力との誤差の偏微分に基づいて、第1候補係数ベクトルを修正した第2候補係数ベクトルを計算する。具体的な処理内容については後述する。
【0031】
ステップS110では、判定部140が、指定回数まで繰り返したか否かを判定する。指定回数まで繰り返したと判定した場合にはステップS114へ移行し、指定回数まで繰り返していないと判定した場合にはステップS112へ移行する。
【0032】
ステップS112では、判定部140が、処理対象の候補係数ベクトルに第2候補係数ベクトルを設定し、ステップS106に戻って処理を繰り返す。
【0033】
ステップS114では、同定部150が、最終的に得られた候補係数ベクトル(第2候補係数ベクトル)のうち、所定値以上である成分のみを用いて数式を設定することにより、未知係数群の微小なパラメータを除外し、数式の形式を導出する。
【0034】
次に、ステップS106の第1候補計算処理の詳細について図3のフローチャートを用いて説明する。以下は第1候補計算部120が行う第1候補計算処理である。第1候補計算処理では、誤差を小さくするように候補係数を修正する。以下は誤差修正法による第1候補計算処理の一例である。
【0035】
ステップS200では、現在の処理対象の候補係数ベクトルを用いた数式と正解データの入力から計算される出力と、正解データの出力との出力データの誤差を全正解データ件数分計算し、誤差ベクトルを計算する。
【0036】
ステップS202では、現在の処理対象の候補係数ベクトルの値に対する誤差ベクトルの偏微分マトリクス(ヤコビアンマトリクス)を作成する。この偏微分の計算方法は、解析微分でも、数値微分でもよい。
【0037】
ステップS204では、偏微分マトリクスの特異値分解を実行する。
【0038】
ステップS206では、特異値分解結果から低次モードを抽出する。低次モードとは、特異値が大きなモードである。特異値が大きいモードとは、未知係数群の少し変動によって、誤差が大きく変わるモードである。逆に特異値が小さいモードとは、未知係数群の変動が、誤差の変化への影響が小さいモードである。第1選択手法による低次モードの選択法は、(1)予め設定した特異値の閾値(つまり閾値以上の値)から選択する方法、(2)予め設定したモード数まで選択する方法、(3)現在の出力ベクトル(誤差ベクトル)のノルム比による方法、あるいはこれらを組み合わせた方法などユーザーが適用する問題に合わせて設定する。モードの選択手法に関しては、例えば参考文献1に記載の手法を参照し、実施することができる。参考文献1には、差分ベクトルのノルムを用いる手法、特異値がモードに関する閾値TH以上であるモードを選択する手法、及び繰り返し回数に応じて徐々に閾値を下げる手法等が記載されている。
[参考文献1]特開2019-194827号公報
【0039】
ステップS208では、特異値分解結果から、抽出した低次モードに対応する部分行列を用いて逆行列を作成する。
【0040】
ステップS210では、作成された逆行列に誤差ベクトルを乗じて、修正係数ベクトルを計算する。
【0041】
ステップS212では、計算した修正係数ベクトルを、現在の処理対象の候補係数ベクトルに加算し、第1候補係数ベクトルを計算する。
【0042】
次に、ステップS108の第2候補計算処理の詳細について図4のフローチャートを用いて説明する。以下は第2候補計算部130が行う第2候補計算処理である。第2候補計算処理では、誤差を変えずに、候補係数ベクトルを小さくする。以下はノイズ除去法による第2候補計算処理の一例である。
【0043】
ステップS300では、現在の処理対象の第1候補係数ベクトルを用いた数式と正解データの入力から計算される出力と、正解データの出力との出力データの誤差を全正解データ分計算し、誤差ベクトルとする。
【0044】
ステップS302では、現在の処理対象の第1候補係数ベクトルの値に対する誤差ベクトルの偏微分マトリクス(ヤコビアンマトリクス)を作成する。この偏微分の計算方法は、解析微分でも、数値微分でもよい。
【0045】
ステップS304では、偏微分マトリクスの特異値分解を実行する。
【0046】
ステップS306では、特異値分解結果から高次モードを抽出する。高次モードとは、特異値が小さな値を選択するモードである。第2選択手法による高次モードの選択法は、(1)予め設定した特異値の閾値(つまり閾値以下の値)から選択する方法、(2)閾値を変えつつ予め設定したモード数まで選択する方法、(3)現在の入力ベクトルのノルム比による方法、あるいはこれらを組み合わせた方法などユーザーが適用する問題に合わせて設定する。第2選択手法も第1選択手法と同様に、参考文献1に記載の手法を参照する。
【0047】
ステップS308では、特異値分解結果から、抽出した高次モードに対応する部分行列を作成する。
【0048】
ステップS310では、部分行列を用いて、現在の処理対象の第1候補係数ベクトルに含まれる、これらの抽出された高次モードの各成分量を計算する。
【0049】
ステップS312では、高次モードの各成分に除去率ηを乗じて、除去すべき候補係数ベクトルを計算し、現在の処理対象の第1候補係数ベクトルの入力パラメータから除去すべき修正係数ベクトルを計算する。
【0050】
ステップS314では、計算した修正係数ベクトルを、現在の処理対象の第1候補係数ベクトルから減算し、第2候補係数ベクトルを計算する。
【0051】
以上、説明したように、本発明の実施形態に係る関数同定装置100によれば、不要な項を取り除き、データ間の関係を単純化した数式を得ることができる。
【0052】
(例題の検証)
関数同定装置100の関数同定処理の効果を、例題に適用して検証して確認を行った。例題の数式として、図5及び以下(1)式に示す片持ち梁のたわみδの算定式に適用した場合について説明する。図5は片持ち梁のたわみ式におけるパラメータの関係を示すグラフである。(1)式が未知数係数群から同定したいたわみ式である。
【数1】

・・・(1)
【0053】
上記たわみ式を同定する問題設定に対して、設定部110で定義する数式を以下(2)式で表す。(2)式は6つの級数で構成し、各項は6つの全変数のべき乗の積で構成する。なお級数の項数は一例である。変数は観測データのパラメータであるE、G、L、Q、As、及びIである。Eはヤング率、Gはせん断弾性係数、Lはスパン長、Qはせん断力、Asはせん断断面積、Iは断面2次モーメントである。また、各項の係数及び指数部を未知数(未知係数群)とする。これにより全部で未知係数群は42個となる。
【数2】

・・・(2)
【0054】
(2)式に対して、別途作成した正解データ(300の正解となる入出力データ)を教師データとして、本実施形態の提案手法を用いて関数同定を行った。適用の具体例については後述する。
【0055】
図6に本提案手法によって同定された候補係数の一覧を示す。プラスのパラメータが分子、マイナスのパラメータが分母に対応する。べき乗数が0.1未満の項を無視すれば(つまり、べき乗数が0.1以上の項を計算対象とすれば)、残った第3項および第4項は正解となる(1)式のたわみ式と一致していることが確認できる。以上のように本実施形態の関数同定手法の効果が確認することができた。ここでべき乗数が0.1未満の項を考慮しないことが、所定値以上である項を計算することの一例である。なお、0.1以上とするのは一例であり、適宜、適切な値を設定すればよい。
【0056】
適用の具体例について説明する。まず適用した正解データの生成手法について説明する。正解データは、図7に示した範囲で観測データのパラメータをランダムに変化させ、理論式を使って「E,G,L,Q,As,Iのときの正解δ」を300個計算し、正解データとした。300個の正解データについては、計算に用いたパラメータが本開示の「正解データの入力」の一例であり、正解δが本開示の「正解データの出力」の一例である。300個の正解データの各々について、候補係数ベクトル(第1候補係数ベクトル)を用いた数式と当該正解データの入力から計算される出力と、当該正解データの出力との誤差を求める。そして、図8に示すような逆問題を解くことで、この正解データとの誤差を減らすような、関数の未知数(係数及び指数)を求めた。順解析を、42次元の「式の未知係数群」から300次元の「全テストデータの誤差」の計算とし、この逆解析により逆問題を解くことを行った。逆問題は上記図3~5に示したフローチャートの手法により解くことができる。
【0057】
その他の解析条件について説明する。未知係数群の初期値は図9に示すように設定した。また、第1候補係数ベクトル計算時に用いるモード選択手法はノルム比による方法を用い、その閾値は0.2とし、繰返し回数を2000、摂動量を0.01とする。第2候補係数ベクトル計算時に用いるモード選択手法は特異値閾値による方法を用い、その閾値は1.0E-5、除去率ηのクリーニング比率は10%とした。また試行回数に対する誤差及び入力ベクトルノルムの検証結果を示すグラフを図10に示す。この検証結果ではIter(試行回数)1874の結果では、Error_norm(誤差)=0.0072となったことが確認できた。
【0058】
以上のようにたわみ式のような構造計算式を求めたい数式とし、未知係数群は、構造計算式に用いられ得る観測データのパラメータの未知係数群として、本実施形態の手法を適用できる。繰り返しにおいて、観測データのパラメータのうち構造計算式に寄与しない観測データのパラメータを未知係数群の計算結果をもとに除去することにより、数式の形式を同定する。
【0059】
なお、不要な変数を追加した場合について説明する。例えば、観測データのパラメータに温度Tという変数があったとして、このパラメータが関数に影響を与えるかが不明な場合は、この変数も数式では定義され得る。以下(3)式に温度Tを定義する数式に含む場合を示す。
【数3】

・・・(3)
【0060】
温度Tのパラメータのとり得る範囲は0~600として正解データを生成した。その他の解析条件は上記同様とした。この場合、図11に同定された候補係数の一覧を示す。図11に示すように温度Tの変数は0になっており、たわみ式において意味のない温度Tについては同定される数式には入らないように求められることが確認できた。
【0061】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。例えば、正解データに誤差がある場合において、正解データを、正解データを取得した際の環境等の要因を示す外部情報を用いて補正することも可能である。
【符号の説明】
【0062】
100 関数同定装置
110 設定部
120 第1候補計算部
130 第2候補計算部
140 判定部
150 同定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11