構築したモデル(学習済みモデル)を保存しておく?

分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子・実験条件・合成条件・製造条件・評価条件・プロセス条件・プロセス変数などの特徴量 x と分子・材料の物性・活性・特性や製品の品質などの目的変数 y との間で数理モデル y = f(x) を構築し、構築したモデルに x の値を入力して y の値を予測したり、y が目標値となる x の値を設計したりします。

構築したモデル (学習済みモデル) に関して、また後ほど使用したい時に、モデルを保存しておくことがあります。例えば、畳み込み・・・やグラフ・・・、オートエンコーダのような、ディープニューラルネットワークベースのモデルについて、GitHub を通じて既に学習されたモデルを、そのまま使用したことのある方もいらっしゃると思います。

一方で、ケモインフォマティクス、マテリアルズインフォマティクス、プロセスインフォマティクスにおいては、モデルを構築する際にサンプル数が小さいことも多く、モデル構築に時間がかからないこともしばしばです。そのような時には、モデル構築手法を決めておけば短時間でモデル構築ができるため、特にモデルを保存しておく必要はありません。

もちろん、ハイパーパラメータを決めておいたり、ハイパーパラメータの決め方を固定しておいたりする必要はあります。また、決定木やランダムフォレストなど、モデル構築時に乱数を用いる場合には、乱数のシードを固定しておく必要があります。そうすれば、再現性のあるモデルを、その都度構築することが可能です。

実験やシミュレーションと機械学習モデルの構築を繰り返し行う場合には、サンプルが変化しますので、モデルは保存しておかず、予測するたびにモデルを構築しておくと間違えがなくて良いと思います。

 

ソフトセンサーにおいて、モデルの予測精度を維持するために適応型ソフトセンサーが使用されます。

適応型ソフトセンサーで産業プラントにおけるプロセス状態等の変化に対応する (Adaptive Soft Sensor)
化学プラント・産業プラントにおいて、測定することが難しいプロセス変数の値を、コンピュータでリアルタイムに推定するため、ソフトセンサーが活用されています。“ソフトセンサー” とかっこいい名前がついていますが、結局はあるいくつかのプロセス変数 ...
適応型ソフトセンサーを検証できる Python コードを作りましたので、ぜひご自身のデータセットでお試しください
化学プラント・産業プラントにおける測定が難しいプロセス変数の値を、機械学習・人工知能で推定しよう! というのがソフトセンサーですが、プラントでソフトセンサーを用いるときは、基本的に適応型ソフトセンサー (Adaptive Soft Sens...

 

適応型ソフトセンサーでは、装置やプラントで測定された y の新しいデータを活用して、モデルが再構築されます。Just-in-time 型の適応型ソフトセンサーでは、予測するごとにモデルが構築されるため、そもそもモデルを保存しておくことはありませんが、ソフトセンサーの特性上、リアルタイムに予測する必要があることから、例えば moving window 型の適応型ソフトセンサーでモデル構築に時間がかかってしまう時には、構築済みのモデルを保存しておくと良いでしょう。保存されたモデルで予測しつつも、y の新しいデータが得られた時には予測と並行してモデルを再度構築し、構築が終わったら保存されたモデルを置き換えます。こうすることで、リアルタイムの予測とモデルの再構築を両方達成できます。

ちなみに Python では、pickle モジュールを用いてモデルの保存ができます。モデルの保存については、適材適所で使い分けると良いかと思います。

 

以上です。

質問やコメントなどありましたら、X, facebook, メールなどでご連絡いただけるとうれしいです。

タイトルとURLをコピーしました