アノテーションデータを作成するには何をすれば良いの?

アノテーションとは?

アノテーションは日本語で言うと「注釈」です。
例えば、以下のような犬の画像に対して「これは犬」という情報を与えることを「アノテーション」と言います。
(要点をポストイットでペタペタ貼ってあげるような感じですね)

人間であれば、”犬”の画像を見ただけで”犬”であると判別出来ますが、
AIは機械的なプログラムの一種なので、アノテーションしたデータを覚えさせてあげないと理解することが出来ないのです。

特にAIを作る場合には、大量のアノテーションデータが必要なことが多く、自分たちで作業を行うか、作業者を雇うなどをしますが、非常に時間もコストもかかる作業です。(自動的にデータを紐づけて、自動的にアノテーションを行うことが可能な場合もあります。)

どうしてアノテーションをするのか?

AIを構築する上で、最近では機械学習という技術が使われています。
その機械学習を用いて、アノテーションデータを学習させる手法を教師あり学習と呼んでおり、この手法が主流となっています。

教師あり学習とは、小学生が算数のドリルの問題を何度も解くようにAIに正解までの計算方法を覚えさせることです。

例えば「犬」と「猫」を見分けるAIを作ると仮定しましょう。
その場合、「犬」の画像はどれで「猫」の画像がどれかというアノテーションデータをAIに学習させます。
すると、AIは犬と猫の特徴がどこにあるのかを自身で学習します。

アノテーションが必要である理由は、この教師あり学習の構造にあります

アノテーションに関する注意点

アノテーションを行うに当たり、AIに学習させるデータを大量に用意する必要があります。

ただ大量に用意するだけではなく、アノテーションする上で注意しなければならない点が3つあります。

①網羅性のあるデータパターンをできるだけ幅広く集める
②アノテーションデータ数に偏りが出ないようにする
③間違ったアノテーションをさせない

①網羅性のあるデータパターンをできるだけ幅広く集める
本項目については、よく話題になるので今回は割愛します。

②アノテーションデータに偏りが出ないようにする
集めたデータに数の偏りがないようにして下さい。

例えば、猫の画像が「1000枚」あっても犬の画像が「50枚」程度しかない場合、基本的なアルゴリズムであれば犬の識別に失敗するような学習をしてしまいます

この例の場合、「犬」と「猫」の特長を学習するために充分なデータがなく上手く学習が出来ず失敗したということになります。

出来るだけ多くのデータを集めるべきなのですが、集めるデータの種類は満遍なく集めるべきでしょう。

また、工場の製造ラインで部品が壊れていないか判別する場合、製造ラインで部品が壊れているデータは正常品と比べて少なく、データの偏りが発生してしまいます。
この場合は、データの偏りに強いAIのアルゴリズムを使用する、アルゴリズムでデータを水増しするなどで対処します。

③間違ったアノテーションをさせない
間違ったアノテーションをさせないなんて、当然だと思うかもしれませんが意外と陥りがちです。

作業内容の伝達ミスや作業者の勘違いなどで、誤ったアノテーションが発生する可能性があります。

このような人的ミスが要因であることもありますが、以下のような要因もあります。

・データ収集時の入力規則が甘いために、データにブレが生じる。
・収集済みデータに、ゴミデータがあり除去できていない。

このようなことが発生しないためにも、データサイエンティスト、データアナリストのようなデータに強い人材がマネジメントを行うことで、データ品質の担保をしている企業もあります。