機械学習で「見た目」を限定して最適化する

Posted 06/21/19

機械学習は人間の勘や経験を数値化するのが得意

今回は、機械学習で変形モードを分類して、最適化である特定の変形モードが出るように制御してみたいと思います。私自身、機械学習の素人で、ディープラーニングとAIの違いとか分かりません。しかし機械学習の素人でもアイデアさえあれば機械学習はすぐにでも活用できるんだ、というところをお伝えしたいと思います。

題材は矩形ビームを押しつぶす解析です。この矩形ビームがエネルギー吸収材だとすると、一般的には荷重やエネルギー吸収量を用いて最適化を図ると思います。しかし、過去の経験から、ある変形モードで壊れると部品を回収しやすいとか、ある変形モードだと回りの部品を傷つけないから補修しやすいとか、ある変形モードだと人がいない方向に飛び出すので事故が広がりにくいとか、変形モードを絞った上で最適化をしたい場合があります。変形モードは人が目で見るとすぐに違いが分かるのですが、最大変形量などの数値で表現することは困難です。

機械学習で「見た目」を限定して最適化する

ここで活躍するのが機械学習です。機械学習は人間の勘や経験を数値化するのが得意です。今回、矩形ビームを押しつぶす解析はAltair Radioss、最適化はAltair HyperStudy、機械学習はAltair Knowledge Studioが担当し、それぞれが連成したシミュレーションを行います。

100通りの衝突解析を4つにクラスタリング

まずは、形状と板厚の異なる矩形ビームをHyperStudyで100個用意して、衝突解析を行いました。100個あれば100通りの変形モードがあります(スペースの都合で16個だけ載せます)。

機械学習で「見た目」を限定して最適化する

機械学習で「見た目」を限定して最適化する

これらを弊社のKnowledge Studioのエキスパートに頼んで、クラスタリングしてもらいました。よく知りませんが、クラスタリングというのは分類することです。しかも人間による教育が不要、つまり、いちいちこのモードはパターンAだよ、こっちはパターンBだよと教え込まなくても、なんとなくコンピュータが分類してくれるというとても使いやすい分類方法だそうです。

K-Means法(が何かは知りません)のクラスタリングで、以下のように4つのクラスタに分類されました。確かに先ほどの16個の変形パターンは、この4つのどれかに分類できそうな感じがします。

機械学習で「見た目」を限定して最適化する

さてクラスタリングはできましたが、最適化で利用することを考えると、最適計算中に出てくる変形モードが、何番のクラスタに所属するのかを、数値で出力してくれなくてはなりません。そんなことできるのかなーと不安だったのですが、Knowledge Studioのエキスパートに頼んだところ、すぐに準備してくれました。どうやら、先ほど使った100個のモデルからなる学習データと、新しいデータを比較して、所属するクラスタ番号を返してくれるもののようです。実際の仕組みは分かりませんが、その辺も弊社のエキスパートが何とかするから大丈夫です。Knowledge StudioはもともとGUIの中だけでなく、コマンドラインで使えるように設計されていてHyperStudyとの相性は良さそうです。

クラスタを限定して最適化する

ここまでで、人が見た目で判断する変形モードを、クラスタ番号という数値で評価する下準備が整いました。次は最適化HyperStudyの出番です。

板厚や形状を変数として、ここでは1番のクラスタになるよう、やさしくぶつかりながらも(最大荷重を最小化)、しっかりと衝撃を吸収(エネルギー吸収を最大化)することを目指します。

最適化の全計算結果が下図です。どうやら最大荷重が低いのにエネルギー吸収が大きいというのは難しいようです。また、1番(青い玉)以外のクラスタも最適化計算中に多少混ざるようです。

機械学習で「見た目」を限定して最適化する

ここから限界性能を示すパレート図にしてみます。もちろんクラスタは1番のみが対象です。

machine_learning_06

上図の矢印の結果をのぞいてみましょう。本当にクラスタ1番の変形モードになっているでしょうか?

↓↓↓

machine_learning_07

いかがでしょうか?私の目には迷うことなく1番のモードに見えます。

ソフト名にStudyが付いている通り、下図のような分析もできます。今回は、エネルギーを大きくして荷重を小さくできる魔法のような変数は無かったようです。また、エネルギー、荷重特性を変えると変形モード(クラスタ番号)にも影響が出やすい変数や、影響が出にくい変数などを知ることができます。

機械学習で「見た目」を限定して最適化する

1Dモデルで設計しよう

せっかく多くの計算を行ったので、エクセルで動く1DモデルをHyperStudyに作成させてみます。エクセル上で変数を変更するだけで、簡単に特性を予想できます。

機械学習で「見た目」を限定して最適化する

いかがでしたか?人間が見た目で判断するしかないような事象でも、クラスタリングを使ってうまく数値化し、最適化できました。使い方のアイデアさえあれば、ユーザーとしては、機械学習のことを理解する必要はないこともお伝えできたと思います。

似たようなことをやってみたい方は

現在、機械学習を用いた最適化はコンサルティングサービスとして承っています。ご興味をお持ちでしたらお気軽にお問い合わせください。

 

お問い合わせ

 

Topics: Tips


Nobuyuki Fukuoka

Written by Nobuyuki Fukuoka

Technical Manager