(57)【要約】【課題】より客観的で労力の少ない方法で、地熱貯留層の浸透率を推定することが可能な学習装置、浸透率推定システム、学習方法及びプログラムを提供する。【解決手段】学習装置１０において、学習部１３０は、それぞれが、浸透率分布と、対象となる地熱貯留層において浸透率分布に対応する温度分布又は圧力分布と、を表す複数のデータセットに基づいて、温度又は圧力に基づく少なくとも１つの値の入力に対して地熱貯留層における浸透率の推定値を出力するモデルを学習する。【選択図】図３
2020118094.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが、浸透率分布と、対象となる地熱貯留層において前記浸透率分布に対応する温度分布又は圧力分布と、を表す複数のデータセットに基づいて、温度又は圧力に基づく少なくとも１つの値の入力に対して前記地熱貯留層における浸透率の推定値を出力するモデルを学習する学習部、
を備える学習装置。
【請求項２】
数値シミュレーションを用いて、互いに異なる複数の浸透率分布のそれぞれに対応する前記温度分布又は前記圧力分布を計算することにより、前記複数のデータセットを取得するデータセット取得部、を更に備え、
前記学習部は、前記データセット取得部により取得された前記複数のデータセットのそれぞれにより表される前記浸透率分布と前記温度分布又は前記圧力分布とに基づいて、前記モデルを学習する、
請求項１に記載の学習装置。
【請求項３】
前記地熱貯留層と、前記地熱貯留層の周辺領域と、前記地熱貯留層を加熱する熱源と、のうちの少なくとも１つに関するパラメータを設定するパラメータ設定部、を更に備え、
前記データセット取得部は、前記パラメータ設定部により設定された前記パラメータのもとで、前記数値シミュレーションを用いて前記浸透率分布に対応する前記温度分布又は前記圧力分布を計算する、
請求項２に記載の学習装置。
【請求項４】
前記地熱貯留層に関するパラメータは、前記地熱貯留層の密度、熱伝導率、比熱又は空隙率であり、
前記周辺領域に関するパラメータは、前記周辺領域の密度、熱伝導率、比熱、空隙率又は浸透率であり、
前記熱源に関するパラメータは、前記熱源から前記地熱貯留層への流量、又は前記熱源のエンタルピーである、
請求項３に記載の学習装置。
【請求項５】
前記学習部は、前記複数のデータセットのそれぞれにより表される前記浸透率分布と前記温度分布又は前記圧力分布との関係を、サポートベクターマシンを用いて回帰分析することにより、前記モデルを学習する、
請求項１から４のいずれか１項に記載の学習装置。
【請求項６】
前記学習部は、それぞれが、前記浸透率分布と、前記地熱貯留層において前記浸透率分布に対応する前記温度分布及び前記圧力分布の両方と、を表す前記複数のデータセットに基づいて、温度及び圧力の両方に基づく少なくとも１つの値の入力に対して前記地熱貯留層における浸透率の推定値を出力する前記モデルを学習する、
請求項１から５のいずれか１項に記載の学習装置。
【請求項７】
前記学習部は、前記地熱貯留層の１つ以上の位置における温度又は圧力の入力に対して前記地熱貯留層の１つの位置における浸透率の推定値を出力する前記モデルを、前記地熱貯留層における複数の位置のそれぞれについて学習する、
請求項１から６のいずれか１項に記載の学習装置。
【請求項８】
前記学習部は、前記地熱貯留層の１つの位置における温度又は圧力と、前記１つの位置の周囲の１つ以上の位置における温度又は圧力と、の差分の入力に対して、前記１つの位置における浸透率の推定値を出力する前記モデルを、前記地熱貯留層における複数の位置のそれぞれについて学習する、
請求項１から６のいずれか１項に記載の学習装置。
【請求項９】
請求項１から８のいずれか１項に記載の学習装置と、推定装置と、を備える浸透率推定システムであって、
前記推定装置は、
前記学習装置により学習された前記モデルに基づいて、前記地熱貯留層における浸透率を推定する推定部、を備える、
浸透率推定システム。
【請求項１０】
それぞれが、浸透率分布と、対象となる地熱貯留層において前記浸透率分布に対応する温度分布又は圧力分布と、を表す複数のデータセットに基づいて、温度又は圧力に基づく少なくとも１つの値の入力に対して前記地熱貯留層における浸透率の推定値を出力するモデルを学習する、
学習方法。
【請求項１１】
コンピュータを、
それぞれが、浸透率分布と、対象となる地熱貯留層において前記浸透率分布に対応する温度分布又は圧力分布と、を表す複数のデータセットに基づいて、温度又は圧力に基づく少なくとも１つの値の入力に対して前記地熱貯留層における浸透率の推定値を出力するモデルを学習する学習部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、浸透率推定システム、学習方法及びプログラムに関する。
【背景技術】
【０００２】
地熱エネルギーは、有力な再生可能エネルギーの１つとして開発が進められている。地熱エネルギーの開発では、開発の対象となる地熱貯留層における蒸気生産の挙動を精度良く推定することが重要である。
【０００３】
例えば特許文献１は、地熱貯留層に沃素、塩素などの媒体を注入し、その希釈及び濃縮の挙動を測定することにより、地熱貯留層の状態を評価する方法を開示している。また、特許文献１は、地熱貯留層の浅部に気相域が発達する条件を、質量保存則及びエネルギー保存則を用いた集中定数モデルを解いて解析することにより、地熱貯留層の状態を模擬するシミュレーション装置を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−２３６０７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
地熱貯留層は、その内部に空隙、亀裂等の流体の移動経路が多く分布しているほど、多くの蒸気生産量が見込まれる、すなわち地熱エネルギーの開発対象として有望であることが経験的に知られている。そのため、地熱貯留層の浸透率を推定する取り組みが、地熱エネルギーの開発における重要な課題となっている。しかしながら、地熱貯留層の浸透率を推定することは、地下で分布している空隙、亀裂等の複雑性から容易ではなく、そのため現状では坑井データとして取得可能な温度、圧力等の地下情報をもとに試行錯誤的に浸透率を推定している。このような浸透率の推定の手法は、多くの労力を要しており、また個人の過去の経験や知見に依存する度合いが大きい。このような状況に鑑み、より客観的で労力の少ない手法で、地熱貯留層の浸透率を推定することが求められている。
【０００６】
本発明は、以上のような課題を解決するためのものであり、より客観的で労力の少ない方法で、地熱貯留層の浸透率を推定することが可能な学習装置、浸透率推定システム、学習方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の第１の観点に係る学習装置は、
それぞれが、浸透率分布と、対象となる地熱貯留層において前記浸透率分布に対応する温度分布又は圧力分布と、を表す複数のデータセットに基づいて、温度又は圧力に基づく少なくとも１つの値の入力に対して前記地熱貯留層における浸透率の推定値を出力するモデルを学習する学習部、
を備える。
【０００８】
好ましくは、前記学習装置は、数値シミュレーションを用いて、互いに異なる複数の浸透率分布のそれぞれに対応する前記温度分布又は前記圧力分布を計算することにより、前記複数のデータセットを取得するデータセット取得部、を更に備え、
前記学習部は、前記データセット取得部により取得された前記複数のデータセットのそれぞれにより表される前記浸透率分布と前記温度分布又は前記圧力分布とに基づいて、前記モデルを学習する。
【０００９】
好ましくは、前記学習装置は、前記地熱貯留層と、前記地熱貯留層の周辺領域と、前記地熱貯留層を加熱する熱源と、のうちの少なくとも１つに関するパラメータを設定するパラメータ設定部、を更に備え、
前記データセット取得部は、前記パラメータ設定部により設定された前記パラメータのもとで、前記数値シミュレーションを用いて前記浸透率分布に対応する前記温度分布又は前記圧力分布を計算する。
【００１０】
好ましくは、前記地熱貯留層に関するパラメータは、前記地熱貯留層の密度、熱伝導率、比熱又は空隙率であり、
前記周辺領域に関するパラメータは、前記周辺領域の密度、熱伝導率、比熱、空隙率又は浸透率であり、
前記熱源に関するパラメータは、前記熱源から前記地熱貯留層への流量、又は前記熱源のエンタルピーである。
【００１１】
好ましくは、前記学習部は、前記複数のデータセットのそれぞれにより表される前記浸透率分布と前記温度分布又は前記圧力分布との関係を、サポートベクターマシンを用いて回帰分析することにより、前記モデルを学習する。
【００１２】
好ましくは、前記学習部は、それぞれが、前記浸透率分布と、前記地熱貯留層において前記浸透率分布に対応する前記温度分布及び前記圧力分布の両方と、を表す前記複数のデータセットに基づいて、温度及び圧力の両方に基づく少なくとも１つの値の入力に対して前記地熱貯留層における浸透率の推定値を出力する前記モデルを学習する。
【００１３】
好ましくは、前記学習部は、前記地熱貯留層の１つ以上の位置における温度又は圧力の入力に対して前記地熱貯留層の１つの位置における浸透率の推定値を出力する前記モデルを、前記地熱貯留層における複数の位置のそれぞれについて学習する。
【００１４】
好ましくは、前記学習部は、前記地熱貯留層の１つの位置における温度又は圧力と、前記１つの位置の周囲の１つ以上の位置における温度又は圧力と、の差分の入力に対して、前記１つの位置における浸透率の推定値を出力する前記モデルを、前記地熱貯留層における複数の位置のそれぞれについて学習する。
【００１５】
上記目的を達成するために、本発明の第２の観点に係る浸透率推定システムは、
前記学習装置と、推定装置と、を備える浸透率推定システムであって、
前記推定装置は、
前記学習装置により学習された前記モデルに基づいて、前記地熱貯留層における浸透率を推定する推定部、を備える。
【００１６】
上記目的を達成するために、本発明の第３の観点に係る学習方法は、
それぞれが、浸透率分布と、対象となる地熱貯留層において前記浸透率分布に対応する温度分布又は圧力分布と、を表す複数のデータセットに基づいて、温度又は圧力に基づく少なくとも１つの値の入力に対して前記地熱貯留層における浸透率の推定値を出力するモデルを学習する。
【００１７】
上記目的を達成するために、本発明の第４の観点に係るプログラムは、
コンピュータを、
それぞれが、浸透率分布と、対象となる地熱貯留層において前記浸透率分布に対応する温度分布又は圧力分布と、を表す複数のデータセットに基づいて、温度又は圧力に基づく少なくとも１つの値の入力に対して前記地熱貯留層における浸透率の推定値を出力するモデルを学習する学習部、
として機能させる。
【発明の効果】
【００１８】
本発明によれば、より客観的で労力の少ない方法で、地熱貯留層の浸透率を推定することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態に係る浸透率推定システムにおける処理の概略を示す図である。
【図２】実施形態に係る浸透率推定システムの構成を示す図である。
【図３】実施形態に係る学習装置の構成を示すブロック図である。
【図４】実施形態における地熱貯留層の概念モデルの例を示す図である。
【図５】実施形態に係る浸透率推定システムを評価するために用いられた数値シミュレーションのパラメータの例を示す図である。
【図６】実施形態における第１の学習方法において、モデルに入力される温度又は圧力とモデルから出力される浸透率との関係を示す図である。
【図７】実施形態における第２の学習方法において、モデルに入力される温度又は圧力とモデルから出力される浸透率との関係を示す図である。
【図８】実施形態に係る推定装置の構成を示すブロック図である。
【図９】実施形態に係る学習装置によって実行される処理の流れを示すフローチャートである。
【図１０】図９に示したフローチャートにおけるデータセット取得処理の流れを示すフローチャートである。
【図１１】実施形態に係る推定装置によって実行される処理の流れを示すフローチャートである。
【図１２】実施形態に係る浸透率推定システムを評価するために用いられた浸透率分布の例を示す図である。
【図１３】（ａ）及び（ｂ）は、それぞれ図１２に示した浸透率分布のうちの１個から数値シミュレーションにより計算された温度分布及び圧力分布の例を示す図である。
【図１４】トレーニングデータから学習されたモデルをテストデータにより評価する処理の概略を示す図である。
【図１５】テストデータを用いて学習済みモデルにより推定された浸透率分布の３つの例を示す図である。
【図１６】（ａ）は、温度の差分と圧力の差分を用いて第２の学習方法で学習されたモデルにより推定された浸透率と、テストデータの実際の浸透率と、の関係を示す図である。（ｂ）は、（ａ）における浸透率の推定誤差とトレーニングデータの数との関係を示す図である。
【図１７】（ａ）は、圧力の差分のみを用いて第２の学習方法で学習されたモデルにより推定された浸透率と、テストデータの実際の浸透率と、の関係を示す図である。（ｂ）は、（ａ）における浸透率の推定誤差とトレーニングデータの数との関係を示す図である。
【図１８】（ａ）は、温度の差分のみを用いて第２の学習方法で学習されたモデルにより推定された浸透率と、テストデータの実際の浸透率と、の関係を示す図である。（ｂ）は、（ａ）における浸透率の推定誤差とトレーニングデータの数との関係を示す図である。
【図１９】（ａ）は、温度と圧力を用いて第１の学習方法で学習されたモデルにより推定された浸透率と、テストデータの実際の浸透率と、の関係を示す図である。（ｂ）は、（ａ）における浸透率の推定誤差とトレーニングデータの数との関係を示す図である。
【図２０】本発明の変形例において、モデルに入力される温度又は圧力とモデルから出力される浸透率との関係を示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態について、図面を参照して説明する。なお、図中同一又は相当する部分には同一符号を付す。
【００２１】
（実施形態）
本実施形態に係る浸透率推定システムは、地熱エネルギーの開発が有望な地点における地熱貯留層の状態を評価するために、地熱貯留層の浸透率を推定するシステムである。ここで、貯留層とは、地下において地下水が蓄えられた層である。また、地熱貯留層とは、貯留層内の地下水が、地下深部の熱源によって加熱された状態にある貯留層である。地下水は、地下の岩盤等の間に様々に形成されている空隙、亀裂等を流れる。このような空隙、亀裂等に含まれる地下水が、マグマ等の熱源により加熱されて高温になることにより、地熱貯留層が形成される。
【００２２】
また、浸透率とは、透過率とも呼ばれ、岩石等の多孔質物体内における流体の流れやすさを表す指標である。浸透率は、多孔質物体内の空隙、亀裂等の分布に依存する。一般的に、空隙、亀裂等の流体の移動経路が多く分布しているほど浸透率は大きくなる。以下では、浸透率を、地熱貯留層内における地下水の流れやすさを示す指標として扱う。
【００２３】
図１に、本実施形態に係る浸透率推定システムにより実行される処理の概略を示す。図１に示すように、本実施形態に係る浸透率推定システムは、地熱貯留層における浸透率の空間分布（浸透率分布）と、その地熱貯留層における温度の空間分布（温度分布）及び圧力の空間分布（圧力分布）と、の間の対応関係を分析することにより、地熱貯留層における浸透率を推定する。ここで、地熱貯留層における温度とは、地熱貯留層を構成する岩石等の温度であり、地熱貯留層における圧力とは、地熱貯留層を流れる地下水等の流体の圧力である。
【００２４】
図１に示すように、地熱貯留層における浸透率分布からその地熱貯留層における温度分布又は圧力分布を導出する処理を順解析と呼び、地熱貯留層における温度分布又は圧力分布からその地熱貯留層における浸透率分布を導出する処理を逆解析と呼ぶ。
【００２５】
一般的に、地熱貯留層における温度及び圧力は、坑井によりフィールドデータとして実測することが可能である。また、地熱貯留層の一部分での実測値が得られれば、非実測部分の温度及び圧力を補間することが比較的容易である。これに対して、地熱貯留層における浸透率は、実測することが難しい。また、たとえ地熱貯留層の一部分での実測値が得られたとしても、空隙、亀裂等のような地下水の移動経路は不規則に分布していることが多いため、温度及び圧力のように非実測部分を補間することが難しい。そのため、地熱貯留層における浸透率の詳細な分布を実測により得ることは難しい。
【００２６】
また、数値シミュレーションを用いた逆解析により地熱貯留層における浸透率を推定することも、非線形性が強いために安定的に最適解を得ることが容易ではない。一方で、順解析により浸透率分布を推定するには、任意に仮定された浸透率分布に対して順解析により温度分布又は圧力分布を計算する処理を、計算により得られる温度分布又は圧力分布が実際の温度分布又は圧力分布に近くなるまで繰り返す必要がある。そのため、多くの労力を要し、また個人の過去の経験や知見に依存する度合いが大きい。本実施形態に係る浸透率推定システムは、機械学習を用いることで、客観的で労力が少ない手法で浸透率分布を推定する。
【００２７】
図２に示すように、本実施形態に係る浸透率推定システム１は、学習装置１０と、推定装置２０と、を備える。学習装置１０は、対象となる地熱貯留層における浸透率分布と温度分布との関係、又は、浸透率分布と圧力分布との関係を学習する装置である。推定装置２０は、学習装置１０による学習結果に基づいて、対象となる地熱貯留層における浸透率を推定する装置である。
【００２８】
図３に、学習装置１０の構成を示す。図３に示すように、学習装置１０は、制御部１１と、記憶部１２と、操作部１３と、表示部１４と、通信部１５と、を備える。
【００２９】
制御部１１は、学習装置１０の各部と制御バスを介して接続されており、学習装置１０全体の動作を統括制御する。具体的に説明すると、制御部１１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）を備える。ＣＰＵは、例えばマイクロプロセッサ等であって、様々な処理及び演算を実行する中央演算処理部である。制御部１１において、ＣＰＵが、ＲＯＭに記憶されている制御プログラムを読み出して、ＲＡＭをワークメモリとして用いながら、各種の処理を実行する。
【００３０】
記憶部１２は、フラッシュメモリ、ハードディスク等の不揮発性メモリである。記憶部１２は、オペレーションシステム、アプリケーションプログラム等の、制御部１１が各種処理を行うために使用するプログラム及びデータを記憶する。また、記憶部１２は、制御部１１が各種処理を行うことにより生成又は取得するデータを記憶する。
【００３１】
操作部１３は、キーボード、マウス、ボタン、タッチパッド、タッチパネル等の入力デバイスを備えており、ユーザから操作を受け付ける。ユーザは、操作部１３を操作することによって、様々な指示を学習装置１０に入力することができる。操作部１３は、ユーザから入力された操作指示を受け付けると、受け付けた操作指示を制御部１１に送信する。
【００３２】
表示部１４は、液晶ディスプレイ、有機ＥＬ（Electro Luminescence）ディスプレイ等の表示デバイスを備える。表示部１４は、図示しない表示駆動回路によって駆動され、制御部１１による制御のもとで様々な画像を表示する。例えば、表示部１４は、地熱貯留層における浸透率分布と温度分布又は圧力分布との関係を学習した学習結果を表す画像を表示する。
【００３３】
通信部１５は、学習装置１０が外部の機器と通信するための通信インタフェースを備える。通信部１５は、例えばインターネット等の広域ネットワーク、ＬＡＮ（Local Area Network）、ＵＳＢ（Universal Serial Bus）等の有線又は無線による通信を介して、推定装置２０を含む外部の機器と通信する。
【００３４】
制御部１１は、図３に示すように、機能的に、データセット取得部１１０と、パラメータ設定部１２０と、学習部１３０と、を備える。制御部１１において、ＣＰＵがＲＯＭに記憶されたプログラムをＲＡＭに読み出して実行することにより、これら各部として機能する。
【００３５】
データセット取得部１１０は、浸透率分布とこの浸透率分布に対応する温度分布又は圧力分布とを表すデータセットを取得する。ここで、データセットは、学習部１３０で浸透率分布と温度分布又は圧力分布との関係を学習するために用いられるデータの集まりである。１つのデータセットは、浸透率分布と温度分布と圧力分布とをそれぞれ１つずつ含んでいる。
【００３６】
上述したように、地熱貯留層における浸透率分布は、詳細な実測値を得ることが難しい。そのため、データセット取得部１１０は、浸透率分布を任意に仮定し、仮定した浸透圧分布に対して、対象となる地熱貯留層において対応する温度分布及び圧力分布を、数値シミュレーションを用いて計算する。
【００３７】
一例として、データセット取得部１１０は、数値シミュレーションを実施するための数値シミュレータとして、地熱貯留層の状態を推定するための代表的な数値シミュレーションコードであるＴＯＵＧＨ２（米国ローレンスバークレー国立研究所製）を用いる。ＴＯＵＧＨ２は、支配方程式である物質保存則及びエネルギー保存則を積分差分法により解くことで、地下における流体の挙動を推定することが可能なシミュレータである。
【００３８】
データセット取得部１１０は、ＴＯＵＧＨ２を用いて、浸透率分布から温度分布及び圧力分布を計算する順解析を実施する。具体的に説明すると、データセット取得部１１０は、ＴＯＵＧＨ２に対して任意に仮定した浸透率分布を入力データとして入力し、入力された浸透率分布に対応する温度分布及び圧力分布をＴＯＵＧＨ２に計算させる。そして、データセット取得部１１０は、入力された浸透率分布と、計算により得られた温度分布及び圧力分布と、を１つのセットとするデータセットを生成する。このようにして、データセット取得部１１０は、データセットを取得する。データセット取得部１１０は、制御部１１が記憶部１２等と協働することにより実現される。
【００３９】
パラメータ設定部１２０は、データセット取得部１１０が数値シミュレーションを実施するためのパラメータを設定する。パラメータとは、数値シミュレーションを用いて浸透率分布から温度分布及び圧力分布を計算するための各種の条件を定める値であって、具体的には対象となる地熱貯留層及びその周辺領域における密度、比熱等である。ユーザは、操作部１３を操作して、このような数値シミュレーションのパラメータを入力する。パラメータ設定部１２０は、ユーザにより入力されたパラメータを受け付けて、受け付けたパラメータを設定する。パラメータ設定部１２０は、制御部１１が操作部１３等と協働することにより実現される。
【００４０】
パラメータを設定するために、パラメータ設定部１２０は、第１に、例えば図４に示すような貯留層モデル３０を作成する。図４において、Ｚ軸は鉛直方向に相当し、Ｘ軸は水平方向に相当する。すなわち、貯留層モデル３０は、鉛直方向を含む２次元平面により地熱貯留層を模擬的に表している。
【００４１】
図４に示す貯留層モデル３０において、パラメータ設定部１２０は、中央部に太い実線で囲った貯留層領域３１と、貯留層領域３１の外側の太い破線で囲った周辺領域３２と、を設定する。貯留層領域３１は、浸透率を推定するための対象となる地熱貯留層の領域である。これに対して、周辺領域３２は、貯留層領域３１の周辺の環境を定めるための領域である。多くの蒸気生産量が見込まれる地熱貯留層は一般的に浸透率が高い傾向にあるため、パラメータ設定部１２０は、周辺領域３２の浸透率を、貯留層領域３１の浸透率よりも低い値に設定する。
【００４２】
更に、パラメータ設定部１２０は、周辺領域３２の一部に流路３３を設定し、周辺領域３２の外側下部に熱源３４を設定する。流路３３は、周辺領域３２の他の部分と比べて浸透率が低い、すなわち地下水を通しやすい領域である。図４の例では、周辺領域３２内の上部、下部及び側部のそれぞれに３つの流路３３が設定されており、貯留層領域３１内の地下水が外に流出する流路になる。また、熱源３４は、貯留層領域３１に熱を加えて地下水を加熱する。
【００４３】
貯留層モデル３０を作成すると、パラメータ設定部１２０は、第２に、貯留層モデル３０におけるパラメータを設定する。具体的に説明すると、パラメータ設定部１２０は、貯留層領域３１と周辺領域３２と熱源３４とのうちの少なくとも１つに関するパラメータを設定する。
【００４４】
ここで、貯留層領域３１に関するパラメータは、具体的には、貯留層領域３１の密度、熱伝導率、比熱、空隙率等のような、貯留層領域３１の特性を示すパラメータである。周辺領域３２に関するパラメータは、具体的には、周辺領域３２の密度、熱伝導率、比熱、空隙率、浸透率等のような、周辺領域３２の特性を示すパラメータである。熱源３４に関するパラメータは、具体的には、熱源３４から貯留層領域３１への流量、熱源３４のエンタルピー等のような、貯留層領域３１に対する加熱量に関するパラメータである。
【００４５】
図５に、パラメータ設定部１２０により設定されるパラメータの一例を示す。パラメータ設定部１２０は、例えば図５に示すように、貯留層領域３１内の各領域のパラメータを設定する。このように、パラメータ設定部１２０は、対象となる地熱貯留層の浸透率、温度及び圧力に影響を与える各種のパラメータを設定する。
【００４６】
このような貯留層モデル３０及び各種のパラメータは、対象となる地熱貯留層をできるだけ精度良く模擬するように設定することが望ましい。貯留層モデル３０及び各種のパラメータを設定するための、対象となる地熱貯留層に関する情報は、例えば広域ネットワーク上の地質情報データベースにアクセスすることにより取得することができる。
【００４７】
データセット取得部１１０は、パラメータ設定部１２０により設定されたパラメータのもとで、ＴＯＵＧＨ２を用いて温度分布及び圧力分布を計算する。具体的に説明すると、データセット取得部１１０は、物質保存則及びエネルギー保存則を積分差分法により解くことにより、貯留層モデル３０内における流体及び熱の振る舞いを計算する。そして、データセット取得部１１０は、入力された浸透率分布に対して、貯留層領域３１内の温度と圧力とがどのように分布するかを導出する。これにより、入力された浸透率分布と、ＴＯＵＧＨ２による計算により得られた温度分布及び圧力分布と、を表すデータセットが得られる。
【００４８】
ここで、データセットの数が多いほど学習部１３０による学習の精度が向上するため、データセット取得部１１０は、１つのデータセットだけでなく、複数のデータセットを生成する。そのために、データセット取得部１１０は、ＴＯＵＧＨ２を用いて浸透率分布とそれに対応する温度分布又は圧力分布とを表すデータセットを生成する処理を、ＴＯＵＧＨ２に入力される浸透率分布を変化させて繰り返す。これにより、データセット取得部１１０は、互いに異なる複数の浸透率分布にそれぞれ対応する複数の温度分布と複数の圧力分布とを計算する。その結果として、データセット取得部１１０は、それぞれが、浸透率分布とそれに対応する温度分布及び圧力分布とを表すデータセットである、複数のデータセットを取得する。
【００４９】
学習部１３０は、データセット取得部１１０により取得された複数のデータセットのそれぞれにより表される浸透率分布と温度分布又は圧力分布とに基づいて、温度又は圧力に基づく少なくとも１つの値の入力に対して、対象となる地熱貯留層における浸透率の推定値を出力するモデルを学習する。
【００５０】
学習部１３０は、モデルを学習するために、サポートベクターマシンによる回帰分析（サポートベクター回帰）の手法を用いる。具体的に説明すると、学習部１３０は、データセット取得部１１０により取得された複数のデータセットのそれぞれにより表される浸透率分布と温度分布又は圧力分布との関係を、サポートベクターマシンを用いて回帰分析することにより、温度又は圧力の入力値に対して浸透率の推定値を出力するモデルを学習する。
【００５１】
サポートベクター回帰は、回帰分析の手法の１つであり、ある変数を別の少なくとも１つの変数によって推定するための推定式（予測式）を求めるための手法である。より詳細には、サポートベクター回帰は、カーネル法と呼ばれる手法を用いた非線形回帰分析手法であって、直線又は多項式といったモデルの具体的な形式を事前に仮定しないノンパラメトリック手法である。サポートベクター回帰では、放射基底関数（ガウシアンカーネル）がカーネル関数として使用される。カーネル関数にデータを入力し、その結果としてカーネル関数から出力される値に基づいて、変数間の関係を表す推定式が学習される。
【００５２】
本実施形態では、学習部１３０は、サポートベクター回帰により、地熱貯留層における温度及び圧力の両方から、その地熱貯留層における浸透率を推定するモデルである推定式を求める。言い換えると、学習部１３０は、温度及び圧力の両方の値の入力に対して、浸透率の推定値を出力するモデルを学習する。地熱貯留層における浸透率、温度及び圧力をそれぞれ変数Ｙ、Ｔ及びＰで表すと、推定式は、浸透率Ｙと温度Ｔ及び圧力Ｐとの関係“Ｙ＝ｆ（Ｔ，Ｐ）”を表す関数ｆに相当する。学習部１３０は、制御部１１が記憶部１２等と協働することにより実現される。
【００５３】
より詳細に説明すると、学習部１３０は、下記の（方法Ｉ）と（方法ＩＩ）と２つの学習手法でモデルを学習する。（方法Ｉ）と（方法ＩＩ）とのどちらの手法で学習するかの設定は、ユーザが操作部１３を操作することにより適宜変更することができる。
【００５４】
（方法Ｉ）
方法Ｉでは、学習部１３０は、対象となる地熱貯留層の１つ以上の位置における温度又は圧力の入力に対して、その地熱貯留層の１つの位置における浸透率の推定値を出力するモデルを、その地熱貯留層における複数の位置のそれぞれについて学習する。
【００５５】
図６に、モデルに入力される温度及び圧力と、モデルから出力される浸透率と、の関係を示す。図６に示すように、学習部１３０は、中央の領域（ｉ，ｊ）における浸透率を、領域（ｉ−２，ｊ−２）から領域（ｉ＋２，ｊ＋２）までの２５個の領域における温度及び圧力から推定するモデルを学習する。
【００５６】
学習部１３０は、このようなモデルを、データセット取得部１１０により取得された複数のデータセットのそれぞれにより表される浸透率分布、温度分布及び圧力分布に基づいて、貯留層領域３１内の２０×２０個の領域のそれぞれをターゲットとなる領域（ｉ，ｊ）として学習する。これにより、学習部１３０は、地熱貯留層における浸透率分布を温度分布及び圧力分布から推定するためのモデルを得る。
【００５７】
（方法ＩＩ）
方法ＩＩでは、学習部１３０は、対象となる地熱貯留層の１つの位置における温度又は圧力と、その１つの位置の周囲の１つ以上の位置における温度又は圧力と、の差分の入力に対して、その１つの位置における浸透率の推定値を出力するモデルを、その地熱貯留層における複数の位置のそれぞれについて学習する。すなわち、学習部１３０は、方法Ｉでは各位置における温度及び圧力の値をそのまま用いたのに対して、方法ＩＩでは、近接する位置との間における温度及び圧力の差分を用いる。このように差分を用いるのは、地熱貯留層における流体や熱の移動が温度及び圧力の勾配に依存することを考慮するためである。
【００５８】
学習部１３０は、データセット取得部１１０により取得された複数のデータセットのそれぞれにより表される温度分布及び圧力分布を解析することにより、温度の差分及び圧力の差分を計算する。具体的に説明すると、学習部１３０は、浸透率を推定するターゲットとなる領域に対して、ｘ方向とｚ方向とのそれぞれにおいて隣接する領域との間で温度の差分を計算する。また、学習部１３０は、圧力についても同様に差分を計算する。そして、学習部１３０は、このようにターゲットとなる領域を中心として計算された温度の差分及び圧力の差分の入力に対して、その領域における浸透率の値を出力するモデルを学習する。
【００５９】
より詳細に、図７を参照して説明する。図７に示す中央の領域（ｉ，ｊ）が浸透率を推定するターゲットとなる領域である場合、領域（ｉ，ｊ）に対してｘ方向における１つ隣の領域（ｉ±１，ｊ）、３つ隣の領域（ｉ±３，ｊ）及び５つ隣の領域（ｉ±５，ｊ）における温度及び圧力の値と、領域（ｉ，ｊ）に対してｚ方向における１つ隣の領域（ｉ，ｊ±１）、３つ隣の領域（ｉ，ｊ±３）及び５つ隣の領域（ｉ，ｊ±５）における温度及び圧力の値と、を用いる。具体的に説明すると、学習部１３０は、ｘ方向において隣の領域（ｉ＋１，ｊ）との温度の差分“Ｔ（ｉ＋１，ｊ）−Ｔ（ｉ，ｊ）”と、反対側の隣の領域（ｉ−１，ｊ）との温度の差分“Ｔ（ｉ，ｊ）−Ｔ（ｉ−１，ｊ）”と、ｘ方向において３つ隣の領域（ｉ＋３，ｊ）との温度の差分“Ｔ（ｉ＋３，ｊ）−Ｔ（ｉ，ｊ）”と、反対側の３つ隣の領域（ｉ−３，ｊ）との温度の差分“Ｔ（ｉ，ｊ）−Ｔ（ｉ−３，ｊ）”と、ｘ方向において５つ隣の領域（ｉ＋５，ｊ）との温度の差分“Ｔ（ｉ＋５，ｊ）−Ｔ（ｉ，ｊ）”と、反対側の５つ隣の領域（ｉ−５，ｊ）との温度の差分“Ｔ（ｉ，ｊ）−Ｔ（ｉ−５，ｊ）”と、を計算する。このように、学習部１３０は、ｘ方向における温度の差分として６個の値を計算する。
【００６０】
学習部１３０は、ｚ方向についても同様に温度の差分として６個の値を計算する。更に、学習部１３０は、圧力の差分についても同様に、ｘ方向について６個の値、ｚ方向について６個の値を計算する。このように、学習部１３０は、ターゲットとなる領域（ｉ，ｊ）における浸透率を、領域（ｉ，ｊ）とその周囲の領域との間での温度の差分及び圧力の差分に関する計２４個の値から推定するモデルを学習する。
【００６１】
学習部１３０は、このようなモデルを、データセット取得部１１０により取得された複数のデータセットのそれぞれにより表される浸透率分布、温度分布及び圧力分布に基づいて、貯留層領域３１内の２０×２０個の領域のそれぞれをターゲットとなる領域（ｉ，ｊ）として学習する。これにより、学習部１３０は、地熱貯留層における浸透率分布を温度分布及び圧力分布から推定するためのモデルを得る。
【００６２】
このように、学習部１３０は、（方法Ｉ）又は（方法ＩＩ）の学習方法により、地熱貯留層における浸透率分布を推定するためのモデルを学習する。なお、１つの位置における浸透率の推定値を出力するためにモデルに入力される温度又は圧力の位置を増やしすぎると、すなわち関数ｆの入力の数を増やしすぎると、計算を収束させるために多くの計算能力を必要とする。一方で、入力の数が少なすぎると、浸透率を推定する精度が低下する。そのため、使用可能な計算能力と必要な推定精度との双方を考慮した上で、モデルの入力となる温度又は圧力の数を適切に調整することが望ましい。
【００６３】
次に、図８を参照して、推定装置２０の構成について説明する。図８に示すように、推定装置２０は、制御部２１と、記憶部２２と、操作部２３と、表示部２４と、通信部２５と、を備える。
【００６４】
制御部２１は、推定装置２０の各部と制御バスを介して接続されており、推定装置２０全体の動作を統括制御する。具体的に説明すると、制御部２１は、ＣＰＵ、ＲＯＭ及びＲＡＭを備える。ＣＰＵは、例えばマイクロプロセッサ等であって、様々な処理及び演算を実行する中央演算処理部である。制御部２１において、ＣＰＵが、ＲＯＭに記憶されている制御プログラムを読み出して、ＲＡＭをワークメモリとして用いながら、各種の処理を実行する。
【００６５】
記憶部２２は、フラッシュメモリ、ハードディスク等の不揮発性メモリである。記憶部２２は、オペレーションシステム、アプリケーションプログラム等の、制御部２１が各種処理を行うために使用するプログラム及びデータを記憶する。また、記憶部２２は、制御部２１が各種処理を行うことにより生成又は取得するデータを記憶する。
【００６６】
操作部２３は、キーボード、マウス、ボタン、タッチパッド、タッチパネル等の入力デバイスを備えており、ユーザから操作を受け付ける。ユーザは、操作部２３を操作することによって、様々な指示を推定装置２０に入力することができる。操作部２３は、ユーザから入力された操作指示を受け付けると、受け付けた操作指示を制御部２１に送信する。
【００６７】
表示部２４は、液晶ディスプレイ、有機ＥＬディスプレイ等の表示デバイスを備える。表示部２４は、図示しない表示駆動回路によって駆動され、制御部２１による制御のもとで様々な画像を表示する。例えば、表示部２４は、地熱貯留層における浸透率の推定結果を表す画像を表示する。
【００６８】
通信部２５は、学習装置１０が外部の機器と通信するための通信インタフェースを備える。通信部２５は、例えばインターネット等の広域ネットワーク、ＬＡＮ、ＵＳＢ等の有線又は無線による通信を介して、学習装置１０を含む外部の機器と通信する。
【００６９】
制御部２１は、図８に示すように、機能的に、入力データ取得部２１０と、推定部２２０と、出力部２３０と、を備える。制御部２１において、ＣＰＵがＲＯＭに記憶されたプログラムをＲＡＭに読み出して実行することにより、これら各部として機能する。
【００７０】
入力データ取得部２１０は、学習装置１０により学習されたモデルを用いて浸透率を推定するための入力データである温度及び圧力のデータを取得する。入力データは、具体的には、対象となる地熱貯留層を坑井することにより得られる実測データである。より詳細には、温度の入力データは、対象となる地熱貯留層の複数の地点における岩石の温度を温度計測器により計測することにより得られる温度分布のデータである。また、圧力の入力データは、対象となる地熱貯留層の複数の地点における地下水の圧力を圧力計測器により計測することにより得られる圧力分布のデータである。
【００７１】
入力データ取得部２１０は、このような入力データを、計測に用いた温度計測器及び圧力計測器と通信部２５を介して通信することにより取得する。或いは、入力データ取得部２１０は、温度及び圧力を含む地下情報の実測データを記憶しているデータベースから取得しても良い。入力データ取得部２１０は、制御部２１が通信部２５等と協働することにより実現される。
【００７２】
推定部２２０は、学習装置１０により学習されたモデルに基づいて、浸透率を推定する。具体的に説明すると、推定部２２０は、入力データ取得部２１０により取得された温度分布及び圧力分布のデータを、学習装置１０において得られた浸透率分布と温度分布及び圧力分布との関係を表す学習済みモデルに入力する。そして、推定部２２０は、入力された温度分布及び圧力分布に対して学習済みモデルから出力される浸透率分布を、対象となる地熱貯留層における浸透率分布として推定する。推定部２２０は、制御部２１が記憶部２２等と協働することにより実現される。
【００７３】
出力部２３０は、推定部２２０による浸透率の推定結果を出力する。具体的に説明すると、出力部２３０は、学習済みモデルにより出力された浸透率分布を表す画像を、表示部２４に表示させる。ユーザは、表示部２４に表示された浸透率分布を確認することで、対象となる地熱貯留層における浸透率がどのように分布しているかの情報を得ることができる。出力部２３０は、制御部２１が表示部２４等と協働することにより実現される。
【００７４】
以上のように構成される浸透率推定システム１によって実行される処理の流れについて、図９、図１０及び図１１に示すフローチャートを参照して説明する。
【００７５】
図９に、学習装置１０によって実行される処理の流れを示す。図９に示すように、学習装置１０によって実行される処理は、対象となる地熱貯留層における浸透率を推定するための学習済みモデルを製造する処理であって、学習用（トレーニング用）のデータセットを取得する処理（ステップＳ１１）と、取得されたデータセットを用いて機械学習を実施する処理（ステップＳ１２）と、に分けられる。
【００７６】
学習装置１０において、制御部１１は、第１に、データセット取得部１１０として機能し、データセットを取得する（ステップＳ１１）。ステップＳ１１におけるデータセット取得処理の詳細については、図１０に示すフローチャートを参照して説明する。
【００７７】
図１０に示すデータセット取得処理を開始すると、制御部１１は、貯留層モデル３０を作成する（ステップＳ１１１）。具体的に説明すると、制御部１１は、例えば図４に示したように、数値シミュレーションを実施するための領域として、貯留層領域３１、周辺領域３２、流路３３及び熱源３４を設定する。
【００７８】
貯留層モデル３０を作成すると、制御部１１は、パラメータ設定部１２０として機能し、数値シミュレーションのパラメータを設定する（ステップＳ１１２）。具体的に説明すると、制御部１１は、浸透率を推定する対象となる地熱貯留層と同等の条件を模擬できるように、作成した貯留層モデル３０における貯留層領域３１の密度、熱伝導率、比熱、空隙率等と、周辺領域３２の密度、熱伝導率、比熱、空隙率、浸透率等と、熱源３４の流量、エンタルピー等と、設定する。
【００７９】
パラメータを設定すると、制御部１１は、浸透率分布を１つ設定する（ステップＳ１１３）。そして、制御部１１は、数値シミュレーションを用いて、設定した浸透率分布に対応する温度分布及び圧力分布を計算する（ステップＳ１１４）。具体的に説明すると、制御部１１は、ステップＳ１１１で作成した貯留層モデル３０の貯留層領域３１における各位置の浸透率を任意に設定する。そして、制御部１１は、ステップＳ１１２で設定したパラメータのもとで、ＴＯＵＧＨ２を用いて、設定した各位置の浸透率から貯留層領域３１における各位置の温度と圧力とを計算する。これにより、浸透率分布とそれに対応する温度分布及び圧力分布とを表すデータセットが１つ生成される。
【００８０】
温度分布及び圧力分布を計算すると、制御部１１は、予め定められた数のデータセットを生成したか否かを判定する（ステップＳ１１５）。予め定められた数は、地熱貯留層における浸透率と温度及び圧力との関係を精度良く学習するために必要なデータセットの数であって、ユーザにより適宜設定することができる。制御部１１は、温度分布及び圧力分布の計算処理を実行した回数が予め定められた数に達したか否かを判定することで、必要な数のデータセットが得られたか否かを判定する。
【００８１】
予め定められた数のデータセットを生成していない場合（ステップＳ１１５；ＮＯ）、制御部１１は、処理をステップＳ１１３に戻す。そして、制御部１１は、既に温度分布及び圧力分布を計算した浸透率分布とは異なる浸透率分布を１つ設定し、ステップＳ１１２で設定されたパラメータのもとで、再度ＴＯＵＧＨ２により温度分布及び圧力分布を計算する。これにより、新たなデータセットが生成される。このように、制御部１１は、予め定められた数のデータセットが生成されるまで、ステップＳ１１３で設定される浸透率分布を変えて、ステップＳ１１３及びステップＳ１１４の処理を繰り返す。
【００８２】
最終的に、予め定められた数のデータセットを生成すると（ステップＳ１１５；ＹＥＳ）、図１０に示したデータセット取得処理は終了する。これにより、予め定められた数の学習用（トレーニング用）のデータセットが得られる。
【００８３】
データセットを取得すると、第２に、制御部１１は、学習部１３０として機能し、取得されたデータセットに基づいて、対象となる地熱貯留層における温度及び圧力と浸透率との関係を学習する（ステップＳ１２）。具体的に説明すると、制御部１１は、サポートベクター回帰の手法を用いて、複数のデータセットのそれぞれにより表される浸透率分布と温度分布又は圧力分布との関係を回帰分析する。このとき、制御部１１は、上述した（方法Ｉ）と（方法ＩＩ）とのうちのいずれかの方法を用いる。これにより、制御部１１は、温度又は圧力の入力値に対して、対象となる地熱貯留層における浸透率の推定値を出力する推定式を学習する。このようにして、学習装置１０は、対象となる地熱貯留層における浸透率を推定するための学習済みモデルを製造する。
【００８４】
次に、図１１を参照して、推定装置２０によって実行される浸透率の推定処理の流れについて説明する。推定装置２０において、制御部２１は、学習装置１０により学習されたモデルを取得する（ステップＳ２１）。具体的に説明すると、制御部２１は、例えば通信部２５を介して学習装置１０と通信することにより、学習装置１０において得られた浸透率分布と温度分布及び圧力分布との関係を表す学習済みモデルを取得する。或いは、制御部２１は、ＵＳＢメモリ等の外部記録媒体を経由して学習装置１０から学習済みモデルを取得しても良い。
【００８５】
次に、制御部２１は、入力データ取得部２１０として機能し、対象となる地熱貯留層における温度及び圧力の入力データを取得する（ステップＳ２２）。具体的に説明すると制御部２１は、対象となる地熱貯留層において実際に計測された温度分布及び圧力分布のデータを、これらのデータを記憶している外部の機器等から取得する。
【００８６】
学習済みモデルと温度及び圧力のデータとを取得すると、制御部２１は、推定部２２０として機能し、学習済みモデルを用いて浸透率を推定する（ステップＳ２３）。具体的に説明すると、制御部２１は、取得した温度及び圧力のデータを学習済みモデルに入力し、学習済みモデルから出力される浸透率分布を、対象となる地熱貯留層において推定される浸透率分布として得る。
【００８７】
透過率分布を推定すると、制御部２１は、出力部２３０として機能し、浸透率の推定結果を出力する（ステップＳ２４）。具体的に説明すると、制御部２１は、学習済みモデルにより得られた浸透率分布を表示部２４に表示させることで、ユーザに通知する。
【００８８】
（評価）
次に、上記実施形態に係る浸透率推定システム１によって地熱貯留層の浸透率をどの程度精度良く推定できるかの評価を実施した。
【００８９】
（１）順解析
まず、上述した地熱貯留層を評価するための数値シミュレータであるＴＯＵＧＨ２を用いて浸透率分布から温度分布及び圧力分布を計算する順解析を行い、学習用（トレーニング用）のデータセットを生成した。ＴＯＵＧＨ２による数値シミュレーションを実施するために、図４に示した貯留層モデル３０を作成した。具体的には、鉛直方向を含む２次元の平面により貯留層モデル３０を表し、中央部に貯留層領域３１を設定し、その周辺に周辺領域３２を設定した。また、周辺領域３２内に３つの流路３３を設定し、周辺領域３２の外側下部に熱源３４を設定した。貯留層モデル３０の上部はディレクレ境界条件とし、貯留層モデル３０の周辺は断熱且つ流れ無しの境界条件とした。また、鉛直方向の重力は無視した。
【００９０】
このように設定した貯留層モデル３０において、貯留層領域３１と周辺領域３２とを合わせた領域をＸ軸方向とＺ軸方向とのそれぞれに３０分割することにより、合計９００（３０×３０）個の領域に分割した。その中で、中央部分の４００（２０×２０）個の領域を貯留層領域３１に割り当てた。中央部分は、周辺領域に対して1個の領域の一辺が１／２の大きさに分割した。
【００９１】
このような貯留層モデル３０において、図５に示すようにパラメータを設定した。具体的には、貯留層モデル３０全体の密度、熱伝導率及び比熱と、貯留層領域３１、周辺領域３２及び流路３３のそれぞれにおける空隙率及び浸透率と、熱源３４の流量及びエンタルピーとを、図５に示す値に設定した。また、初期条件での貯留層モデル３０全体の温度及び圧力を、それぞれ２５℃及び２〜５×１０６Ｐａで分布させた。
【００９２】
このように貯留層モデル３０及びパラメータを設定した上で、貯留層領域３１における浸透率分布を９００個用意した。図１２に、９００個の浸透率分布Ｙ１，Ｙ２，…Ｙ９００のうちの３個の浸透率分布Ｙ１，Ｙ２，Ｙ３の例を示す。図１２に示すように、貯留層領域３１内で分割された２０×２０個の領域における浸透率の値Ｙ（１，１）、Ｙ（１，２）、…Ｙ（２０，２０）を、二次元の離散コサイン変換の式を用いて３０×３０個の離散波形を重ね合わせることにより、互いに異なるように分布させた。これにより、互いに異なる９００個の浸透率分布Ｙ１，Ｙ２，…Ｙ９００を用意した。
【００９３】
次に、用意された９００個の浸透率分布Ｙ１，Ｙ２，…Ｙ９００から、ＴＯＵＧＨ２を用いて９００個の温度分布Ｔ１，Ｔ２，…Ｔ９００と９００個の圧力分布Ｐ１，Ｐ２，…Ｐ９００とを計算した。温度分布Ｔ１，Ｔ２，…Ｔ９００及び圧力分布Ｐ１，Ｐ２，…Ｐ９００の計算は、定常状態に収束するまで行った。
【００９４】
図１３（ａ）及び（ｂ）に、図１２に示した浸透率分布Ｙ１からＴＯＵＧＨ２を用いて計算された温度分布Ｔ１と圧力分布Ｐ１とを示す。図１３（ａ）及び（ｂ）に示すように、温度分布Ｔ１及び圧力分布Ｐ１は、貯留層領域３１である鉛直２次元面内における温度及び圧力の広がりの様子を表している。このように、９００個の浸透率分布Ｙ１，Ｙ２，…Ｙ９００のそれぞれから温度分布Ｔ１，Ｔ２，…Ｔ９００と圧力分布Ｐ１，Ｐ２，…Ｐ９００とを計算することにより、それぞれが、浸透率分布Ｙｋとそれに対応する温度分布Ｔｋ及び圧力分布Ｐｋ（ｋは１から９００までの自然数）とを表すデータセットである、９００個のデータセットを得た。
【００９５】
（２）逆解析
次に、ＴＯＵＧＨ２により得られた９００個のデータセットを用いて、機械学習により温度分布及び圧力分布から浸透率を推定する逆解析を行った。機械学習として、サポートベクター回帰の手法を用いた。具体的には、Pythonの機械学習用ライブラリであるscikit-learnを用いて、下記の手順を実行した。
【００９６】
第１に、用意された９００個のデータセットのそれぞれを、桁の違う複数のデータを用いた場合に情報落ちすることを防止するため、sklearn.preprocessing.MinMaxScaler()機能により規格化した。
【００９７】
第２に、sklearn.cross_validation.train_test_split()機能により、９００個のデータセットをトレーニング用のデータセット（トレーニングデータ）とテスト用のデータセット（テストデータ）とに分けた。具体的には、図１４に示すように、９００個のデータセットのうちのＮ個のデータセットを、浸透率分布と温度分布及び圧力分布との関係を学習するためのトレーニングデータとし、残りの（９００−Ｎ）個のデータセットを、学習結果を評価するためのテストデータとした。
【００９８】
第３に、sklearn.model_selection.GridSearchCV()機能を用いてハイパーパラメータの最適値を計算した。ここで、ハイパーパラメータは、サポートベクターマシンによる誤分類をどの程度許容するかを表すコストパラメータＣと、１つのトレーニングデータが与える影響範囲を表すパラメータγである。サポートベクターマシンの評価関数として、平均２乗誤差を利用した。
【００９９】
第４に、図１４における手順（Ａ）において、Ｎ個のトレーニングデータを用いて、モデルを学習した。具体的には、fit()機能により、浸透率分布Ｙと温度分布Ｔ及び圧力分布Ｐとの関係を表す推定式Ｙ＝ｆ（Ｔ，Ｐ）を学習した。このとき、上述した（方法Ｉ）と（方法ＩＩ）の２通りの方法で推定式Ｙ＝ｆ（Ｔ，Ｐ）を学習した。
【０１００】
第５に、図１４における手順（Ｂ）において、Ｎ個のトレーニングデータを用いて得られた学習済みモデルを用いて、（９００−Ｎ）個のテストデータのそれぞれから浸透率分布を推定した。具体的には、テストデータのそれぞれに含まれる温度分布Ｔ及び圧力分布Ｐを学習済みモデルに入力し、predict()機能により浸透率分布Ｙ＊を計算した。
【０１０１】
第６に、図１４における手順（Ｃ）において、学習済みモデルを用いて推定された浸透率分布Ｙ＊を、浸透率分布Ｙ＊を計算した温度分布Ｔ及び圧力分布Ｐと同じテストデータに含まれる浸透率分布Ｙと比較した。これにより、学習済みモデルにより推定された浸透率の誤差を評価した。
【０１０２】
第７に、トレーニングデータとテストデータの組み合わせを評価するため、sklearn.cross_validation.cross_val_score()機能を用いてクロスバリデーションを５回行った。このとき、９００個のデータセットのうちのトレーニングデータとテストデータとの組み合わせを５通り変えて、クロスバリデーションを行った。
【０１０３】
図１５に、上述した（方法ＩＩ）を用いてモデルを学習した場合であって、トレーニングデータの数Ｎが８１０である場合、すなわち９０個のテストデータを用いた場合における、学習済みモデルを用いて推定された浸透率分布Ｙ＊の例を示す。より詳細には、図１５は、図１２に示した３個の浸透率分布Ｙ１，Ｙ２，Ｙ３を表すデータセットが３００個のテストデータに含まれる場合において、浸透率分布Ｙ１，Ｙ２，Ｙ３に対応する温度分布Ｔ１，Ｔ２，Ｔ３及び圧力分布Ｐ１，Ｐ２，Ｐ３から学習済みモデルを用いて推定された浸透率分布Ｙ１＊，Ｙ２＊，Ｙ３＊を表している。図１５に示すように、学習済みモデルを用いて推定された浸透率分布Ｙ１＊，Ｙ２＊，Ｙ３＊は、それぞれ図１２に示した互いに異なる３個の浸透率分布Ｙ１，Ｙ２，Ｙ３と類似した分布であることが確認できる。すなわち、機械学習により、温度分布及び圧力分布から浸透率分布を推定可能であることが分かる。
【０１０４】
更に、浸透率分布の推定誤差をより定量的に評価するため、トレーニングデータの数Ｎを変化させて上記の第２から第７の処理を繰り返し、学習済みモデルを用いて推定された浸透率分布Ｙ＊を、テストデータに含まれる浸透率分布Ｙと、の誤差を評価した。
【０１０５】
図１６（ａ）及び（ｂ）に、上述した（方法ＩＩ）を用いてモデルを学習した場合における評価の結果を示す。図１６（ａ）は、トレーニングデータの数Ｎが８１０である場合、すなわち９０個のテストデータを用いた場合における、学習済みモデルにより推定された浸透率の値（縦軸）と、テストデータの実際の浸透率の値（横軸）と、をプロットした図である。より詳細には、縦軸は、各テストデータに含まれる温度分布Ｔ及び圧力分布Ｐから学習済みモデルにより推定された浸透率分布Ｙ＊により表される４００（２０×２０）個の領域の浸透率のうちの、ある１個の領域の浸透率を表している。また、横軸は、各テストデータに含まれる浸透率分布Ｙにより表される４００（２０×２０）個の領域の浸透率のうちの、同じ１個の領域の浸透率を表している。なお、縦軸と横軸の値は、浸透率の対数をとった値（指数部分）を表している。
【０１０６】
図１６（ｂ）は、トレーニングデータの数Ｎを０から６００まで変化させた場合における、浸透率の推定誤差（縦軸）と、トレーニングデータの数Ｎ（横軸）と、をプロットした図である。縦軸に示す浸透率の推定誤差は、学習済みモデルにより推定された浸透率と実際の浸透率との誤差であって、具体的には左図における縦軸の値と横軸の値との差分の絶対値を負の値としたものである。より詳細には、縦軸に示す浸透率の推定誤差は、学習済みモデルにより推定された浸透率と実際の浸透率との差分に対して（９００−Ｎ）個のテストデータにおける平均をとり、更にトレーニングデータとテストデータとの組み合わせを変えて行われた５回のクロスバリデーションに亘る平均をとった値である。具体的に、トレーニングデータの数Ｎが８１０である場合、すなわち９０個のテストデータを用いた場合における推定誤差の平均値は、−０．１４６±０．０６０であった。
【０１０７】
図１６（ｂ）において、実線のプロットは、学習済みモデルに対してトレーニングデータを用いて評価された浸透率の誤差の評価値を示している。すなわち、実線のプロットは、トレーニングデータに基づいて学習されたモデルに対してトレーニングデータ自体を用いて評価した評価値を示しているため、トレーニングデータの数Ｎに依らずに０に近い値でほぼ一定となった。これに対して、破線のプロットは、学習済みモデルに対してテストデータを用いて評価された浸透率の誤差の評価値を示している。破線のプロットは、トレーニングデータの数Ｎを増大させるほど０に近くなり、実線のプロットに近づいた。すなわち、トレーニングデータの数Ｎを十分に大きくすることで、機械学習により学習されたモデルを用いて温度分布及び圧力分布から浸透率分布を推定可能であることの見通しが得られた。
【０１０８】
更に、図１７及び図１８に、それぞれ圧力のみを用いた場合と温度のみを用いた場合における評価の結果を示す。図１６が温度の差分と圧力の差分との両方を用いてモデルを学習した場合のプロットであるのに対して、図１７は、温度を用いず圧力の差分のみを用いてモデルを学習した場合のプロットであり、図１８は、圧力を用いず温度の差分のみを用いてモデルを学習した場合のプロットである。その他の条件については、図１６から図１８の間で同じである。
【０１０９】
図１６（ａ）に示すプロットがほぼ直線状に並んでいるのに対して、図１７（ａ）及び図１８（ａ）に示すプロットは、図１６（ａ）に比べて直線状からばらけているのが分かる。実際、図１７及び図１８において５回のクロスバリデーションを行った場合における推定誤差の平均値は、それぞれ−０．３４４±０．１０２及び−０．５２９±０．２０７であり、図１６における推定誤差の平均値（−０．１４６±０．０６０）に比べて悪かった。このような結果から、温度の差分と圧力の差分を用いた場合（図１６）、圧力の差分のみを用いた場合（図１７）、温度の差分のみを用いた場合（図１８）の順で、浸透率を精度良く推定可能であることが評価された。
【０１１０】
また、図１７（ｂ）及び図１８（ｂ）に示すトレーニングデータの数Ｎと推定誤差との関係を参照すると、図１７（ｂ）及び図１８（ｂ）における推定誤差は、図１６（ｂ）に比べて０から離れている、すなわちモデルにより推定された浸透率と実際の浸透率との誤差が大きいことが分かる。その一方で、いずれの場合でもテストデータの数Ｎを大きくすると破線のプロットが実線のプロットに近づくことが分かる。このような結果から、トレーニングデータの数Ｎを十分に大きくすることで、いずれの場合においても、精度に違いはあるが、ある精度の範囲内で浸透率分布を推定可能であることが見積もられた。
【０１１１】
更に、図１９に、上述した（方法Ｉ）を用いてモデルを学習した場合における評価の結果を示す。図１６が（方法ＩＩ）を用いて、すなわち温度の差分と圧力の差分との両方を用いてモデルを学習した場合のプロットであるのに対して、図１９は、（方法Ｉ）を用いて、すなわち領域（ｉ−２，ｊ−２）から領域（ｉ＋２，ｊ＋２）までの２５（５×５）個の領域における温度及び圧力そのものの値を用いて領域（ｉ，ｊ）における浸透率を推定するモデルを学習した場合のプロットである。その他の条件については、図１６と図１９とで同じである。
【０１１２】
図１９（ａ）に示すプロットは、図１６（ａ）、図１７（ａ）及び図１８（ａ）に比べて更に直線状からばらけているのが分かる。実際、図１９において、５回のクロスバリデーションを行った場合における推定誤差の平均値は、−０．８９７±０．４２６であり、図１６から図１８における推定誤差の平均値に比べて悪かった。このような結果から、温度又は圧力の値そのものを用いた場合（方法Ｉ）よりも、温度又は圧力の差分を用いた場合（方法ＩＩ）の方が、より精度良く浸透率を推定可能であることが評価された。
【０１１３】
また、図１９（ｂ）に示すトレーニングデータの数Ｎと推定誤差との関係を参照すると、図１９（ｂ）における推定誤差は、図１６（ｂ）から図１８（ｂ）における推定誤差よりも大きいことが分かる。その一方で、テストデータの数Ｎを大きくすると破線のプロットが実線のプロットに近づくことが分かる。このような結果から、（方法Ｉ）の場合においても、トレーニングデータの数Ｎを十分に大きくすることで、ある精度の範囲内で浸透率分布を推定可能であることが見積もられた。
【０１１４】
以上説明したように、本実施形態に係る浸透率推定システム１において、学習装置１０は、それぞれが、浸透率分布と対応する温度分布及び圧力分布とを表す複数のデータセットに基づいて、温度及び圧力の入力値に対して対象となる地熱貯留層における浸透率の推定値を出力するモデルを学習する。そして、推定装置２０は、学習装置１０により学習されたモデルに基づいて、対象となる地熱貯留層における浸透率を推定する。浸透率分布と温度分布及び圧力分布との関係を学習することにより、実測が比較的し易いパラメータである温度及び圧力を用いて、実測が難しいパラメータである浸透率を推定することができる。これにより、地熱貯留層の浸透率を推定するためのより客観的で自動化された手法を構築することができる。その結果、従来よりも客観的で労力の少ない手法で、地熱貯留層の浸透率を推定することができ、地熱エネルギーの開発における不確実性とコストとを低減することにつながる。
【０１１５】
（変形例）
以上に本発明の実施形態について説明したが、上記実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、本発明の実施形態は種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
【０１１６】
例えば、上記実施形態では、データセット取得部１１０は、１つの浸透率分布に対して、温度分布と圧力分布との両方を表すデータセットを取得した。そして、学習部１３０は、温度と圧力との両方に基づく値の入力に対して浸透率の推定値を出力するモデルを学習した。しかしながら、本発明において、データセット取得部１１０は、１つの浸透率分布に対して、温度分布と圧力分布とのうちの一方のみを表すデータセットを取得し、学習部１３０は、温度と圧力とのうちの一方のみに基づく値の入力に対して浸透率の推定値を出力するモデルを学習しても良い。すなわち、本発明において、学習装置１０は、それぞれが、浸透率分布と、それに対応する温度分布と圧力分布とのうちの少なくとも一方と、を表す複数のデータセットに基づいて、温度と圧力とのうちの少なくとも一方に基づく値の入力に対して、対象となる地熱貯留層における浸透率の推定値を出力するモデルを学習する。温度と圧力とのうちの一方のみを用いる場合であっても、図１７及び図１８に示したように、地熱貯留層における浸透率を推定することが可能である。
【０１１７】
具体的に説明すると、温度のみを用いる場合、学習部１３０は、複数のデータセットのそれぞれにより表される浸透率分布と温度分布との関係に基づいて、温度に基づく少なくとも１つの値の入力に対して対象となる地熱貯留層における１つの位置における浸透率の推定値を出力するモデルを学習する。具体的に説明すると、学習部１３０は、浸透率Ｙと温度Ｔとの関係“Ｙ＝ｆ（Ｔ）”を表す関数ｆを学習し、温度Ｔから浸透率Ｙを算出する推定式を求める。これに対して、圧力のみを用いる場合、学習部１３０は、複数のデータセットのそれぞれにより表される浸透率分布と圧力分布との関係に基づいて、圧力に基づく少なくとも１つの値の入力に対して対象となる地熱貯留層における１つの位置における浸透率の推定値を出力するモデルを学習する。具体的に説明すると、学習部１３０は、浸透率Ｙと圧力Ｐとの関係“Ｙ＝ｆ（Ｐ）”を表す関数ｆを学習し、圧力Ｐから浸透率Ｙを算出する推定式を求める。
【０１１８】
上記実施形態では、学習部１３０は、図６又は図７に示した入力と出力との関係に基づいて、温度又は圧力の入力値に対して浸透率の推定値を出力するモデルを学習した。しかしながら、本発明において、図６及び図７は一例であって、他の関係に基づいてモデルを学習しても良い。
【０１１９】
図２０に、（方法Ｉ）においてモデルに入力される温度及び圧力とモデルから出力される浸透率との関係の別の例を示す。図２０の例では、学習部１３０は、領域（ｉ，ｊ）における浸透率を、領域（ｉ−５，ｊ）から領域（ｉ＋５,ｊ）まで及び領域（ｉ，ｊ−５）から領域（ｉ,ｊ＋５）までの十字状に並んだ計２１個の領域における温度及び圧力から推定するモデルを学習する。学習部１３０は、このようなモデルを、貯留層領域３１内の２０×２０個の領域のそれぞれをターゲットとなる領域（ｉ，ｊ）として学習する。
【０１２０】
また、（方法ＩＩ）の手法によりモデルを学習する場合にも、図７に示したモデルに入力される温度又は圧力とモデルから出力される浸透率との関係は一例であって、ターゲットとなる領域（ｉ，ｊ）に対して温度又は圧力の差分を計算する領域及びその個数は、図７に示した領域に限らない。例えば、学習部１３０は、領域（ｉ，ｊ）に対して、Ｘ方向及びＺ方向のそれぞれについて１つ隣の領域との差分及び２つ隣の領域との差分のみを計算しても良い。或いは、学習部１３０は、領域（ｉ，ｊ）に対して、温度の中心差分“Ｔ（ｉ＋１,ｊ）−Ｔ（ｉ−１,ｊ）”及び“Ｔ（ｉ,ｊ＋１）−Ｔ（ｉ,ｊ−１）”を計算しても良いし、２回のテーラー展開の成分“Ｔ（ｉ＋１,ｊ）−２Ｔ（ｉ，ｊ）＋Ｔ（ｉ−１,ｊ）”及び“Ｔ（ｉ,ｊ＋１）−２Ｔ（ｉ，ｊ）＋Ｔ（ｉ,ｊ−１）”を計算しても良い。圧力についても同様である。
【０１２１】
上記実施形態では、学習部１３０は、サポートベクターマシンの手法を用いて、温度又は圧力の入力値に対して浸透率の推定値を出力するモデルを学習した。しかしながら、本発明において、学習部１３０は、サポートベクターマシンに限らず、他の機械学習の手法を用いても良い。
【０１２２】
例えば、学習部１３０は、ニューラルネットワークの手法を用いて温度又は圧力の入力値に対して浸透率の推定値を出力するモデルを学習しても良い。この場合、学習部１３０は、ニューラルネットワークを、対象となる地熱貯留層における温度分布又は圧力分布が入力される入力層と、入力層に入力された温度分布又は圧力分布に対応する浸透率分布を出力する出力層と、少なくとも１つの中間層と、によって構成する。そして、学習部１３０は、データセット取得部１１０により取得された各データセットに含まれる浸透率分布を教師データとして用いて、各層の結合の重みを調整する。具体的に説明すると、学習部１３０は、データセット取得部１１０により取得された各データセットに含まれる温度分布又は圧力分布を入力層に入力し、出力層において出力される浸透率分布を、教師データの浸透率分布、すなわち入力層に入力された温度分布又は圧力分布に各データセットにおいて対応する浸透率分布と比較する。そして、学習部１３０は、出力層において出力される浸透率分布と教師データの浸透率分布との差がなるべく小さくなるように、誤差逆伝播法等を用いて中間層におけるパラメータを調整する。このようにして、学習部１３０は、温度又は圧力の入力値に対して浸透率の推定値を出力するモデルを学習する。
【０１２３】
上記実施形態では、データセット取得部１１０は、数値シミュレータとしてＴＯＵＧＨ２を用いて学習用のデータセットを取得した。しかしながら、本発明において、データセット取得部１１０は、ＴＯＵＧＨ２に限らず、どのような数値シミュレータを用いて学習用のデータセットを取得しても良い。或いは、データセット取得部１１０は、対象となる地熱貯留層と同等の条件のもとで、浸透率分布とそれに対応する温度分布又は圧力分布とのデータセットが得られれば、数値シミュレータに限らず、どのような方法でデータセットを取得しても良い。
【０１２４】
また、数値シミュレータは、学習装置１０自体にインストールされており、学習装置１０が浸透率分布に対応する温度分布又は圧力分布を計算しても良い。或いは、数値シミュレータは、学習装置１０とは別の装置にインストールされており、当該別の装置が浸透率分布に対応する温度分布又は圧力分布を計算しても良い。別の装置が温度分布又は圧力分布を計算する場合、データセット取得部１１０は、別の装置から計算結果を取得することで、学習用のデータセットを取得する。
【０１２５】
上記実施形態では、学習装置１０と推定装置２０とは、独立した別の装置であった。しかしながら、本発明において、学習装置１０の機能と推定装置２０の機能とを１つの装置が備えていても良い。言い換えると、１つの装置が、浸透率分布と温度分布又は圧力分布との関係を表すモデルを学習し、学習したモデルに基づいて浸透率を推定しても良い。
【０１２６】
上記実施形態では、学習装置１０の制御部１１において、ＣＰＵがＲＯＭ又は記憶部１２に記憶されたプログラムを実行することによって、データセット取得部１１０、パラメータ設定部１２０及び学習部１３０のそれぞれとして機能した。また、推定装置２０の制御部２１において、ＣＰＵがＲＯＭ又は記憶部２２に記憶されたプログラムを実行することによって、入力データ取得部２１０、推定部２２０及び出力部２３０のそれぞれとして機能した。しかしながら、本発明において、制御部１１，２１は、専用のハードウェアであってもよい。専用のハードウェアとは、例えば単一回路、複合回路、プログラム化されたプロセッサ、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）、これらの組み合わせ等である。制御部１１，２１が専用のハードウェアである場合、各部の機能それぞれを個別のハードウェアで実現してもよいし、各部の機能をまとめて単一のハードウェアで実現してもよい。また、各部の機能のうち、一部を専用のハードウェアによって実現し、他の一部をソフトウェア又はファームウェアによって実現してもよい。このように、制御部１１，２１は、ハードウェア、ソフトウェア、ファームウェア、又は、これらの組み合わせによって、上述の各機能を実現することができる。
【０１２７】
本発明に係る学習装置及び推定装置のそれぞれの動作を規定する動作プログラムを既存のパーソナルコンピュータ、情報端末装置等に適用することで、当該パーソナルコンピュータ又は情報端末装置等を、本発明に係る学習装置及び推定装置のそれぞれとして機能させることも可能である。
【０１２８】
また、このようなプログラムの配布方法は任意であり、例えば、ＣＤ−ＲＯＭ（Compact Disk ROM）、ＤＶＤ（Digital Versatile Disk）、ＭＯ（Magneto Optical Disk）、メモリカード等のコンピュータ読み取り可能な記録媒体に格納して配布してもよいし、インターネット等の通信ネットワークを介して配布してもよい。
【０１２９】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施形態ではなく、特許請求の範囲によって示される。そして特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【符号の説明】
【０１３０】
１  浸透率推定システム
１０  学習装置
１１，２１  制御部
１２，２２  記憶部
１３，２３  操作部
１４，２４  表示部
１５，２５  通信部
２０  推定装置
３０  貯留層モデル
３１  貯留層領域
３２  周辺領域
３３  流路
３４  熱源
１１０  データセット取得部
１２０  パラメータ設定部
１３０  学習部
２１０  入力データ取得部
２２０  推定部
２３０  出力部
【図１】
2020118094.tif 000003
【図２】
2020118094.tif 000004
【図３】
2020118094.tif 000005
【図４】
2020118094.tif 000006
【図５】
2020118094.tif 000007
【図６】
2020118094.tif 000008
【図７】
2020118094.tif 000009
【図８】
2020118094.tif 000010
【図９】
2020118094.tif 000011
【図１０】
2020118094.tif 000012
【図１１】
2020118094.tif 000013
【図１２】
2020118094.tif 000014
【図１３】
2020118094.tif 000015
【図１４】
2020118094.tif 000016
【図１５】
2020118094.tif 000017
【図１６】
2020118094.tif 000018
【図１７】
2020118094.tif 000019
【図１８】
2020118094.tif 000020
【図１９】
2020118094.tif 000021
【図２０】
2020118094.tif 000022