(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-30
(45)【発行日】2023-11-08
(54)【発明の名称】学習済モデルの構築方法、及び、その学習済モデルを用いた設計支援装置
(51)【国際特許分類】
G06F 30/27 20200101AFI20231031BHJP
G06F 30/10 20200101ALI20231031BHJP
G06N 20/00 20190101ALI20231031BHJP
【FI】
G06F30/27
G06F30/10
G06N20/00
(21)【出願番号】P 2020164148
(22)【出願日】2020-09-29
【審査請求日】2022-12-01
(73)【特許権者】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】110001379
【氏名又は名称】弁理士法人大島特許事務所
(72)【発明者】
【氏名】安原 重人
(72)【発明者】
【氏名】岡田 英之
(72)【発明者】
【氏名】吉本 毅
(72)【発明者】
【氏名】岡田 高幸
(72)【発明者】
【氏名】後藤 禎
(72)【発明者】
【氏名】福田 昇
(72)【発明者】
【氏名】山田 航司
【審査官】堀井 啓明
(56)【参考文献】
【文献】特開2020-035325(JP,A)
【文献】特開2013-225192(JP,A)
【文献】特表2020-506491(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00-30/398
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
設計の活動の実行の有無に依存して定められる状態と、前記状態の下で選択可能な前記活動である行動との組み合わせに対して報酬を付与し、価値を最大化することによって学習済モデルを構築する学習済モデルの構築方法であって、
予め入力された規則に基づいて前記報酬を付与するステップと、
付与された前記報酬に基づいて強化学習を行うステップとを含み、
前記規則は経路元活動と、前記経路元活動の後に行われる経路先活動と、前記経路元活動の後に前記経路先活動が行われることの重要度を示す太さとに係る情報を含み、
前記報酬を付与するステップにおいて、前記状態に至る直前の前記行動が前記経路元活動に適合し、且つ、前記行動と前記経路先活動とが適合するときに、前記太さに基づいて前記報酬を設定する学習済モデルの構築方法。
【請求項2】
前記状態は、複数の前記活動の実行の有無と、直前に実行された前記活動とを含む組み合わせによって定義される請求項1に記載の学習済モデルの構築方法。
【請求項3】
前記状態は、複数の前記活動の実行の有無と、直前に実行された前記活動と、設計の条件に対応する番号とを含む組み合わせによって定義される請求項1に記載の学習済モデルの構築方法。
【請求項4】
設計の前記条件に対応する前記番号には、設計の前記条件が未定であることを示す前記番号を含む請求項3に記載の学習済モデルの構築方法。
【請求項5】
設計に係る前記活動に対応する複数のノード、及び、前記活動の関係に基づいて、対応する前記ノードを接続するエッジを含むナレッジグラフを用いて、前記ノードに対応する前記活動の中から、前記規則に照合することにより前記状態を定義するための前記活動を抽出し、前記状態の集合である状態空間を生成するステップを含む請求項1~請求項4のいずれか1つの項に記載の学習済モデルの構築方法。
【請求項6】
前記ナレッジグラフは、設計情報、及び、設計手順に係るデータをそれぞれ含む請求項5に記載の学習済モデルの構築方法。
【請求項7】
前記ナレッジグラフには、前記ノードが階層に分かれて記録され、
前記規則は前記経路元活動に対応する前記ノードが、前記経路先活動に対応する前記ノードの上層に位置することを含む請求項5又は請求項6に記載の学習済モデルの構築方法。
【請求項8】
前記規則は前記経路元活動に対応する前記ノードと、前記経路先活動に対応する前記ノードとの階層の差が所定値以上であるときには、前記報酬は付与されない請求項7に記載の学習済モデルの構築方法。
【請求項9】
前記規則はテキストによって入力され、
前記状態空間を生成するステップにおいて、前記テキストに含まれる単語と、前記ノードに対応する前記活動とを照合することによって、前記ノードに対応する前記活動の中から、前記状態を定義するための前記活動を抽出する請求項5~請求項8のいずれか1つの項に記載の学習済モデルの構築方法。
【請求項10】
請求項1~請求項9のいずれか1つの項に記載された方法によって構築された学習済モデルに基づいて、設計支援を行う設計支援装置であって、
ユーザから入力された情報に基づいて初期状態を設定するステップと、
前記初期状態から価値を最大化する前記行動を順次行わせるべく、前記ユーザに指示を行う出力を行うステップとを実行する設計支援装置。
【請求項11】
請求項3又は請求項4に記載された方法によって構築された学習済モデルに基づいて、設計支援を行う設計支援装置であって、
ユーザから入力された情報に基づいて初期状態を設定するステップと、
前記初期状態から価値を最大化する前記行動を順次行わせるべく、前記ユーザに指示を行う出力を行うステップとを実行し、
前記出力を行うステップにおいて、設計の前記条件に係る入力を受け付けたときには、前記状態を入力された前記条件に合致するものに遷移させた後、価値を最大化する前記行動を順次行わせるべく、前記ユーザに指示を行う前記出力を行う設計支援装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、学習済モデル構築方法であって、特に、設計支援を行うための設計支援装置に係る学習済モデルの構築方法と、その学習済モデルを用いた設計支援装置に関する。
【背景技術】
【0002】
車両の設計を支援するための設計支援システムであって、一つの要素の設計変更に伴って入力された入力諸元値に基づいて、他の関連する要素の諸元値を自動的に変更するものが開発されている(例えば、特許文献1)。
【0003】
建物の設計を支援するための設計支援装置であって、建築主から画像情報や言語情報の入力を受け付けて、学習済モデルによる演算を行い、設計対象である建物の設計条件を出力するものが知られている(例えば、特許文献2)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2009-37509号公報
【文献】特開2019-200721号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
車両を設計するためには、目標の設定や、荷重入力の検討等、多くの活動を経る必要がある。特許文献1の設計支援装置では、一つの要素の変更によって、他の要素の諸元値が変更されるものの、経験の浅いユーザは車両設計の各段階でどのような活動をすべきかを知ることができないため、経験の浅いユーザに対して十分な設計支援を行うことが難しい。
【0006】
そこで、設計支援装置を、特許文献2に記載されているように学習済モデルを用いた設計支援が可能となるように構成することが考えられる。
【0007】
学習済モデルを、設計状況を示す状態において、その状態において取るべき行動に報酬をつけ、行動を順次行うことによって得られる価値を最大化する強化学習を用いて構築することが考えられる。このとき、価値を最大化するべく選択される行動が、十分な経験を持つユーザ(エキスパート)の行動に合致するように、価値を設定することが求められる。
【0008】
しかし、車両設計のように、各状態において選択可能な活動の数が多くなると、設定すべき報酬の数が増大し、報酬の設定に係る負担が増大するという問題がある。
【0009】
本発明は、以上の背景を鑑み、強化学習を用いた学習済モデルの構築方法、及び、その学習済モデルを用いた設計支援装置において、報酬の設定を容易にすることを課題とする。
【課題を解決するための手段】
【0010】
上記課題を解決するために本発明のある態様は、設計の活動の実行の有無に依存して定められる状態(S)と、前記状態の下で選択可能な前記活動である行動(A)との組み合わせに対して報酬(R)を付与し、価値を最大化することによって学習済モデル(50)を構築する学習済モデルの構築方法であって、予め入力された規則(16)に基づいて前記報酬を付与するステップ(ST4)と、付与された前記報酬に基づいて強化学習を行うステップ(ST5)とを含み、前記規則は経路元活動と、前記経路元活動の後に行われる経路先活動と、前記経路元活動の後に前記経路先活動が行われることの重要度を示す太さとに係る情報を含み、前記報酬を付与するステップにおいて、前記状態に至る直前の前記行動が前記経路元活動に適合し、且つ、前記行動と前記経路先活動とが適合するときに、前記太さに基づいて前記報酬を設定する。
【0011】
この態様によれば、エキスパートの経験や知識に基づく規則を入力することによって、エキスパートの行動に即した報酬を容易に且つ適切に設定することができる。
【0012】
上記態様において、前記状態は、複数の前記活動の実行の有無(T,F)と、直前に実行された前記活動とを含む組み合わせによって定義されるとよい。
【0013】
この態様によれば、状態に至る直前の活動及び行動を用いて、状態及び行動の組み合わせがエキスパートの設計手順に沿った規則に合致しているかを容易に判定することができる。
【0014】
上記態様において、前記状態は、複数の前記活動の実行の有無と、直前に実行された前記活動と、設計の条件に対応する番号(a,b,u)とを含む組み合わせによって定義されるとよい。
【0015】
この態様によれば、設計の条件に応じた設計支援が可能となる。
【0016】
上記態様において、設計の前記条件に対応する前記番号には、設計の前記条件が未定であることを示す前記番号(u)を含むとよい。
【0017】
この態様によれば、設計の条件が未定である場合であっても、設計支援が可能となる。
【0018】
上記態様において、設計に係る前記活動に対応する複数のノード(22)、及び、前記活動の関係に基づいて、対応する前記ノードを接続するエッジ(23)を含むナレッジグラフ(21)を用いて、前記ノードに対応する前記活動の中から、前記規則に照合することにより前記状態を定義するための前記活動を抽出し、前記状態の集合である状態空間(P)を生成するステップを含むとよい。
【0019】
この態様によれば、設計に係る情報が記憶されたナレッジグラフを用いて状態を生成し、設計支援を行うことができる。
【0020】
上記態様において、前記ナレッジグラフは、設計情報、及び、設計手順に係るデータをそれぞれ含むとよい。
【0021】
この態様によれば、ナレッジグラフに設計情報に係るデータと設計手順に係るデータとが含まれるため、ナレッジグラフの有用性が高められる。
【0022】
上記態様において、前記ナレッジグラフには、前記ノードが階層に分かれて記録され、前記規則は前記経路元活動に対応する前記ノードが、前記経路先活動に対応する前記ノードの上層に位置しているときに、前記太さが所定の値であることを含むとよい。
【0023】
この態様によれば、ナレッジグラフの上層に位置するノードに対応する活動から、下層に位置するノードに対応する活動に向かって下るように活動の指示が行われるため、ユーザに指示内容が理解され易くなる。
【0024】
上記態様において、前記規則は前記経路元活動に対応する前記ノードと、前記経路先活動に対応する前記ノードとの階層の差が所定値以上であるときには、前記報酬は付与されないとよい。
【0025】
この態様によれば、経路元活動に対応するノードと、経路先活動に対応するノードとの階層の差が大きくなり、活動の流れがユーザに理解し難くなることが防止できる。
【0026】
上記態様において、前記規則はテキストによって入力され、前記状態空間を生成するステップにおいて、前記テキストに含まれる単語と、前記ノードに対応する前記活動とを照合することによって、前記ノードに対応する前記活動の中から、前記状態を定義するための前記活動を抽出するとよい。
【0027】
この態様によれば、ノードに対応する活動と規則とを容易に照合することができる。
【0028】
上記態様において、上記の方法によって構築された学習済モデルに基づいて、設計支援を行う設計支援装置(1、101)であって、ユーザから入力された情報に基づいて初期状態を設定するステップ(ST24)と、前記初期状態から価値を最大化する前記行動を順次行わせるべく、前記ユーザに指示を行う出力を行うステップ(ST25)とを実行する。
【0029】
この態様によれば、設計支援装置を、エキスパートの経験や知識に基づく規則を入力することによって、エキスパートの行動に即した学習モデルに基づいて設計支援を行うように構成することができる。
【0030】
上記態様において、上記の方法によって構築された学習済モデルに基づいて、設計支援を行う設計支援装置(101)であって、ユーザから入力された情報に基づいて初期状態を設定するステップ(ST24)と、前記初期状態から価値を最大化する前記行動を順次行わせるべく、前記ユーザに指示を行う出力を行うステップ(ST25)とを実行し、前記出力を行うステップにおいて、設計の前記条件に係る入力を受け付けたときには、前記状態を入力された前記条件に合致するものに遷移させた後、価値を最大化する前記行動を順次行わせるべく、前記ユーザに指示を行う前記出力を行う。
【0031】
この態様によれば、設計支援装置をエキスパートの行動に即した学習モデルに基づいて設計支援が可能となるように構成できる。また、設計支援装置を、設計の条件が変更された場合であっても、変更後の条件に合致した学習モデルを用いて設計支援が可能となるように構成できる。
【発明の効果】
【0032】
以上の構成によれば、強化学習を用いた学習済モデルの構築方法、及び、その学習済モデルを用いた設計支援装置において、報酬の設定を容易にすることができる。
【図面の簡単な説明】
【0033】
【
図1】第1実施形態に係る学習済モデルの構築方法が実施される設計支援装置のハードウェア構成を示すブロック図
【
図6】(A)抽出グラフ、及び(B)状態空間を説明するための説明図
【
図12】第2実施形態に係る上位概念モデルの例を示す図
【
図13】第2実施形態に係る状態及び状態遷移を説明するための説明図
【発明を実施するための形態】
【0034】
本発明に係る学習済モデルの構築方法は、学習済モデルを用いた設計支援を行う設計支援装置によって実施される。以下、図面を参照して、本発明に係る設計支援装置を、車両の設計支援に適用した実施形態について説明する。
【0035】
ここでいう設計支援とは、設計に携わるユーザから入力を受け付けて、設計するためにユーザに行うべき工程(活動)を指示することである。
【0036】
<<第1実施形態>>
設計支援装置1は、
図1に示すように、公知のハードウェア構成を有するコンピュータを含み、プロセッサ2、RAM3、ROM4、ストレージ5、入力装置6、及び、出力装置7を有する。ストレージ5はHDDやSSD等の、情報を記憶する公知の記憶装置であってよい。また、入力装置6はキーボード、マウス、マイクロホン等であってよく、出力装置7はモニタ、スピーカ等であってよい。
【0037】
設計支援装置1は
図2に示すように、機能部として、記憶部10と、入力部11と、出力部12と、モデル構築部13と、支援処理部14とを備える。
【0038】
記憶部10はストレージ5を含み、設計支援に係る情報を記憶する。記憶部10は少なくとも、知識データベース15と、上位概念モデル16とを記憶(保持)している。
【0039】
知識データベース15は、設計に係る知識が階層化されて記録されたデータベースであり、ナレッジグラフ21を含む。ナレッジグラフ21は、
図3に示すように、所定の高さの木構造(ツリー構造)を有している。本実施形態では、ナレッジグラフ21は、設計情報に係るデータベース(SysML)と設計手順に係るデータベース(GSN)とを組み合わせることによって構築されている。ナレッジグラフ21には,設計対象となる車両の部分や部品の諸元、その目標値、また、設計上の制約、開発戦略(手順)、証拠などが分類されて保持されている。このように、ナレッジグラフ21に、設計情報と設計手順に係る情報とが含まれているため、いずれか一方のみが含まれている場合に比べて、その有用性が高められている。
【0040】
ナレッジグラフ21は、複数のノード22と、それぞれが2つのノード22を接続する複数のエッジ23とによって構成されている。ナレッジグラフ21に含まれるノード22はそれぞれ、設計に要する1つの活動に対応する。ここでいう活動とは、設計を行うために実行すべき工程に相当する。
図3に示すように、ノード22は、例えば、「扉上部の管理目標を設定する」や、「部位αの荷重入力を検討する」等の活動に対応する。
【0041】
ナレッジグラフ21には、ノード22がそれぞれ、対応する活動の抽象レベル(概念)に応じて、複数の階層に分かれて記録されている。すなわち、活動に係る概念が上位になるほど、対応するノード22は上層に位置している。例えば、設計工程における上流に位置する活動(例えば、目標設定)に対応するノード22は、下流に位置する活動(例えば、目標を達するために要する検討)に対応するノード22に比べて上層に位置する。より具体的には、
図3に示すように、車両設計に関するノード22は、入力の検討、耐力の検討や、板厚の検討に対応するノード22よりも上層に位置する。
【0042】
その他、包含関係にある部材に係る同一の活動については、含まれる部材に係る活動が記載されたノード22は、含む部材に係る活動が記載されたノード22よりも下層に位置している。また、部材(例えば、車体)の設計と記載されたノード22は、その部材に含まれる部分(例えば、部位α)に係る検討と記載されたノード22よりも上層に位置する。
【0043】
各エッジ23はノード22の間の関係性を表し、互いに関わり合いのある(すなわち、相関のある)活動が記載されたノード22を接続している。本実施形態では、エッジ23は主に互いに階層の異なる2つのノード22を接続している。エッジ23は例えば、2つのノード22に記載された活動が親子関係にある場合や、包含関係にある場合、従属関係にある場合、因果関係にある場合等に両者を接続する。
【0044】
上位概念モデル16は、エキスパートの設計順序に係る判断基準(暗黙知)をモデル化したものであり、設計における条件(プロジェクト全体の条件や設計結果による条件)を元に依存関係を記述している。上位概念モデル16はエキスパートが持っているノウハウの抽出することによって構築される。上位概念モデル16は、実際の業務シナリオ、過去のトラブル分析、ヒアリング、動的発生事象の因果関係から抽出されて、構築されるとよい。
【0045】
本実施形態では、
図4に示すように、上位概念モデル16は、複数の上位概念ユニット30を含む。上位概念ユニット30はそれぞれ、エキスパートから取得したテキストと、そのテキストそれぞれに係る一対以上の活動(以下、対をなす2つの活動を活動対と記載する)と、活動対それぞれに付与された太さとを含む。活動対はそれぞれ、活動(経路元活動)と、経路元活動の直後に行われる活動(経路先活動)とを含む。上位概念モデル16は、エキスパートならば、経路元活動を行った後に、経路後の活動を行うという規則を示すものであって、太さは経路元活動の後に経路先活動が行われることの重要度を示す。本実施形態では、太さの値が大きくなることによって、重要度が大きくなる。上位概念モデル16は上位概念モデル16を複数含むテーブルとして、記憶部10に記憶されている。但し、上位概念モデル16はこの態様には限定されず、更に、活動対が行われるための前提条件(例えば、開発モデル等)を含んでいてもよい。
【0046】
上位概念モデル16は、学習モデルの構築前に予め記憶部10に記憶されている。上位概念モデル16はエキスパートが設計支援装置1に入力されることによって構築され、記憶部10に記憶されてもよい。また、設計支援装置1がエキスパートから取得したテキストから上位概念モデル16を構築する概念構築部を備え、その概念構築部によって複数の上位概念ユニット30が構築され、上位概念モデル16として記憶部10に記憶されてもよい。
【0047】
入力部11は入力装置6を含み、ユーザから入力される入力情報を取得する。本実施形態では、入力部11はユーザから設計に係る言語情報を取得することができる。
【0048】
出力部12は出力装置7を含み、ユーザに出力情報を出力する。本実施形態では、出力部12はユーザにすべき行動の内容を音声や画像、テキスト等によって出力して、ユーザにすべき活動を伝達する。
【0049】
モデル構築部13は、プロセッサ2によって実行されるソフトウエアによって構成されている。モデル構築部13はモデル構築処理を行うことによって学習済モデルの構築方法を実施する。本実施形態では、モデル構築部13はモデル構築処理において、少なくとも設計の活動の実行の有無に依存して定められる状態Sと、状態Sの下で選択可能な活動である行動Aとの組み合わせに対して報酬R(
図7参照)を付与し、価値を最大化する、いわゆる強化学習を行うことによって学習済モデルを構築する。
【0050】
支援処理部14は、プロセッサ2によって実行されるソフトウエアによって構成されている。支援処理部14はモデル構築部13によって構築された学習済モデルを用いて設計支援を行う。
【0051】
次に、
図5を参照して、モデル構築部13によって実行されるモデル構築処理の詳細について説明する。
【0052】
モデル構築部13はモデル構築処理の最初のステップST1において、上位概念モデル16から、設計を行うために要する上位概念ユニット30を選択する選択処理を実行する。より具体的には、モデル構築部13は選択処理において、上位概念モデル16に含まれる上位概念ユニット30のリストを出力部12に出力する。エキスパートはその出力部12の出力を確認し、入力部11に入力する。モデル構築部13は入力部11から設計対象となる車両に適した上位概念ユニット30の選択を受け付ける。上位概念ユニット30の選択の受付が完了すると、モデル構築部13はステップST2を実行する。
【0053】
モデル構築部13はステップST2において、抽出処理を実行する。モデル構築部13は、抽出処理において、ナレッジグラフ21からステップST1において選択された上位概念ユニット30に適合する領域を抽出し、抽出グラフ32として記憶部10に保存する。
【0054】
本実施形態では、モデル構築部13は、まず、ナレッジグラフ21のノード22の中から、ノード22に対応する活動が、抽出された上位概念ユニット30に含まれる経路元活動又は経路先活動に適合するものを抽出する。このとき、モデル構築部13は、活動に記載れた単語と、経路元活動に記載された単語又は経路先活動に記載された単語とがそれぞれ同一であるか、類似であるときに、ノード22に対応する活動が、経路元活動又は経路先活動に適合すると判定するとよい。このような類似判定を行うため、記憶部10は類義語辞書等を含む所定のデータベースを記憶しているとよく、モデル構築部13はこのデータベースを参照することによって、単語の類否を判定するとよい。その後、モデル構築部13は、ナレッジグラフ21の中から、適合したノード22を含む領域(
図3の破線で囲まれた領域を参照)を上位概念ユニット30に適合する領域として抽出し、抽出グラフ32(
図6(A)を参照)として記憶部10に保存する。抽出グラフ32の保存が完了すると、モデル構築部13はステップST3を実行する。
【0055】
モデル構築部13はステップST3において、抽出グラフ32から上位概念ユニット30に適合するノード22を抽出し、抽出されたノード22に基づいて状態空間生成処理を行う。ここでいう状態Sは少なくとも抽出グラフ32の含まれる各活動の実行の有無を示す組み合わせに依存して定められるものであり、その組み合わせに加えて、活動の履歴に基づくものであってもよい。本実施形態では、状態Sは、
図6に示すように、各活動の実行の有無と、その組み合わせに至る直前に実行された活動との組み合わせとによって定義され、状態空間Pは全ての状態Sを含む集合として定義される。
【0056】
本実施形態では、モデル構築部13は、抽出グラフ32から上位概念ユニット30に適合するノード22を抽出し、抽出されたノード22それぞれに対応する活動の各活動の実行(T)又は未実行(F)を示す論理式の組み合わせを算出する。但し、モデル構築部13は、抽出グラフ32の最も上流に位置するノード22に対応する活動(
図4では活動1)については、常に実行(T)とする。その後、モデル構築部13は、各活動の実行及び未実行の組み合わせに対し、実行(T)となっている活動をその組み合わせに至る直前に実施された活動として1つずつ選択して組み合わせて全ての状態Sを取得し、それらを組み合わせて状態空間Pを構成する。
【0057】
図6(B)に示すように、活動1~3が抽出された場合には、活動2及び3の実行、未実行を示す論理式の組み合わせは、(活動2、活動3)=(F,F)、(T,F)、(F、T)及び(T,T)となる。但し、(活動2、活動3)=(F,F)は両活動が未実行、(T,F)は活動2が実行、活動3が未実行、(F,T)は活動2が未実行、活動3が実行、(T,T)は両活動が実行済であることを意味する。全ての状態Sは、活動2及び3の実行、未実行を示す論理式の組み合わせそれぞれに至る直前に実行されうる活動を組み合わせることによって表現される。より具体的には、状態Sは、
図6(B)に示されるように、(活動2、活動3,直前の活動)=(F,F,1)、(T,F,2)、(F,T,3)、(T,T,2)、(T,T,3)の5つとなる。ここで、()内の最後の要素は、直前の活動の番号を表す。
【0058】
図6(B)に示すように、標記を簡略化するため、適宜、(活動2、活動3,直前の活動)=(F,F,1)、(T,F,2)、(F,T,3)、(T,T,2)、(T,T,3)の各状態Sをそれぞれ、S
00,1、S
10,2、S
01,3、S
11,2、S
11,3と記載する。ここで、S
ij,kにおいて、iは活動2の実行(1)、未実行(0)を示し、jは活動3の実行(1)、未実行(0)を示し、kは直前の活動の番号を示している。
【0059】
状態空間Pの構成が完了すると、モデル構築部13は状態空間Pを記憶部10に記憶させ、その後、ステップST4を実行する。
【0060】
モデル構築部13はステップST4において、報酬設定処理を行う。報酬設定処理は、抽出グラフ32、及び、ステップST1において予め入力された規則(上位概念ユニット30)に基づいて、状態空間Pに含まれる各状態Sと、その状態Sの下で選択可能な行動Aとの組み合わせに対して報酬R(より詳細には即時報酬)を付与する処理である。具体的には、モデル構築部13は状態空間Pの全ての状態Sと、その状態Sから状態空間Pに含まれる状態Sへ移る全ての行動Aとの組み合わせそれぞれについて報酬設定処理を行って報酬テーブル40(
図7参照)を構成し、記憶部10に記憶させる。
図7に示すように、報酬テーブル40には、各状態Sに対して各行動Aにより得られる報酬Rが記載されている。
【0061】
図8を参照して、報酬設定処理の詳細を説明する。以下、説明の便宜上、報酬Rを設定する状態S及び行動Aにおいて、当該状態Sを遷移元と記載し、遷移元において行動Aを行うことによって遷移する先の状態Sを遷移先と記載する。すなわち、
図9に示すように、遷移元(遷移先)は状態空間Pに含まれる状態Sの一つであり、状態空間Pに含まれる全ての状態Sが遷移元(遷移先)になり得る。行動Aは遷移元から遷移先への遷移の可否や遷移における活動の有無に依らず、遷移元から遷移先に遷移するために要する活動として定義され、いずれの活動も実行しないことをも含む。
【0062】
報酬設定処理の最初のステップST11において、モデル構築部13は、遷移元と遷移先とが同一かを判定する。同一である場合には、モデル構築部13はステップST12を、異なる場合はステップST13を実行する。
【0063】
モデル構築部13は、ステップST12において、遷移元において、全ての活動が実行済の場合(
図7では、遷移元及び遷移先が共にS
11,2、又は、共にS
11,3が該当)は報酬Rを零に設定し、それ以外の場合(遷移元において、少なくとも一つの活動が実行済でない場合)には報酬Rを負の値(本実施形態では、-1)に設定する(
図7の最も薄い網掛けがされている部分参照)。設定が完了すると、モデル構築部13は、報酬設定処理(すなわち、ST4)を終える。
【0064】
モデル構築部13は、ステップST13において、遷移元と遷移先とが一つの活動を実行することによって遷移可能であるかを判定する。遷移元と遷移先が遷移可能でない場合には、遷移元から遷移先に遷移するためには2つ以上の活動を実行する必要がある場合(例えば、遷移元がS00,1であり、遷移先がS11,2の場合)、及び、遷移元の直前の活動と、遷移後の直前の活動とが等しい場合(例えば、遷移元がS10,2であり、遷移先がS11,2の場合)が含まれる。モデル構築部13は、遷移元と遷移先とが一つの活動を実行することによって遷移可能であると判定した場合には、ステップST14を、遷移不可能であると判定した場合には、ステップST15を実行する。
【0065】
モデル構築部13は、ステップST14において、遷移元及び遷移先をそれぞれ抽出された上位概念ユニット30それぞれに対して照合し、遷移元及び遷移先が上位概念ユニット30の示す条件に適合するかを判定する。より詳細には、モデル構築部13は、上位概念ユニット30の経路元活動が遷移元の直前の活動に適合し、且つ、経路先活動が遷移先の直前の活動に適合するときに、遷移元及び遷移先が上位概念ユニット30の示す条件に合致すると判定する。モデル構築部13は、経路元活動(経路先活動)に記載された単語と、遷移元(遷移先)の直前の活動に含まれる単語との類否判定を行い、両者が類似である場合に、経路元活動と遷移元の直前の活動とが適合すると判定するとよい。
【0066】
例えば、
図6(B)に示す状態空間Pにおいて、
図4に示す上位概念ユニット30の示す条件を満たす遷移元は直前の活動が活動1となる状態Sであり、上位概念ユニット30の示す条件を満たす遷移先は直前の活動が活動2(上段)又は活動3(下段)となる状態Sである(
図7の最も濃い網掛け部分を参照)。よって、遷移元及び遷移先が上位概念ユニット30の示す条件に合致する組み合わせは、遷移元がS
00,1、且つ、遷移先がS
10,2である場合(太さ5)と、遷移元がS
00,1、且つ、遷移先がS
10,3である場合(太さ4)になる。
【0067】
その後、モデル構築部13は、遷移元及び遷移先がともに適合する上位概念ユニット30に含まれる太さに基づいて、報酬Rを設定する。より具体的には、モデル構築部13は遷移元及び遷移先がともに適合する上位概念ユニット30の太さの値を取得し、その値それぞれに所定の値(本実施形態では1)を積算することによって換算し、その和を取って、報酬Rを算出する。モデル構築部13は、遷移元及び遷移先がともに適合する上位概念ユニット30がない場合(
図7の中程度の濃さの網掛け部分を参照)は、報酬Rを零に設定する。報酬Rの設定が完了すると、モデル構築部13は、報酬設定処理(ST4)を終える。
【0068】
モデル構築部13はステップST15において、報酬Rを負の値(本実施形態では、-1)に設定する。設定が完了すると、モデル構築部13は報酬設定処理(ST4)を終える。
【0069】
モデル構築部13は報酬設定処理(ST4)が完了すると、
図5に示すように、ステップST5において、付与された報酬Rに基づいて強化学習を行う学習処理を実行する。より詳細には、学習処理において、モデル構築部13は報酬テーブル40を用いて、公知のアルゴリズムにより強化学習を行って、学習モデルを示すQテーブル50(
図9参照)を生成する。Qテーブル50は、状態Sにあるときに、行動A(遷移)を行うことの価値、すなわち、行動価値関数Q(S,A)(Sは状態、Aは行動)を示している。但し、状態Sの間の遷移が実質的に不可能である場合(例えば、例えば、遷移元がS
00,1であり、遷移先がS
11,2の場合)は報酬Rが負に設定されているため、強化学習によってその価値が0となり、その行動A(遷移)が行われない。Qテーブル50の生成に用いられるアルゴリズムはいかなるものであってもよく、例えば、動的計画法、モンテカルロ法、TD法(より具体的には、Q学習や、SARSA等)のいずれに基づくものであってよい。Qテーブル50の生成が完了すると、モデル構築部13はモデル構築処理を終える。
【0070】
次に、
図10を参照して、支援処理部14によって実行される支援処理の詳細について説明する。支援処理部14は支援処理の最初のステップST21において、ユーザに支援すべき設計の工程等の情報を入力させるべく出力部12に出力を行い、入力部11から支援すべき工程に係る情報をテキストにより取得する。取得が完了すると、支援処理部14はステップST22を実行する。
【0071】
支援処理部14はステップST22において、抽出グラフ32のノード22に対応する活動から、取得した情報と最も適合するものを抽出する。抽出が完了すると、支援処理部14はステップST23を実行する。
【0072】
支援処理部14はステップST23において、ST22において抽出された活動を行うようにユーザに指示する出力を出力部12に行う。出力が完了すると、支援処理部14はステップST24を実行する。
【0073】
支援処理部14はステップST24において、ステップST22において抽出された活動に基づいて、状態空間Pから一つの状態を抽出し、学習モデルに基づいた出力を行うための初期状態に設定する。本実施形態では、支援処理部14はST22において抽出された活動に対応するノード22が、抽出グラフ32の最も上流に位置するノード22である場合には、その活動のみが実行済となった状態Sを初期状態に設定する。支援処理部14は、ST22において抽出された活動に対応するノード22が抽出グラフ32の最も上流に位置するノード22でない場合には、最も上流に位置するノード22に対応する活動、及び、ステップST22において抽出された活動が実行済となった状態Sを初期状態に設定する。初期状態の設定が完了すると、支援処理部14はステップST25を実行する。
【0074】
支援処理部14はステップST25において、初期状態から学習モデル(Qテーブル50)に基づいて、現在の状態Sに対応する最も価値のある行動Aを選択して状態Sを遷移させる工程を繰り返し行う。その際、支援処理部14は、状態遷移ごとに行動Aに対応する活動を行わせるべくユーザに指示する出力を出力部12に行う。支援処理部14は初期状態において実行済となっている活動を除き、全ての活動が完了すると、支援処理を終える。
【0075】
次に、設計支援装置1の動作について説明する。設計対象となる車両が決定すると、エキスパートは上位概念モデル16から設計対象となる車両に適合する上位概念ユニット30を選択することによって、設計を行う際の規則を入力する(ST1)。
図4には、選択された上位概念ユニット30の例が示されている。その後、モデル構築部13は、上位概念ユニット30に含まれる経路元活動及び経路先活動と、ナレッジグラフ21のノード22に対応する活動とを照合(
図3の「マッチ」を参照)することによって、ナレッジグラフ21の一部の領域(
図3の破線で囲まれた部分、及び、
図6(A)を参照)を抽出グラフ32として抽出する(ST2)。
【0076】
次に、モデル構築部13は抽出グラフ32を用いて状態空間P(
図6(B)を参照)を生成する(ST3)。その後、モデル構築部13は、
図7に示すように、モデル構築部13は、状態Sのそれぞれと、状態Sの遷移を引き起こす行動Aとの組み合わせに対して、それぞれ報酬Rを設定し、報酬テーブル40(
図7参照)を作成する(ST4)。報酬テーブル40の設定が完了すると、モデル構築部13は強化学習を行い、学習モデルであるQテーブル50(
図9参照)を生成する(ST5)。これにより、学習モデルの構築が完了する。
【0077】
その後、出力部12の出力に従い、ユーザが入力部11に支援すべき工程に係る情報を入力すると、支援処理部14はその情報を取得し(ST21)、抽出グラフ32のノード22に対応する活動から、取得した情報に最も適合したものを抽出する(ST22)。
【0078】
より具体的には、ユーザが「扉上部の設計を行いたい」と入力を行うと、支援処理部14は「扉上部」の単語を抽出し、抽出グラフ32(
図6(A)参照)の中から、適合する活動として活動1「扉上部の管理目標を設定する」を抽出する。
【0079】
その後、支援処理部14は、活動1の実行、すなわち扉上部の管理目標の設定を指示する出力を出力部12に行う(ST23)。次に、支援処理部14は、初期状態として活動1のみが実行されている状態S00,1を設定し(ST24)、学習モデル(Qテーブル50)に基づいて、価値の高い行動A(遷移)を順次選択し、その行動Aを行わせるべく、ユーザに実行を指示する(ST25)。
【0080】
図11には、強化学習によって得られたQテーブル50に対応する状態遷移図が示されている。支援処理部14は初期状態として状態S
00,1を設定し、Qテーブル50を参照して、価値の高い、活動2の実行、すなわち、部位αの荷重入力の検討をユーザに指示する。これにより、状態Sは状態S
00,1から状態S
10,2に遷移する。
【0081】
次に、支援処理部14は状態S10,2において、価値の高い活動3の実行、すなわち、部位βの耐力の検討をユーザに指示する。これにより、状態Sは状態S10,2から状態S11,3に遷移する。その後、支援処理部14は、全ての活動が実行済であると判定し、支援処理を終える。
【0082】
次に、設計支援装置1、及び、モデル構築部13によって実行される学習済モデルの構築方法の効果について説明する。
【0083】
設計支援装置1は、エキスパートの経験や知識に基づいて入力された規則(上位概念モデル16)に基づいて報酬Rを設定し、学習モデルを構築する。設計支援装置1は、その学習モデルに基づいて活動指示を行う。このように、設計支援装置1は、エキスパートから入力された規則に基づき、自律的に学習モデルを構築し、その学習結果をもとにユーザに活動指示を行う推論エージェントとして機能する。
【0084】
設計支援装置1による活動指示は、エキスパートから入力された規則(上位概念モデル16、上位概念ユニット30)に基づいて学習モデルを用いて行われる。そのため、設計支援装置1はエキスパートの行動に即した活動指示を行うことができる。更に、経験の少ない設計初心者であっても、数多の選択肢の中から価値の高い最適な活動を選択して実行することができるため、設計初心者がエキスパートに指示を仰ぐ機会を低減することができる。これにより、エキスパートの負担(例えば、設計初心者へ個別教育や業務OJT等)を低減することができる。
【0085】
設計支援装置1では、エキスパートが上位概念モデル16から適した上位概念ユニット30を選択すると、状態Sと、状態Sの間を遷移する行動Aとの組み合わせそれぞれに報酬Rが設定される。そのため、エキスパートが状態Sと行動Aとの組み合わせそれぞれに報酬Rを設定することを要せず、報酬Rの設定が容易である。
【0086】
状態Sはその状態Sに至る直前の活動によっても定義される。そのため、状態Sに至る直前の活動と、その後行い得る行動Aとの組み合わせがエキスパートの設計手順に沿った規則に合致しているかを容易に判定することができる。また、状態S及び行動Aがその規則に合致するかは、状態Sに至る直前の活動と、その後行い得る行動Aに対応する活動を示す単語と、上位概念モデル16の経路元活動及び経路先活動に係る単語とを比較することによって行われる。このように、単語を比較することによって、状態S及び行動Aが規則に合致するかの判定を行うことができるため、その判定を機械的に行うことができ、その判定が容易である。
【0087】
<<第2実施形態>>
第2実施形態に係る学習済モデルの構築方法、及び、その方法を実施する設計支援装置101は、第1実施形態と比べて上位概念モデル16の構成と、状態Sの定義と、学習モデル構築処理のST3~ST5と、支援処理のST23、ST24とが異なる。第2実施形態のその他の構成は第1実施形態と同様であるので、説明を省略する。
【0088】
図12に示すように、第2実施形態に係る上位概念モデル16には、第1実施形態に係る上位概念モデル16に加えて設計条件が含まれる。設計条件は、エキスパートから入力されたテキストから抽出されてもよく、また、エキスパートから直接入力されてもよい。設計条件には、条件の番号(
図12ではa,b)、又は、条件が定まっていないことを示す番号(
図12ではu)が付されている。上位概念モデル16には、条件の番号ごとに、活動対(経路元活動、及び経路先活動)と、対応する太さとが記録されている。
【0089】
モデル構築部13は状態空間作成処理(
図5のST3)において第1実施形態と同様に、抽出グラフ32から上位概念ユニット30に適合するノード22を抽出し、抽出されたノード22に基づいて状態空間生成処理を行う。但し、第2実施形態に係る状態Sは、
図12に示すように、ノード22に対応する各活動の実行の有無と、その組み合わせに至る直前に行われた活動の番号と、設計条件の番号との組み合わせによって定義される。
【0090】
図6(A)に示すように抽出グラフ32に3つの活動(活動1~3)が含まれ、
図12に示すように、上位概念ユニット30に2つの設計条件(a,b,u)が含まれる場合には、状態空間Pには15の状態Sが含まれる。
図13では、各状態Sは、S
ij,k,l(iは活動2の実行(1)、未実行(0)を示し、jは活動3の実行(1)、未実行(0)を示し、kは直前の活動を示し、lは設計条件を示す)によって表現されている。
【0091】
状態空間Pの生成が完了すると、モデル構築部13は報酬設定処理を行う。第2実施形態において、モデル構築部13は、設計条件ごとに報酬設定処理(ST4)を行い、学習モデル生成処理(ST5)を行なって、設計条件ごとに学習モデルを生成する。
【0092】
支援処理部14は、支援処理の最初のステップST21において、第1実施形態と同様に、支援すべき工程に係る情報を取得する。その後、支援処理部14は、ステップST22において、第1実施形態と同様に、抽出グラフ32のノード22に対応する活動から、取得した情報と最も適合するものを抽出する。その後、ステップST23において、第1実施形態と同様に、支援処理部14は、ST22において抽出された活動を行うようにユーザに指示する出力を出力部12に行う。
【0093】
次に、支援処理部14はステップST23において、ステップST22において抽出された活動に基づいて、状態空間Pから一つの状態Sを抽出し、学習モデルに基づいた出力を行うための初期状態に設定する。本実施形態では、まず、支援処理部14はST21において取得した情報に基づいて、支援すべき工程の設計条件を取得し、設計条件の番号を設定する。但し、設計条件が取得できなかったとき、又は、条件が未定であると判定したときには、支援処理部14は設計条件の番号に、条件が未定であることを示す番号(本実施形態ではu)を設定する。
【0094】
次に、支援処理部14はステップST24において、ST22において抽出された活動に対応するノード22が、抽出グラフ32の最も上流に位置するノード22である場合には、設定した設計条件の番号に該当し、且つ、その活動のみが実行済となった状態Sを初期状態に設定する。支援処理部14は、ST22において抽出された活動に対応するノード22が抽出グラフ32の最も上流に位置するノード22でない場合には、設定した設計条件の番号に該当し、且つ、最も上流に位置するノード22に対応する活動、及び、ステップST22において抽出された活動が実行済となった状態Sを初期状態に設定する。但し、ST21において取得した情報に設計条件に係る情報が含まれている場合には、支援処理部14は、対応する設計条件の番号として、条件が未定であることを示す番号(本実施形態ではu)を用いる。初期状態の設定が完了すると、支援処理部14はステップST25を実行する。
【0095】
支援処理部14はステップST25において、第1実施形態と同様に、初期状態から学習モデル(Qテーブル50)に基づいて、現在の状態Sに対応する最も価値のある行動Aを選択して状態Sを遷移させる工程を繰り返し行う。その際、支援処理部14は、状態遷移ごとに行動Aに対応する活動を行うようにユーザに指示する出力を出力部12に行う。但し、入力部11において、設計条件の変更を示す入力を受け付けると、支援処理部14は状態Sを設計条件のみを変更した状態Sを遷移させる。その後、支援処理部14は、現在の状態Sに対応する最も価値のある行動Aを選択して状態遷移を行い、順次、行動Aに対応する活動を行うようにユーザに指示する出力を出力部12に行う。全ての活動が実行済となると、支援処理部14は、支援処理を終了する。
【0096】
このように構成した設計支援装置101の動作、及び、効果について説明する。
【0097】
設計を開始した段階では、設計対象に求められる設計条件が定まっていないことがある。その場合には、設計条件の番号に、条件が未定であることを示す番号(本実施形態ではu)が設定される。その後、ST22において抽出された活動に活動1に合致すると、状態SはS00,1,uとなり、活動1が実行される。
【0098】
活動1を実行した直後に、ユーザから設計条件がaとなったことを示す入力があった場合には、状態Sは、S
00,1,uから、S
00,1,aに遷移する(
図13の破線矢印を参照)。その後、支援処理部14は学習モデル(Qテーブル50)に基づいて、現在の状態Sに対応する最も価値のある行動Aを選択して状態遷移を行い、順次、行動Aに対応する活動を行うようにユーザに指示する出力を出力部12に行う。
【0099】
このように、状態Sは、設計に係る複数の活動の実行の有無と、その組み合わせに至る直前に行われた活動の番号と、設計条件とを含む組み合わせによって定義されている。これにより、設計の条件が変更され、設計の条件に係る入力が行われた場合に、状態Sを入力された設計の条件に合致するものに遷移させることができる。その後、設計支援装置1は受け付けられた設計の条件に合致した学習モデルを用いて、価値を最大にする行動を順次行うように指示を行う。よって、設計支援装置1によって設計条件に応じた設計支援が可能となる。
【0100】
特に、本実施形態では、設計条件を示す番号に、未定であることを示す番号が含まれる。そのため、設計条件が詳細に定まっていない場合でも、設計支援を行うことができる。また、設計条件が定まると、その条件に合った状態Sに遷移し、設計条件に沿った活動の指示が行われるため、設計開発の進捗により合致した設計支援を行うことができる。
【0101】
以上で具体的実施形態の説明を終えるが、本発明は上記実施形態に限定されることなく幅広く変形実施することができる。
【0102】
上記実施形態では、上位概念ユニット30は活動の順序に係るものであったが、この態様には限定されない。例えば、上位概念ユニット30は経路元活動と経路先活動との対応するノード22のナレッジグラフ21における位置に関するものであってもよい。より具体的には、上位概念モデル16は、上位概念ユニット30として、ナレッジグラフ21において、経路元活動に対応するノード22が、経路先活動に対応するノード22の上層に位置するときに、所定値の太さに設定するものを含むとよい。エキスパートがこの上位概念ユニット30を選択すると、上層に位置するノード22に対応する活動を終えた後、下層に位置するノード22に対応する活動を実行して状態が遷移すると、正の報酬Rが付与される。これにより、上層に位置するノード22に位置する活動から下層に位置するノード22に対応する活動に向かって順に活動指示が行われ易くなる。これにより、後に指示される活動が先に指示される活動の下位概念(下の抽象レベル)となり易くなるため、ユーザが活動指示の内容を理解し易くなる。
【0103】
更に、上位概念モデル16は、上位概念ユニット30として、経路元活動に対応するノード22と、経路先活動に対応するノード22との階層の差が所定値以上(例えば、3階層以上)であるときには、報酬Rを設定しない(零に設定する)ものを含むとよい。経路元活動に対応するノード22と、経路先活動に対応するノード22との階層の差が大きくなると、経路元活動の直後に経路先活動が実行される状態の遷移に対して、報酬Rが設定されなくなる。これにより、経路元活動と経路先活動との抽象レベルの差が大きく、両者の活動の流れが理解し難いものに報酬Rが設定されなくなるため、活動の流れがユーザに理解し難くなることが防止できる。
【0104】
上記実施形態では、支援処理部14はステップST25において、学習モデルに基づいて、状態遷移を繰り返し行い、支援処理部14は、状態遷移ごとに活動を行うようにユーザに指示していたが、この態様には限定されない。例えば、支援処理部14はステップST25において、学習モデル(Qテーブル50)に基づいて、現在の状態Sにおいて、選択可能な行動Aと、それぞれに対応する価値とを出力部12に出力し、入力部11においてユーザから希望する行動Aを受け付けて、入力に応じた状態遷移を繰り返すように構成してもよい。但し、支援処理部14が選択可能な行動Aと、それぞれに対応する価値とを出力部12に出力する際には、行動Aを価値の高い順に並べて出力部12に出力するとよい。
【0105】
上記実施形態では、設計支援装置1、101は、ナレッジグラフ21から抽出された抽出グラフに基づいて学習済モデルを構築して設計支援を行っていたが、この態様には限定されない。例えば、設計支援装置1、101は設計を行うために要する活動のリストを保持し、そのリストを用いて、上位概念モデル16の上位概念ユニット30と照合することにより、状態空間Pを生成し、報酬Rを設定した後、学習済モデルを生成するように構成されていてもよい。
【0106】
上記実施形態では、設計支援装置1、101は1つのコンピュータによって構成されていたが、この態様には限定されない。設計支援装置1はインターネット等のネットワークによって接続された複数のコンピュータが協働することによって構成されていてもよい。設計支援装置1はネットワーク上の複数のサーバを含むいわゆるクラウドコンピューティングシステムによって構成されていてもよい。
【0107】
上記実施形態では、設計支援装置1は車両の設計支援に用いられていたが、この態様には限定されない。設計支援装置1は、例えば、船舶、航空機等の輸送機器や機械の設計支援に適用されてもよい。
【符号の説明】
【0108】
1 :第1実施形態に係る設計支援装置
16 :上位概念モデル
21 :ナレッジグラフ
22 :ノード
23 :エッジ
50 :Qテーブル(学習済モデル)
101 :第2実施形態に係る設計支援装置
A :行動
P :状態空間
R :報酬
S :状態