製造業における機械学習の活用事例

2017/11/28
執筆者:
· 推定読書時間 3  分

データロボットの坂本康昭です。今回のトピックは機械学習 in 製造業です。

製造業といえば日本の代表的産業。製造業では、大量のデータを生成する複雑なプロセスが一般的になり、より効率的な分析方法が必要となります。

その答えのひとつが、今大きな注目が集まっている、機械学習です。製造業における機械学習は、大きく5つの分野で活用できるのではないかと期待されています。

Screen Shot 2017-11-16 at 12.04.24

  1. ひとつは、製品の需要や売り上げを予測するといったケースです。これは、機械学習が活躍できる分野ですが、製造業特有ではありません。
  2. 次に、ものづくりのコアな分野であるR&Dです。R&Dでは、材料の特性予測によって、材料選定やテストを効率化して、製品を市場に投入するまでの時間を短縮できます。
  3. 続いて、製造ラインです。こちらも、ものづくりのコアな分野です。製造ラインでは、不良品や設備故障の予測によってコストを削減したり歩留まりを向上することができます。
  4. それから、IoTとAIを活用したアフターケアの自動化です。あらゆる製品がインターネットにつながると、製品から送られてくるデータを学習することで、製品の異常検知や故障予測が可能になります。それによりその性能を常に更新し、ユーザや環境のニーズに合わせて、付加価値のあるアフターケアを提供することができます。
  5. 最後に、機械学習を組み込んだ、自分で「考える」スマートプロダクトです。製品に機械学習のモデルを搭載することで、よりスマートな選択をリアルタイムでオフラインでも実施する製品に進化することができます。製品が自動的に予測に基づいて制御をしたり、コミュニケーションをして、ユーザーをサポートすることができます。

IoTやスマートプロダクトの分野は、破壊的なイノベーションに繋がる可能性があり、未来のものづくりの発展に重要な役割を果たしています。例えば、機械学習のモデルを設備に搭載することで、スマート製造システムに変換し、工場の自動化を促進します。DataRobotでは、エッジディバイスに機械学習モデルを搭載する手助けをする、codegenという、DataRobotで構築されたモデルのコードをダウンロードする機能があります。このように、DataRobotでは、機械学習の自動化に力を入れており、生成したモデルのデプロイのファーストステップまで自動化されています。

一方で、スマートプロダクトの分野で、どのようなビジネスインパクトがあるのかは、まだ明確ではありません。DataRobotでは、よりビジネスインパクトが明確な製造ラインやR&Dの現場で便利な機能も準備しております。ここでは、製造ラインやR&Dといった製造業のコアな分野にフォーカスをして、現場で使える機械学習についてご紹介いたします。

現場で使える機械学習

生産プロセスでは、たくさんの監視センサが毎秒などの高頻度で収集する時系列センサデータ、クリティカルなイベントが発生したときの警告に関するアラームデータ、また、制御パラメータの設定や各タスクの結果およびオペレータの介入などが記録されたプロセスログデータが、膨大な量つくられています。

これらのデータを活用することで、不良品検知や予知保全、また、材料の特性予測に機械学習を応用することができます。

Screen Shot 2017-11-16 at 19.55.07

不良品検知

製造ラインでは、より良い製品品質と処理効率を達成することで、コストを削減することができます。

上の表にありますように、機械学習では、材料などの製造スペックや生産状況などの製造条件に関するデータから、その時作られた製品の品質を予測します。品質検査において、不良品である確率が高いもののみ人が検査を行うことで、検査工程のコスト削減とリードタイムの短縮が可能になります。

また、機械学習モデルの見える化で、不具合要因を発見し、不良品が出ないようにプロセスを改善することで、歩留まりの向上を図ります。ここでいう機械学習モデルの見える化とは、どのような要因が不良品の発生に影響しているのかであったり、ある要因を変更することによって製品の質がどう変わるのかといった、単にデータを可視化するのではなく、機械学習モデルが発見した複雑なパターンを説明可能なものにするというものです。

Screen Shot 2017-11-16 at 20.30.23

予知保全

製造ラインでは、製品を作るために必要な設備の管理も重要です。複雑な製造システムでは、システム動作の事前知識があるわけではありません。

機械学習は、製造設備が発信する電流、振動、音など様々なデータを学習して、その設備自身の故障および残存耐用年数を予測することができます。機械学習モデルが、設備異常の予兆を把握することができるのです。

予兆に加えて、機械学習モデルの見える化は、故障要因の特定を可能にします。それに基づくメンテナンスを事前に行うことで、設備の可動率の向上を図ります。

特性予測

新しい製品や材料を検証するR&Dも、ものづくりのコアのひとつです。R&Dにおいて、検討すべき手法は無限にあります。例えば、より強度の高いコンクリートを生み出すために、いくつもの材料の混ぜ方をシミュレーションを通じて最適化します。より性能の良い鉄であったりプラスティックやインクの開発など、似た事例はたくさんあります。

機械学習モデルで特性を予測することで、検討すべき手法の優先順位をつけることができます。テストの回数を減らすことで、より効率的なR&Dが可能になります。

また、これまで匠の世界とされてきた材料選定や加工条件のチューニングも、機械学習モデルの見える化により、どの要因が特性に影響を与えるかを知ることができるようになります。これにより、迅速なR&Dを実現します。

製造業でよく活用されるDataRobotの機能

今紹介いたしました製造業のR&Dや製造ラインにおける機械学習の事例でもありましたように、モデルの見える化は予測を実際に使う上で重要な役割を果たします。もちろん、製造業以外でも、モデルの見える化はとても役に立ちます。

DataRobotでは、機械学習の自動化に加えて、機械学習モデルの見える化にも力を入れています。DataRobotは、与えられたデータの性質にあった様々な機械学習のモデルを網羅的に自動でそして高速で試してくれますので、より良いモデルをより早く発見することができます。また、モデルの構築と検証だけでなく、モデルを予測に使うところもDataRobotでは自動化されています。数ヶ月かかっていたモデルの構築と検証そしてデプロイが、数時間で終わるという世界になります。それに加えて、DataRobotでは、モデルを理解して予測を説明するための様々な見える化機能を準備しております。この、モデルの見える化もDataRobotの機械学習の自動化の一部です。

機械学習モデルの見える化のことをDataRobotではグレーボックスと呼んでおります。DataRobotの様々なグレーボックス機能の中でも、特徴量のインパクト、モデルX-Ray、リーズンコードという3つの機能が、製造業でよく活用されています。

特徴量のインパクト

DataRobotには、選択したモデルの予測に、どの特徴量が影響をもたらしていたかを理解するための、特徴量のインパクトという機能があります。予測の対象となったターゲットに対して、影響がいちばん大きかった特徴量の影響度合を100%とした時に、他の特徴量がどれくらい影響していたかを表示します。

特徴量のインパクトを見ることによって、どの特徴量が予測するために最も重要かということがわかります。やっぱりこの特徴量は影響するよねと仮説の検証をすることができますし、こんな特徴量も影響するんだと新しい気づきになることもあります。

例えば、下のグラフは、コンクリートの圧縮強度を予測したもので、この例では、材齢が強度を予測するために最も重要であるということがわかります。同じように、不良品に関連する特徴量や設備故障に繋がる特徴量を明らかにすることができます。

Screen Shot 2017-11-17 at 11.02.36

特性を予測するのに重要な材料や、加工条件が明らかになることによって、材料選定や加工条件のチューニングを効率化することができます。例えば、影響力の少ない材料や加工条件を取り除くことによって、材料やテストのコストや時間の削減が可能になります。同じように、不良品検知や予知不全の予測に影響する要因を理解して、効率をより良くすることができます。

特徴量のインパクトは予測するのに重要な特徴量を明らかにしてくれますが、その特徴量がどのように予測に影響しているのかは教えてくれません。例えば、特徴量のインパクトを見ただけでは、材齢が長いほうがコンクリートの強度が上がるのか、それとも材齢が短い方が強度が上がるのかはわかりません。

モデルX-Ray 

さらに深掘りして、影響力の高い特徴量と予測対象の関係性をみることができるDataRobotの機能が、下のグラフに表示されています、モデルX-Rayです。

先程、特徴量のインパクトで、材齢がコンクリートの圧縮強度に影響力が高いということがわかりました。モデルX-Rayを見ますと、日にちが経つほど圧縮強度が上がりますが、100日目あたりからは材齢が増えても圧縮強度が変わらないということがわかります。

Screen Shot 2017-11-17 at 11.22.03

このように、モデルX-Rayでは、特徴量の値を変えることが予測にどう影響するかを明確にしてくれます。ここでは、材齢パラメータの変更がコンクリートの圧縮強度に与える影響がわかります。同じように、パラメータ変更が、不良品や設備故障の予測にどのような影響を及ぼすかを理解することができます。

リーズンコード

製造業で良く活用されるDataRobotのもうひとつの機能はリーズンコードです。リーズンコードはひとつひとつの予測スコアを説明してくれる、この記事を書いた日現在、DataRobotにしかない、貴重な機能です。

正確な予測モデルを構築したとしても、モデルがブラックボックスで、出てきた予測の説明ができないと、予測結果をアクションに繋げることが難しくなります。例えば、センサデータを有効に活用してプロセスを改善するには、センサデータのパターンと不良品であるかどうかの関係性をしっかりと理解できなくてはなりません。

リーズンコードは、予測をアクションに繋げるためにとても役立つ機能です。下のグラフでは、コンクリートの圧縮強度が最も高い3つの例を赤で、強度が最も低い3つの例を青で表示しています。これら6つの例ひとつひとつの予測スコアに最も効いている理由を3つ教えてくれます。例えば、下のグラフのID780の予測スコアが75.022である理由は、材齢が91で、単位セメント量が374で、高炉スラグ分量が189.2であるということになります。

Screen Shot 2017-11-25 at 1.39.55

同じような予測スコアであっても、そのスコアの理由が違うことがあります。そのような場合、同じスコアには同じアクションをとるのではなく、リーズンコードを見ることによって、理由にあったアクションを取ることができるようになります。例えば、強度が高くなる理由をしっかりと理解して、より良いシミュレーションを行い、より強度が高くなる材料や加工条件を検討することができます。同様に、不良品や故障が生じる様々な理由を理解することによって、不良品や故障が発生しないようにより細かいパラメータのチューニングをすることが可能になります。このようにして、リーズンコードは、予測を使う手助けをしてくれます。

異常値検知 

最後に、製造業でもうひとつ活用できる機能は異常値検知です。不良品や故障は、頻繁に発生するものではなく、何らかの異常が原因であることが多いです。

過去の不良品や故障のデータが十分に存在しない場合、教師あり学習を行うことができません。この場合は、教師なし学習である異常値検知の出番です。

異常値検知は、外れ値や特異性をデータから検出する手法で、何かいつもと違うことが起きているということを警告してくれます。

Screen Shot 2017-11-25 at 3.45.40

DataRobotには、様々な異常値検知モデルが用意されています。異常値検知が活躍しそうなデータの場合、異常値検知モデルを比較することができます。過去の正解データが十分ある場合は、異常値検知モデルを実装することはできますが、教師あり学習のモデルの方が精度が高くなる傾向にあります。過去の正解データがない場合は、異常値検知モデルが活躍できます。

まとめ

製造業では、複雑なプロセスが一般的になり、大量のデータが収集されています。めまぐるしく状況が変わる現場に、常に高精度で説明可能な機械学習モデルが必要です。そのためには、機械学習の自動化と見える化が欠かせません。ここでは、現場で使える機械学習として、R&Dでの特性予測と製造ラインでの不良品検知と予知保全を紹介しました。このような製造業のコアな分野では、モデルの精度とスピードだけでなく、モデルを理解して予測を説明できるかが重要です。DataRobotの見える化と、圧倒的な精度とスピード、そして自動化が、製造業の現場で活用できる機械学習を実現します。

執筆者について
坂本 康昭(Yasuaki Sakamoto)
坂本 康昭(Yasuaki Sakamoto)

データサイエンティスト

DataRobot データサイエンティスト。2005年にアメリカの大学にて認知科学博士号取得後、教授職時代にデータサイエンスプログラムの立上げを経験。2015年に日本に戻り、保険会社で AI の応用に従事。2017年から DataRobot のデータサイエンティストとして金融業界のお客様をサポート。

坂本 康昭(Yasuaki Sakamoto) についてもっとくわしく