(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-30
(45)【発行日】2024-08-07
(54)【発明の名称】予測装置、学習装置及びプログラム
(51)【国際特許分類】
G06N 3/0442 20230101AFI20240731BHJP
G06N 7/00 20230101ALI20240731BHJP
【FI】
G06N3/0442
G06N7/00
(21)【出願番号】P 2020134499
(22)【出願日】2020-08-07
【審査請求日】2023-06-15
【新規性喪失の例外の表示】特許法第30条第2項適用 刊行物名:2019年度年次大会 まんず,あべ!機械学会さ!-秋田に集うしったげおもしぇ技術- サスティナビリティ,AI社会の機械工学 少子高齢化・人手不足を支えるテクノロジー, 発行日:令和元年(2019年)9月2日, 発行者:一般社団法人日本機械学会(東京都新宿区信濃町35番地 信濃町煉瓦館5階), 公開者:深沢剛司(三菱FBRシステムズ株式会社), 公開された発明の内容:人工知能を活用した減衰要素のモデル化に関する発明 〔刊行物等〕 集会名:2019年度年次大会, 開催日:令和元年(2019年)9月8日~11日, 主催者:一般社団法人日本機械学会(東京都新宿区信濃町35番地 信濃町煉瓦館5階), 開催場所:秋田大学 手形キャンパス(秋田県秋田市手形学園町1番1号),公開者:深沢剛司(三菱FBRシステムズ株式会社), 公開日:令和元年9月9日, 公開された発明の内容:人工知能を活用した減衰要素のモデル化に関する発明
(73)【特許権者】
【識別番号】307041573
【氏名又は名称】三菱FBRシステムズ株式会社
(74)【代理人】
【識別番号】110000176
【氏名又は名称】弁理士法人一色国際特許事務所
(72)【発明者】
【氏名】深沢 剛司
【審査官】佐藤 直樹
(56)【参考文献】
【文献】特開2022-021856(JP,A)
【文献】特開2008-249610(JP,A)
【文献】国際公開第2018/150798(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/044
G06N 7/00
(57)【特許請求の範囲】
【請求項1】
土木建築構造物をモデル化した力学モデルにおける荷重、速度及び変位の時系列データのうち何れか2つの入力時系列データから、もう1つの出力時系列データを予測する予測装置において、
入力から出力に向けて順に入力層、隠れ層及び出力層を有するリカレントニューラルネットワークを構築するRNN構築部と、
前記2つの入力時系列データを前記入力層に入力して、予めの学習により得られた複数の重みからなる学習済みパラメータ群を前記隠れ層に割り当てて前記隠れ層を活性化させることによって前記出力層における前記出力時系列データを算出する予測部と、を備え
、
前記RNN構築部は複数の長短期記憶ブロックが時系列で結合されてなる層を前記隠れ層として構築する予測装置。
【請求項2】
前記RNN構築部が前記隠れ層を複数層に構築する請求項
1に記載の予測装置。
【請求項3】
土木建築構造物をモデル化した力学モデルにおける荷重、速度及び変位の時系列データのうち何れか2つの入力時系列データともう1つの正解時系列データとを学習させる学習装置において、
入力から出力に向けて順に入力層、隠れ層及び出力層を有するリカレントニューラルネットワークを構築するRNN構築部と、
前記2つの入力時系列データを前記入力層に入力して、複数の重みからなる学習済みパラメータ群を前記隠れ層に割り当てて前記隠れ層を活性化させることによって前記出力層における出力時系列データを算出し、前記出力時系列データと前記正解時系列データの損失を算出し、バックプロパゲーション処理により前記損失を前記複数の重みでそれぞれ微分することによって微分パラメータを算出し、勾配降下法により前記微分パラメータと前記複数の重みとに基づいて前記複数の重みを更新する学習部と、を備え
、
前記RNN構築部は複数の長短期記憶ブロックが時系列で結合されてなる層を前記隠れ層として構築する学習装置。
【請求項4】
前記RNN構築部が前記隠れ層を複数層に構築する請求項3に記載の
学習装置。
【請求項5】
土木建築構造物をモデル化した力学モデルにおける荷重、速度及び変位の時系列データのうち何れか2つの入力時系列データから、もう1つの出力時系列データを予測する予測装置の演算処理装置を、
入力から出力に向けて順に入力層、隠れ層及び出力層を有するリカレントニューラルネットワークを構築
し、複数の長短期記憶ブロックが時系列で結合されてなる層を前記隠れ層として構築するRNN構築部と、
前記2つの入力時系列データを前記入力層に入力して、予めの学習により得られた複数の重みからなる学習済みパラメータ群を前記隠れ層に割り当てて前記隠れ層を活性化させることによって前記出力層における前記出力時系列データを算出する予測部と、に機能させるプログラム。
【請求項6】
土木建築構造物をモデル化した力学モデルにおける荷重、速度及び変位の時系列データのうち何れか2つの入力時系列データともう1つの正解時系列データとを学習させる学習装置の演算処理装置を、
入力から出力に向けて順に入力層、隠れ層及び出力層を有するリカレントニューラルネットワークを構築
し、複数の長短期記憶ブロックが時系列で結合されてなる層を前記隠れ層として構築するRNN構築部と、
前記2つの入力時系列データを前記入力層に入力して、複数の重みからなる学習済みパラメータ群を前記隠れ層に割り当てて前記隠れ層を活性化させることによって前記出力層における出力時系列データを算出し、前記出力時系列データと前記正解時系列データの損失を算出し、バックプロパゲーション処理により前記損失を前記複数の重みでそれぞれ微分することによって微分パラメータを算出し、勾配降下法により前記微分パラメータと前記複数の重みとに基づいて前記複数の重みを更新する学習部と、に機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、人工知能を利用した予測装置、学習装置及びプログラムに関し、特に、力学モデルにおける荷重、速度及び変位の時系列データのうち何れか2つの入力時系列データから、もう1つの出力時系列データを予測あるいは学習する技術に関する。
【背景技術】
【0002】
建築構造物等の耐震性を検証するために時刻歴応答解析が活用されている(例えば、非特許文献1参照)。時刻歴応答解析を行う場合、構造物の弾性域から終局域に至る応答を把握する必要がある。
【先行技術文献】
【非特許文献】
【0003】
【文献】深沢ほか,“高振動・低振幅に着目したオイルダンパーの解析モデルに関する検討”,日本建築学会構造計論文集,一般社団法人日本建築学会,2018 年 12 月,第 83 巻,第 754 号,p.1777-1787
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところが、一般に終局域の挙動は強い非線形性を伴うため、終局域の挙動を数式でモデル化することが難しい。たとえこれをモデル化することができたものとしても、その構成式は複雑なものなる。
【0005】
本発明は、上記事情に鑑みてなされたものであって、数式でモデル化することができない力学モデルであっても時刻歴応答を算出することを目的とする。
【課題を解決するための手段】
【0006】
以上の課題を解決するために、土木建築構造物をモデル化した力学モデルにおける荷重、速度及び変位の時系列データのうち何れか2つの入力時系列データから、もう1つの出力時系列データを予測する予測装置は、入力から出力に向けて順に入力層、隠れ層及び出力層を有するリカレントニューラルネットワークを構築するRNN構築部と、前記2つの入力時系列データを前記入力層に入力して、予めの学習により得られた複数の重みからなる学習済みパラメータ群を前記隠れ層に割り当てて前記隠れ層を活性化させることによって前記出力層における前記出力時系列データを算出する予測部と、を備え、前記RNN構築部は複数の長短期記憶ブロックが時系列で結合されてなる層を前記隠れ層として構築する。
【0007】
また、土木建築構造物をモデル化した力学モデルにおける荷重、速度及び変位の時系列データのうち何れか2つの入力時系列データともう1つの正解時系列データとを学習させる学習装置は、入力から出力に向けて順に入力層、隠れ層及び出力層を有するリカレントニューラルネットワークを構築するRNN構築部と、前記2つの入力時系列データを前記入力層に入力して、複数の重みからなる学習済みパラメータ群を前記隠れ層に割り当てて前記隠れ層を活性化させることによって前記出力層における出力時系列データを算出し、前記出力時系列データと前記正解時系列データの損失を算出し、バックプロパゲーション処理により前記損失を前記複数の重みでそれぞれ微分することによって微分パラメータを算出し、勾配降下法により前記微分パラメータと前記複数の重みとに基づいて前記複数の重みを更新する学習部と、を備え、前記RNN構築部は複数の長短期記憶ブロックが時系列で結合されてなる層を前記隠れ層として構築する。
【発明の効果】
【0008】
本発明によれば、力学モデルが数式でモデル化することができなくても、荷重、速度及び変位の時系列データのうち何れか2つの入力時系列データからもう1つの出力時系列データを算出できる。出力時系列データは、時間経過に伴って変化する荷重、速度及び変位の何れか2つが力学モデルに与えられた場合の応答である。
【図面の簡単な説明】
【0009】
【
図2】学習装置及び予測装置を兼ねた人工知能装置のブロック図である。
【
図3】リカレントニューラルネットワークの模式図である。
【発明を実施するための形態】
【0010】
〔1. 人工知能装置の構成〕
図1は、力学的にモデル化された減衰装置90の概略図である。
図2は、人工知能装置1のブロック図である。
【0011】
減衰装置90は例えばオイルダンパーである。減衰装置90を力学的にモデル化すると、減衰装置90がダッシュポット91、弾性バネ92、弾性バネ93及び摩擦抵抗94から構成され、ダッシュポット91、弾性バネ92及び弾性バネ93が直列され、これらの直列体と摩擦抵抗94が並列されている。ダッシュポット91及び弾性バネ92が減衰装置90の粘弾性要素であり、弾性バネ93が減衰装置90の弾性要素であり、摩擦抵抗94が減衰装置90の可動部(例えば、ロッド)に生じるものである。地震、振動又は衝突等が生じると、時間経過に伴い変化する荷重及び速度が減衰装置90に与えられ、それに伴って減衰装置90が応答して変位する。
図2に示す人工知能装置1は、減衰装置90の応答、つまり時間経過に伴う減衰装置90の変位の変化を予測する。つまり、人工知能装置1は、人工知能を利用して、荷重の時系列データと速度の時系列データから、変位の時系列データを算出する。
【0012】
人工知能装置1は、予測装置と学習装置を兼ねたものである。人工知能装置1は、演算処理装置10、表示デバイス30、入力デバイス40及びストレージ50等を備える。
演算処理装置10は、CPU、GPU、RAM、システムバス及び各種インターフェース等を備える。
【0013】
表示デバイス30は例えば液晶ディスプレイデバイス、有機ELディスプレイデバイス又はプロジェクタである。演算処理装置10が映像信号を生成し、その映像信号を表示デバイス12に出力する。そうすると、映像信号に従った画面が表示デバイス30によって表示される。
【0014】
入力デバイス40は例えばスイッチ、キーボード、ポインティングである。入力デバイス40は、操作されると操作内容に応じた信号を演算処理装置10に出力する。
【0015】
ストレージ50には、プログラム51、教師データ52、学習済みパラメータ群56及び分析対象データ57が格納されている。
【0016】
教師データ52は、後述のリカレントニューラルネットワーク200(
図3参照)の学習に利用される。教師データ52は、互いに対応付けされた荷重の時系列データ53と速度の時系列データ54と変位の時系列データ55とから構成される。これら時系列データ53,54,55は、それぞれ荷重、速度、変位の値が時系列で配列された離散的なデータ列である。変位の時系列データ55は、正解として利用される。
【0017】
これら時系列データ53、54,55は予め行われたシミュレーション又は実験により求められたものである。非日常的な地震或いは衝撃から日常的な微振動までを想定して、シミュレーション又は実験ごとの荷重、速度及び変位の条件を変化させて、多数回のシミュレーション又は実験により得られた多数の教師データ52がストレージ50に格納されている。
【0018】
学習済みパラメータ群56は、リカレントニューラルネットワーク200の多数のニューロンにおける重み及びバイアスから構成されている。学習済みパラメータ群56は、リカレントニューラルネットワーク200が学習する度に更新される。なお、リカレントニューラルネットワーク200が未学習状態である場合、学習済みパラメータ群56の各重み及びバイアスの初期値は乱数である。
【0019】
分析データ57は、リカレントニューラルネットワーク200を用いた変位の時系列データの予測に利用される。分析データ57は、互いに対応付けされた荷重の時系列データ58と速度の時系列データ59とから構成される。これら時系列データ58,59は、それぞれ荷重、速度の値が時系列で配列された離散的なデータ列である。
【0020】
プログラム51は、演算処理装置10にとって読取可能及び実行可能なものである。演算処理装置10が、プログラム51を実行することによって、RNNモデル構築部11、学習部12及び予測部13として機能する。RNNモデル構築部11及び学習部12は学習装置の機能であり、RNNモデル構築部11及び予測部13は予測装置の機能である。以下、RNNモデル構築部11、学習部12及び予測部13の機能について詳細に説明する。
【0021】
〔2. RNNモデル構築部〕
RNNモデル構築部11は、
図3に示すように、積層された長短期記憶(Long short-term memory:LSTM)のアーキテクチャを利用したリカレントニューラルネットワーク200を構築する。リカレントニューラルネットワーク200は再帰型ニューラルネットワークともいう。リカレントニューラルネットワーク200は、入力層210、4層の隠れ層220、230,240,250、全結合層260、ドロップアウト層270及び出力層280から構成されている。
【0022】
入力層210は、時系列の複数の入力ユニット211から構成されている。入力層210には、2種類の時系列データ、具体的には変位の時系列データと速度の時系列データが入力される。つまり、入力層210の各入力ユニット211には2つのニューロンが用いられ、変位データと速度データがこれらニューロンにそれぞれ入力される。従って、各入力ユニット211に入力される入力データxtはベクトルであり、入力データxtの要素は同一ステップ(つまり、同一時刻)の変位データと速度データからなる。ここで、添字の「t」は時系列のステップ順を表す。
【0023】
1層目の隠れ層220は、時系列の長短期記憶ブロック221から構成されている。2層目~4層目の隠れ層230,240,250もそれぞれ時系列の長短期記憶ブロック231,241,251から構成されている。ここで、jを1から4の任意の数とした場合、添字の「(t,j)」の「j」は隠れ層210,230,240,250の層順を表す。
【0024】
隠れ層210,230,240,250の各々では、或るステップにおけるニューロンの出力が、次のステップのニューロンの入力と次の層のニューロンの入力とに結合されている。具体的には、1層目の各長短期記憶ブロック221は、同一ステップの入力ユニット211から入力データxtを入力するとともに前のステップの長短期記憶ブロック221から隠れ状態データh(t-1,1)を入力すると、隠れ状態データh(t,1)を次のステップの長短期記憶ブロック221に出力するとともにデータy(t,1)を次の層の長短期記憶ブロック231に出力する。また、2層目の長短期記憶ブロック231は、1層目の長短期記憶ブロック221からデータy(t,1)を入力するとともに前のステップの長短期記憶ブロック231から隠れ状態データh(t-1,2)を入力すると、隠れ状態データh(t,2)を次のステップの長短期記憶ブロック231に出力するとともにデータy(t,2)を次の層の長短期記憶ブロック241に出力する。また、3層目の長短期記憶ブロック241は、2層目の長短期記憶ブロック231からデータy(t,2)を入力するとともに前のステップの長短期記憶ブロック241から隠れ状態データh(t-1,3)を入力すると、隠れ状態データh(t,3)を次のステップの長短期記憶ブロック241に出力するとともにデータy(t,3)を次の層の長短期記憶ブロック251に出力する。また、4層目の長短期記憶ブロック251は、3層目の長短期記憶ブロック241からデータy(t,3)を入力するとともに前のステップの長短期記憶ブロック251から隠れ状態データh(t-1,4)を入力すると、隠れ状態データh(t,4)を次のステップの長短期記憶ブロック251に出力するとともにデータy(t,4)を全結合層260の同一ステップの全結合ブロック261に出力する。1ステップの長短期記憶ブロック221,231,241,251の数は長短期記憶ブロック221,231,241,251の順に多く、例えば1ステップの長短期記憶ブロック221,231,241,251の数がそれぞれ200,125,78,49である。
【0025】
全結合層260は、時系列の全結合ブロック261から構成されている。全結合ブロック261は複数、例えば30のニューロンを有し、全結合ブロック261のニューロンが同一ステップの4層目の長短期記憶ブロック251の出力に全結合されている。全結合ブロック261は、同一ステップの長短期記憶ブロック251の出力データy(t,4)を入力すると、それらに重みを乗算して、その積にバイアスを加算する。
【0026】
ドロップアウト層270は、時系列のドロップアウトブロック271から構成されている。ドロップアウトブロック271は複数のニューロンを有し、ドロップアウトブロック271のニューロンが同一ステップの全結合ブロック261のニューロンに全結合されている。学習の際に幾つかのニューロンを無効にするように更新し、予測の際に同一ステップの全結合ブロック261のニューロンからこのドロップアウトブロック271の無効ニューロンへの入力をゼロに設定する。これにより、ドロップアウトブロック271は、過学習による精度低下を低減させるものである。
【0027】
出力層280は、時系列の複数の出力ユニット281から構成されている。入力層280の各出力ユニット281には1つのニューロンが用いられ、出力ユニット281のニューロンが同一ステップのドロップアウトブロック271のニューロンに結合され、出力ユニット281は、ドロップアウトブロック271の有効なニューロンの出力を入力すると、出力データztを出力する。よって、各出力ユニット281に出力される出力データztはスカラーの荷重データであり、出力層280から1種類の時系列データ、具体的には荷重の時系列データが出力される。
【0028】
図4を参照して、長短期記憶ブロック221,231,241,251について説明する。
長短期記憶ブロック221,231,241,251は、入力ブロック310、入力ゲートブロック320、忘却ゲートブロック330、出力ゲートブロック340、乗算ブロック350、乗算ブロック360、加算ブロック370、メモリセル375、活性化関数ブロック380及び乗算ブロック390から構成されている。ここで、1層目の長短期記憶ブロック221の場合には、
図4における入力データv
(t,j-1)が
図3における入力データx
tであり、
図4における出力データv
(t,j)が
図3におけるデータy
(t,1)である。2層目の長短期記憶ブロック231の場合には、
図4における入力データv
(t,j-1)が
図3におけるデータy
(t,1)であり、
図4における出力データv
(t,j)が
図3におけるデータy
(t,2)である。3層目の長短期記憶ブロック241の場合には、
図4における入力データv
(t,j-1)が
図3におけるデータy
(t,2)であり、
図4における出力データv
(t,j)が
図3におけるデータy
(t,3)である。4層目の長短期記憶ブロック251の場合には、
図4における入力データv
(t,j-1)が
図3におけるデータy
(t,3)であり、
図4における出力データv
(t,j)が
図3におけるデータy
(t,4)である。
【0029】
入力ブロック310は、入力データv(t,j-1)及び隠れ状態データh(t-1,j)を入力すると、次式(1)により入力ブロック310の状態データs(t,j)を算出する。ここで、入力ブロック310は重み付け和ブロック311及び活性化関数ブロック312から構成されている。重み付け和ブロック311は、入力データv(t,j-1)と重みUs(t,j)の積と、隠れ状態データh(t-1,j)と重みWs(t,j)の積と、バイアスbs(t,j)とを加算することによって、それらの和をネット値として算出する。活性化関数ブロック312は、重み付け和ブロック311によって算出されたネット値を活性化関数(具体的には、双曲線正接関数)に当て嵌めることによって、入力ブロック310の状態データs(t,j)を算出する。
【0030】
【0031】
ここで、Us(t,j)及びWs(t,j)は入力ブロック310における重みであり、bs(t,j)は入力ブロック310におけるバイアスである。
【0032】
入力ゲートブロック320は、入力データv(t,j-1)及び隠れ状態データh(t-1,j)を入力すると、次式(2)により入力ゲートブロック320の状態データi(t,j)を算出する。ここで、入力ゲートブロック320は重み付け和ブロック321及び活性化関数ブロック322から構成されている。重み付け和ブロック321は、入力データv(t,j-1)と重みUi(t,j)の積と、隠れ状態データh(t-1,j)と重みWi(t,j)の積と、バイアスbi(t,j)とを加算することによって、その和をネット値として算出する。活性化関数ブロック322は、重み付け和ブロック321によって算出されたネット値を活性化関数(具体的には、シグモイド関数)に当て嵌めることによって、入力ゲートブロック320の状態データi(t,j)を算出する。
【0033】
【0034】
ここで、Ui(t,j)及びWi(t,j)は入力ゲートブロック320における重みであり、bi(t,j)は入力ゲートブロック320におけるバイアスである。
【0035】
忘却ゲートブロック330は、入力データv(t,j-1)及び隠れ状態データh(t-1,j)を入力すると、次式(3)により忘却ゲートブロック330の状態データf(t,j)を算出する。ここで、忘却ゲートブロック330は重み付け和ブロック331及び活性化関数ブロック332から構成されている。重み付け和ブロック331は、入力データv(t,j-1)と重みUf(t,j)の積と、隠れ状態データh(t-1,j)と重みWf(t,j)の積と、バイアスbf(t,j)とを加算して、その和をネット値として算出する。活性化関数ブロック332は、重み付け和ブロック331によって算出されたネット値を活性化関数(具体的には、シグモイド関数)に当て嵌めることによって、入力ゲートブロック320の状態データi(t,j)を算出する。
【0036】
【0037】
ここで、Uf(t,j)及びWf(t,j)は忘却ゲートブロック330における重みであり、bf(t,j)は忘却ゲートブロック330におけるバイアスである。
【0038】
出力ゲートブロック340は、入力データv(t,j-1)及び隠れ状態データh(t-1,j)を入力すると、次式により出力ゲートブロック340の状態データo(t,j)を算出する。ここで、出力ゲートブロック340は重み付け和ブロック341及び活性化関数ブロック342から構成され、重み付け和ブロック341は、入力データv(t,j-1)と重みUo(t,j)の積と、隠れ状態データh(t-1,j)と重みWo(t,j)の積と、バイアスbo(t,j)とを加算することによって、それら和をネット値として算出する。活性化関数ブロック342は、重み付け和ブロック341によって算出されたネット値を活性化関数(具体的には、シグモイド関数)に当て嵌めることによって、入力ゲートブロック320の状態データo(t,j)を算出する。
【0039】
【0040】
ここで、Uo(t,j)及びWo(t,j)は出力ゲートブロック340における重みであり、bo(t,j)は出力ゲートブロック340におけるバイアスである。
【0041】
乗算ブロック350は、入力ブロック310によって算出された状態データi(t,j)と入力ゲートブロック320によって算出された状態データi(t,j)を入力すると、これらを次式(5)のようにアダマール乗算することによってアダマール積を算出する。アダマール積とは、同じサイズの行列の要素ごとの積をいう。
【0042】
【0043】
乗算ブロック360は、忘却ゲートブロック330によって算出された状態データf(t,j)と、メモリセル375に保持された前のステップの加算ブロック370の計算結果(記憶データC(t-1,j))とを入力すると、これらを次式(6)のようにアダマール乗算することによってアダマール積を算出する。
【0044】
【0045】
加算ブロック370は、乗算ブロック350によって算出されたアダマール積と、乗算ブロック360によって算出されたアダマール積とを入力すると、これらを次式(7)のように加算して、その計算結果(記憶データC(t,j))をメモリセル375に格納する。
【0046】
【0047】
式(7)はメモリセル375の更新式である。つまり、メモリセル375は、保持していた前のステップの加算ブロック370の計算結果(記憶データC(t-1,j))を本ステップの加算ブロック370の計算結果(記憶データC(t,j))に更新して、それを保持する。
【0048】
活性化関数ブロック380は、メモリセル375に更新保持された加算ブロック370の計算結果(記憶データC(t,j))を活性化関数(具体的には、双曲線正接関数)に当て嵌めることによって、活性化状態データを算出する。
【0049】
乗算ブロック330は、忘却ゲートブロック330によって算出された状態データf(t,j)と、活性化関数ブロック380によって算出された活性化状態データとを入力すると、これらを次式(8)のようにアダマール乗算することによって隠れ状態データh(t,j)を算出する。
【0050】
【0051】
図3及び
図4に示すように、乗算ブロック330によって算出された隠れ状態データh
(t,j)は、同一層の次のステップに長短期記憶ブロックに出力される。乗算ブロック330によって算出された隠れ状態データh
(t,j)に等しいデータy
(t,j)が次の層の長短期ブロック又は全結合ブロック261に出力される。
【0052】
上述のように構成されたリカレントニューラルネットワーク200の各長短期記憶ブロック221,231,241,251における重みUs(t,j),Ws(t,j),bs(t,j),Ui(t,j),Wi(t,j),bi(t,j),Uf(t,j),Wf(t,j),bf(t,j),Uo(t,j),Wo(t,j),bo(t,j)は学習済みパラメータ群56としてストレージ50に記憶されている。未学習の場合、学習済みパラメータ群56としてストレージ50に予め記憶された重みUs(t,j),Ws(t,j),bs(t,j),Ui(t,j),Wi(t,j),bi(t,j),Uf(t,j),Wf(t,j),bf(t,j),Uo(t,j),Wo(t,j),bo(t,j)の値は乱数である。
【0053】
〔3. 学習部〕
学習部12は、RNNモデル構築部11によって構築されたリカレントニューラルネットワーク200に多数の教師データ52を学習させて、学習済みパラメータ群56を更新する。以下、具体的に説明する。
【0054】
まず、学習部12は、ストレージ50から現在の学習済みパラメータ群56を取得して、学習済みパラメータ群56の重みUs(t,j),Ws(t,j),bs(t,j),Ui(t,j),Wi(t,j),,bi(t,j),Uf(t,j),Wf(t,j),bf(t,j),Uo(t,j),Wo(t,j),bo(t,j)をリカレントニューラルネットワーク200の各長短期記憶ブロック221,231,241,251に割り当てる。
【0055】
次に、学習部56は、ストレージ50から何れかの教師データ52を取得して、教師データ52の荷重及び速度の時系列データ53、54をリカレントニューラルネットワーク200の入力層210に入力して、リカレントニューラルネットワーク200のフォワード処理を実行する。これにより、学習部56は、リカレントニューラルネットワーク200の隠れ層220,230,240,250、全結合層260及びドロップアウト層270を活性化させることによって出力層280の各出力ユニット281における出力データztを算出して、出力データztを時系列で配列した出力時系列データを取得する。
【0056】
次に、学習部56は、各ステップにつき、教師データ52の変位時系列データ53における変位データと出力データztとを損失関数に当て嵌めて、教師データ52の変位時系列データ53における変位データと出力データztとの損失を算出する。損失関数は半平均二乗誤差関数であることが好ましいが、平均二乗誤差関数、平均絶対誤差関数、平均対数誤差関数又は交差エントロピー誤差関数であってもよい。
【0057】
次に、学習部56は、バックプロパゲーション処理により、損失を各長短期記憶ブロック221,231,241,251における現在の重みUs(t,j),Ws(t,j),bs(t,j),Ui(t,j),Wi(t,j),bi(t,j),Uf(t,j),Wf(t,j),bf(t,j),Uo(t,j),Wo(t,j),bo(t,j)でそれぞれ微分した微分パラメータ(勾配)を算出する。ここで、微分パラメータの算出の際には、勾配クリッピング法が採用される。つまり、微分パラメータが所定の閾値を超える場合には、その微分パラメータは所定の閾値(例えば、1.0)で正規化される。
【0058】
次に、学習部56は、勾配降下法、特にAdamの最適化アルゴリズムを利用した勾配降下法により、各長短期記憶ブロック221,231,241,251における現在の重みUs(t,j)とその微分パラメータとに基づいて新たな重みUs(t,j)を算出する。同様に、学習部56は、各長短期記憶ブロック221,231,241,251における新たな重みWs(t,j),bs(t,j),Ui(t,j),Wi(t,j),bi(t,j),Uf(t,j),Wf(t,j),bf(t,j),Uo(t,j),Wo(t,j),bo(t,j)を算出する。Adamの最適化アルゴリズムの場合、微分パラメータの1次モーメント(平均値)に係わる係数の値は例えば0.900であり、微分パラメータの2次モーメント(分散)に係わる係数の値は例えば0.999であり、初期学習率の値は0.005であるが、これらの数値に限るものではない。
【0059】
次に、学習部56は、ストレージ50に格納された学習済みパラメータ群56を、算出した新たな重みUs(t,j),Ws(t,j),bs(t,j),Ui(t,j),Wi(t,j),bi(t,j),Uf(t,j),Wf(t,j),bf(t,j),Uo(t,j),Wo(t,j),bo(t,j)に更新する。
【0060】
以上が1回の学習処理であり、学習部56が他の教師データ52を利用して同様の処理を繰り返し実行すると、学習済みパラメータ群56が最適化される。ここで、上述したように勾配クリッピング法が採用されているため、学習が繰り返されても、勾配消失及び勾配爆発が抑えられる。
【0061】
〔4. 予測部〕
予測部13は、RNNモデル構築部11によって構築されたリカレントニューラルネットワーク200を用いて、分析データ57から変位の時系列データを予測する。以下、具体的に説明する。
【0062】
まず、予測部13は、ストレージ50から学習済みパラメータ群56を取得して、学習済みパラメータ群56の重みUs(t,j),Ws(t,j),bs(t,j),Ui(t,j),Wi(t,j),,bi(t,j),Uf(t,j),Wf(t,j),bf(t,j),Uo(t,j),Wo(t,j),bo(t,j)をリカレントニューラルネットワーク200の各長短期記憶ブロック221,231,241,251に割り当てる。
【0063】
次に、予測部13は、ストレージ50から分析データ57を取得して、分析データ57の荷重及び速度の時系列データ58、59をリカレントニューラルネットワーク200の入力層210に入力する。これにより、予測部56は、リカレントニューラルネットワーク200の隠れ層220,230,240,250、全結合層260及びドロップアウト層270を活性化させることによって出力層280の各出力ユニット281における出力データztを算出して、出力データztを時系列で配列した予測変位の時系列データを取得する。この時系列データは、予測した変位の値が時系列で配列された離散的なデータ列である。
【0064】
次に、予測部13は、算出した予測変位の時系列データを予測結果の時系列データ60としてストレージ50に記録する。
【0065】
また、予測部13は、予測変位の時系列データからチャートを生成し、そのチャートを画面に含む映像信号を表示デバイス30に出力する。そうすると、そのチャートが表示デバイス30に表示される。チャートは、例えば、時間を横軸で表し、予測変位を縦軸で表し、予測変位の値が時系列でプロットされたものである。
【0066】
また、予測部13は、予測変位の時系列データの各値と、荷重の時系列データ58の各値とを同一時刻で対応付けして、予測変位の時系列データと荷重の時系列データ58との対応関係を表したチャートを生成し、そのチャートを画面に含む映像信号を表示デバイス30に出力する。そうすると、そのチャートが表示デバイス30に表示される。チャートは、例えば、予測変位を横軸で表し、荷重を縦軸で表し、対応付けられた荷重の値と予測変位の値とがプロットされたものである。
【0067】
また、予測部13は、予測変位の時系列データの各値と、速度の時系列データ58の各値とを同一時刻で対応付けして、予測変位の時系列データと速度の時系列データ58との対応関係を表したチャートを生成し、そのチャートを画面に含む映像信号を表示デバイス30に出力する。そうすると、そのチャートが表示デバイス30に表示される。チャートは、例えば、予測変位を横軸で表し、速度を縦軸で表し、対応付けられた速度の値と予測変位の値とがプロットされたものである。
【0068】
〔5. 有利な効果〕
減衰装置90を数式でモデル化しなくても、学習済みのリカレントニューラルネットワーク200を用いて荷重及び速度の時系列データ58,59から変位の時系列データを算出することができる。つまり、時間の経過に伴って変化する荷重及び速度が減衰装置90に与えられた場合の応答を変位の時系列データとして算出することができる。特に日常に生じる小さな荷重であっても、また終局に至る大きな荷重であっても、応答変位を算出することができる。
【0069】
リカレントニューラルネットワーク200を用いたため、時系列の回帰型のモデル化が可能となる。つまり、隠れ層210,230,240,250の各々では、或るステップにおけるニューロンの入力が前のステップのニューロンの出力に結合されているため、前のステップの計算結果が次のステップの計算に回帰されて影響を及ぼすため、リカレントニューラルネットワーク200は時系列データの算出に適している。
【0070】
リカレントニューラルネットワーク200が長短期記憶(Long short-term memory:LSTM)のアーキテクチャを利用したものであるため、時系列における長期にわたる記憶が実現され、勾配消失が生じにくい。従って、長短期記憶のアーキテクチャを利用したリカレントニューラルネットワーク200は、地震等のように大小様々な荷重が長期にわたって励起するような場合の応答解析に適している。
【0071】
また、リカレントニューラルネットワーク200は複数の隠れ層210,230,240,250を有するため、予測精度が向上するが、複数の隠れ層210,230,240,250は勾配消失等の要因になり得る。そのような問題点は長短期記憶のアーキテクチャによって解消される。
【0072】
〔6. 変形例〕
上記実施形態では、分析データ57が荷重の時系列データ58と速度の時系列データ59からなり、予測時には、荷重の時系列データ58と速度の時系列データ59がリカレントニューラルネットワーク200の入力層210に入力され、変位の時系列データが出力層280に出力される。それに対して、分析データ57が荷重の時系列データ58と変位の時系列データからなり、荷重の時系列データ58と変位の時系列データがリカレントニューラルネットワーク200の入力層210に入力され、速度の時系列データが出力層280に出力されてもよい。この場合、教師データ52における正解は速度の時系列データ54であり、学習時には、荷重及び変位の時系列データ53、55がリカレントニューラルネットワーク200の入力層210に入力され、教師データ52の速度時系列データ54における速度データと出力データztとの損失が算出される。
【0073】
また、分析データ57が速度の時系列データ59と変位の時系列データからなり、速度の時系列データ59と変位の時系列データがリカレントニューラルネットワーク200の入力層210に入力され、荷重の時系列データが出力層280に出力されてもよい。この場合、教師データ52における正解は荷重の時系列データ53であり、学習時には、速度及び変位の時系列データ54、55がリカレントニューラルネットワーク200の入力層210に入力され、教師データ52の荷重時系列データ53における荷重データと出力データztとの損失が算出される。
【0074】
上記実施形態では、力学モデルとして減衰装置90の例を挙げ、減衰装置90についてのシミュレーション又は実験により求められた時系列データ53、54,55が教師データ52として利用される。力学モデルは減衰装置90に限らず、土木建築構造物(例えば、建物、橋梁、梁、柱等)又は機械構造物(例えば、自動車の車体、弾性装置、ばね要素等)であり、土木建築構造物又は機械構造物についてのシミュレーション又は実験により求められた速度、荷重及び変位の時系列データが教師データ52として利用されてもよい。
【符号の説明】
【0075】
10…演算処理装置
11…RNNモデル構築部
12…学習部
13…予測部
51…プログラム
52…教師データ
57…分析データ
200…リカレントニューラルネットワーク
210…入力層
220,230,240,250…隠れ層
260…全結合層
270…ドロップアウト層
280…出力層
221,231,241,251…長短期記憶ブロック