No Code:Python環境を必要としない仮想センサー

センサーモデルに至る通常の道筋は、Python環境、Notebook、そして互いに整合させる必要のある一連のライブラリを経由します。Data Sensorsでは、測定データを解析するのと同じアプリケーション内で仮想センサーを構築します。

ここで不要になるもの

Pythonのインストールも、互いに整合させるべきパッケージのバージョンもありません。維持管理が必要なNotebookもありません。作業環境間で同期させるトレーニングスクリプトもありません。トレーニング形式から実装形式への変換の連鎖もありません。Data SensorsはWindowsとmacOS向けのデスクトップアプリケーションです。

ハイパーパラメータの自動決定

モデルの精度はハイパーパラメータに依存します。木の本数、最大深さ、学習率、層数、層あたりのニューロン数です。その決定は通常、独立した反復的な作業工程になります。Data Sensorsではこれが自動化されています。3つのモデルタイプはいずれも自らハイパーパラメータを最適化し、利用可能な計算時間に応じてベイズ最適化、Random Search、Grid Search、代理モデル戦略のいずれかを用います。

モデル系列を事前に絞り込む必要もありません。モデルコンペティションが、同じチャネルに対してランダムフォレスト、XGBoost、ニューラルネットワークの候補を同時にトレーニングし、検証RMSE、R²、トレーニング時間、適合診断とともにランキングに並べて提示します。

ランダムフォレスト、XGBoost、ニューラルネットワークの候補がトレーニング対象として選択されたモデルコンペティションの設定画面

派生した入力量:スクリプトではなく式で

意味のある入力量が、それ自体は記録されておらず、他の2つの量から得られる場合があります(トルクと回転数から求める出力など)。そのために計算信号があります。数式エディタに式を入力すると、結果が通常の信号として表示され、トレーニングの入力チャネルとして利用できます。

torque×motor_speedという式からpowerという名前の新しい信号を定義する計算信号パネル

コード生成

エクスポートは、トレーニング済みモデルから予測関数の独立した実装をC、C++、Python、MATLABで生成します。Data Sensorsへの依存もランタイムライブラリも不要です。結果は通常のソースコードであり、他のコードと同様にチェックイン、レビュー、コンパイルができます。

No Codeが意味しないこと

なくなるのはプログラミング作業であり、技術的な知見ではありません。どのチャネルが入力として妥当か、測定が対象の運転領域を網羅しているか、結果が物理的に妥当かは、引き続き担当部門が判断します。Data Sensorsが代替するのはツールチェーンであり、モデルの技術的評価ではありません。

その際に助けとなるのが、評価をトレーニングデータではなくホールドアウトした検証用データで行い、データセットが十分に大きい場合にはトレーニングにもモデル選択にも使わない独立したテスト用データでも行うという点です。楽観的すぎる結果は、モデルがECUに載る前に判明します。