WEBVTT

00:00:02.990 --> 00:00:05.990
どうも、かねまるです。

00:00:05.990 --> 00:00:15.990
プラントライフは、化学プラントの技術者が、化学や工場に関するトピックを分かりやすく紹介する番組です。

00:00:15.990 --> 00:00:21.990
今回は、ソフトセンサーという特殊なセンサーの話をします。

00:00:21.990 --> 00:00:24.990
きょんきょんさんからお便りをいただきました。

00:00:24.990 --> 00:00:30.990
やってほしいテーマとして、一つ目、ソフトセンサーの活用。

00:00:30.990 --> 00:00:41.990
二つ目、実験計画法、多口メソッドと機械学習の比較、なんてテーマだと興味があります、とのことです。

00:00:41.990 --> 00:00:45.990
世の中には、たくさんのセンサーがあります。

00:00:45.990 --> 00:00:50.990
温度計とか、スマートフォンのタッチセンサーもそうです。

00:00:50.990 --> 00:00:55.990
冬場だと、湿度のセンサーも重要ですね。

00:00:55.990 --> 00:00:59.990
どれも物理的なセンサーが組み込まれています。

00:00:59.990 --> 00:01:03.990
ただ、ソフトセンサーはちょっと違います。

00:01:03.990 --> 00:01:12.990
いろんな物理的なセンサーの値を集めて、機械学習を使って新しい見方で検出します。

00:01:12.990 --> 00:01:15.990
なんでそんなものが必要なんでしょうか。

00:01:15.990 --> 00:01:22.990
センサー買ってきたらいいじゃんって思いますけど、そういうわけにもいかないんですよね。

00:01:22.990 --> 00:01:32.990
今回はソフトセンサーが求められる背景と使い方の話をして、その上で最後にいただいたテーマのもう一つ、

00:01:32.990 --> 00:01:40.990
多口メソッドと機械学習の関係についてもソフトセンサーに絡めて整理したいと思います。

00:01:40.990 --> 00:01:42.990
それでは行きましょう。

00:01:42.990 --> 00:01:53.750
まず、ソフトセンサーが必要になる背景をお話します。

00:01:53.750 --> 00:02:02.750
例えば、品質とか、成分とか、あとは水分量とか、濃度とか、

00:02:02.750 --> 00:02:10.750
本当はその値が欲しいけど、プラントを運転しながらは測れないようなデータがいっぱいあります。

00:02:11.750 --> 00:02:21.750
それはセンサーが高級品だったり、設置できなかったり、もしくはそもそも売ってないなんていうこともあります。

00:02:21.750 --> 00:02:31.750
化学プラントの多くは別の場所に測定室があります。品質管理室と呼んだりもしますかね。

00:02:31.750 --> 00:02:41.750
そこの部屋はだいたいエアコンが常時稼働していて、精密な機械が壊れないように常に管理されています。

00:02:41.750 --> 00:02:46.750
そういう分析装置って絶対現場には置けません。

00:02:46.750 --> 00:02:54.750
普段私たちが監視しているのは温度と圧力と流量の主に3つです。

00:02:54.750 --> 00:03:06.750
場合によってはpHを測ったり、タンクの中に液体が何リッター入っているかレベル計というもので測定したり、色々あります。

00:03:06.750 --> 00:03:12.750
製品が出来上がったタイミングでサンプリングという操作があります。

00:03:12.750 --> 00:03:20.750
これは一部製品を抜き出して分析室に持って行って測定をするということです。

00:03:20.750 --> 00:03:23.750
この分析が時間かかるんですよね。

00:03:23.750 --> 00:03:34.750
もちろん測定方法によって様々で、値が出るまでに数分から数十分、場合によっては数時間かかることもあります。

00:03:34.750 --> 00:03:43.160
それに対してプラントの運転って当然リアルタイムで操作します。

00:03:43.160 --> 00:03:54.160
でも品質が遅れてやってくると何が起きるかというと、分析の結果が出てくるのが過去の情報になっちゃうんです。

00:03:54.160 --> 00:04:01.160
プラントを運転していて、製品が出来上がったタイミングでサンプルを取ります。

00:04:01.160 --> 00:04:05.160
それを分析室に持って行きます。

00:04:05.160 --> 00:04:15.160
1時間後に結果が出て、不合格、品質が悪いという結果になったら、後追いで調整しないといけないです。

00:04:15.160 --> 00:04:22.160
プラントの多くの製品は連続的にずっと製造し続けています。

00:04:22.160 --> 00:04:29.160
その途中で数時間に1回とかサンプルを取って状態を確認します。

00:04:29.160 --> 00:04:37.160
そんな連続的に動いている状態で結果が1時間後ってなんか嫌じゃないですかね。

00:04:37.160 --> 00:04:50.160
1時間経って品質が悪かったので製造の仕方を調整してくださいって言われても、もう1時間運転しちゃったんですけどってならないですか。

00:04:50.160 --> 00:04:57.160
でもこれは測定原理とか測定の仕方の関係でどうしようもないんですよね。

00:04:57.160 --> 00:05:05.160
現状は過去の少し前のデータを使って微調整を繰り返している状況です。

00:05:05.160 --> 00:05:08.160
ずっと後追いなんです。

00:05:08.160 --> 00:05:14.160
そんな状況をどうしようかって考えられたのがソフトセンサーです。

00:05:14.160 --> 00:05:18.160
成分みたいな時間がかかるデータは取れないけど、

00:05:18.160 --> 00:05:28.160
普段自分たちが管理している温度とか流量とかって成分に関係しているはずだよねっていう話です。

00:05:28.160 --> 00:05:37.160
じゃあ今ずっと取っている温度とか流量とかのデータを使って成分が計算できないかな。

00:05:37.160 --> 00:05:47.160
リアルタイムで成分のデータってずっと出せないかなっていう考え方をしてソフトセンサーが始まりました。

00:05:47.160 --> 00:05:58.160
分かりやすい話ではあるんですけど、私たちが普段Excelを使ったりして散布図を書いて相関を見るような単純な話じゃないんです。

00:05:59.160 --> 00:06:07.160
様々なセンサーのデータが複雑に絡み合って、やっと品質のデータとして計算できます。

00:06:07.160 --> 00:06:12.160
このために機械学習モデルを組み立てる必要があります。

00:06:12.160 --> 00:06:22.160
様々なデータっていうのは単純にセンサーの数が1個2個3個っていう話だけじゃないんです。

00:06:22.160 --> 00:06:37.160
化学反応を始めて1分後の温度データ、10分後の温度データ、30分後の温度データ、31分、32分、60分後の温度データ。

00:06:37.160 --> 00:06:46.160
単純にセンサーの値を1個使うだけでも時間軸っていうのが関わってくると大量のデータになってきます。

00:06:47.160 --> 00:06:54.160
そしてその時間軸のデータを全部使うのか一部だけ使うのか。

00:06:54.160 --> 00:07:06.160
場合によっては化学反応を始めて1時間から1時間半のデータが大事だけど最初30分はいらないなんてこと。

00:07:06.160 --> 00:07:10.160
ちょっと極端な言い方しましたけどあり得るかもしれないんです。

00:07:10.160 --> 00:07:19.180
ここで私が思っているソフトセンサーの使い方っていうのを3種類紹介します。

00:07:19.180 --> 00:07:26.180
1つ目が先ほどから話している運転状態の見える化です。

00:07:26.180 --> 00:07:37.740
品質が遅れてしかわからないんだったら推定値でもいいんで今どんな状態かが見えるだけで創業が安定します。

00:07:37.740 --> 00:07:41.740
2つ目が異常の早期検知です。

00:07:41.740 --> 00:07:47.740
装置が汚れてきたとか反応に使う触媒が劣化してきたとか。

00:07:47.740 --> 00:07:52.740
ソフトセンサーは複数の信号の関係を見ています。

00:07:52.740 --> 00:08:03.740
それもあって物理的なセンサーよりも信号の関係が崩れたっていう見方で異常を早く検知できる可能性があります。

00:08:03.740 --> 00:08:09.180
3つ目が制御への活用です。

00:08:09.180 --> 00:08:15.180
1つ目の見える化に対する応用だと思ってください。

00:08:15.180 --> 00:08:23.180
ソフトセンサーを使って出てきた値を人が見て判断して調節するんじゃなくて、

00:08:23.180 --> 00:08:30.180
人を経由せずにプラントの運転制御装置が使うっていうことです。

00:08:31.180 --> 00:08:39.180
リスクがあって難易度が高いですけど、これが実現できると相当大きな効果を得られます。

00:08:39.180 --> 00:08:48.430
こうやってソフトセンサーがすごいみたいな話をしてますけど、めちゃめちゃ万能なわけじゃないんです。

00:08:48.430 --> 00:08:54.430
連続的にずっと同じ条件で動いている場合が得意です。

00:08:54.430 --> 00:09:02.430
もちろん推定したい品質が温度とか流量にちゃんと影響を与えているかってところも大事です。

00:09:02.430 --> 00:09:11.430
予算や設置場所の関係でセンサーがついてないところっていうのは、当然ソフトセンサーが使えません。

00:09:11.430 --> 00:09:22.430
あとは機械学習モデルを組みますので、今まで運転した経験があるところ、データが残ってある範囲でしか活用できません。

00:09:22.430 --> 00:09:33.430
そこから外側は外装って言ったりしますけど、機械学習モデルは予想はしてくれるけど本当に正しいのか、

00:09:33.430 --> 00:09:39.430
経験したことがないからわかんないっていうちょっと怖い領域になります。

00:09:39.430 --> 00:09:47.430
運転条件だけじゃなくて設備を改造したとか、原料の種類が変わったとか、

00:09:47.430 --> 00:09:55.430
そういうことに対しても変更直後っていうのはソフトセンサーは対応できません。

00:09:55.430 --> 00:10:04.430
新たにデータを収集して機械学習モデルを新しく構築してやっと使えるようになります。

00:10:04.430 --> 00:10:14.430
だからこそ、今このソフトセンサーが信頼できる値の状態になっているかっていうのを常に意識しておかないといけません。

00:10:14.430 --> 00:10:26.430
分析室で見ているような指標の場合は、定期的に測定をしてソフトセンサーとの差を見て調節するっていうのがいいと思います。

00:10:26.430 --> 00:10:31.430
一定以上のズレが出たら再学習が必要という判断です。

00:10:31.430 --> 00:10:39.450
ソフトセンサーの導入までの流れを簡単に紹介します。

00:10:39.450 --> 00:10:42.450
まずは目的を決めましょう。

00:10:43.450 --> 00:10:46.450
何を推定したいんでしょうか?

00:10:46.450 --> 00:10:50.450
この品質を見たいって決めるだけじゃなくて、

00:10:50.450 --> 00:11:00.450
この品質をソフトセンサーで見たことでどんな良いことがあるのか、そこまで決めないといけないです。

00:11:00.450 --> 00:11:10.450
具体的には誰がどんな指標を見て何に使うのか、そこまで決めておかないと

00:11:10.450 --> 00:11:18.450
頑張ってソフトセンサー入れたけど使えないってなる形、よく聞きます。

00:11:18.450 --> 00:11:23.450
そして2段階目がデータを揃えるところです。

00:11:23.450 --> 00:11:27.450
地味なんですけど、かなり重要な要素です。

00:11:27.450 --> 00:11:35.760
データ分析の世界では、ガーベッジイン、ガーベッジアウトという言葉があります。

00:11:35.760 --> 00:11:45.760
ゴミのデータを入れたらゴミの結果しか出てこないっていう意味合いなんですけど、成果を決めるのはデータです。

00:11:45.760 --> 00:11:50.760
データに欠損があったら困りますね。

00:11:50.760 --> 00:11:58.760
1秒周期で細かく見ないといけないデータなのに、1分周期だったら正しく捉えられません。

00:11:58.760 --> 00:12:04.760
場合によってはデータの時間が間違っているなんてこともあり得ます。

00:12:04.760 --> 00:12:17.760
実際に手元に保存されたデータは12時のデータなんだけど、実際は11時の時の1時間前のデータだったっていうこともあり得ます。

00:12:17.760 --> 00:12:30.760
この原因っていろいろあるんですけど、パソコンの時刻設定が狂っていたとか、参照している時刻が実際の計測した時刻じゃなくて、

00:12:30.760 --> 00:12:38.760
CSVにまとめてファイルとして作成した時刻を保存している場合もあります。

00:12:38.760 --> 00:12:52.460
取得しているデータが何を意味していて、目的の品質とか指標に合っているかっていうのは詳細に確認するようにしてください。

00:12:52.460 --> 00:12:57.460
そして3段階目が機械学習モデルを作ります。

00:12:57.460 --> 00:13:07.460
モデルって聞くとちょっと難しい感じがするんですけど、最初から難しいモデルを使わなくて大丈夫です。

00:13:07.460 --> 00:13:14.460
Excel でできるような創価を見るようなやつ、単回帰って言ったりします。

00:13:14.460 --> 00:13:22.460
もしくは10回帰、複数の測定データを使って創価を見るような感じで。

00:13:23.460 --> 00:13:34.460
あとは PLS とかリッチ回帰とかラッソ回帰とか、昔から使われているようなモデルってのもあります。

00:13:34.460 --> 00:13:45.460
こうして比較的優しい形のモデルを選んで、それでもダメだったら、もっと難しいニューラルネットワークっていうやつですね。

00:13:45.460 --> 00:13:51.800
ディープラーニングを使って予測するところまで考えていきます。

00:13:51.800 --> 00:14:00.800
だんだんと測定精度は上がってくるとは思うんですけど、逆にブラックボックス化してきます。

00:14:00.800 --> 00:14:12.800
なんでそういう判断をしたのかが分かりにくくなって、導入時に現場の方から本当にこれ大丈夫なんですかって聞かれる場合もあります。

00:14:12.800 --> 00:14:17.800
用途に合わせてモデルをうまく調整してください。

00:14:17.800 --> 00:14:23.800
そしてモデルが出来上がったら検証していきます。

00:14:23.800 --> 00:14:29.800
実際に用意したデータで精度があるのは当然です。

00:14:29.800 --> 00:14:36.800
大事なのは実際の運転に合っているかというところです。

00:14:36.800 --> 00:14:43.800
ここで一番最初に決めた目的に立ち返ることになります。

00:14:43.800 --> 00:14:50.800
何のためにその指標を使うか、何でソフトセンサーを作るかという目的によって、

00:14:50.800 --> 00:14:57.800
現実とちょっと合わないなーって思っても意外と使える場合があります。

00:14:57.800 --> 00:15:05.800
あなたの作ったソフトセンサーって精度が100%とか求められるものですか?

00:15:05.800 --> 00:15:11.800
80%でも使えるような用途ではなかったですか?

00:15:11.800 --> 00:15:19.800
モデルの精度の良さっていうのと、実際に目的に合った使い方ができるかってところは違います。

00:15:19.800 --> 00:15:28.050
複雑なモデルを組み上げて精度を上げたところでそんなに効果が変わらないんだったら、

00:15:28.050 --> 00:15:35.050
そこそこのモデルで計算量を少なくしてすぐ導入できるようにした方がいいと思います。

00:15:35.050 --> 00:15:42.390
最後にモデルが出来上がったら保守と運用です。

00:15:42.390 --> 00:15:47.390
ソフトなセンサーと言いながらも劣化します。

00:15:47.390 --> 00:15:53.390
それは物理的な情報をもとにソフトを組み上げているからです。

00:15:53.390 --> 00:16:03.390
原料が変わったり、触媒が劣化したり、熱交換器が汚れたり、運転の仕方が変わったり、

00:16:03.390 --> 00:16:07.390
いろいろずれる条件があります。

00:16:07.390 --> 00:16:13.390
定期的に性能を確認してズレを見るのはもちろんなんですけど、

00:16:13.390 --> 00:16:22.390
原料が変わったりとか装置が変わったりとか、何か変更点があるときに連絡がもらえるように、

00:16:22.390 --> 00:16:27.390
すぐ対応できるようにするっていう関係構築も大事になります。

00:16:27.390 --> 00:16:30.390
そこの仕組み作りまでが重要です。

00:16:30.390 --> 00:16:49.260
最後にお便りでいただいた実験計画法、タグチメソッドと機械学習の比較の話をします。

00:16:49.260 --> 00:16:53.260
タグチメソッドっていうのは、品質を作り込んで、

00:16:53.260 --> 00:17:02.260
ばらつきに強くするための考え方とか進め方をまとめたようなものだと考えてください。

00:17:02.260 --> 00:17:08.260
その中で使われるとても有名なものが実験計画法です。

00:17:08.260 --> 00:17:19.260
実験計画法っていうのは、少ない実験回数で目的の条件にまで到達させるような実験のやり方ですね。

00:17:19.260 --> 00:17:24.260
とても有名なのが直行表っていうものです。

00:17:24.260 --> 00:17:30.260
理科の実験で対象実験っていう言葉聞いたことないでしょうか。

00:17:30.260 --> 00:17:37.260
3種類ぐらい条件があって、その中のどれが効いてるかを確認するために、

00:17:37.260 --> 00:17:47.260
2つを固定して1個を変更させて、このパラメータが効いてたんだなっていうのを理解するようなやり方です。

00:17:47.260 --> 00:17:55.260
わかりやすいんですけど、よく考えたらこれ、条件がたくさんあると地獄みたいな実験になりますよね。

00:17:55.260 --> 00:17:59.260
少しパラメータを増やしてみます。

00:17:59.260 --> 00:18:12.260
温度と時間と濃度と混ぜる速度と量と、5種類の条件をそれぞれ3段階で試したいとします。

00:18:12.260 --> 00:18:20.260
時間だったら5分と60分と2時間と、いろいろありますよね。

00:18:22.540 --> 00:18:31.540
5個の条件を3段階で試したいってなると、3の5乗で243通りになります。

00:18:31.540 --> 00:18:34.540
現実的じゃありません。

00:18:34.540 --> 00:18:41.540
たぐちメソッドの直行表を使うと、組み合わせ表というものがありまして、

00:18:41.540 --> 00:18:49.540
代表的な組み合わせだけを試すことで、少ない実験回数だけで要点をつかめるようになります。

00:18:49.540 --> 00:18:58.540
たぐちメソッドの実験計画法は、うまいことデータを取ってくるような仕組みっていう感じですかね。

00:18:58.540 --> 00:19:07.540
それに対して機械学習っていうのは、たぐちメソッド、実験計画法で得られたデータを活用して、

00:19:07.540 --> 00:19:13.540
モデルを組み上げて、何かの予測をするっていうものです。

00:19:13.540 --> 00:19:23.540
改めて整理しますと、実験計画法でデータを集めて、機械学習モデルを組み上げるということになります。

00:19:23.540 --> 00:19:31.940
ソフトセンサーは機械学習モデルで作るっていう話はしました。

00:19:31.940 --> 00:19:38.940
例えばソフトセンサーを作りたいけど、過去のデータに変化が少ないとき、

00:19:38.940 --> 00:19:45.940
ずっと同じ運転していると、温度も流量もあんまり変わらないんですよね。

00:19:45.940 --> 00:19:51.940
そうすると、どのパラメーターが効いているかっていうのもわかりにくいですし、

00:19:51.940 --> 00:19:58.940
ちょっと条件が変わっただけで、使い物にならないソフトセンサーになっちゃいます。

00:19:58.940 --> 00:20:08.940
こういう時は現場の対応できる範囲内で、温度とか流量を大きめに上げ下げしてデータを集めるっていうことをします。

00:20:08.940 --> 00:20:18.940
その上げ下げの操作をどんな組み合わせでやったらいいかって考えるのに、実験計画法は向いてると思います。

00:20:18.940 --> 00:20:28.940
さすがに現場的には、ずっとパラメーターを変更して情報を集め続けるっていうのはあまり好きじゃないですね。

00:20:28.940 --> 00:20:38.940
意図を持って、必要最低限の変更で終わらせるということをするために、実験計画法が向いています。

00:20:38.940 --> 00:20:46.940
ちなみに最近、適応的実験計画法という言葉も出てくるようになりました。

00:20:46.940 --> 00:20:53.940
機械学習モデルを使って実験計画を立てる手法です。

00:20:53.940 --> 00:21:04.940
今までのデータを使って機械学習モデルを作って、だいたいこの辺はこういう成果が出そうだぞっていう予測を立てます。

00:21:04.940 --> 00:21:11.940
その予測をもとに、1回実験をしてみて、成果を出して、

00:21:11.940 --> 00:21:18.940
1個実験が終わったら、また新しい機械学習モデルを作ります。

00:21:18.940 --> 00:21:28.940
新しい機械学習モデルが推奨する条件で実験して、また新しい機械学習モデルを作ります。

00:21:28.940 --> 00:21:37.940
それを繰り返すことで、すごく短期間で目的の精度に到達できるっていう事例も多々あります。

00:21:37.940 --> 00:21:47.940
人が実験条件を決める時って、20度で上手くいったから、次25度に上げようとか、30度に上げようとか、

00:21:47.940 --> 00:21:54.940
上手くいった、次40度に上げてみて、なんか微妙だったなってなるから、

00:21:54.940 --> 00:22:01.940
チャンピオンデータで30度にしようとか、そんな決め方はすると思うんですよね。

00:22:01.940 --> 00:22:12.940
適応的実験計画法のイメージとしては、20度とか10度とか、何種類か実験データがあるとしますね。

00:22:12.940 --> 00:22:22.940
その結果を元に、60度だったら性能が良いものができる確率が高いと出したりします。

00:22:22.940 --> 00:22:35.940
20度から急に飛んで60度で実験して、その幅広い実験結果を使いながら、最終的に32度にしてみてくださいとか、

00:22:35.940 --> 00:22:39.940
そういうような提案の仕方になっていきます。

00:22:39.940 --> 00:22:46.940
人間がやると、良い結果が出たから、その付近をやってみようってなりますよね。

00:22:46.940 --> 00:22:55.940
適応的実験計画法を使って機械学習モデルを参考にして、客観的に実験計画を立ててもらうと、

00:22:55.940 --> 00:23:06.940
ちょっと人間だと考えつかないような飛んだパラメータの設定をして、これでどうですかっていう提案をしてくれます。

00:23:06.940 --> 00:23:20.940
将来的にはロボットが実験して、その結果を元に機械学習モデルで次の実験計画を立てて、またロボットが実験して、計画を立てて、

00:23:20.940 --> 00:23:29.940
っていう感じで、無人でどんどん高い性能の製品ができる可能性があります。

00:23:29.940 --> 00:23:33.940
まだちょっと先の話なんですけどね。

00:23:33.940 --> 00:23:41.940
現状は人が分析しないといけないんで、結果のフィードバックがやっぱり時間がかかっちゃいます。

00:23:41.940 --> 00:23:49.940
出来上がったサンプルが大量に並んで、分析に追われているような話も私は聞いたことがあります。

00:23:49.940 --> 00:23:56.120
本題はここまでで、最後にお知らせです。

00:23:56.120 --> 00:24:05.120
持続可能なポッドキャストライフを過ごすため、2025年は28日の放送で終わります。

00:24:05.120 --> 00:24:11.120
2026年の放送開始は1月7日を予定しています。

00:24:11.120 --> 00:24:15.120
ご想像の通り、実家に帰ります。

00:24:15.120 --> 00:24:20.370
皆さんも無理のない年末年始をお過ごしください。

00:24:20.370 --> 00:24:22.370
今回はここまでです。

00:24:22.370 --> 00:24:27.370
プラントライフでは、化学や工場に関するトピックを扱っています。

00:24:27.370 --> 00:24:32.370
毎週水曜日と日曜日の朝6時に定期配信しています。

00:24:33.370 --> 00:24:38.370
番組へのお便りは概要欄にあるお便りフォームから投稿ください。

00:24:38.370 --> 00:24:47.370
そしてこのプラントライフがいいなと思っていただけたら、番組のフォローや各ポッドキャストアプリから評価をお願いします。

00:24:47.370 --> 00:24:53.370
Xで発信していただける場合は、ハッシュタグプラントライフをつけてください。

00:24:53.370 --> 00:24:57.370
それではお聞きいただきありがとうございました。
