機械学習におけるアノテーションの重要性

この記事を書いた人
北爪 聖也

株式会社pipon代表取締役。 キャリアはADK(広告代理店)でテレビ広告運用をして残業120時間するが、ネット広告では自分の業務がAIで自動化されていることに驚愕する。そこで、機械学習受託会社に転職し、技術力を身につけた後、piponを創業。現在、製薬業界、大手監査法人、EC業界、様々な業界でAI受託開発事業を運営。

はじめに

今回は、機械学習におけるアノテーションの重要性について述べたいと思います。アノテーションとは、機械学習のモデルに学習させるための、教師データ(正解データ、ラベル)を作成することです。その対象はテキストであったり、音声や画像などのあらゆる形態のデータです。

単なる画像やテキストのデータに対して、アノテーションで具体的な意味を与えることにより、元データから読み取るべき情報を、後のステップで学習するモデルに、明確に伝えることができるようになるのです。

アノテーションがまずければ、学習に使う教師データがいい加減なものになってしまいます。

機械学習において、どんなに優れたアルゴリズムを用いても、そのようないい加減な教師データで学習すれば、正しいパターンを学習できないためによい学習モデルが作れません。その結果、精度の悪いモデルしか作れないことになります。

特に画像認識では、アノテーションの良し悪しでモデルの精度が大きく変わってしまうので、機械学習で画像認識に取り組もうとしている方は、アノテーションの重要性をしっかり理解してください。

アノテーションの詳細

1) 画像や動画のアノテーション

画像や動画のアノテーションは、画像認識のモデルを作るのに必須で、自動運転や監視カメラなど、様々な分野で活用されています。

画像や動画のアノテーションを行うためのツールは色々ありますが、今回はWeb上で使えるLabelboxを用いて、画像のアノテーションの例を紹介します。今回の例で用いるLabelboxのように、アノテーションを行うツールは有料のものから無料のものまで、様々なものがリリースされていますので、色々使ってみて、使いやすいツールを見つけるとよいでしょう。

①物体検出

与えられた画像に写っているものに対して、画像に写っている対象物の「人」「自動車」などのタグと共に、その対象物が写っている場所をその物体を囲う四角形として出力します。


図1. 物体検出の例

②領域抽出

与えられた画像に色を塗り、色塗り部分の意味をタグ付けします。領域抽出は、例えば今盛んに開発が勧められている自動運転においては、道路の範囲を抽出するといった用途で利用されています。図2では、人と車の部分に色を塗り、それぞれに「人」「自動車」のタグを付与しています。

図3. 領域抽出の例

③画像分類

与えられた画像に対して、「これは猫か犬か」「どういう色か」などの属性をタグ付けします。図4では、りんご、ぶどう、いちご、バナナの中から、「ぶどう」のラベルをつけています。

図4. 画像分類の例

2) テキストデータのアノテーション

テキストやコンテンツの分類も、アノテーションに含まれます。例えば、Yahooニュースを見ると、「国内」、「国際」、「経済」、「スポーツ」などに分類されていることが分かります。これも、それぞれの記事にタグが付けられているので、分類することが可能になるのです。

それ以外にも、ブログやSNSの投稿内容から情報を分類したり、不適切なコンテンツを抽出する場面でも、アノテーションが利用されています。

3) 音声データのアノテーション

音声データのアノテーションは、Amazonのアレクサのような精度の高い音声認識製品などに用いられます。音声認識の精度を上げるには、話し方やその文脈を判断する必要があるため、開発のために集められた大量の音声データを正しくテキスト化したり、そのテキスト化されたデータの正しさを音声認識ソフトなどでチェックします。

アノテーションの重要性

機械学習やディープラーニングで高精度な予測モデルを作ろうとした場合、膨大な数の教師データが必要であり、かつ正確にアノテーションされていないと、精度のよいモデルは作れません。ラベルが間違ったデータを学習用データに入れてしまうと、当然機械は間違ったまま覚えてしまいます。

例えば、「人」の画像を集めた教師データの中に、「人」のタグがついた自動車の画像が混ざっていたら、正しいモデルが作れないことは明らかです。

また、Webニュースで経済のカテゴリにスポーツの記事が掲載されていたら、読者は不満に感じるでしょう。

従って、アノテーションは非常に重要な作業であり、このアノテーションをいかに正確にかつ、スピーディーに行うかが、ビジネスの世界で活用するためのポイントとなります。アノテーションはモデルの開発以上に、重要で細心の注意が必要な作業と言っても、過言ではないでしょう。

前述した画像のアノテーションの例を見ると、とても簡単な作業と思われるかもしれませんが、これはイラストを対象にしているからで、実世界の画像でアノテーションをやってみると非常に難しい作業であることが分かるでしょう。

画像に写る対象物を枠で囲う物体検出の作業でも、多くの例外に遭遇し、都度判断に悩むことになります。

このように、アノテーションには重要かつ、大変な労力が必要となりますが、アノテーションを専門に請け負っている会社もあるので、開発スピードを上げるためにアノテーションを社外に委託するのも、選択肢の一つとなります。

ただし、精度の高いアノテーションを行うためには、データを活用する目的、データの素性、データを活用する業務などを正しく理解した上で、取り組む必要があります。

よって、社外に委託する場合、事前に委託先とデータの素性や使い方、判断基準を十分に共有しておく必要があります。

おわりに

アノテーション作業とは、ラベルを付けて意味のあるデータを作り上げることですが、その対象は画像、動画、テキストなど、非常に幅広いものになります。対象は異なっても、その重要性に変わりはなく、精度の高いモデルを作るためには、アノテーションの正確さが必須です。

現在、ビジネスの世界では、ビッグデータの活用やAIの開発・運用が盛んに検討されており、データドリブンの意思決定の流れに向かっていくものと予想されます。従って、今後アノテーション業務は、企業がデータに基づく意思決定をするのに必須なプロセスになっていく可能性があります。是非、アノテーションの重要性をご理解いただき、いかに正確にかつスピーディにアノテーションを行うかを、考えていただければと思います。

参考サイト

AI開発でよく耳にする「アノテーション」とは?

https://japan.zdnet.com/article/35134024/

より良い機械学習のためのアノテーションの機械学習

機械学習に欠かせない「アノテーション」を行うツール3選

https://ai-products.net/12608/3-tools-to-perform-overlay-indispensable-for-machine-learning/

AI開発にもコミュニケーションが大切!? ビジネスマンが理解すべきアノテーションの大切さ