トレーニング済みの機械学習(ML)モデルをシミュレーションモデルに組み込むことが望ましい場合が多くあります。以下は、MLテストベッドのケースに基づいた具体的な例です:
- 静的または分布ベースの移動時間を、実際のデータでトレーニングされたMLモデルに置き換えます。このモデルは、日付と時刻の入力を使用して移動時間を予測します。
- 到着したコンポーネントの修理可能性を分類するために使用される、実際の施設で使用されているのと同じMLモデルを、精度を高めるために施設のシミュレーションモデルに組み込みます。
- 実世界に導入する前に、機械速度を制御するようにトレーニング(強化学習を使用するなど)されたMLモデルを実装することの影響と全体的なパフォーマンスを視覚的および統計的に示します。
このようなタイプのケースでは、入力データが取得されて前処理されてから、利用可能な多くのMLライブラリ(TensorFlow、キャレット、DL4Jなど)の1つを使用してMLモデルをトレーニングするために使用されます。目的のポリシーが見つかったら、ファイルタイプでエクスポートし、後で呼び出して予測を提供できます(たとえば、エッジデバイスやシミュレーションモデルで)。
拡張子が “.onnx” のこれらのファイルタイプの1つは、Open Neural Network ExchangeであるONNXからのものです。その目的は、MLモデルが1つの特定のフレームワークにロックされるのを防ぐのに役立つオープンエコシステムを提供することです。ONNX形式のMLモデルは、さまざまなフレームワークからインポートして呼び出すことができ、クロスプラットフォームとクロス言語の両方をサポートしています。

以前、AnyLogicユーザーは、Java(プログラマーレベルの知識が必要)またはPythonを介してPypelineアドオンを使用して(計算オーバーヘッドを犠牲にして)ONNX互換ライブラリにアクセスすることを制限されていました。
現在、AnyLogicのビジネスユーザー重視のおかげで、新しいライブラリによりONNXアクセスがより簡単かつ効率的になりました。ONNX Helperライブラリは、すべてのユーザーがMLワークフローを合理化するのに役立つ効率的なアドオンです。
このアドオンライブラリをAnyLogic環境に組み込むことにより、他の組み込みライブラリと同じように、モデルがその機能にアクセスできるようになります。モデルにヘルパーオブジェクトを追加し、ONNXファイルを参照するように構成するだけです。次に、AnyLogicモデルのどこからでも、単一の“predict” 関数を呼び出して出力を照会できます。
このアドオンライブラリは、MLモデルのトレーニングには使用されませんが、すでにトレーニングされたMLモデルのクエリには使用されないことにご注意ください。AnyLogicが汎用シミュレーション用に最適化されており、MLモデルの適切なトレーニングは複雑で時間がかかる可能性があることを考えると、トレーニングは専用の特殊な環境で最適に実行されます。
インストール、使用法、例など、ライブラリの詳細については、AnyLogic ONNXプロジェクトページをご参照ください。