AI(ディープラーニング)で課題解決! ― 2020年01月02日 15:30

AI(ディープラーニング)を試してみました。
きっかけは、ソニーさんのニューラルネットワークコンソール(NNC)です。
それまでは、ディープラーニングには興味はありましたが、環境の構築だけで挫折しそうだったので敬遠していました。
2017年の秋ごろにNNCを知って、これならデータさえ揃えれば気軽に試せると思って飛びつきました。
そして、年が明けた2018年1月から詩行錯誤しながら試してみたところ実用できそうな感触を得ました。

・抱えていた課題
半導体(IR-LED)の組み立て工程で発光パターンをカメラで撮影して目視で検査を行っています。
10年くらい前に輝度の面積比率などのパラメータで自動判別できないか検討しましたが、面積比率のパラメータだけでは目視判定の精度に至らず断念、”次の世代の人たちに託そう”と勝手に思い始めていました。

目視判定はベテランの検査員が行っていますが、判定基準が明確になっていないこともあり、新たな検査員を育てることが非常に難しい状況になっていて自動判別化が急務になっています。
ベテラン作業員はあと数年で定年で、”私どうしよう”って一人で重荷を背負っている状態。
それなら、10年前にやり残したことをやるしかない。 やらない理由はない!

・本当に課題を解決できるのか
NNCで試した時は良品と不良品を合わせて200枚(各100枚)程度のデータで行ったけど
さすがにデータ量が少ないと思って画像を90度刻みで回転させて約400枚に水増ししました。
結果は約96%の正解率(Accuracy)でしたが、これを99%以上にするにはどのようにしたらよいのか
見当がつかない。
画像の認識なのでCNNが良さそうなのはネットの情報でわかりましたが、CNNの構成や各種設定(ハイパーパラメータ)はどのようにした方がよいのか、、、わ・か・ら・な・い。
最終的には始業錯誤するしかないみたいだ。
でも原理など基本的なところがわかっていないとかなり効率が悪い。。。

いけない、いけない。
”できない・やらない理由”を考えてもしょうがない。
せっかく”やってみて”実用的なことがわかったのだから、次にどうすればよいか考えよう。
ディープラーニングの原理とかを理解するのが目的ではなく、課題解決することが目的だから
とにかく現場で使えるようにするにはどうすればよいかを考えよう。
原理とかアルゴリズムの詳細は社内の頭のいい人を巻き込んで説明してもらえばいいだけ。
適用を許可してもらうために関係部署への根回しも少しづつやっていこう。

NNCでは、学習と評価はできるけどシステムに組み込まないと現場では使えない。
NNCはSONYさんが誰でもAIを使える(体験できる?)システムとして無料で公開したソフト。
幸いなことに先人たちが既に使い方や活用方法などの情報を発信している。
まだ小さいけどコミュニティも立ち上がっている。
実装には、”Neural Network Libraries”が用意されているらしい。
何とかなるだろう。

・とりあえず何をやっていくか
まずは、ゴール。
 現在、”目視で判定している発光パターン検査の判定部分をAIで自動化する”
最終的に分類も含めた完全自動化に持っていきたいけど、それは次のステップにしよう。

大雑把なアクションアイテムは以下の項目かな。
①AIを活用した発光パターン目視判定の自動化をPRする
②データ(サンプル)集め
③データのラベル付け&クレンジング
④システムへの実装

・AIを活用した発光パターン目視判定の自動化をPRする
 現状を整理して今後の方向性を提示する。
 実はIR-LEDの1品種だけは発光パターンの自動判別を行っていて自動機で選別まで実施している。
 これは20年以上前に誰でも知っているであろう某中央研究所で検討・開発されたアルゴリズムで実装されている。
 アルゴリズム自体は教科書でも出てくるマハラノビス距離を用いたもので、発光パターンの30度刻みの濃淡投影分布の形状で判別を行う。
 形状の数値化は波形解析で用いられるフーリエ変換係数を用いて良品サンプルのデータとのマハラノビス距離で判別を行うというもの。
 試しに未適用の品種で目視判定と比較したところ、目視で不良判定されたサンプルの約60%が良品判定された。
 判定閾値(マハラノビス距離)を小さくすれば不良判定される割合は減るが、今度は良品が不良となり歩留りが低下する。
 要するに目視判定と同等に判別できていない。。。
 
 次に同じサンプルを用いてAI(ディープラーニング)で評価してみる。
 かなりの精度で良品と不良が判別される。
 完全良品や完全不良は素人の私でも識別できるがグレーのものは違いが判らない。
 これを見事に判別した結果を見ると少し寒気がした。
 これらのデータを盛り込んだ資料を提示してPRすればいいかな。

 下図が従来のマハラノビス距離とAIで判定させた時のそれぞれの累積確率分布。

累積確率分布図1
  ※実際のデータではなくてイメージです。

・データ収集とデータのラベル付け&クレンジング
 データ(サンプル)集めは、作業者にお願いして不良品を保管しておいてもらう。
 良品は流れ品の発光パターンを撮影したものを使えばいいか。
 それより手間がかかりそうなのがデータのラベル付け&クレンジングかな。
 
・システムへの実装
 ”Neural Network Libraries”を調査して開発環境(言語)を決めないといけない。
 現システムは約20年前に導入したもので、PCはWindows2K、カメラはアナログでPCにビデオキャプチャボードを入れたもの。
 この機会にPCとカメラは新調したい。

今回は前置きでここまでにして、次回からはAIでの自動判別を実現するために行った(行う)具体的な内容を書いていきたいと思います。
(実際のデータや結果は公開できませんが、実装するにあたって調べたことやNNCを活用するうえで役に立ちそうなことなどを記載していきます)

てんやわんやの始まり ― 2019年12月30日 22:30

当時(2013年)は単身赴任で週に1回帰宅していました。
帰宅した時に小鳥の声が聞こえたような気がしましたがテレビかなと思った瞬間、インコちゃんが私の視界に飛び込んできました。
動物は好きで、その頃は家にはワンちゃんがいましたが、”鳥はどうかな~、部屋中が散らかるな~”、やれやれと思ったことを覚えています。
それが、”てんやわんや”の始まりです。

正直なところ鳥さんがこれほど感情豊かだなんて知りませんでした。
ワンちゃん以上かもしれません。
これから少しづつ紹介していきたいと思っています。

インコちゃん



計画を提示しない人 ― 2019年12月30日 09:00

計画を提示しない人

・計画を提示しない人

仕事は一人だけで完結することは稀です。

他者と協働することで成り立っているのに計画や予定を提示しない人がいます。

その人のアウトプットを待っている時は、こちらの予定が立てられないからすごく困る。

相手の時間を奪っていることに気が付ていないのだろう。


そもそも、なぜ計画を提示しないのだろう?

もしかしたら計画を立てられないのかもしれない。

このような人は指示待ちの人が多いのも納得できる。

仕事の全体像を把握しないで、①目的の理解は曖昧、②ゴール(アウトプット)も曖昧

だから、いつ迄に何をやらなければいけないかがわかっていない。

新入社員やアウトソースの人ならともかく、中堅社員と言われている人がこれでは…。


人手不足の世の中で複数の仕事を抱えているのは当たり前なのに、こんな人と一緒に仕事をやっていると優先順位が決められず他の仕事にも影響が出てくる。

このような人に出くわしたら、その仕事は最低の優先度でやるしかない。

でも、その仕事の優先度が高い場合は、その人抜きで進めるしかない。

幸いなことに、その人抜きでもほとんどの場合は支障なく進めることができる。

細かい指示や状況確認をしないで済むのでかえって効率が上がったりする。

このような人は会社という組織の中にいつまでいられるのだろう?


・こんな感じで仕事に取り組んでほしい

 ①その仕事の目的と全体像を把握・理解する

 ②その仕事のゴール(アウトプット)を明確にする

 ③ゴールまでのアウトラインを作る

 ④アウトラインの中で自分がやるべきことをピックアップして具体化する

 ⑤以上のことを計画としてまとめる

 ⑥作成した計画は関係者と共有して内容や日程を確認しあいながら進める

 ⑦内容や日程の変更が生じたら都度修正する

  リスケしないでダラダラ進めるのは計画がないのと同じで最悪。


 ①と②は仕事の基本だけど、③と④はやっている(できている)人は以外に少ない。

 ゴールまでの道のりを考えて実行すると成功率が確実にあがるので是非やってみてほしい。

 スタート時は大まかでOK、走りながら考えて修正しながら進めるのがコツ。

 最初から厳密なことを考えるといつまでたってもスタートできないし、計画自体が途中で変わることだってあり得る。PDCAサイクルを回す感じで進めればOK。

 ⑥と⑦はITの発達でグループウェアなど便利なツールがあるので意識を変えるだけでコスト(手間)をかけなくても簡単にできると思う。

 お互いの待ち時間などのムダが少なくなって劇的に効率がよくなる。


・まとめ

計画を提示しない人は、仲間の時間を奪っている。

当たりばったりの状態になるのでいつまでたっても成果が上がらない。

チーム全体にも影響がでてくるので、その人には声がかからなくなる。

今は大企業でもできない人を雇っていけるほどの余裕はない。

よほど世渡りが上手くなければ会社では生き残れないと思う。


こんな感じで仕事に取り組んでほしい

 ①その仕事の目的と全体像を把握・理解する

  上位目的まで理解する意識があると指示待ちな人にならない。

 

 ②その仕事のゴール(アウトプット)を明確にする

 ③ゴールまでのアウトラインを作る

 ④アウトラインの中で自分がやるべきことをピックアップして具体化する

 ⑤以上のことを計画としてまとめる

 ⑥作成した計画は関係者と共有して内容や日程を確認しあいながら進める

 ⑦内容や日程の変更が生じたら都度修正する

  リスケしないでダラダラ進めるのは計画がないのと同じで最悪。

ルーチンワークな人 ― 2019年12月29日 13:45

ルーチンワークな人

・ルーチンワークな人の仕事

仕事をルーチンワーク化して効率的に行うようにすることは重要ですが、

そのルーチンワークを仕事だと思っている人はとても残念です。

すべて経験だけに頼っている。決められた形式内でものごと判断するので考える必要がない。

そこそこのスピードで作業をこなせるので、”できる人”のように見えるから周りの人からも指摘を受けることがないので成長する機会もないから余計にたちが悪い。


仕事をやっているように見えても何年たってもやっていることは同じ。

何か不具合が発生したとき、原因を見極めて(真因を突き止めて)対策を行い、水平展開を行うが、このような人は、①原因の見極めができない、②水平展開ができないから対策は表面的なもので終わり水平展開も正しくできない。

過去の事例などの”ものマネ”で対策したつもりになっている。

”マネる”こと自体は悪いことではないが意味を理解したうえで自分が抱えている課題に有効かどうか確認して不足があればさらに工夫を加えることをしないといけない。

水平展開では、原因を追究していく過程で問題を抽象化して一般解を導くようにしたい。

原因の追究で掘り下げが浅いと抽象化できず本当の意味で水平展開ができない。


例えば、”作業で使用しているピンセットが乱雑に放置されていて汚れている”ことを指摘された場合

①ピンセットの置き場所を決める

②先端の形状や汚れを1回/日の頻度で確認する

③他の場所でピンセットを使用している作業についても同様な対策を行う

みたいにやってしまって対策になっていないことが起こる。


・ルーチンワークは作業、本当にやるべき仕事はルーチンワーク化して作業効率を上げること

まずは、”問題は何か”を整理して理解することが必要。

 ①”乱雑に放置されている”については、作業効率が悪くなる

 ②”汚れている”については、ピンセットの汚れが製品に付着する

乱雑に置かれているように見えても実際はその方が作業効率が良いのかもしれない。

下手に置き場所を固定するとかえって作業がやりにくくなるかもしれないが作業効率が悪くなるを問題にすれば、ピンセットを他の用具に変更するとかピンセットを使用しない作業方法にするとかの改善も考えられる。

ルーチンワークで処理する人は、”乱雑に放置されているから汚れる”と考えるから作業効率に関してはお構いなしで置き場所を決めてやればすべて解決すると思うのかもしれない。

そもそもなぜピンセットが汚れるのかを考えないといけない。汚れるメカニズムを確認するということ。

作業周辺が汚いのか、汚れた製品が流れてきてピンセットが汚れるのかなど原因はいろいろ考えられる。

根本的なところから確認して対策しないと意味がない。

仮に作業周辺が汚いとしたら、水平展開はピンセットを使用している、使用していないに関係なく対策を展開する必要が出てくる。

原因を深堀りして一般解を導き水平展開をすれば似たような問題はその時に対策できてしまう。

それをやらないから次から次に問題が繰り返されるということに気が付いてほしい。


・まとめ

ルーチンワークな人の仕事

 ルーチンワークが仕事だと思っているけど、それって作業だよ。

 それだけやっているのであればアルバイトでもいいよね。

 ルーチンワークを何年やっても成長しないよ。


本当の仕事は

 ルーチンワーク化されていない作業をルーチンワーク化すること。

 ルーチンワークの中に潜むムダや不具合を問題にして課題に落とし込むこと。

 課題の対策は、一般解に昇華させて水平展開を行う。

 このようにすれば100倍速で作業の改善が進んでモグラたたきゲームから解放される。

三流の人 ― 2019年12月28日 14:30

三流の人

・三流の人

言い訳ばかりしている人っているよね。

別に指摘や責めているわけじゃないのに言い訳してくる人。

”もっと良くしようよ!”って考えて情報を与えても

言い訳して挙句の果ては攻撃的に返してくる人。

そんなんじゃ、他者からのフィードバックはなくなるよね。

だから、いつまでも成長できない。二流にもなれない。

一緒に仕事は絶対にやりたくない。


・こんな人なら一緒に仕事したい

何か問題が発生したら、何をどのようにすれば良いかを考える人。

できない理由なんて考える必要はない。

問題を解決するには、何をどのようにすれば良いかを考えればいいだけ。

何をどのようにすれば良いか分からない(考えられない)時は、目的を理解していない、意識していないからだと思う。


アドバイス(指摘)を受けたら"ありがとうございます"の一言を返す人。

いじめとかは別にして、普通は他者の間違いを心地よく指摘する人はいない。

相手のためと思って、言い難いこともあえて指摘してくれているわけである。

感謝の一言で次も喜んで助けて(教えて)くれる。


一流は、相手を否定しない。考え方は人それぞれだから。答えは一つだけではない。

相手の話しを聞いて相手の考え方を理解する。

一流に近づくためには、素直に話しを聞く姿勢が大切。

そして、自分を変える勇気を持つこと。

これがなかなか難しい、でも他者の考えを変えるのは無理かもしれないけど、自分の考え方は変えられると思う。


・まとめ

三流の人

 ①自己防衛のために言い訳ばかりしている

 ②向上心がない、自分を変えようとしない

 ③目的を意識、理解していない


こんな人になってほしい

 ①アドバイスを受けたら相手に感謝する

 ②受けたアドバイスについて”なぜそうなのか”考える

 ③相手の言ってることの意図(本質)・考え方を理解する

 ④自分を変える勇気を持つ


誰のためでもない、自分のために変わってほしい。