「AI作成の流れ」を把握、「AI企画」をスムーズに進行させるために 識別系AI編

「AI作成の流れ」を把握、「AI企画」をスムーズに進行させるために 識別系AI編

はじめに

文系の皆さんがAI人材になるためのノウハウを投稿していきます。今回は識別系AIの作り方を学んでいきます。「そもそもAIはどんなものか」について知りたい方は「AI作成の流れ」を把握、「AI企画」をスムーズに進行させるためにをご参照ください。

識別系AIの活用例を復習する

識別系AIの活用例としては次のような内容がありました。

識別系×代行型AIの活用例

  • 2時間体制で行なうNG画像の検閲
  • 不良品の振り分け作業
  • テーマパークでの顔認証による入場
  • 無人レジ店舗での商品取得検知
  • 送電線画像からの状態検出

識別系×拡張型AIの活用例

  • 医療現場における検査精度の向上
  • 大量の動画から行なう情報の自動抽出

識別系AIはどのように作られるのか

識別系AIには、大きく2つの機能があります。ひとつは物を見つけ出す「物体検出」、もうひとつは検出した物体がなんなのかを当てる「画像判定」です。

  • 物体検出
    画像や動画から特定の物体を見つけ出す
  • 画像判定
    画像からなんの物体なのかを当てる

識別系AIの作り方の大まかな流れは、予測系AIの作り方とおおよそ同じです。ただし、識別系AIならではのステップもあります。それでは識別系AIの作り方の流れを見ていきましょう。

企画

  1. AIプランニング
  2. 検出·判定対象の決定

データ用意

  1. 学習用画像(動画)データの用意
  2. アノテーション(タグ付け)

学習

  1. AIモデル構築
  2. AIモデル精度検証

予測

  1. AIモデル実行
  2. 運用·再学習

識別系AIは、主に人の目の代わりをします。また、時に人では見分けられないような対象物を正確に見極めることもできます。「企画1:AIプランニング」では、識別系AIの特性を踏まえて、どのような目的でどんなAIの機能を作るかを計画します。

AIプランニングで、大枠の方針を決めたら「企画2:検出・判定対象の決定」をします。何をAIに見分けられるようにするのかを具体的に決めることになります。検出・判定対象の例は次の通りです。

  • 特定の人物の顔の識別
  • 性別·年代の識別
  • 動物·生物の識別
  • 不良品の識別
  • がん細胞の識別

検出·判定対象が決まったら、次は「データ用意1:学習用画像(動画)データの用意」です。物体を検出し、画像から判定する学習をするための材料になるデータを集めます。画像の検出・判定であれば画像データ群を用意し、動画から検出·判定させる場合は動画データを用意します。

学習用の画像(もしくは動画)データを準備できたら、「データ用意2:アノテーション(タグ付け)」の作業に移ります。アノテーションとはもともと「注釈・注記」の意味をもつ単語ですが、AIの世界においては、学習データを作成するためのタグ付け作業のことを指します。タグとは、たとえば画像内にクルマがある場合、クルマの場所を囲って、「クルマ」と記していくことを指します。アノテーションを行なうためのツールもいくつか公開されていますので、アノテーションツールを選択し利用します。このアノテーション作業は、ある程度の効率化も図れますが、人手と時間がかかることは覚悟したほうがよいでしょう。なお、アノテーションツールには、識別系AIを作るためのGUIベースのAI構築環境(Google のAutoML VisionやABEJA Platformなど)に組み込まれているケースと、アノテーションツール単体で存在しているもの(labelimgやMicrosoft/VoTTといった名称のツール)の2種類があります。

図:AutoML Vision

「データ用意2:アノテーション (タグ付け)」は、識別系AIにとってとても重要なステップです。識別系AIが精度を上げるためには、学習データが大量に必要だからです。このアノテーション作業には人手と時間がかかるため、アウトソーシングすることが多い分野になります。アノテーション済みの学習データが揃ったら、「学習1:AIモデル構築」に移ります。予測系AIと同様に、AIモデル構築には種類があり、「GUIベ1スのAI構築環境」「コードベースのAI構築環境」「スクラッチでAIを作る」の大きく3つの選択肢があります。「GUIベースのAI構築環境」でいくとGoogle のサービスやその他サービスが複数あります。

タグ情報を付与した画像(動画)データを元に、GUI操作によってAIモデルを構築します。AIモデルができたら「学習2:AIモデル精度検証」です。識別系AIも予測系AIと同じで、精度検証にあたっては、正解率とAUCを主に利用します。たとえば、AIに学習させたデータとは別の写真を用意して、クルマの写真が画像100枚に入っていたところ95枚がクルマであることを予測した場合、正解率は95%になります。また、クルマであることを当てられる率と、クルマ以外として判定する率が偏っていないかをAUCで審査します。検出し判定したい物体ごとにこの正解率とAUCを出していきます。全体としては、検出・判定する物体の合計値を平均で出すと、識別系AIモデルとしての精度が数値で出てくることになります。

AIモデル精度検証を経て、実用レベルになったと判断されれば、「予測1:AIモデル実行」に移ります。学習させていない画像や動画を書き出されたAIモデルに渡し、対象物を検出・判定させることになります。

AIモデルの「予測2:運用·再学習」では、日々のシステムとの連携を果たしたAIの運用保守や、学習したデータ群が古い状態になり、AIモデルの精度が落ちているとわかった段階で、新しいデータによって再度学習をさせることになります。

まとめ

いかがったでしょうか。次回は会話系AIの作り方について解説していきます。「予測系AI」「識別系AI」「会話系AI」「実行系AI」については、以下の記事でより詳しく解説していきます。

プログラミングカテゴリの最新記事