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

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

▶ 国立大学法人 東京大学の特許一覧

特開2024-70372学習方法、情報処理システム、プログラム及び学習モデル
<>
  • 特開-学習方法、情報処理システム、プログラム及び学習モデル 図1
  • 特開-学習方法、情報処理システム、プログラム及び学習モデル 図2
  • 特開-学習方法、情報処理システム、プログラム及び学習モデル 図3
  • 特開-学習方法、情報処理システム、プログラム及び学習モデル 図4
  • 特開-学習方法、情報処理システム、プログラム及び学習モデル 図5
  • 特開-学習方法、情報処理システム、プログラム及び学習モデル 図6
  • 特開-学習方法、情報処理システム、プログラム及び学習モデル 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024070372
(43)【公開日】2024-05-23
(54)【発明の名称】学習方法、情報処理システム、プログラム及び学習モデル
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240516BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022180816
(22)【出願日】2022-11-11
(71)【出願人】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】110002789
【氏名又は名称】弁理士法人IPX
(72)【発明者】
【氏名】米倉 一男
(72)【発明者】
【氏名】和田 一成
(57)【要約】
【課題】法則等に従った特徴が明示的には与えられていないデータを用いて学習を行うことのできる学習方法、情報処理システム、プログラム及び学習モデルを提供すること。
【解決手段】本発明の一態様によれば、情報処理システムが実行する学習方法が提供される。この学習方法は、出力ステップと、受付ステップと、学習ステップとを備える。出力ステップでは、学習モデルが学習の過程で、与えられた条件に応じて、または条件を与えずに生成したデータを出力する。受付ステップでは、判定手段によるデータに対する真偽の判定結果の入力を受け付ける。学習ステップでは、判定結果に基づいて学習モデルの学習を進行させる。
【選択図】図2
【特許請求の範囲】
【請求項1】
情報処理システムが実行する学習方法であって、
出力ステップと、受付ステップと、学習ステップとを備え、
前記出力ステップでは、学習モデルが学習の過程で、与えられた条件に応じて、または前記条件を与えずに生成したデータを出力し、
前記受付ステップでは、判定手段による前記データに対する真偽の判定結果の入力を受け付け、
前記学習ステップでは、前記判定結果に基づいて前記学習モデルの学習を進行させる
学習方法。
【請求項2】
請求項1に記載の学習方法において、
前記判定手段は、物理的法則に基づいて前記データの真偽を判定する
学習方法。
【請求項3】
請求項2に記載の学習方法において、
前記判定手段は、前記データの前記条件に対する真偽を判定する
学習方法。
【請求項4】
請求項1に記載の学習方法において、
比較ステップを備え、
前記学習モデルは、生成器と識別器とを備え、
前記生成器は、前記データを生成し、
前記識別器は、前記データの真偽を識別し、
前記比較ステップでは、前記判定結果と、前記識別器による識別結果とを比較し、
前記学習ステップでは、前記比較ステップによる比較の結果に基づいて、前記生成器と前記識別器との学習を進行させ、該学習は、
前記生成器に、前記識別器が真と識別するデータを生成するように学習させ、
前記識別機に、前記データの真偽を前記判定手段による判定結果と同じ識別を行うように学習させる
学習方法。
【請求項5】
請求項4に記載の学習方法において、
前記学習ステップでは、前記比較ステップによる比較の結果に基づく学習の事前に、教師データを用いて前記生成器の事前学習を進行させ、該事前学習は、
前記生成器を、前記教師データを用いたニューラルネットワークとして動作させる
学習方法。
【請求項6】
請求項4に記載の学習方法において、
前記学習ステップでは、前記比較ステップによる比較の結果に基づく学習の事前に、教師データを用いて前記生成器と前記識別器との事前学習を進行させ、該事前学習は、
前記生成器に、前記識別器が真と識別するデータを生成するように学習させ、
前記識別機に、前記教師データを真と識別するように学習させる
学習方法。
【請求項7】
請求項4に記載の学習方法において、
前記判定手段は、前記データに基づいて算出された値と、物理的法則に基づく値との誤差を算出し、
前記学習は、前記生成器で所定数の2倍より多くのデータを生成し、該生成したデータのうち、前記誤差の少ない前記所定数のデータと、前記誤差の大きい前記所定数のデータを使用する
学習方法。
【請求項8】
請求項6に記載の学習方法において、
前記教師データは、前記生成器が生成したデータのうち、前記判定手段により真と判定されたデータである
学習方法。
【請求項9】
請求項6に記載の学習方法において、
前記条件が数値の範囲として与えられた場合に、該数値の範囲に含まれる所定の数の数値を条件として前記事前学習を行う
学習方法。
【請求項10】
請求項1に記載の学習方法において、
前記判定手段は、前記データが、基準値の上限値以下で、かつ、該基準値の下限値以上の場合に、該データを真と判定し、
前記上限値は、前記学習モデルの学習の進行に伴って引き下げられ、
前記下限値は、前記学習モデルの学習の進行に伴って引き上げられる
学習方法。
【請求項11】
請求項1に記載の学習方法において、
前記判定手段は、前記データと基準値との差を前記判定結果に含める
学習方法。
【請求項12】
少なくとも1つの装置からなる情報処理システムであって、
請求項1乃至請求項11のいずれか1項に記載の各ステップがなされるようにプログラムを実行可能な、少なくとも1つのプロセッサを備える
情報処理システム。
【請求項13】
プログラムであって、
少なくとも1つのコンピュータに、請求項1乃至請求項11のいずれか1項に記載の学習方法の各ステップを実行させる
プログラム。
【請求項14】
学習モデルであって、
請求項1乃至請求項11のいずれか1項に記載の学習方法の各ステップにより学習された
学習モデル。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習方法、情報処理システム、プログラム及び学習モデルに関する。
【背景技術】
【0002】
深層学習をはじめとする機械学習では、与えられたデータを使って学習モデルの学習を行う。このときデータには何らかの特徴が備わっている。データに特徴が備わるというのは、例えば質点の運動のデータがニュートンの運動の法則に従うことや、熱の輸送が熱力学の諸法則に従うことを意味する。また人の顔から年齢を認識するようなタスクでは、顔のデータには民俗学的ないし社会科学的な法則が備わっていると想定してよい。なお、学習モデルの精度を向上させるための学習データを生成することも提案されている(例えば、特許文献1を参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2021-96511号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、学習に用いられるデータとして、様々なもの、例えば、実験値や実測値、機械的に生成した値等を用いることができるが、これらのデータには、法則等に従った特徴が含まれていない場合があり、特に、機械的に生成したデータは、法則等に従った特徴が明示的には与えられておらず、学習の過程でモデルがデータから、その特徴を読み取ることを期待するほかなかった。
【0005】
本発明では上記事情を鑑み、法則等に従った特徴が明示的には与えられていないデータを用いて学習を行うことのできる学習方法、情報処理システム、プログラム及び学習モデルを提供することとした。
【課題を解決するための手段】
【0006】
本発明の一態様によれば、情報処理システムが実行する学習方法が提供される。この学習方法は、出力ステップと、受付ステップと、学習ステップとを備える。出力ステップでは、学習モデルが学習の過程で、与えられた条件に応じて、または条件を与えずに生成したデータを出力する。受付ステップでは、判定手段によるデータに対する真偽の判定結果の入力を受け付ける。学習ステップでは、判定結果に基づいて学習モデルの学習を進行させる。
【0007】
本発明の一態様によれば、特徴を明示的に与えられたデータを十分に準備することなく、学習を行わせることが可能となる。
【図面の簡単な説明】
【0008】
図1】情報処理装置1の構成を示した図である。
図2】情報処理装置1の機能的な構成を示すブロック図である。
図3】学習部112の構成例を示した図である。
図4】事前学習を行う際の学習部112の構成例を示した図である。
図5】判定部121の調整例を示した図である。
図6】情報処理装置1による学習結果の例を示した図である。
図7】従来の別の方法による学習結果の例を示した図である。
【発明を実施するための形態】
【0009】
以下、図面を用いて本開示の実施形態について説明する。以下に示す実施形態中で示した各種特徴事項は、互いに組み合わせ可能である。
【0010】
ところで、本実施形態に登場するソフトウェアを実現するためのプログラムは、コンピュータが読み取り可能な非一時的な記録媒体(Non-Transitory Computer-Readable Medium)として提供されてもよいし、外部のサーバからダウンロード可能に提供されてもよいし、外部のコンピュータで当該プログラムを起動させてクライアント端末でその機能を実現(いわゆるクラウドコンピューティング)するように提供されてもよい。
【0011】
また、本実施形態において「部」とは、例えば、広義の回路によって実施されるハードウェア資源と、これらのハードウェア資源によって具体的に実現されうるソフトウェアの情報処理とを合わせたものも含みうる。また、本実施形態においては様々な情報を取り扱うが、これら情報は、例えば電圧・電流を表す信号値の物理的な値、0又は1で構成される2進数のビット集合体としての信号値の高低、又は量子的な重ね合わせ(いわゆる量子ビット)によって表され、広義の回路上で通信・演算が実行されうる。
【0012】
また、広義の回路とは、回路(Circuit)、回路類(Circuitry)、プロセッサ(Processor)、及びメモリ(Memory)等を少なくとも適当に組み合わせることによって実現される回路である。すなわち、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、プログラマブル論理デバイス(例えば、単純プログラマブル論理デバイス(Simple Programmable Logic Device:SPLD)、複合プログラマブル論理デバイス(Complex Programmable Logic Device:CPLD)、及びフィールドプログラマブルゲートアレイ(Field Programmable Gate Array:FPGA))等を含むものである。
【0013】
1.情報処理装置の構成
図1は、情報処理装置1の構成を示した図である。同図に示すように、情報処理装置1は、処理部11と、記憶部12と、一時記憶部13と、外部装置接続部14と、通信部15とを有しており、これらの構成要素が情報処理装置1の内部において通信バス16を介して電気的に接続されている。
【0014】
処理部11は、例えば、中央処理装置(Central Processing Unit:CPU)により実現されるもので、記憶部12に記憶された所定のプログラムに従って動作し、種々の機能を実現する。
【0015】
記憶部12は、様々な情報を記憶する不揮発性の記憶媒体である。これは、例えばハードディスクドライブ(Hard Disk Drive:HDD)やソリッドステートドライブ(Solid State Drive:SSD)等のストレージデバイスにより実現される。なお、記憶部12は、情報処理装置1と通信可能な別の装置に配するようにすることも可能である。
【0016】
一時記憶部13は、揮発性の記憶媒体である。これは、例えばランダムアクセスメモリ(Random Access Memory:RAM)等のメモリにより実現され、処理部11が動作する際に一時的に必要な情報(引数、配列等)を記憶する。
【0017】
外部装置接続部14は、例えばユニバーサルシリアルバス(Universal Serial Bus:USB)や高精細度マルチメディアインターフェース(High-Definition Multimedia Interface:HDMI(登録商標))といった規格に準じた接続部であり、キーボード等の入力装置やモニタ等の表示装置を接続可能としている。
【0018】
通信部15は、例えばローカルエリアネットワーク(Local Area Network:LAN)規格に準じた通信手段であり、情報処理装置1とローカルエリアネットワークやこれを介したインターネット等のネットワークとの間の通信を実現する。
【0019】
なお、情報処理装置1には、汎用のサーバ向けのコンピュータやパーソナルコンピュータ等を利用することが可能であり、複数のコンピュータを用いて情報処理装置1を構成することも可能である。
【0020】
2.情報処理装置1の機能
次に、情報処理装置1の機能について説明する。情報処理装置1は、情報処理システムを構成するもので、プログラムにしたがって動作することで、後述する各機能部を実現する。このプログラムは、少なくとも1つのコンピュータに、後述する学習方法の各ステップを実行させるものである。具体的には、記憶部12に記憶されているプログラム、つまり、ソフトウェアに基づいて、ハードウェアである処理部11が動作することで、後述する各機能部を実現する。このとき、処理部11は、必要に応じて、記憶部12と、一時記憶部13と、外部装置接続部14と、通信部15とを動作させる。
【0021】
ところで、ここで説明する情報処理システムは、少なくとも1つの装置からなる情報処理システムである。ここでは、その少なくとも1つの装置として情報処理装置1を含む情報処理システムを、例として説明する。この情報処理システムでは、後述する各部がなされるようにプログラムを実行可能な、少なくとも1つのプロセッサを備える。このプロセッサは、例えば、処理部11に相当するものである。
【0022】
また、情報処理システムにより実現された学習モデルは、後述する学習方法により学習を行ったものであり、その学習の成果等が記憶部12に記憶されることになる。この記憶された学習モデルは、他のコンピュータ等の情報処理装置において、学習済みの学習モデルとして利用することができる。
【0023】
図2は、情報処理装置1の機能的な構成を示すブロック図である。同図に示すように、情報処理装置1は、プログラムにより、学習装置110と、判定装置120とを機能として実現する。なお、図2においては、情報処理装置1に学習装置110と判定装置120とを実現させているが、判定装置120を、ネットワーク等を介して通信可能な別の情報処理装置に実現させたり、情報処理装置とは別の構成を有する装置として実現するようにしてもよい。
【0024】
学習装置110は、条件受付部111と、学習部112と、出力部113と、受付部114とを備える。また、判定装置120は、例えば、判定部121を備える。条件受付部111は、学習を行うための条件を受け付ける。例えば、質点を投げた場合の軌跡を予測する学習を行う場合には、初速と、投出の際の角度とが条件となり、二次元層流翼(模型飛行機の主翼等)の設計を学習する場合には、揚力係数が条件となり、タービン翼(航空エンジンの回転部分の翼等)の設計を学習する場合には、流出角と、損失係数とが条件となる。この条件は、1つの数値であってもよく、複数の数値又は、数値の範囲として指定してもよく、また全く条件が無くても良い。学習部112と、出力部113と、受付部114は、それぞれ、後述する学習ステップと、出力ステップと、受付ステップとを実行する。
【0025】
また、判定手段である判定部121は、条件受付部111が受け付けた条件と同様の条件に基づいて、出力部113が後述する出力ステップにより出力したデータの真偽を判定する。判定部121を含む判定装置120は、解析ソフトや、設計ソフト、シミュレーションソフトといった学習装置110とは別のソフトウェアにより実現することが可能なものであり、好ましくは、物理的法則に基づく計算が可能な当該別のソフトウェアによる計算結果に基づいて出力ステップで出力したデータの真偽を判定するものがよく、例えば、出力ステップにより出力されたデータが、物理的に正しいか否かを判断し、正しければ「真」、正しくなければ「偽」と判断するものである。具体的には、出力ステップで出力したデータに基づいて算出した値と、物理的法則に基づいて計算した値との誤差が予め定めた値よりも小さいものを「真」、誤差が予め定めた値以上のものを「偽」と判断する。なお、判定装置120は、物理的な検証を行うものである必要はなく、例えば、質点を投げた場合の軌跡は、上昇から下降に転じた後に再度上昇することは無いため、いわゆるギザギザな軌跡となることは無く、図形の解析を行うソフトを用いてギザギザの有無を検出するような態様とすることができる。また、官能評価を行う場合、例えば調香の学習を行う場合には、その結果を鑑定師等の人が判定するなど、人による判定を行う態様とすることもできる。
【0026】
また、学習装置110に、図示しないプレ判定部を設け、生成したデータが明らかにおかしい場合、当該データを判定部121に判定させず、再度データを生成させるようにしてもよい。生成したデータが明らかにおかしい場合とは、簡単な法則に矛盾している、生成値の上下限値を超える、出力値と入力値の関係(比率の上下限値など)が破綻している等である。
【0027】
3.学習の概要
次に、学習装置110が行う学習の概要について説明する。ここで説明する学習方法は、情報処理システム(情報処理装置1)が実行する学習方法である。この学習方法は、出力ステップと、受付ステップと、学習ステップとを備える。
【0028】
出力ステップでは、出力部113が、学習部112に含まれる学習モデルが学習の過程で、与えられた条件、つまり、条件受付部111が受け付けた条件に応じて、または条件を与えずに生成したデータを判定部121へ出力する。このとき、出力部113は、判定部121が入力可能な態様に、データを変換する。このデータは、判定部121により、条件に対して真であるか偽であるか判定される。
【0029】
受付ステップでは、受付部114が、判定部121によるデータに対する真偽の判定結果の入力を受け付ける。学習ステップでは、受付部114が受け付けた判定結果に基づいて学習部112に含まれる学習モデルの学習を進行させる。このように、学習装置110は、判定装置120による判定の結果を用いて学習を行う。真偽の判定は、例えば、データの条件に対する真偽を判定である。
【0030】
4.学習の具体例
図3は、学習部112の構成例を示した図である。学習部112は、学習モデルである生成器1121と識別器1122とを備えるとともに、比較部1123を備える。なお、図3においては、比較部1123は、条件受付部111、出力部113、受付部114は、省略している。
【0031】
生成器1121は、生成ネットワーク(generator)とも称されるニューラルネットワークの一種であり、条件受付部111が受け付けた条件とランダムノイズに基づいて、データを生成する。識別器1122は、識別ネットワーク(discriminator)とも称されるニューラルネットワークの一種であり、生成器1121が生成したデータの真偽を識別する。比較部1123は、比較ステップを実行するもので、この比較ステップでは、判定部121による判定結果と、識別器1122による識別結果とを比較する。
【0032】
そして、学習ステップでは、比較ステップによる比較の結果に基づいて、生成器1121と識別器1122との学習を進行させる。この学習では、生成器1121に、識別器1122が真と識別するデータを生成するように学習させ、識別器1122に、データの真偽を判定部121による判定結果と同じ識別を行うように学習させる。この学習は、敵対的生成ネットワーク(GAN:Generative adversarial networks)と類似する学習方法である。敵対的生成ネットワークでは、生成器は、識別器が識別を誤る、つまり、生成器が生成したデータを教師データと識別することを目的とした学習を行い、識別器は、教師データを「真」、生成器が生成したデータを「偽」と識別することを目的とした学習を行う。これに対して、生成器1121は、敵対的生成ネットワークの生成器と同様の学習を行い、識別器1122は、生成器1121が生成したデータのうち判定部121により「真」と判定されたデータを、敵対的生成ネットワークの教師データであるものとした場合と同様の学習を行う。このため、生成器1121の学習と、識別器1122の学習の具体的な方法は、敵対的生成ネットワークにおける学習と同様である。
【0033】
このような学習を、生成器1121と識別器1122とに行わせることで、その学習が進行すると、生成器1121が生成するデータの精度が高くなり、判定部121が「偽」と判定するデータを生成する確度が低くなる、つまり、物理的法則等に矛盾することのないデータを生成することができるようになる。
【0034】
5.事前学習
ところで、生成器1121は、初期状態、つまり、何ら学習を行っていない状態では、判定部121が「真」と判定するデータを生成する確度は低く、また、識別器1122も、判定部121の判定結果と同様の識別を行う確度は低い。したがって、学習部112の学習に要する時間が長くなる可能性がある。
【0035】
この学習に要する時間が長くなることを回避するために、学習ステップでは、比較ステップによる比較の結果に基づく学習の事前に、教師データを用いて生成器1121の事前学習を進行させるようにしてもよい。生成器1121は、ニューラルネットワークとしても動作することができるものであるため、事前学習では、生成器1121を一般的なニューラルネットワークとして動作させ、教師データを用いた学習を行わせることとなる。また、学習ステップでは、比較ステップによる比較の結果に基づく学習の事前に、教師データを用いて生成器1121、又は生成器1121と識別器1122との両者に事前学習を進行させるようにしてもよい。この事前学習は、生成器1121に、識別器1122が真と識別するデータを生成するように学習させ、識別器1122に、教師データを真と識別するように学習させる。なお、生成器1121のみを事前学習させる場合には、識別器1122に代えて、別の識別器を用いることとなる。つまり、事前学習は、生成器1121と識別器1122とを敵対的生成ネットワークとして動作させることと同意である。この事前学習では、生成器1121で所定数の2倍より多くのデータ、例えば、所定数よりも十分に多くのデータを生成し、この生成したデータのうち、誤差の少ない所定数のデータと誤差の大きい所定数のデータを使用することができる。この誤差は、判定部121が算出するもので、データに基づいて算出された値と、物理的法則に基づく値との差である。例えば、教師データの数を64としたい場合、その10倍程度の数のデータを生成器1121に生成させ、この生成されたデータのうち、誤差の少ない32のデータと、誤差の多い32のデータを教師データとする。
【0036】
また、事前学習で用いる教師データは、生成器1121が生成したデータのうち、判定部121により「真」と判定されたデータを用いるようにしてもよい。図4は、事前学習を行う際の学習部112の構成例を示した図である。同図に示すように、学習部112は、提供部1124を備える。提供部1124は、判定部121が「真」と判定したデータを蓄積し、適宜、識別器1122に提供する。適宜とは、事前学習において、識別器1122には、生成器1121が生成したデータと、教師データとが、ランダムに入力されるため、常に提供されるものではないことを意味する。
【0037】
また、事前学習においては、条件が数値の範囲として与えられた場合に、該数値の範囲に含まれる所定の数の数値を条件として事前学習を行うようにしてもよい。例えば、条件として、揚力係数が0から1.6までであることを条件として学習を行わせる場合、最終的には、0から1.6までの任意の値を条件として入力することができるように学習を行わせるが、事前学習においては、例えば、条件を、0.1、1.5、0.95、1.58の4つとして学習を行わせ、学習部112の学習の速度を向上させることもできる。
【0038】
6.判定手段の調整
ところで、判定手段である判定部121が、調整可能なものである場合、その調整により、学習部112の学習の速度を早めることができる。例えば、判定部121が、基準値に対して上限値と下限値を設定できる場合、図5に示すような設定を行う。図5は、判定部121の調整例を示した図である。図5に実線で示した基準値は、条件と、当該条件に応じて生成器1121が生成したデータに基づく値が一致することを示している。この基準値は、例えば、設計する二次元層流翼の条件である揚力係数と、この条件に応じて生成器1121が生成した二次元層流翼のデータ(形状)に従って作成された二次元層流翼の揚力係数とが、一致した場合を「真」と判定するもので、図5に示した例では、条件が0.8である場合、生成器1121が生成したデータに基づく値が0.8の場合のみ真となる。判定部121が調整可能である場合、判定部121は、データが、基準値の上限値以下で、かつ、該基準値の下限値以上の場合に、当該データを「真」と判定する。例えば、条件が0.8、上限値と下限値の調整可能な範囲をともに0.2とした場合、生成器1121が生成したデータに基づく値が1.0以下で、かつ、0.6以上である場合、当該データは、「真」と判定される。この上限値は、学習モデルの学習の進行に伴って引き下げられ、下限値は、学習モデルの学習の進行に伴って引き上げられることが望ましい。また、上限値及び下限値は条件の値によって異なる値を取っても良い。
【0039】
また、判定手段である判定部121が対応可能であれば、判定部121は、データと基準値との差を判定結果に含めるようにしてもよい。この場合、学習部112は、データと基準値との差に基づいた学習を行うことになる。
【0040】
6.定式化
上述した構成では、教師データを使用せずに、生成データを物理モデルで検証し、誤差が大きければ「偽」、誤差が小さければ「真」と判定するもので、識別器1122は、物理モデルと同じ判定ができるように学習を行い、生成器1121は、識別器1122を欺く、つまり、識別器1122が「真」と判定するデータを生成するように学習を行う。なお、物理モデルとしては、別途のソフトウェア等を用いることができるものである。
【0041】
ここで、これらを、数式を用いて説明する。上述した構成では、数1を満たすxを生成することを目的とする。つまり、xが数1を満たす場合には「真」と判定し、xが数1を満たさない場合には「偽」と判定して学習を行う。この場合、目的関数は、数2に示す集合を用いて、数3で表すことができる。
【数1】
【数2】
【数3】
【0042】
しかしながら、数2を満たす集合は、0である場合が多いため数4も0となる。このため、数5で示す集合を数6で定義する。ただし、数7である。また、数5の測度は0ではなく、期待値計算が可能である。したがって、目的関数は、数8で示すものとなる。また、ニューラルネットワークの最適化においては、数9に示す最適化を行う。ただし、h(i)は、エポック数iの関数で、iが大きくなると0に収束する関数である。
【数4】
【数5】
【数6】
【数7】
【数8】
【数9】
【0043】
7.使用例
続いて、上述した構成の使用例を説明する。数10に示すデータがあるとする。このデータのxは、ある関数fとパラメータθに対して、数1を満たすものとする。このとき、数11に示す所与の値に対して数12を満たすxを探すことが、目的となる。
【数10】
【数11】
【数12】
【0044】
ここで、具体例として、翼設計の場合を説明する。翼形状を、点列を集めたベクトルで表すと、数13で表せる。また、あるxに対して、決められたレイノルズ数および迎角における揚力係数θが唯一決まる。関数gをxからθを計算する関数(数14に示す)とすると、関数gを用いて、数1は、数15で表すことができる。この場合、数11に示す所与の値に対して数12を満たすxを探すことは、所与の揚力係数(数11)を与える形状xを探すことに相当する。
【数13】
【数14】
【数15】
【0045】
8.結果例
次に、上述した構成による試行結果の例を示す。図6は、情報処理装置1による学習結果の例を示した図であり、図7は、従来の別の方法による学習結果の例を示した図である。なお、図6及び図7に示した例では、条件を0から1.58まで、1.58/1000毎に指定している。図6及び図7から明らかなように、情報処理装置1による学習では、条件の範囲の全般において、従来のものよりも良好な結果を得ることができた。
【0046】
9.その他
以上説明した学習方法は、情報処理システムが実行する学習方法であり、この学習方法は、出力ステップと、受付ステップと、学習ステップとを備える。
【0047】
情報処理装置1は、オンプレミス形態であってもよく、クラウド形態であってもよい。クラウド形態の情報処理装置1としては、例えば、SaaS(Software as a Service)、クラウドコンピューティングという形態で、上記の機能や処理を提供してもよい。
【0048】
本発明は、次に記載の各態様で提供されてもよい。
【0049】
(1)情報処理システムが実行する学習方法であって、出力ステップと、受付ステップと、学習ステップとを備え、前記出力ステップでは、学習モデルが学習の過程で、与えられた条件に応じて、または前記条件を与えずに生成したデータを出力し、前記受付ステップでは、判定手段による前記データに対する真偽の判定結果の入力を受け付け、前記学習ステップでは、前記判定結果に基づいて前記学習モデルの学習を進行させる学習方法。
【0050】
(2)上記(1)に記載の学習方法において、前記判定手段は、物理的法則に基づいて前記データの真偽を判定する学習方法。
【0051】
(3)上記(2)に記載の学習方法において、前記判定手段は、前記データの前記条件に対する真偽を判定する学習方法。
【0052】
(4)上記(1)乃至は上記(3)のいずれか1つに記載の学習方法において、比較ステップを備え、前記学習モデルは、生成器と識別器とを備え、前記生成器は、前記データを生成し、前記識別器は、前記データの真偽を識別し、前記比較ステップでは、前記判定結果と、前記識別器による識別結果とを比較し、前記学習ステップでは、前記比較ステップによる比較の結果に基づいて、前記生成器と前記識別器との学習を進行させ、該学習は、前記生成器に、前記識別器が真と識別するデータを生成するように学習させ、前記識別機に、前記データの真偽を前記判定手段による判定結果と同じ識別を行うように学習させる学習方法。
【0053】
(5)上記(4)に記載の学習方法において、前記学習ステップでは、前記比較ステップによる比較の結果に基づく学習の事前に、教師データを用いて前記生成器の事前学習を進行させ、該事前学習は、前記生成器を、前記教師データを用いたニューラルネットワークとして動作させる学習方法。
【0054】
(6)上記(4)に記載の学習方法において、前記学習ステップでは、前記比較ステップによる比較の結果に基づく学習の事前に、教師データを用いて前記生成器と前記識別器との事前学習を進行させ、該事前学習は、前記生成器に、前記識別器が真と識別するデータを生成するように学習させ、前記識別機に、前記教師データを真と識別するように学習させる学習方法。
【0055】
(7)上記(4)乃至(6)のいずれか1つに記載の学習方法において、前記判定手段は、前記データに基づいて算出された値と、物理的法則に基づく値との誤差を算出し、前記学習は、前記生成器で所定数の2倍より多くのデータを生成し、該生成したデータのうち、前記誤差の少ない前記所定数のデータと、前記誤差の大きい前記所定数のデータを使用する学習方法。
【0056】
(8)上記(6)に記載の学習方法において、前記教師データは、前記生成器が生成したデータのうち、前記判定手段により真と判定されたデータである学習方法。
【0057】
(9)上記(6)に記載の学習方法において、前記条件が数値の範囲として与えられた場合に、該数値の範囲に含まれる所定の数の数値を条件として前記事前学習を行う学習方法。
【0058】
(10)上記(1)乃至(9)のいずれか1つに記載の学習方法において、前記判定手段は、前記データが、基準値の上限値以下で、かつ、該基準値の下限値以上の場合に、該データを真と判定し、前記上限値は、前記学習モデルの学習の進行に伴って引き下げられ、前記下限値は、前記学習モデルの学習の進行に伴って引き上げられる学習方法。
【0059】
(11)上記(1)乃至(9)のいずれか1つに記載の学習方法において、前記判定手段は、前記データと基準値との差を前記判定結果に含める学習方法。
【0060】
(12)少なくとも1つの装置からなる情報処理システムであって、上記(1)乃至(11)のいずれか1つに記載の各ステップがなされるようにプログラムを実行可能な、少なくとも1つのプロセッサを備える情報処理システム。
【0061】
(13)プログラムであって、少なくとも1つのコンピュータに、上記(1)乃至(11)のいずれか1つに記載の学習方法の各ステップを実行させるプログラム。
【0062】
(14)学習モデルであって、上記(1)乃至(11)のいずれか1つに記載の学習方法の各ステップにより学習された学習モデル。
もちろん、この限りではない。
【0063】
最後に、本発明に係る種々の実施形態を説明したが、これらは、例として提示したものであり、発明の範囲を限定することは意図していない。当該新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。当該実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0064】
1 :情報処理装置
11 :処理部
12 :記憶部
13 :一時記憶部
14 :外部装置接続部
15 :通信部
16 :通信バス
110 :学習装置
111 :条件受付部
112 :学習部
113 :出力部
114 :受付部
120 :判定装置
121 :判定部
1121 :生成器
1122 :識別器
1123 :比較部
1124 :提供部
図1
図2
図3
図4
図5
図6
図7