目次
高品質な学習データとは、各業界をリードするアルゴリズムと、流れから取り残されるアルゴリズムの違いです。人工知能から最高の性能を引き出すのには、どれだけの学習データが必要なのかを問うのはまったく理にかなっています。
とはいえ、これは構築中のアルゴリズムの種類からビジネス上のインパクトまで幅広い要素に影響されるため、思ったよりもずっと複雑で答えにくい問題です。機械学習にどれほどの学習データが必要なのか割り出す方法を検討する前に、この問題の厄介な点をいくつか見てみましょう。
必要なデータ量を見積もるのが難しいのはなぜ?
データポイントの目標数を確定するのにひと苦労するのは、学習過程の目標が原因です。以前の記事で機械学習の仕組みについて説明しましたが、機械学習の目標はデータそのものではなく、データのパターンや関連性を理解したアルゴリズムを構築することです。データを収集する際は、集めたデータの量によってアルゴリズムはデータ間やデータと結果間の関連性について学習します。
これは一見とても簡単に予測できそうに思われがちです。しかし、以前の記事で説明したように、機械学習の目標は多種多様なので、学習データの種類も広範なものとなります。よって、プロジェクトごとに独自の様々な要素が重なり合い、前もってデータの必要量を算出するのが非常に難しくなるのです。これには以下の一部またはすべてが含まれる可能性があります。
機械学習アルゴリズムの複雑性
機械学習アルゴリズムがタスクを実行するために考慮すべき各パラメーターは、機械学習に必要なデータ量を増加させます。例えば、ある車の型式を特定するように要求されたアルゴリズムが持っているのは、主に車の外形に関する少数のパラメーターです。その車の値段を判定しなければならないアルゴリズムは、車の型式や状態だけでなく、経済的要素や社会要素等、さらに全体像を理解しなければなりません。この複雑度の高さによって、二つ目のアルゴリズムには一つ目よりはるかに多くのデータが必要となります。
機械学習の学習法
アルゴリズムは多数の連携パラメーターを理解することが求められるため、その結果もたらされる複雑さによってアルゴリズムの学習方法が変わってきます。従来の機械学習アルゴリズムでは構造化された学習を使用しますので、追加のデータがわずかな関心領域しか持たない点にすぐに到達します。一方、深層学習アルゴリズムは独自のパラメーターを見つけ出し、構造なしに向上する方法を学びます。つまり、このアルゴリズムにはより多くのデータが必要となるというだけでなく、より長い学習カーブも必要となり、そこでは追加データがプラスの影響をもたらすのです。このように、使用する学習方法によってアルゴリズムに役立つAI学習データの量は大きく違ってくるのです。
アノテーションの必要性
実施するタスクにより、データポイントには様々な方法でアノテーションを行うことができます。このためデータが生成するラベル数や、ラベルを生成するのに要する労力は大きく変動します。例えば、感情分析用の一千文の入力データがあるなら、それがポジティブなのかネガティブなのかをラベル付けするため、一文につき一つのラベルを作成すればよいだけです。しかし、この一千文に固有表現抽出のアノテーションを付けるなら、1文につき五つの単語をラベル付けしなければならないかもしれません。同じ未加工のインプットデータでも、あるタスクで生成されるラベルの量は他の五倍になるわけです。ですから、データを作成する方法によって、プロジェクトに必要なデータ量やその調達コストが変わってくるのです。
エラー耐性
ビジネスにおけるアルゴリズムの役割もデータ量に影響します。天気を予測するアルゴリズムなら20%のエラー率は許容範囲ですが、心臓発作のリスク患者を検出するアルゴリズムの場合はそうではありません。境界条件を改善すればこのリスクは低減されます。アルゴリズムが非常にリスク回避的であるか、ビジネスの成功に不可欠なものであるなら、完璧な性能への要求に応えるため、必要なデータ量は増加します。
インプットの多様性
我々の暮らしている複雑な社会では、アルゴリズムにさまざまなインプットを与えることが可能です。例えば、チャットボットは改まった文体やくだけた文体、文法的に誤ったものまで、さまざまな言語で書かれた文を理解できなければなりません。アルゴリズムのインプットが高度に制御されるのでなければ、この予測不可能な環境でアルゴリズム関数を支援するのにより多くのデータが必要となります。
最終的にはプロジェクトリーダーがこれらの要素を調整して独自の目標を見つけなければなりません。以上を念頭において、データの必要量を判定する方法をいくつかみてみましょう。
必要な学習データ量の計算方法は?
任意のアルゴリズムが必要とする正確なデータポイントのな数を決定するのはほとんど不可能です。幸いなことに、プロジェクトの分析に基づいた一般的評価から始めるのでも十分です。一般的な方法としては、「十の法則」と「学習カーブ」があります。
- 十の法則: 一般論として良くいわれるのが、機械学習には、モデルのパラメータ数の10倍の学習データが必要ってことです。自由度はアルゴリズムのアウトプットに影響するパラメーターであり、あるデータポイントの属性でもあり、より簡単に言うとデータセットのカラムでもあります。十の法則はこのような合成パラメーターがアルゴリズムのインプットにもたらすばらつきを補償することを目的としています。これは複雑なアルゴリズムについては答えようのない別の問題についての議論を見直すだけでほとんど役に立ちません。しかし、この法則によって即座に提示される見積もりは、プロジェクトを動かすのには十分なものです。
- 学習カーブ: 既にいくらかのデータがあるものの、もう少し多くのエビデンスに基づいて決定を下したい場合は、データセットの規模に基づいて機械学習アルゴリズムの能力を評価することを検討してみてもよいかもしれません。グラフに結果を作図することで、データセットの規模とアルゴリズムのスキルの関連性を割り出せますし、それ以上データを与えるとリターンが減少するという点を特定することもできるはずです。これは、多少のロジスティック回帰の問題をもたらし、多大な労力を要する方法ですが、単なる推測するよりもより信頼性の高い結果を提示するものです。
多くの場合、最善なのは今あるデータで機械学習アルゴリズムの取り組みを開始して、必要と思われた時にさらにデータを追加することです。プロジェクトの成果がある程度見えるようになれば必要なデータ量もいっそう明らかになるでしょう。それでも具体的な数値を知ってから取り組みを開始したいという方のために、当社がインターネット上で探し出したプロジェクトのデータセットの推定規模を以下にいくつか挙げておきます。これらの具体例は、貴社のプロジェクトで目指すべき数値のヒントを与えてくれるのではないでしょうか。
プロジェクト | タスク | データ数 |
FaceNet | 顔検出と顔認識 | 45万サンプル |
MIT CSAIL | 画像アノテーション | 18万5千件の画像、6万2千件のアノテーション付き画像、 65万件のラベル付き物体 |
Sprout | Twitterの感情分析 | 数万件のツイート |
‘Twitter Sentiment Analysis: The Good, the Bad and the OMG!’ | Twitterの感情分析調査 | 全60万データポイントの三コーパスからのセレクション |
“Analysis and Classification of Arabic Newspapers” Facebook Pages using Text Mining Techniques’ | アラビア語Facebookページ時の感情分析と分類 | 6万2千投稿、9千コメント |
‘Improved Text Language Identification for the South African Languages’ | テキスト言語識別 | 一言語につき3千件の学習サンプルと千件の試験サンプル |
TransPerfect | 機械翻訳 | 400万単語 |
‘Building Chatbots from Forum Data: Model Selection Using Question Answering Metrics’ | チャットボット学習 | 20万の質問と対になる200万の回答 |
Online Learning Library | 自然言語処理研究 | 1万5千学習ポイント、100万以上の機能 |
機械学習においてデータの数と質、どっちが大事なのか
機械学習の学習データの限界はアルゴリズムの世界の限界です。ただし、これはデータの必要量に関する話のすべてにおいて、データの量だけでなくデータの質にも適用されるということを忘れないでください。
アルゴリズムにとって100万件の質の悪いデータは、100件の良質なデータに対してはるかに悪い結果を引き起こします。何を構築する場合でも、使用するデータが強固な基盤となり成功の可能性を高めるのだということをお忘れなく。
お探しのデータセットが見つからない場合は、当社が既存のデータセットからご用意いたします。お気軽にご相談ください。