この記事では、機械学習モデルの構築を行う上で欠かせないAI学習データについて解説します。
AI学習データの形式や無償利用可能なデータセット例、用意する方法などの紹介に加え、AI学習データの品質を高める上で欠かせないアノテーションについても解説します。今後、AI活用を検討されている方はぜひ参考にしてください。
AI学習データに関する基本情報を解説します。
AI学習データとは、機械学習(教師あり学習)を用いて機械学習モデルを作る際に必要となるデータのことです。教師データや訓練データ(トレーニングデータ, training data)とも呼ばれます。
教師データは例題と答えをセットにした形で整理されたデータで、このデータをもとに機械学習モデルを構築、調整し、出力結果を最適化します。
実際にAI学習データをもとに機械学習を行っていく際には、教師データをさらに「学習データ」「評価データ」「テストデータ」の3つに分けて利用します。学習データは文字通り学習のために使われるデータであるのに対し、評価データは作成された機械学習モデルが機能しているかを評価するためのデータ、テストデータは作成された機械学習モデルのテストに用いられるデータです。
次にAI学習データの形式について解説します。AI学習データには、主に次の形式があります。
<AI学習データの形式>
データ形式 | 主な用途・例 |
画像データ | 顔認証・外観検査など |
音声データ | スマートスピーカー・自然対話ロボットなど |
テキストデータ | チャットボット・自動翻訳・SNS分析など |
映像データ | 自動運転・AIカメラなど |
数値データ | 需要予測・天気予報・経済分析など |
画像データは、画像解析や画像識別に使用され、共通点や差異を分類して顔認証・外観検査などに活躍します。画像解析では、入力された画像が何の画像であるかを認識して分類したり、入力された画像に写っているものから特定の箇所・領域を検出したりする使い方が代表的です。
画像データから連想されるキーワードを出力したり、顔の部分だけを検出することによって性別や年齢を推定したり、手書き文字画像を読み取りテキスト変換する、といった応用も可能です。
音声データは、主に音声認識の機械学習に使用します。人間の発声を言葉として認識し、テキストとして文字起こしできるので、会議の音声データをそのまま入力して自動で議事録の文字起こしをするほか、スマートスピーカーやAIロボットの自動応答などに活用されます。
さらに応用することで、声の抑揚から強調点を抽出したり、その人の健康状態・ストレス状態を検出するといった活用も可能です。
テキストデータから、内容を要約したり内容に基づいて文章を分類したりすることが可能です。
テキストデータの活用範囲は幅広く、議事録から議事要旨を作成したり、口語体を文語体へ変換したりするほか、チャットボットや自動翻訳に用いられたり、SNS上のコメントを分析して天気予報・市場予測・感情分析などに用いられたりする場合もあります。
映像データを利用したAI開発で代表的なものは、走行中の映像を解析する自動運転です。監視カメラの映像を解析して、不審者や体調不良者を検知するAIも開発されています。
数値データは、過去のデータをもとに分析を行う統計的な手法のほか、そこから将来の数値を予測するなどの活用が進んでいます。また、機械学習する際には各種データの特徴量を数値化してから入力する方法が一般的なため、広義ではすべてのデータが数値データとも言えます。
続いて、AI学習データを用意する方法について見ていきましょう。AI学習データを用意する方法は、主に次の3つです。
1.自社で蓄積したデータを活用する
2.既存のデータセットを利用する
3.要件に合ったデータを収集する
AI学習データを用意する方法として、もっともシンプルかつ確実なのは自社で蓄積したデータを活用する方法です。すでにデータの目途がついている場合は、それを活用する方向で考えるとよいでしょう。
後述する方法(無償のデータセットを利用する、要件に合ったデータを新たに収集するなど)では、データが目的に沿っていないリスクがあります。それに対して自社で蓄積したデータをもとにする場合、目的に密接に関わるデータが収集できている可能性が高く、データを収集しなおすリスクが回避できます。
一方で、適切なAI学習データを自社で蓄積するのがそもそも難しいというのもまた事実です。データの受け皿となるデータウェアハウスやデータレイクが整備されていなければ、データを蓄積したつもりが欠損の多い低品質なデータになってしまっている可能性もあります。また、集めたデータに対して適切なデータプレパレーションやデータクレンジングが施されていないと、そのまま機械学習に用いることのできないデータになってしまいます。
蓄積したデータをAI学習データ(教師データ)として使える状態にするためには、ある程度の知識・技術・リソースが必要になりますので注意しましょう。
データの蓄積に必須となるデータウェアハウスやデータレイクについて、またデータ分析などに必須となるデータプレパレーション(データ準備)やデータクレンジングの詳細については、それぞれ下記記事をご覧ください。
Web上には、AI学習データを無償で公開するサイトも数多くあります。
次の表は、無償で利用できるAI学習データおよびAI学習データを検索できるサイトなどをまとめたものです。解決したい課題に沿ったデータがないか、チェックしてみてください。
<無償利用可能な学習データを公開するサイトの例>
DATA GO JP(データカタログサイト) | デジタル庁が整備、運営するオープンデータに係る情報ポータルサイト。各府省の保有データをオープンデータとして利用できる場として、データの提供側・利用側双方にオープンデータのイメージを分かりやすく示すことを目的としたデータカタログサイトです。 |
政府統計の総合窓口(e-stat) | 政府統計の総合窓口。日本の政府統計関係情報のワンストップサービスを実現するため、2008年から本運用を開始した政府統計のポータルサイトです。 |
楽天データセット | 楽天技術研究所(RIT)が公開しているデータセット。楽天の商品レビューやアノテーション付き文字画像を公開しています。 |
Google Dataset Search | Googleのデータセット検索エンジン。キーワード検索により、Web上のデータセットを見つけることができます。 |
Microsoft Research Open Data | Microsoft Researchの無料データセット。オープンデータを検索・ダウンロードできます。 |
facebook research Dataset | facebook researchが公開するデータセットです。 |
Harvard Dataverse | ハーバード大学が公開する、機械学習に利用可能なデータセットです。 |
UC Irvine Machine Learning Repository | カリフォルニア大学アーバイン校が公開しているデータセットです。 |
MegaFace | ワシントン大学で実施された顔認識アルゴリズムの公開競技用データセットです。 |
Large-scale Fashion(DeepFashion)Database | 香港中文大学マルチメディア研究所のファッション画像データセットです。 |
Food 101 | 101,000個の食品画像を101個のカテゴリでラベリングされているデータセットです。 |
Atomic Visual Actions (AVA) | AVAは、人間の活動の理解を深めるためにGoogleが提供する、人の動作を認識するための映像データセットです。 |
AudioSet | Googleが公開する、手動でアノテーションされた音声データセットです。人間の声や動物の鳴き声のほか、楽器の音、信号の音などの短い音声データが提供されています。 |
Speech Commands Dataset | Googleが公開する、Tensorflow向けの音声認識のための声のデータセットです。 |
Web data: Amazon reviews | Amazonレビューで構成されたデータセットです。1995年6月から2013年3月までの約3,500万件のレビューが含まれています。 |
Common Crawl | 500億を超えるWebページで構成されるWebクロールデータです。 |
構築するモデルによっては、大量で高品質のデータが求められず、無償利用可能なデータセットで十分な場合もあります。ただし、無償利用可能なデータセットは商用利用が禁じられており、非営利の研究目的での利用に用途が限定されているものも少なくありません。利用前に利用規約をよく確認しましょう。
データを蓄積する環境がない、十分なデータ量が確保できていない、既存のデータセットでは目的に合ったものが見つけられない、既存の業務とは異なるタスクを解決しようとしているなど、さまざまな理由でデータを用意するのが難しい場合、要件に合ったデータを新たに収集する必要があります。
AI学習データを収集する方法には、手入力する、Web上でスクレイピングする、アウトソーシングする、などがあります。
たとえば、紙でデータを蓄積している場合は、それらのデータを手入力してAI学習に使えるデータへと変換する必要があります。Webサイトで公開されているデータを収集する場合には、Webスクレイピングすることで効率的にデータ収集ができます。
しかし、いずれにせよ新たにリソースを割くことになる上に、要件を満たすデータを収集するのはそう簡単ではありません。そのため、これから新たにデータを用意する場合は、既存のデータセットを利用するか、適切なデータセットが見つからない場合は専門会社にアウトソーシングすると確実です。
ここからは、収集したデータをAI学習データとして活用するために必須となる、アノテーションについて解説します。
AI学習データをいちから用意する場合は、まず課題を設定するところからはじめ、課題解決に沿ったデータを収集していきます。
しかし、収集したデータはそのまま機械学習(教師あり学習)に使えるわけではありません。教師あり学習に用いるためには、構築したい機械学習モデルに適したアノテーション(正解のデータやラベル)を付与して教師データにする必要があります。
自社で蓄積、ないし収集したデータに対して、自分たちでアノテーションすることもできます。しかしAI学習データにアノテーションを付与するには、相応の技術・知識、そしてリソースが必要です。
アノテーションにかかるコストについて、アジアの品質保証アウトソーシング会社であるLotusQAは、次のように例を挙げて解説しています。
なぜラベル付けの作業だけでそんなに時間がかかるの?と考える方もいらっしゃると思いますので、ビデオアノテーションの1つの例を見てみましょう。
約30~60fpsで10分間の動画には18,000~36,000のフレームが含まれています。そして1時間の動画をアノテーションするためには5人月の労働力が必要になります。【5要点紹介】AI学習データアノテーションの要点 | 規模 | LotusQA|YouTube
アノテーションにかかる費用を節減するために、低コストでアウトソースするリスクも理解しておくべきでしょう。たとえば医療用AIを開発するためにCTスキャン画像などにアノテーションする場合には、必要な医学的知識を持つ医師によるデータラベリングが必要になり、相応のコストがかかります。
参考:
【5要点紹介】AI学習データアノテーションの要点 | 規模 | LotusQA|YouTube
データ量やアノテーションが不十分で、低品質なデータをもとにした機械学習モデルは、精度が低くなり結果的に実用に耐えないものになってしまいます。
たとえば、誤ったラベルが付けられた車線の画像を使って自動運転車用AIをトレーニングした場合、致命的な事故を引き起こす可能性があります。完全に誤りとは言えないまでも、品質の低いデータを使ってトレーニングした機械学習モデルは、何らかのトラブルを招くリスクが高くなってしまうのです。
ビッグデータという言葉から、大量のデータさえあれば機械学習モデルが作れると思いがちですが、品質の低いデータはかえって精度を低くする要因になってしまいます。
2021年12月10日