精度の高いAIを構築するには、精度の高いデータによる学習が欠かせません。AIが良い学びをするためには、適切にアノテーションされたデータが必要になります。
もちろん、アノテーションも重要な工程ではありますが、それと並んで大切なのが、アノテーション対象となる元の「データ」です。元のデータの質が悪いと、どんなに質の高いアノテーションを施してもAIの精度は良くなりません。
本記事では、データ収集の注意点を6つご紹介します。最後までお読みいただければ、データの選び方や過学習を防止するための方法など、データ収集の基礎から応用までを詳しく知ることができます。
【目次】 |
AI分野でのアノテーションは、画像・映像・音声などに情報タグを付けることを指します。AIはアノテーションされたデータを基に学習するため、アノテーションはAIの精度に大きく関係する重要な作業です。
そしてアノテーションの中でも非常に重要なのが、アノテーションを行う元のデータの質です。例えば、犬の動きを解析するAIを構築したいのに、猫の画像データや同じポーズをとっている犬の画像ばかり集めていては、そのデータがほぼムダになってしまいます。
さらに、病気の犬の行動を解析したいのに、健常な犬の映像ばかり学習させていては、AIは病気の犬の行動パターンを掴むことができません。データの偏りが原因で精度の低いAIになってしまうのです。このように、たとえ多くのデータを学習していても、元のデータに偏りがあって質が悪ければ精度の低いAIになってしまいます。
データ収集時に注意したいポイントを6つご紹介します。
①開発段階に応じてデータ収集の目的を明確にする ②十分なデータを用意する ③実際の運用環境に合ったデータを収集する ④必要なパターンを網羅できるようにする ⑤データに偏りがでないようにする ⑥データセキュリティに関する知識をつける |
それぞれの注意点について説明します。
データ収集の最終目的は「AIの精度を上げる」ことです。しかし、AIの完成段階に応じて以下のようにデータ収集の目的は変化し、集めるデータの特性も変わります。
「最初期テスト段階のデータ収集」では、AIの初期精度を計測するために、まずは必要最低限のデータを収集する必要があります。これは、AIを構築した段階でどれだけの精度を持っているか判断するために必要なプロセスです。
「モデルの運用を目指したデータ収集」では、実際にAIを稼働させるために必要なデータを収集する必要があります。AIの精度が決まる段階であり、膨大なデータが必要です。
「改善のためのデータ収集」では、精度が初期想定より低い箇所のデータを重点的に集めます。例えば、自動運転での映像分析において走行車を捉える精度が低ければ、自動車の画像データを追加でAIに学習させることが必要でしょう。
このように、目的によって集めるデータの種類・量が異なるため、ステージに応じてデータ収集の目的を明確にするのは非常に重要です。3つの開発段階の中で収集すべきデータは 異なるため、どのようなデータを収集して学習させれば精度の高いAIになるかを考えるようにしましょう。
データのサンプル数が少ないと十分な学習ができないため、AIの予測精度は低くなってしまいます。
AIは、教師データ(アノテーションされたデータ)を元に学習を行います。そのため、教師データに全く出現していない新しい事象の解析は格段に難度が上がってしまいます。データ数が少なく、学習している事象が少ないと、正確な予測や分析ができなくなるのです。
AIが正しくデータを認識するためには、実際に運用する状況に近いデータを収集する必要があります。そのため、特殊な環境で稼働する場合には現地に行ってデータを収集したり、実際の状況に近いデータを選定して収集する必要があります。
実際の運用環境に合わせたデータを選定して収集する上で、データの種類への留意は欠かせません。ここでは、代表的なフォーマットである画像・動画、音声、テキストに分けて説明します。
画像や動画の場合、同じ視野・画素数でAIに学習させる必要があります。そのため、精度の高いAIを運用したいなら、実際の運用場所にカメラを付けてデータを収集する必要があります。
例えば、橋の上から車を捉える場合、橋の上からの画角でのデータが必要です。路上で正面から車の写真を撮った画像では、意味のないデータとなってしまいます。正面から見た車と、上から見た車の画像が異なるためです。
音声データを正しく学習させる場合は、「あの」「えー」「うーん」といった感動詞をAIに学習させる必要がある場合が考えられます。
例えば、口語を学習していないAIは「あの~、家が…」という文章と、「あの家が…」とという文章を区別する精度が低くなると考えられます。しかし、感嘆詞を学習しているAIは、前者の「あの~、」を感嘆詞として認識できるため、両者の文章を異なるものとして区別することができるようになります。
その他、方言ごとの独特なイントネーションや若者言葉なども口語ならではの言葉です。解析したい音声の話者が強い方言を話す方であれば、それに応じた学習をさせる必要があります。
画像・動画データと同様に、テキストデータに関しても目的に応じたデータ収集をする必要があります。
例えば、古文や新聞などの特有の表現が用いられているテキストを解析する場合、それぞれの文章に対応できるようなデータを集める必要があります。加えて、専門用語が多用される論文の解析をするためには、専門用語の他、使用される機器などが含まれている文章をデータとして集めなければいけません。
また、音声データをテキストに起こしてから解析することも多いです。その場合は、同様の環境を学習するために、音声データをテキストに起こしたデータを収集する必要があります。
AIの運用目的によっては、より細かい情報まで学習するためのデータを収集する必要があります。
例えば、走行する車を映像の中で捉えるAIの目的によっては、単なる走行車としてではなく「定員数」や「車の種類」も解析したい場合もあります。これらをAIに学習させるためには、5人乗りや7人乗りの車の画像をバランスよく学習させる必要があります。
しかし、7人乗りの車のデータ数が少なかったり、そもそも学習していなかったりすると、その認識精度は低くなってしまいます。このように、同じAIであっても必要となるデータのパターンは目的によって異なります。「車の種類は計測したいが、歩行者の性別は不要」という場合には、人に関する画像の高度な学習は不要ですが、車に関しては多くの画像パターンが必要になるでしょう。
目的に応じたパターンを網羅できるようにデータ収集を行いましょう。
「どんなものでもいいから、とにかく多くのデータを学習させた方が良い」これでは、質の良いAIは構築できません。確かに学習用のデータは多い方が良いですが、色々なデータをバランスよく学習させなければ、精度の低いAIになってしまいます。ここでは、データの偏りが出ないようにするに注意すべきことを2つ紹介します。
特定のクラス(カテゴリー)のデータが多くなると、それ以外のクラスを予測する能力が低いAIが構築されてしまいます。
例えば、人・車・自転車の流れを計測する目的で画像データを集めて学習させるとします。しかし、自転車に関するデータがあまり集まらず、人と車に関するデータが多くなることもあります。結果として、人と車は精度よく認識できるが、自転車とバイクの見分けがつかないAIが構築されることが起こりえます。
このように、特定のクラスのデータに偏ってしまうと、そのクラスの精度は高くても総合的には精度の低いAIが構築されます。このような事態にならないよう、バランスよくデータを集めるようにしましょう。
汎化性能とは「初めて解析する未知のデータに対しても高い精度で予測できる性能」 です。収集したデータに偏りがある場合、汎化性能が低いAIになりかねません。例えば、初めて見た動物であっても、人間の脳はどの部分が脚なのか判断でき、どのように動くかをかなりの高精度で予想できます。ですから、人間の脳は汎化性能に優れていると言えます。
収集したデータが極端に少なかったり、偏りがあると、AIは偏ったデータで学習することになります。この結果としてAIが過学習を起こしてしまう場合があります。偏ったデータには、実際の状況とは異なる特有の性質やパターンが存在することがあります。過学習によって作られたAIは、偏ったデータ特有の性質を持った予測をしてしまうのです。
データが偏りすぎている場合、AIは偏りがあるデータが一般的なデータという認識を強めてしまうため、データを追加すればするほど予測精度が落ちます。この状態に陥ると、どれだけ学習しても精度が悪くなってしまい、手間と時間をかけて精度を落とす悪循環に入ってしまいます。
データを収集する際は、データの数や内容に偏りが出ないように気を付けましょう。
画像や音声データには、個人情報が含まれています。データから特定の個人を識別できれば個人情報となるので、収集する際や収集後のデータの取り扱いには注意です。
また、データの収集やアノテーションを専門業者に依頼する際には、高いセキュリティを保持している会社に頼むようにしましょう。特定の個人が識別できる場合は、音声やテキストデータも個人情報となりえるので、全てのデータ形態の取り扱いに注意が必要です。
本記事では、データ収集における注意点を紹介してきました。
適切に構築されたAIは、人間にはできない予測や解析を高い精度で行ってくれますが、AI構築の土台であるデータ収集が適切に行われていないと精度の低い使えないAIとなってしまいます。AIに基本的な知見のある方が適切なデータ収集を行うようにしましょう。
社内でAIに関する人材がいない場合は、外部委託するのも手です。人材や教育コストを割かなくてよいうえに、データ収集のノウハウ・リソースを持った会社であれば、質の高いデータを集めることができます。