システムレベル設計への AI の統合: AI を使用した低次元化モデリング - MATLAB & Simulink

ebook

第 3 章

AI を使用した複雑なシステムの低次元化モデリング


システムはますます複雑になっています。自律システムにより、車両は予測不能な環境を移動できます。風力タービンは、デジタルツインを介して、保守の必要がないか自己を監視します。個人用スマートデバイスは、睡眠活動を測定し、写真にラベル付けし、エクササイズのプランも作ります。医療機器は、患者の監視、病気の診断、個々の患者ごとの転帰の予測を行います。

これらの用途では、多くの場合、AI ベースのアルゴリズムが大規模で複雑なシステムの一部となっています。

AI モデルは、そのシステムの一部としての展開を目的としていることもありますが、低次元化モデリング (ROM) で使用することもできます。ROM は、制御された誤差内で必要な忠実度を維持しながら、システムの仮想モデルの複雑度やストレージの要件を低減する手段です。

多くの場合、エンジニアは第一原理を使用してシステムのコンポーネントのモデル化を開始します。結果として得られる第一原理モデルの実際値には、通常、明確で説明可能な物理的意味があります。また、動作がパラメーター化されることもよくあります。

ただし、多くの場合、高忠実度モデルは計算の負荷が高すぎるため、システムレベル設計では使用できません。これは特に、モデルをリアルタイムで実行する必要がある HIL や PIL テストを使用する場合に言えることです。高忠実度モデルは作成に時間がかかることもあります。

このような場合には、AI ベースの低次元化モデルの作成を検討します。

車の高忠実度モデルは、コントローラー、環境、およびドライバーブロックを含むシミュレーションの一部であり、複雑で実行に時間がかかるシミュレーションを構成します。車と置き換えられた AI ベースの代替の低次元化モデルも示されています。

車のエンジンの第一原理モデルを AI ベースの高速アルゴリズムに置き換えて ROM を作成します。ROM のシミュレーションは、制御アルゴリズムのシステムレベルのテストにおける許容可能な精度を実現しながら、より高速に実行されます。

セクション

AI ベースの低次元化モデルの開発

ROM の作成には、AI をはじめ以下のように複数の手法があります。

  • 物理ベースの低次元化モデル
  • モデルベースの手法
  • 特定の操作点で線形化された非線形 Simulink モデル
  • 以下を含むデータ駆動型の手法
    • 曲線近似やルックアップテーブルなどの静的な手法
    • AI ベースのモデルなどの動的な手法

ROM は有益なツールとして利用できる場合があります。ROM は、以下の用途に利用できます。

  • サードパーティの高忠実度モデルの影響を受ける Simulink デスクトップ シミュレーションを高速化する。
  • 高忠実度モデルの複雑度を低減することで、ハードウェアインザループ (HIL) テストの実行を可能にする。
  • 他のツールからの 2D および 3D モデルを Simulink でのシステムレベルのシミュレーション モデルに取り込む。
  • 制御ソフトウェア、障害検出、予知保全で使用する AI ベースのバーチャル センサー モデルを開発する。
  • 制御設計を実行する。
  • 有限要素解析 (FEA) または数値流体力学 (CFD) ソフトウェアの計算および最適化を高速化する。

AI ベースの ROM には、設計の考慮事項があります。高精度の AI モデルの作成には、大量の高品質なデータが必要です。精度の高い AI モデルでも、「ブラックボックス」、場合によっては「グレーボックス」になぞらえられることがあります。言い換えれば、モデルの出力が常に説明可能であるとは限らず、パラメーター化もできない場合があるということです。また、AI モデルでは、エンジニアがマシンの物理法則に関する知識をモデルに簡単に組み入れることもできません。

モデルの説明可能性は、出力の判定に対する可視性がまったくない、いわゆるブラックボックスから、いくらかの洞察を提供するグレーボックス、第一原理モデルの完全な透明性までのスペクトルに分類されます。

モデルの説明可能性は、出力の判定に対する可視性がまったくない、いわゆるブラックボックスから、いくらかの洞察を提供するグレーボックス、第一原理モデルの完全な透明性までのスペクトルに分類されます。

セクション

AI ベースの ROM によるサードパーティの第一原理エンジンモデルの置き換え

あなたが新しい車両設計に取り組んでいるチームの一員であるとします。いくつかの入力と条件に基づいて車両の速度をシミュレーションする必要がある場合を考えてみます。あなたはドライバー、道路状況、コントローラー、および車のエンジンに相当するコンポーネントが含まれたモデルを作成したいと思っています。

同僚が、サードパーティツールを使用してモデル化した車両エンジンサブシステムを提供してくれました。結果として得られるシミュレーションは、高い忠実度で現実世界のシステムと一致します。しかし、予想以上に実行に時間がかかります。

高忠実度モデルには、ドライバー、環境、コントローラー、および複雑なエンジンモデルを使用する車が含まれます。

エンジンモデルが第一原理に基づいた複雑なモデルである場合、車両速度のシミュレーションの実行には時間がかかります。

その他のシステム コンポーネントを開発および調整しながらシミュレーションを高速化するには、コストのかかるサードパーティのエンジン モデルを代理モデルまたは低次元化モデルに置き換えます。これは、物理ベース (例: Simulink および Simscape を使用) や AI ベースの手法など、さまざまな手法を用いて開発できます。AI モデルの場合、入力にはエンジン回転数、点火のタイミング、スロットル位置、ウェイストゲート バルブの値が含まれ、出力はエンジントルクを表します。

バリアントを使用すれば、異なる手法で構築された複数のコンポーネントを簡単に切り替えることができます。バリアントを使用すると、モデルの一部をコメントアウトすることなく、精度と性能のバランスをとりながら設計オプションを比較できます。これにより、違いを理解し、コンポーネントを選択する際の判断材料を得ることができます。

セクション

データの生成および AI モデルの学習

AI モデルを作成するには、関連性の高い入力を変化させ、目的の出力を生成するデータセットを使用して AI モデルの学習を行う必要があります。公開データセットや、独自の物理システム設定からの実験データを使用できます。

高忠実度シミュレーションを使用してデータを生成することもできます。これを行なうには、まず、モデルパラメーターを選択し、その範囲を変化させながら、一連の実験を設計します。たとえば、速度、点火のタイミング、およびスロットル位置のそれぞれに対して変化する範囲を設定します。実験計画法 (DoE) を用いて、パラメーターの使用可能な組み合わせを示す一覧表を作成してから、シミュレーションを実行してデータを収集します。

システム シミュレーションにおける複雑なエンジンモデルが、AI モデルに置換されています。AI モデルは、エンジン速度、点火のタイミング、スロットル位置、およびウェイストゲート バルブの同じ入力を取得し、エンジントルクの同じ出力を生成しています。

高忠実度モデルを AI モデルに置き換えます。

AI モデルは、さまざまな手法で作成できます。たとえば、MATLAB を使用して機械学習手法またはディープラーニング手法を適用できます。そうした手法には、LSTM (シーケンス予測問題で順序の依存関係を学習できるリカレント ニューラル ネットワークである長/短期記憶ネットワーク)、ニューラル ODE (常微分方程式の解によって定義されるディープラーニング操作)、非線形 ARX モデル (ウェーブレット ネットワークやシグモイド ネットワークなど、柔軟性の高い非線形関数を使用して複雑な非線形動作をモデル化するモデル) などがあります。

AI モデルの学習に使用される他のオープンソースのフレームワークと相互運用することも可能です。

セクション

システムレベルのテストのための AI ROM の展開

AI ベースの ROM を作成した後は、その ROM を展開してシステムレベルのテストを行うことができます。

システム内のその他のコンポーネントの設計およびパフォーマンスをテストすることが目標の場合は、設計しているコンポーネントをターゲット ハードウェアで実行し、AI モデルをデスクトップで実行することが必要な場合があります。ハードウェアインザループ (HIL) のセットアップでは、以下の実行が必要になる場合があります。

  • コンポーネントをターゲット ハードウェア プラットフォームに展開する
  • リアルタイムのコンピューター システムで AI モデルを実行する
  • 複数のシステムを連携させてシミュレーションを実行し、信号を監視して、パラメーターを調整する

開発が終わると、AI モデルはモジュールとして再利用可能になります。勤務地にかかわらず、同僚もその AI モデルをシミュレーションやコンポーネントのテストで使用できます。このため、システムの並行設計および開発を加速できる可能性があります。

組み込みシステムが、ターゲット ハードウェアに展開されています。AI ベースの ROM が、リアルタイムのコンピューターに展開されています。システムは Simulink で相互運用され、システムレベルのテストが可能です。

ターゲット ハードウェアで実行されるテスト対象のコントローラーと、コンピューターで実行されるプラントモデル (この場合は自動車) をサポートする AI ベースの ROM を使用して、システムレベルのテストおよびシミュレーションを実行します。

セクション

AI 手法の選択

時間が許せば、各種手法を使用して複数の AI モデルを作成し、Simulink を使用してモデルを調整できます。たとえば、Simulink プロファイラーを使用すると、デスクトップ コンピューターでの各モデルの実行速度を確認できます。また、高忠実度モデルからの出力を AI モデルと比較して、精度を評価することもできます。

目的の用途に最適なモデルを判別するには、モデルを展開してすべてのメトリクスを収集する必要があります。

モデルの選択は、常に精度によって決定されるわけではありません。トレーニング速度、解釈可能性、推論速度、モデルサイズの検討が必要な場合もあります。手法が異なれば、生成される結果も異なります。そして、個別の ROM ごとに異なる長所と短所があります。

LSTM、ニューラル ODE、および 2 つの非線形 ARX モデルのパフォーマンスを比較したチャート。非線形 ARX モデルは、推論速度、モデルサイズ、および精度が非常に優れており、解釈可能性が良好ですが、学習速度は他の手法と比較して遅くなります。

車両エンジン ROM の各 AI モデルは、それぞれ異なるパフォーマンス プロファイルを示します。

理解度の確認