公式ブログ

機械学習モデルとアノテーションとは

作成者: author|2022/06/10

 前々回のブログで「今さら聞けない」と冠してエッジAIについてご説明しました。これから少しずつシリーズ化していこうと思います。シリーズ2回目の今回は、『今さら聞けない 機械学習モデルとアノテーションとは?』と題してお送りします。

機械学習モデルとは

 数年前にAIの性能が大きく向上し、作業によっては人間の能力を上回ったことがニュースとなり、AIが大きなブームとなりました。AIは過去にも2回ブームが起きており、今回のブームは、第3次AIブームと呼ばれます。過去のAIブームは、AIへの期待と実際にできることの間にギャップがあり、結局世の中に普及するにはいたりませんでしたが、第3次AIブームはこれまでのブームとは違って、世の中で広く使われるようになると考えられています。

 AIとはArtificial Intelligenceの略で、日本語に訳すと人工知能となります。AIは、広い概念を指す言葉であり、その中にはさまざまな分野が含まれます。AIの中でも古くから研究が進んでおり、さまざまな場面で利用されているのが機械学習(Machine Learning)と呼ばれる分野です。機械学習とは、コンピューターがデータから反復的に学習し、そこに潜むパターンを見つけ出すことです。その見つけ出したパターンを新たなデータに適用することで、その結果を予測することができます。例えば、株価や業績の将来予想などにも使われています。

 機械学習にもさまざまなアルゴリズムがありますが、第3次AIブームを巻き起こすきっかけとなり、その後もAI開発の中核的な役割を果たしているのが、ディープラーニング(深層学習)と呼ばれるタイプの機械学習です。ディープラーニングは、人間の脳の働きを模したニューラルネットワークをベースにしたアルゴリズムで、適切な学習データを与えて学習を繰り返させることで、驚くほどの性能を発揮することが分かったのです。数年前に、囲碁の世界チャンピオンが囲碁AI「AlphaGo」に破れたとして話題になりましたが、このAlphaGoにもディープラーニングが使われています。

 第3次AIブームも当初の熱狂的なブームは収まりましたが、ディープラーニングを代表とするAI技術は社会のさまざまな場所で使われており、なくてはならないものになっています。

 今の世の中では機械学習を利用したさまざまなAIが使われていますが、どのAIも与えられた入力に対して、機械学習による処理を行い、結果を出力するという点では変わりません。この「入力→機械学習による処理→出力」というプロセスで、機械学習の肝となるのが機械学習モデルです。機械学習モデルは、入力に対して、何らかの出力を与える一種の関数のようなものだと思えばよいでしょう。

 例えば、画像を分類するAIなら、入力として画像データを機械学習モデルに入れると、出力としてその画像に写っている物体の名前が出てきます。

 機械学習モデルは、その名の通り、学習を繰り返すことで、正しい回答を出力する精度が上がっていきます。この学習作業をトレーニングと呼びます。トレーニングでは、多くの演算を繰り返す必要がありますので、GPUなどを利用したアクセラレーションが重要になります。ちなみに、トレーニングが終わった機械学習モデルに新しいデータを与えて、その結果を得ることを推論(インファレンス)と呼びます。トレーニングに比べると、インファレンスの演算量は遙かに少なくて済みます。

 

アノテーションとは

 機械学習モデルの学習方法にはいくつかの方法があります。主な学習方法としては、「教師あり学習」「教師なし学習」「強化学習」がありますが、最も応用範囲が広く、一般的に使われている学習方法が「教師あり学習」です。

 教師あり学習は、その名の通り、教師から教わって学習していく方法ですが、その機械学習モデルの教師となるのが、「問題」と「答え」がセットになった教師データです。例えば、「猫」と「犬」を分類する機械学習モデルを作りたいのなら、猫というラベルがついた猫の画像と犬というラベルがついた犬の画像を多数用意して、「これは猫の画像」「こっちは犬の画像」というように学習させていくわけです。ディープラーニングの最大の利点は、「猫の画像の特徴はこういうことで、犬の画像の特徴はこういうことだ」と見分け方を教えてやらなくても、トレーニングを繰り返すことで自動的に猫と犬の違いを機械学習モデルが理解していくことにあります。

 生のデータ(この場合は画像データ)にラベルなどのメタデータを付加して教師データを作成する作業をアノテーションと呼びます。

 基本的にアノテーションは人間が行います。もちろん、学習させる機械学習モデルにあったアノテーションを行う必要があります。アノテーションの対象となるデータ形式はさまざまで、画像やテキスト、音声などあらゆるデータにアノテーションが行われ、機械学習モデルのトレーニングに利用されています。

アノテーションの実現方法

 機械学習モデルの精度を上げるためには、教師データの品質が重要であり、正確なアノテーションが要求されます。例えば、本当は「犬」の画像データなのに「猫」というラベルが付けられていると、機械学習モデルが間違って学習してしまい、判定の精度が下がります。

 アノテーションは、AI開発の要でもある機械学習モデルのトレーニングには欠かせない作業ですが、数千から数万(場合によってはそれ以上)にもなる生データを一つ一つ見ながら、正しいラベルを付けていくのは、かなり大変な作業です。効率良くアノテーションを行うための専用ツールも各社からリリースされていますが、それでも労力とコストがかかる仕事です。短期間で多量のデータをアノテーションして教師データにするには、多くの人による人海戦術が必要になり、コストの負担がさらに大きくなります。

 アノテーションは、AI開発企業が自社で行う場合もありますが、アノテーションを専門に行う企業(アノテーションベンダー)も増えています。そういった企業にアノテーションをアウトソーシングすることも一般的になっています。

機械学習モデルは一度作ったら終わりというものではない

 人間が成長とともに日々学習していくように、機械学習モデルも一度作ったらそれで終わりというものではありません。世の中で使われる機械学習モデルは、世の中の変化に対応するために、定期的に新しいデータを使ったアップデート(再学習)が必要になります。

 例えば、運転標識を判別する自動運転AIでは、新しい標識が追加されたり、道路交通法などの法制度が変われば、それに対応するために機械学習モデルをアップデートする必要があります。そのためには、また新しいデータをアノテーションして、再学習のための新しい教師データを作らなければなりません。工場の生産ラインで製品の不良を画像から識別する不良品検出AIなどは、入力される製品が決まっているので、一度精度の高い機械学習モデルができれば、それをずっと使い続けられるように思われるかもしれませんが、実際にはそんなことはありません。生産ラインで製造する製品の仕様が変わることも多いですし、製造に利用している材料の質が変わったら検品で認識すべき不良の出方が変わる可能性もありますので、ずっと使い続けられるわけではないのです。基本的に、精度の高い機械学習モデルを維持し続けるには、定期的にメンテナンスやアップデートを行わなければならないため、かなりの労力とコストがかかるわけです。機械学習モデルを作り、それを維持するのは、なかなか大変だということがお分かりいただけたでしょうか。

AIを作るプロセスの自動化に取り組むIdein

 このように、機械学習モデルを作って維持・アップデートしていくのは容易なことではありませんが、AI導入の際にはこの点も十分考慮していく必要があります。

 当社ではこの難問題にも取り組んでおり、その取り組み内容を今月下旬に開催されるNVIDIA社のオンラインイベント「NVIDIA AI DAYS 2022」にてご紹介いたします。当日は事前に録画した動画プレゼンをご覧いただきますが、オンラインブースには発表者であるCEOの中村自身が待機して皆様からのご質問にお答えいたします。ご興味のある方は是非ご参加ください。イベントの詳細については当社お知らせページをご覧ください(こちらからリンクしています)。