ニューラルネットワークに基づくジオメトリの設計パラメータ取得

CAESES®によるパラメトリックモデリングでは、作成したモデルと設計パラメータとなる関数を用いて形状の制御を行います。

しかし状況によっては、設計パラメータの値が分からないケースもあり、作成済みのモデルから設計パラメータを取得したいという場合もあるでしょう。 


今回紹介するケースは、ハンブルク工科大学の大学院生が取り組んだプロジェクトの一部となります。

船型最適化を行うにあたり考案した、ジオメトリから設計パラメータを知るための本手法は、他の多くのアプリケーションにおいても活用することが期待されています。


プロジェクトの目的


形状最適化の過程では、形状特性となるパラメータの正確な値がわからないまま、結果として得られた形状をモデル化しなければならないという問題が発生することがあります。

例えば、アジョイントソルバーのようなCADを使用しない最適化ではこの問題が発生する可能性が高くなります。

この場合モデル表面上のアジョイントセンシティビティ(随伴感度)に基づいて、モデルの離散的な形状が変形させるため、特徴的なパラメータ値は分かりません。

しかし、CAESES作業環境下で最適候補となった船体モデルを調査/改良するためには、手に入れた最適候補での各パラメータセットを入力する必要があるのです。


Parameter Mapping Neural Network Concept

新しい最適化計算のプロセス


ここで登場するのが「ニューラルネットワーク」であり、データに基づいて予測モデルを構築する強力なツールとして、このような問題を解決する手段となり得ます。

ここでの目的は、点群データを入力として、形状の特徴的なパラメータを抽出することができる、ニューラルネットワーク(NN)を用いた予測モデルを開発することとなります。


Parameter Mapping Neural Network  Process

設計パラメータ取得の簡易プロセス


バックグラウンド


そもそもニューラルネットワークというものは、人間の脳を構成する神経細胞「ニューロン」同士のコミュニケーションに着想を得た数理モデルを指します。

ニューロンで構成されたニューラルネットワークは、与えられたデータによる入力から出力までの間のパターンを学習し、取得したデータを使って未知のデータに対する予測をすることができるモデルを構築することができます。

このような予測モデルを構築することができるニューラルネットワークは、多くのデータを取り扱いながらも、従来のプログラミングでは解決できないような複雑な問題に対して、強力かつ柔軟に対応することができるのです。


ニューラルネットワークはあらゆる問題に対処するために複雑な構造を持つ場合が多いですが、1つのニューロンまで分解してみることで、データの入出力や伝達を理解することができます。

ニューロンは入力データ・重み・活性化関数のセットで構成されており、入力と出力のデータが対応したものとなるように、設計パラメータを途中の学習過程で初期化および調整していきます。


ニューラルネットワークでは複数のニューロンを並列に並べて学習を行っていき、入出力のデータが対応するよう調整していくわけですが、入力と出力のニューロンの間に並べられた部分を、中間層と呼びます。

複雑なニューラルネットワークは、中間層の数が非常に密になっていたり、プーリング層といった異なるタイプの中間層により構成されており、それぞれのタイプによってタスクと目的が異なります。

ニューラルネットワークの種類のひとつには、畳み込み層と呼ばれる中間層を活用した「畳み込みニューラルネットワーク(CNN)」というものがあります。

このCNNは、入力データから重要な特徴を抽出することに適しているため、画像分類などの問題で使用されるケースが多いです。


今回プロジェクトに使用されたニューラルネットワークはこのCNNであり、その構成は点群データを3次元分類のためのニューラルネットワーク「pointNet」に着想を得て構築されました。

今回のような点群データを入力データとして取り扱う場合には、点群の不規則な構造を考慮する必要があります。


Parameter Mapping Neural Network Architecture

ニューラルネットワークの構成

convolutional layer:畳み込み層

Max-Pooling:最大値プーリング

MLP:多層パーセプトロン


構築したニューラルネットワークは、N×3(Nは点群データのポイント数)のデータを入力としており、上記画像の下部にあるミニネットワーク内では、データが並べ換えに対して不変になるように特徴変換(feature trasnfomation)が実行され、行列の乗算に続いて畳み込み層とMax-Pooling層を使ってさらに特徴が抽出されることになります。

最後のステップでは、多層パーセプトロン(MLP)を用いて回帰を行い、K個の設計パラメータによる出力を生成します。


ニューラルネットワークの開発の主な目的は、汎化能力の取得、つまり学習されたデータのみならず未知のデータに対しても正確な予測が可能となるモデルを作成することとなります。


この汎化能力をテストする際には、データセットをトレーニング用とテスト用に分割して検証を行っていきます。

ニューラルネットワークによる予測モデルはトレーニング用のデータを使って学習を行った後に、テスト用の未知のデータを使った予測テストが行われます。

これによりトレーニング用とテスト用のデータによる各モデルでの性能を比較することで、汎化能力についての検証を行うことができるということです。


CAESESを使ったデータセットの作成


今回のケースで使用するデータセットは、CAESESのサンプルとして提供されている船型をもとに作成しています。

パラメトリックモデリングにより、長さと角度に関する4つの設計パラメータを設定し、バッチモードでこれらのパラメータにアクセスできるようにしました。

各パラメータを一定の間隔で変化させることで、多様な形状を持った4000個の船型のデータセットを作成することができます。

このとき、主要な寸法である全長・高さ・幅は、すべての形状で一定の体積を確保するために固定としています。


船体側面の平行部長さ(Lfos)


ステム長さ(Lstem)


水線入射角度(αwl)


Water Lineの分布による船体フレーム制御(βwl)


赤色で示しているWater Lineに沿ってフレームの勾配を制御するためのカーブは、スタート位置の接線角度で制御されています。

接線角度が小さいと、船首肩部付近の喫水線での勾配が大きくなり、船体が膨らむような設定になっています。

これは4つの設計パラメータの中で最も大きな間隔で変化させていますが、その形状変化が船体に与える影響は最も小さいとされています。






CAESESのバッチモードで形状を自動作成した後、船体表面上のランダムな一様分布を用いて点群データを抽出します。


Parameter Mapping Neural Network Point Cloud

パラメータ抽出のための点群データ


結果


ニューラルネットワークの学習は、KerasとTensorflowのライブラリを用いて実行されました。

検証方法として、k=5でによるk-Fold Cross Validation(交差検証)を実施し、トレーニングセットサイズを3200、テストセットサイズを800としました。


k-Fold Cross Validation:データセットをk個のグループに分割し、k個の中の1グループをテストデータ、残りをトレーニングデータと定義します。それらのデータから、k個全てのグループがテストデータになるようk回繰り返す手法


点群データの大きさはN=1024とし、代表的な1つの学習サイクルの結果が以下の表になります。



構築した予測モデルでは、トレーニングセットとテストセットにおいて、R2のスコアは高い精度を達成することができました。

(上記表に記載された「RSME」とは、予測モデルの良好度を測る指標であり、0に近い値であるほど良いモデルであると考えられます。)

すべての結果を比較すると、設計パラメータβWLのスコアが最も低いことが分かりますが、これはβWLの変動が船体に与える影響が、他の3つに比べて最も小さいため、βWLの予測がより複雑な問題になっていることが考えられます。

この問題については、より複雑なニューラルネットワークを使用することで、正確なβWLを予測できる可能性があります。


以下の比較画像では、テストセットから1つのサンプルを選び、実際の値と予測の値を用いたそれぞれの船型モデルになります。


各寸法値によるモデル(左:実際の値、右:予測モデルによる値)



両船体の形状は非常によく似ていることがわかり、予想通り角度βWLの予測値は、実際の値からの絶対偏差が最も大きいことが判明しました。

一般的な船型への影響が少ない、かつ今回のケースではそのことがわかっていることもあり、βWLの7°近い差は結果的にほとんど影響はありません。


まとめ


このケースでは、取得しているモデルに対して設定パラメータを求めるために、ニューラルネットワークでの予測モデルによる設計パラメータの取得方法を検討しました。

結果として、確立されたニューラルネットワークによるマッピング手法は、正確な予測を行うことができることがわかりました。


一方で、パラメータによる影響が小さい場合には、問題が複雑にとなるため、予測精度が低下することが考えられています。

この問題を解決するため、さらに高精度な予測モデルを作成することがこれからのステップになるでしょう。


今回紹介したニューラルネットワークにもとづくデータマッピングの手法は、船体のみならずあらゆるアプリケーションに対して柔軟に活用することが可能であると考えられています。