第10回 AI技術を組み込んだアプリケーションの開発(後半)

インターネットを利用したサービスで覇者となった企業たちは、コンテナを活用することで、競合他社を大きく引き離す成功を収めた。このような手法を、企業に取り入れるモダナイゼーションが注目されている。それはITサービス提供力を強化する戦略的活動であり、企業の今後の発展を大きく左右するためだ。コンテナとKubernetesは、AI技術を組み込んだアプリケーションの実行環境のデファクトスタンダードとして認知されている。今回は「AI技術を組み込んだアプリケーションの開発」の後半として、課題と解決策について解説する。

日本IBM テクノロジー事業本部 高良真穂

匠の技を超える

 あらゆるビジネスの現場で、変化あるいは異常の兆候を捉えることは大変重要な課題だ。トラックの事故原因では、長距離運転によるドライバーの疲労が上位に挙げられる。ドライバーの異変を車載カメラやセンサーが捉えて、停車や休憩へ誘導する安全装置が普及すれば、多くの交通事故が未然に防げるだろう。鮮度が味に影響するとされるアルコール飲料や食料加工品など、正確な需要予測ができれば、過剰在庫が減り、廃棄ロスを減らせる。需要予測などの熟練職人に頼らず、データに基づいて客観的に近い将来を予測したいというのは、昔からの課題意識である。しかし、熟練者の経験を直接ルール化することは非常に難しい。なぜなら、人間が明示できるルールの数は、実世界の多様性に比べてはるかに少ないのだ。人間の判断の90%が無意識で行われるといわれ、直感ともいえる無意識につかみ取る情報を言語化して語ることができないためだ。

 ところが現在、「弱いAI」と呼ばれる分野の機械学習、脳の神経回路を模倣した人工ニューラルネットワークによるディープラーニングは、従来はルールの実装が難しく、対応できなかった課題も解決できるようになってきた。

モデルと機械学習

 具体的な理解を促すために、機械学習モデルについて考えてみよう。ある企業は製造ラインを流れる製品の「効能成分X」の濃度を全数検査しなければならない経営課題に直面していた。従来は手作業により数時間を要するため、抜き取り検査で対応していたが、この課題解決には生産ラインに組み込んだ装置で、高速に全数検査できる技術の開発が求められていた。

 その中、この企業の技術部では「効能成分X」の濃度を非接触で計測できる装置の開発を進め、最後の課題に取り組んでいた。その課題は次のようなものであった。「濃度とセンサーの出力電圧との関係は、再現性は良いが、測定原理から論理的に計算できない種類のものである。さらに、センサーの出力電圧は濃度に対して直線的比例とはならない。検知量が少ないところでは電子回路のノイズの影響を受けバラツキが多く、一方、高い領域では出力電圧の上昇傾向が鈍化してしまう」

 この装置の開発を成功させるには、センサーの出力電圧から「効能成分X」の濃度へ変換する数式が必要だ。そのために、あらかじめ濃度が分かっている複数のサンプルを測定して、出力電圧と濃度の関係から機械学習によって最適な変換式を求める(図1)。

 この図1右端のグラフに適したモデルには、非線形回帰モデルの数式がある。次の式のyは求めたい「効能成分X」の濃度、 xはセンサーの出力電圧である。w0~w4の最適値を求めることで、変換式が完成することになる。

 最適値を求めるには、この式を行列計算の形式に変換して、ディープラーニングのフレームワークとしてよく知られている機械学習ライブラリ「TensorFlow」のコード表現に変換する。そして、トレーニングによって数式から得られる結果とサンプルの誤差が小さくなるように、w0~w4 の最適値を求める。

 詳細な過程は省略するが、そのようにして得られたモデルで、グラフにプロットしたのが、図2だ。この作業は「Jupyter Notebook」というデータサイエンティスト定番のツールを使うことで、対話的プログラムを実行して求めていくことができる。

 次は、出来上がったモデルを装置に実装する前に、もう一度、現実的な課題を考慮しなければならない。キッチンで使う「電子はかり」と異なり、高精度な装置には特別な配慮が必要だからだ。

 装置のセンサーは、電子部品の製造上の要因から出力特性が一定ではない。日々変化する温度、湿度、気圧などの環境の影響を受けセンサー出力が変動する要因となる。そして、経年劣化により出力特性が変化するなどが考えられる。わずかな狂いが、不良品を生み出し多大な損失を招く恐れもある。そのため、モデルのw0~w4 の最適値はセンサー装置ごとに求められなければならない。そして、定期的なアップデートが必須となるのだ。

 つまり、機械学習モデルは放置すれば、正しいモノサシとしての機能を失うのだ。分野は違うがマーケティング分野で、コロナ禍前のモデルは現在も正しく機能するだろうか? 答えは明らかだろう。一度開発したが、その後、放置したことで使えなくなるケースは、AI導入失敗の要因の上位を占めている。常に変化を続ける複雑な実世界に対応するために、機械学習モデルもライフサイクルを通じて、見直しとトレーニングが必須なのだ。

機械学習パイプライン

 機械学習モデルの継続的トレーニングの必要性に対して機械学習パイプラインがある。これのベースの考え方はKubernetesの採用動機トップのCI/CDパイプラインだ。これは「Jenkins」などで開発作業を自動化して、リリース品質の向上を目指す。同様に、機械学習パイプラインは、トレーニングデータのバージョン管理、データの前処理、トレーニング、モデルの評価を自動化するのだ。KubernetesのCI/CD実践に適する特性が、機械学習の分野でも注目され、AI技術を組み込んだアプリケーションの実行基盤のデファクトになっている。

 このような機械学習パイプラインのOSSには、「Kubeflow」「Apache Airflow」がある。この中で最も人気のKubeflowはグーグル、マイクロソフト、シスコシステムズ、IBMのエンジニアによって共同で開発が進められている。また、OSSによる自社構築を避け、素早く成果を上げたいユーザー企業向けに「IBM Cloud Pak for Data」もある。

 次回は、マイクロサービスアーキテクチャと並び、コンテナ時代にも重要なイベント・ドリブンアーキテクチャについて話を進めていきたい。