AI(機械学習)で不良品や故障を削減するには

f:id:data_scientist:20180821162151j:plain

 

製造業のミッションは欲しい仕様のモノを安く、欲しい数だけ、欲しい時に顧客に届けるということに尽きます。その目的達成のためにデータサイエンティストも活動するわけなんですが、活動と一括りに言っても、需要予測、特性予測、不良検知、設備保全などデータ活用の適用範囲は多岐に渡ります。今回はそのなかでも、不良を削減するというテーマについて掘り下げてみようかと思います。

 

それはAIでないと駄目なのか

 いきなりデータサイエンティストの存在意義に疑問を投げかけるようで恐縮ですが、そもそもAIでやる必要があるのか?というのは結構切実な問題です。ロジカルシンキングを教えることもあるのですが、そこでは「課題設定が適切かをよく考えよう」と繰り返し話題に出しています。なぜその課題を解決しなければならないのか?本当の課題は別のところにあるのではないか?もっと根本的な課題が裏にあるのではないか?といったことです。

 

データ分析の格言に「Garbage in, garbage out (ゴミからはゴミしか生まれない。) 」という有名な言葉がありますが、それと同様に間違った課題からは間違った答えしか出てきません。データ分析以前に課題解決の方法論ですが、ビジネス上の価値を生み出すためには避けて通れない考え方です。


データ分析の手法をよく知っていることはもちろん大切ですが、それに捕らわれることなく幅広い視点から見ることも重要だと考えています。視野を広くするには課題自体に詳しくならなければならないわけで、先人の残したデータサイエンス以外の不良削減の方法論もきちんと学ぶべきでしょう。データサイエンティストという言葉もだいぶ浸透したことで、これからは業界ごとに特化した知識や発想も求められてきているため、データサイエンス以外でも課題を解決できるくらいを目指したいものです。

 

どういった課題で機械学習を使えるのか

不良を無くすという課題はものづくりにおける永遠のテーマとも言えるもので、AIが叫ばれるずっと以前の1950年代から統計的品質管理という方法論として存在してきました。それ以外の古典的な方法としては4Mやなぜなぜ分析、工場内の改善では5Sの徹底やQCサークルといったものがあります。生産段階においてはバラツキを抑えることしかできないケースばかりですが、上流で対処できるのであれば設計段階からFMEAで故障原因を潰し込んでロバスト設計することで、部品公差の幅を増やす(良品の幅を広くする)という考え方もあります。

 

このように不良を削減するという目的に対して多数の方法論がある中で、データの活用でアドバンテージを確保できる領域というと、生産工程から吐き出されたデータを用いた異常の原因究明や不良検知(歩留まりの向上)といった分野での活用が多いのではないかと思います。Kaggleでも自動車部品大手のBoschから、そのような不良検知の課題が出されていたので一つ紹介しましょう。

Bosch Production Line Performance | Kaggle

In this competition, Bosch is challenging Kagglers to predict internal failures using thousands of measurements and tests made for each component along the assembly line. This would enable Bosch to bring quality products at lower costs to the end user.


このコンペでは、組立工程で取得された各部品の数千の測定データと検査データを使用して、内部故障を予測することをBoschはKagglersに求めます。これにより、Boschは品質の高い製品をより低コストでエンドユーザーに提供することができます。

 

工程で取得されたデータを元に、良/不良を予測する課題ですね。データセットは学習用データ1,183,747件、テスト用データ1,183,748件、説明変数は3,105個ですが、製品ごとに工程が異なるため欠損値が多いです。投稿されたカーネル(プログラム)を覗いてみると、アルゴリズムは大人気のXGBoostが上位を占めていました。もちろん、特徴量の選択や違う工程を通った製品の扱い方など細かなテクニックが精度に効いてくるので一概に言えませんが、こういった良/不良の分類問題ではXGBoostにはお世話になりそうです。

 

この他にも、村田製作所は製造工程に関わる様々な生産データを収集し、不良品率の引き下げの取り組みをやっているそうで、収集データは生産装置の設定、材料の種類や状態、気温などのようです。(日経Big Data)

村田製作所の場合も30工程を経た3000項目くらいのデータで、データ量が多い上にビジネス上のインパクトもあるので腕が鳴るテーマではあります。とはいえ、ここまで大量かつ比較的に構造化されたデータを持っている企業はなかなか無いと思いますが、収集すべきデータの方向性としては参考になるでしょう。製造工程が長くなればそれだけデータ量も増えるので、ここら辺のデータのボリュームは対象とする製品によって変わってきます。

 

今回は不良検知という課題を取り上げたので、不良を判別するフラグと工程データが1セットになっているデータでの事例を紹介しました。設備保全になってくると時系列データを扱う必要があるケースも多いので、機会があれば別の記事で紹介したいと思っています。

製造業界のデータサイエンティストの実際

f:id:data_scientist:20180810134536j:plain

 

さてさて、第一回でどんなことを書こうかなと考えていたわけですが、今回は製造業界のデータサイエンティストという立ち位置で、Kaggleの課題でイメージするようなデータサイエンティストの仕事と製造業でのギャップみたいなものを論じてみようかと思います。

 

製造業でのデータ活用

データサイエンティストという単語をネットで探すと、どうしてもマーケティング関連の話題をとっかかりとした記事が多くなります。業界的にデータを根拠にビジネスの方向性を決めていくという文化が浸透していたというのもありますが、ハイプサイクルでいうところの黎明期はWeb関連サービスのログデータ分析から始まっていったというのも原因の一つでしょう。BtoCで蓄積されたデータを用いているので、学ぶ側にとってもイメージしやすいというのもあるような気がします。

 

製造業でデータサイエンティストとしての活躍を目指すとなると、インダストリー4.0のコンセプト実現へと行き着くのではないでしょうか。インダストリー4.0は製造業のデジタル化・コンピューター化を目指すコンセプトのことですが、ビッグデータという言葉が徐々に浸透し始めたあたりにAIブームの波に乗りながら業界のトッププレイヤー達が成果を発表していきました。追いつけ追い越せと他の企業も追従しますが、思うように成果が出ずに諦めてしまったところも多いと聞きます。(AI黎明期は、とりあえずディープラーニングすればいいと考えていた人がものすごく多かったというのも理由にありそうですが。。。)

 

というのも、ものづくりの現場になると、そもそもどんなデータを統計的に扱ったら有用そうか?という問いに答えるのも結構難しい問題です。データ自体は工場のセンサデータや設計の実験データ、品質管理の測定データからサプライチェーンの記録などなど、情報の"量"という意味ではたくさんあるのかもしれませんが、統計的に扱うにはデータの形式がバラバラだったり、神Excelでまとめられた資料だったり、そもそも何を意味するデータなのかを理解するのが難しかったりと、いまだに初心者向けサンプルになりそうなデータを見かけたことがありません。

 

こういった構造化されていない「ダークデータ」が一般的であるうえに、モノを作ることを本懐とする製造業でのデータ活用はIT企業(デジタルネイティブ企業)ほど重要性が高くないというのも足枷になります。製造業でデータ活用を進めようとなると「売上の増加」というよりも「コストの減少」を軸に考えることが多くなるので現状維持を望む層に対しては投資回収の説明力が低くなりがちですし、生産設備のデータがデジタル形式ですぐに利用できなかったりという技術的な課題もあって、より状況は困難になります。

 

とはいえ、そもそも論としてデータサイエンティストの実際というのは、分析するまでのデータ集め~データクレンジングが大半ですから、製造業に身を置いている私からは他業種の実際が見えていないだけなのかもしれません。今ではAIやビッグデータの活用も十分に浸透してきたこともあり、様々な分野でのデータ活用が進んでいますから、その業種独特の事情というものは細分化を続けているのではないかとも思います。

 

製造業でデータサイエンスをする(「AIを使いたいから課題を探す」という視点から)

AIとはなんぞや?みたいなセミナーで様々な業種の方とお話させて頂いたこともあるのですが「社長がAIを使えと言ったから」というような話をよく耳にします。本来、データ活用に限らず課題解決という視点で考えれば、「AIを使いたいから課題を探す」というようなやり方はナンセンスなものです。とはいえブームに乗り遅れるのも嫌だし、勘・経験・度胸(KKD)で進めてしまっている多くの現状を見てきた熟練者からすれば一縷の望みをかけてすがるのも無理のない話です。

 

まあ、そんな事情を嘆くこともできるのですが、データを扱う人間である以上、それでもやっぱり何らかの課題を解決するインサイトを見つけなければならないわけです。葛藤はありながらも、結局情勢に流されて「AIを使いたいから課題を探す」という始め方をしてしまった場合、一例ですが以下のようなことが起こります。

 

・そもそもどこにどんなデータがあるのかがわからない
・設計をAIにやらせろという無茶振りの雨が襲いかかる
・Kaggleに代表されるAIコンペで出てくるようなデータはそうそう見かけることはない。

 

そもそもどこにどんなデータがあるのかがわからない

トップダウンでAIを旗印に始めるとこのようなことが起こります。AIプロジェクトといった形で進められることが多いようですが、参加するメンバーはシステム部門や管理部門が主だったところになるので、実際のデータがどんなものなのかを知っている人はあまり多くありません。メーカーも企業体の一つですから、人事や経理など業種を問わず活用できる分野もあります。その場合も現実問題として部門間の壁がありますし、データがありそうだからといって人事データや経理データを見せろとはなかなか言えないので、結局は自分が所属している部門or近しい部門にあるデータをあさり始めることでしょう。

 

こういった社内全体もしくは部門全体を見渡すようなプロジェクトとして始まる場合は、正直AIやデータサイエンスという言葉は一旦頭から抜いて、気持ち的には社内コンサルとして振る舞った方が結果的に上手くいきました。色々と意見や課題を収集するのですが、結局のところRPAだったり単純なシステム導入だったり、はたまた手順書の改善だったり、AIとは関係ない方法で解決できる問題の方が多いからです。

 

設計をAIにやらせろという無茶振りの雨が襲いかかる

今でこそ私の身近にはこのようなことを言う人はいなくなりましたが、最初の頃はそれはもう色々なところから期待がかかっていたものです(汗)。ディープラーニングドラえもんを作れると考えてるんじゃないかとも思えるような層に対して、何故ディープラーニングで設計ができないのかを説明する資料を作るという作業が発生したりもします。まあ、このレベルまでいくと、説明資料というよりも高校生への勉強会資料というようなマインドで資料を作れるので、ある意味ストレスが軽減されたような気がします。

 

Kaggleに代表されるAIコンペで出てくるようなデータはそうそう見かけることはない。

Kaggleではデータが課題と同時に与えられるので、欠損値の処理や特徴量エンジニアリング、モデリングなど、機械学習の一連の流れを学ぶには最高の題材だと思います。データサイエンティストを目指す上では無視できない学習教材ですが、実務となるとこの「データ収集」の時点で結構躓きます。。。

 

この辺は現実課題と実データの隔たりといいますか、解決すべき課題に関連するデータは単にcsvで無秩序に吐き出されているだけだったり、データ形式が統一されていなかったりで、分析以前のゴミデータだったりする場合が大半を占めます。データベースとして比較的綺麗に収集されているデータは、そのデータに関連して解決するべき課題が見つからなかったりと、課題はあるけどデータが無い、データはあるけど課題は無いといった現象が頻発します。私の場合は運よくマッチするものを見つけられたので助かったのですが、このへんは「AIを使いたいから課題を探す」の視点で始めたら直面するだろう悲劇として覚悟をしておいた方がいいかもしれません。

 


色々語りましたが、"データ"サイエンティストである以上、データサイエンティストが求めるデータはいったいどういうものなのかを知ってもらう活動は不可欠でしょう。そもそも「分析に必要なデータ」といっても、企業や工場ごとに手掛ける製品(素材系、加工組立系、装置系)、業態(大量生産、多品種少量生産)、サプライチェーンにおける立ち位置(川上、川中、川下)などにより、内容はまったく違ったものとなりますので、必要なデータがどういうものかを上司にも分かりやすいよう翻訳して伝えるのも仕事のひとつになります。特に製造系だと職人気質でモノを見ないと満足できない人たちは多いので(こう言いましたが、携わる以上データサイエンティストでもきちんとモノは見たほうがいいです)、データと現場・現物・現実の捉え方のギャップみたいなものは埋めていく必要があると思います。

ブログはじめました

はじめまして、TAKと申します。
 
とある製造業の企業(大手部品メーカー)でデータサイエンティストとして働いています。データやAIにまつわるあれこれをやり始めたのはここ3年ほどなので、根っからのデータサイエンティストというより、数ある業務の一つとしてデータ分析をやり始め、徐々に主業務へと軸足をずらしていったという感じでしょうか。
 
大企業とはいえ、メーカーでデータサイエンティストともなると、それなりに希少種ではないかと思います。そんななか孤軍奮闘を続けていると、新しい情報へのアンテナがどうにも錆びついてくるなぁと感じていたので、外部発信をエンジンにスキルアップできないかと思いブログを始めた次第です。
 
エンジニアリング以外では経営コンサルの分野に関心があったこともあって、働きながら大学で経営学を修めた時期もありました。良く言えば幅広い、悪く言えば器用貧乏とも言えますが、理系と文系の両方を学んだからこそ見えてくる視点もあるのではないかと考えています。

このブログでは、データサイエンティストから見た製造業でのデータ活用、というよりも、製造業から見たデータサイエンス的なデータ活用という視点で書いていこうかと思っています。統計分析や機械学習の手法自体は至るところに情報があふれているので、ここでは「メーカーで取り入れるにはどうしていけばいいいか」とか「こういうデータは機械学習よりも品質工学の方がいいんじゃないの?」などの課題や「お上がAI! AI!としか言わない」など政治的な話まで、製造業で現実的に活用していくためのあれこれを経験を交えながら紹介していきたいと考えています。

もちろん、製造業の方だけでなく、製造業向けのAIソリューションを展開したい方やデータサイエンティストを目指す方にも役に立つような内容になればいいなと思います。業界が違えば文化も違うわけで、メーカーの人間からすればAIベンチャーの人間は異国の人のように見えますし、逆もまたしかりでしょう。ゴリゴリのIT畑の人が「メーカーの人ってこんなこと考えてるんだなぁ」と相互理解を深められたら嬉しいかぎりです。

IT業界の方にとっては、品質工学やFMEA、ライン、寸法、QC、4M、などなど、あまり使わない単語が出てくるかもしれませんが、せめてこれくらいは知っててほしい。。。くらいの単語で収めたいと思っていますのでお付き合いいただければと思います。

それではこれから、よろしくお願いします。