PR
4/1朝まで
どなたでも有料記事が読み放題「無料開放デー」開催中!

今回はAIシステム構築プロジェクトに特有なPoC(Proof of Concept)フェーズを解説する。データのアセスメントやモデル構築などPoCが果たす役割は大きい。期間が限られるPoCの中で、どのような点に留意すべきか評価の視点を紹介する。

 今回はAI(人工知能)システム構築プロジェクトにおけるPoCフェーズについて説明します。PoCは「Proof of Concept」の略で「概念検証」や「実現性検証」などとも呼ばれ、AIシステム構築プロジェクトにおいてはほぼ必須のフェーズとなります。要件定義フェーズで定義した要件について、データを使って実際に機械学習モデルを構築し、実現できるかどうかを確認するのがPoCフェーズです(図1)。

図1●AIシステム構築プロジェクトのプロセス
図1●AIシステム構築プロジェクトのプロセス
[画像のクリックで拡大表示]

 一般的な企業システム開発において、「開発してみなければ、どのようなシステムになるかわからない」ということはありません。一方、AIシステム構築プロジェクトでは、実際に機械学習モデルを構築してみなければ、期待する効果を得られるかわかりません。

 そこで、PoCフェーズで必要最低限の時間と予算を使い、実際にデータを収集・分析し、これから取り組もうとしているモデル構築がシステム化に値するか否か、技術的に本当に実現することができるのかどうかを検証する必要があります。

 ではPoCフェーズで検証すべき論点とは一体何でしょうか。プロジェクトの目的や対象データ、構築モデルによって進め方や検討ポイントは多少変わりますが、最低限、検討すべき論点を順に解説していきます。

まずは分析要件の確認から

 PoCは「ステップ1:計画・準備」「ステップ2:分析実行」「ステップ3:評価検証」の3つのステップで進めます(図2)。

図2●PoCの進め方
図2●PoCの進め方
[画像のクリックで拡大表示]

 PoCの前の要件定義フェーズではAs-Isの業務を整理し、機械学習システムを導入した後のTo-Be像を描きました。そこでPoCフェーズではまず、要件定義フェーズで整理した業務要件を、分析用の要件として整理することから始めます。

 要件定義のフェーズでは、分析要件の細かい定義まではできないことが多くあります。そこでPoCの準備段階で、分析要件を確認します。

 分析要件を整理する際には、モデルの出力結果を踏まえながら、要件定義の内容を満たせるかどうかを確認します。モデルの出力結果には、(1)識別、(2)予測、(3)分類、(4)圧縮の4種類があります。必要な結果のタイプや、目標とする指標、KPI(重要評価指標)、出力結果に対して業務上の解釈が必要か、などを確認します。

 分析要件を整理したら、PoCフェーズのスケジュールを決めます。WBS(Work Breakdown Structure)を作成するなど、「誰が、いつまでに、何をやるのか」まで計画します。

 ポイントは、モデル構築の試行錯誤にも十分な時間を確保することです。モデルの構築はデータ加工と前処理に膨大な時間を要します。余裕を持ったデータ作成期間を設定したうえで、モデル構築の時間も取れることが理想的です。

外部データ活用のリスクに注意

 分析の要件を整理し、スケジュールを立案したら、データの準備に取り掛かります。要件定義フェーズで想定したデータが、実際に取得したり活用したりできるかを検証します。

 そこでまず社内データであれば、所管の部署から項目定義書、データ間の関連を示すER 図(Entity Relationship Diagram)などを入手します。人口統計など外部データを活用したい場合は、想定どおりに外部データが入手できるかどうかを実際に取得して確認します。

 外部データの取得を検討する場合には注意点が2つあります。1つはデータの取得方法です。クローリングやスクレイピングといった技術を活用する場合、アクセス先のサーバーに負荷をかけないことや、利用規約を順守するといった点に注意する必要があります。もう1つの注意点は、データが公開されなくなるといったリスクを考慮する必要があるということです。公開されなくなるだけでなく、データの形式が変更されることもあります。こうしたリスクも踏まえて、外部データを使用するかどうか議論します。

 データ準備のタイミングで、分析要件と比べて粒度が異なるもの、コンプライアンス(法令順守)などの理由で活用できないもの、費用や時間面でコストが大きくデータ収集が運用上困難なことが判明したものは活用対象から除外します。

 データ入手後は、モデル構築用のデータセットを作成します。多くの場合、複数のソースから取得したデータを合わせてデータセットを作成します。データセットを作成する際には、データを結合する際にキーとなる項目、「1」「2」などのコードで示されているデータは何を意味しているのか、などを踏まえデータセットの作成作業を行います。

 AIシステムの構築においては、検討時点で社内外に存在しないデータを利用することがあります。「自社製品の画像を利用した品質検査」といった場合、良品と不良品を判断するための製品画像や画像を基にした判定結果などのデータは存在しません。こうした場合はデータを作成する必要があります。

 不良品を示す画像がない場合、画像を収集して個々の画像に対して不良品か良品かのラベリングを行います。ラべリングには、判定基準をあいまいにせず、色合いや大きさが均一になるよう一定品質を保った画像データを準備します。

 誰が見ても不良品か良品かを判断できるのならば、問題ありません。しかし、業務知識が必要になる場合は、業務担当者や専門家の監修の下で、判断するようにします。