見出し画像

アダコテックがクラウドサービスを開発する理由

はじめに

弊社では、国立研究開発法人産業技術総合研究所で発明された機械学習技術を活用して検査の自動化に取り組んでおります。
これまでに、例えば下記のような導入実績があります。

弊社はこのような導入事例を受託開発という形で成功させてきました。
一方で我々は、検査検品自動化のためのクラウドサービスの開発を推進し、昨年末にクローズドβのリリースを行っています。

この記事では受託開発を中心としていた我々が、なぜクラウドサービスの開発する事にしたのかという事をお話したいと思います。。

受託開発の問題点

検査の自動化は、他の画像解析を行うタスクと比較して非常に難しい課題だと考えます。
例えば、「店舗内に設置されたカメラで商品の需要予測し、売り上げを上げたい」というタスクをAIで解決するケースを考えます。
この場合、AI導入により売り上げ目標を実現できているのであれば、AIの予測精度は100%である必要がありません。(誤解の無いようにいうと、需要予測が簡単だという話でもなく、AIの予測精度を必ずしも100%にする必要がないという事を指摘しています)

一方、検査の自動化は不良品流出を阻止するという目的であるため、失報率(不良品を良品と判定してしまう確率)については0.0%というのが前提となります。
また、失報率が0%だったとしても、誤報率(良品を不良品と判定してしまう確率)が高いと導入には至りません。
このため、検査の自動化を実現するためには、
 ・AIのハイパーパラメータの最適化
 ・ルールベースとの併用の検討
 ・画像撮影方法の検討
などといった事を幾度となく試行錯誤(検討と評価)する事で、実用に耐えうる性能を実現させて行く必要があります。

画像1

試行錯誤には、AIや画像処理に関する高いスキルが必要となり、受託開発型のビジネスモデルでは、売り上げを10倍にしようとしたら高いスキルを持つエンジニアを10倍に増員する必要がでてきます。
しかし、採用・教育コストを考えると、高いスキルをもつエンジニアを大量採用するのは現実的な手段ではありません。

この様な状況を打破するために弊社が長い間培ってきてノウハウをプロダクト化し、エンジニアのレベルに依存せずに検査の自動化を実現できる世界を目指しています。

では、弊社のノウハウをプロダクト化すると、どんなうれしい事があるのでしょうか?
また、なぜクラウドサービスという形態である必要があるのでしょうか?
それを説明したいと思います。

理由1 クラウド上の豊富な計算資源でAIのノーコード化が実現できる

検査の自動化において重要な要素の一つが、検査モデルの学習です。
精度の良い検査モデルを学習するには、AIの各種パラメータの性質を理解した上で最適に設定していく必要があり、高度な専門知識が必要で簡単に出来る事ではありません。

この課題への解決策として、AutoML(Automated Machine Learning)というAIの各種パラメータを自動で決定する技術があります。
弊社ではこの技術を利用してAIのノーコード化を実現し、ユーザーのスキルに依存せず検査モデルを学習できる仕組みを実現しています。
そのコアとなっているのがAmazon EC2です。

AutoMLにより、専門知識なくAIのパラメータを自動で設定する事ができますが「モデルの学習」と「性能検証」を繰り返し行うため高い性能のサーバーを利用する必要があります。
実際に高性能サーバー導入しようとすると、
・高い費用でサーバーを購入する必要があり、承認手続きが大変
・ソフトのアップデートや、ストレージの増強などのメンテナンスが必要
・いずれ、より性能が高いサーバーが登場してしまう
といった問題が生じてしまいます。

物理的なサーバーではなく、Amazon EC2を利用すると
・必要な期間だけ、サーバーを利用出来る
・サーバースペックも必要に応じて増減できる
・このため、ストレージ増強といったメンテナンスも不要
といったメリットがあります。
このメリットから、ユーザーは自前で調達したサーバーのメンテナンスと言った業務の本質ではない作業から解放されます。

一方で、開発する側の観点で行くと、高い性能のインスタンスを安価に使う工夫が必要となってきます。
このため、弊社エンジニアは下記のような取り組みで、コスト削減を実現しています。

理由2 学習サンプルや検証結果の管理からの解放される

検査モデルの自動化を実現するにはモデルの学習と評価で大量の画像データが必要となります。(ある案件でフィージビリティスタディを実施した際、500GByteのHDDがディスクフルな状態で画像を提供されたりしました。)

検査モデルの性能評価時に出力される検査結果ログの様なデータも同様に管理する必要があり、オフィスに用意したNAS上でデータ管理を行おうとすると不要なデータは破棄したり、ディスクを追加したりと余計な手間が増えてきます。
これらの問題はAmazon EC2に加えてS3を利用する事でストレージ管理の負担を大きく減らせる事ができます。

ただ、ユーザーが直感的かつストレス無くにデータ管理できる仕組みをアプリケーションとして提供する必要があり、
 ・大量の画像データをストレスなくクラウド側にアップロードする仕組み
 ・アップロードした画像や評価結果を解りやすく表示できるUI
を実現していく事がエンジニアの腕の見せ所になってきます。

理由3 継続的な検査フローの更新

検査ラインで運用が開始した検査フローは変更したくないと考えますが、現実問題「長期運用して初めて気が付いた」問題というのも多々あったりします。

このように現実問題、導入した検査フローを更新させる必要性がでてくるため検査設備のデータをクラウド側に収集し、その情報化を分析、必要に応じて検査フローを更新という仕組みが必要となってきます。(自動更新を行うかの判断はユーザーによって変わると思いますが・・・)

ただ、スマートファクトリーが注目浴びる一方で、現時点では工場設備がインターネットにつながっていないケースの方が多く、この件についてはこれからの課題になると考えています。

おわりに

我々が目指すのは、セールスイネーブルメントならぬ自動検査イネーブルメントで、スキルに依存せずに誰もが検査が自動できる仕組みです

クラウドサービス化により
・クラウド上の豊富な計算資源でAIのノーコード化を実現する
・データ管理の面倒をクラウド側に用意したストレージと機能で解消する
・継続的な検査フローのメンテナンスをクラウドにより一元化する
という事を実現し、エンジニアの個人スキルに依存した「検査の自動化」の大幅に簡単化できると考えています。

この他にも「どうやって、検査しやすい画像を撮影するのか」という問題もありますが、WEBサービス開発という観点からこの課題の実現に力を貸してくれる方を募集しています!


この記事が気に入ったらサポートをしてみませんか?