Pythonが大好きなAI研究所の吉原と申します。
巷で話題のAI(人工知能)ですが、機械学習や深層学習をする場合に、必ず学習データが必要になってきます。
一般的には「ビッグデータ」と呼ばれるデータとなりますが、どれくらいからがビッグデータなの? どのくらいの学習データを集めればいいの?という疑問を持っている方も多いでしょう。
今回はAIで使うビッグデータについて、初心者にも分かりやすく詳しく解説していきます。
AIに使う「ビッグデータ」とは?
AIに使う「ビッグデータ」とはどういうものなのかというと、AIを動かすためには大体過去のデータなどの大量のデータが必要です。
その膨大な数のデータのことを「ビッグデータ」と呼びます。他の「データ」と何が違うのかというと、ただ「大量さ」を表すための単語です。
ビッグデータについてはこちらの記事で詳しく解説しています。
AIの学習に必要なビッグデータってどれくらい?
それではビッグデータは実際どれくらい必要なのでしょうか。
国内外のさまざまなデータを研究すると、「AIにどれぐらいの学習データ量が必要なのかはあなたが解決したい問題の種類による」ということです。
「多くの場合、最善なのは今あるデータでアルゴリズムの取り組みを開始して、必要と思われた時にさらにデータを追加することです。
プロジェクトの成果がある程度見えるようになれば必要なデータ量もいっそう明らかになるでしょう。
それでも具体的な数値を知ってから取り組みを開始したいという方のために、Gengoがインターネット上で探し出したプロジェクトのデータセットの推定規模を以下にいくつか挙げておきます。
これらの具体例は、あなたのプロジェクトで 目指すべき数値のヒントを与えてくれるのではないでしょうか。」1 顔検出と顔認識 -> 45万サンプル
2 画像アノテーション -> 18万5千件の画像、6万2千件の注釈付き画像、 65万件のラベル付き物体
3 Twitterの感情分析 -> 数万件のツイート
4 Twitterの感情分析調査 -> 全60万データポイントの三コーパスからのセレクション
5 アラビア語フェイスブックページ時の感情分析と分類 -> 6万2千投稿、9千コメント
6 テキスト言語識別 -> 一言語につき3千件の学習サンプルと千件の試験サンプル
7 機械翻訳 -> 400万単語
8 チャットボット学習 -> 20万の質問と対になる200万の回答
9 自然言語処理研究 -> 1万5千学習ポイント、100万以上の機能引用:gengo ai ダニエル・スミス氏の記事翻訳 機械学習にはどれくらいの学習データが必要か?
上の結論だとあまり納得がいかない方も多いでしょう。
上記の1や2に関して、WEB上で用意されている画像用のデータセット(必要なデータをワンセットにしてくれているもの)がどれぐらい画像を提供しているのかを見て、なんとなくこれぐらいあれば学習ができるのではないかと言う仮説を立てておくと納得しやすいです。
画像系データセットサイト10選
それでは次に画像系のデータセットがあるサイトを紹介していきます。
1.FaceScrub
Facescrubは海外セレブの画像を集めたデータセット。大規模顔画像処理の際に頻繁に用いられるデータセットで,カーネギー大学が公開している。
前処理を行ったあとの、530人の海外セレブ、それぞれ一人200枚程度、合計106,863枚の顔画像。
2.THE MNIST DATABASE of handwritten digits
THE MNIST DATABASE of handwritten digits(手書きの数字)は手書きの数字を均一化してセンター寄せに直した画像で、60,000枚と10,000枚のtestサンプルがあります。
3.The CIFAR-10 dataset
The CIFAR-10 datasetは10種類に分類された、32×32ピクセルの、 60,000枚の画像が用意されたデータセットです。
4.Labeled Faces in the Wild
Labeled Faces in the WildはWEBから収集された、13,000枚の顔の画像。 それぞれの顔には人物画像の名前がラベル付けされている。
1,680人は2枚以上の画像が存在している。
5.Large-scale CelebFaces Attributes (CelebA) Dataset
Large-scale CelebFaces Attributesは20万枚以上のセレブ達の画像を集めたものです。10,177人分,202,599枚の顔の画像にそれぞれに40の注釈がつけられています。
6.MSRA-CFW: Data Set of Celebrity Faces on the Web
WEB上からとってきた20万枚以上のセレブ達の画像を集めたものです。
202,792枚の画像で、少ない10人Verの容量の少ない版のダウンロードもあります。
7.MegaFace Dataset
MegaFace Datasetはなんと100万枚あります。690,572人分で、ビッグデータの中でも特に量が多いデータです。
8.Faces in the Wild
15,000人分の画像で、86×86ピクセルの画像サイズになっています。
9.MS COCO
MS COCOは5,000~120,000枚の画像を集めたものです。
ラベルなしや、トレーニング、テスト画像。 様々な人物、複数人、動物、風景などの画像が枚数ごとにダウンロードできる。
10.Open Images dataset from Google
Open ImagesはCVDF(Common Visual Data Foundation)から awscli(AWS Command Line Interface) を使い、1,743,042枚の学習データ、41,620枚のvalidationデータ、125,436枚のテストデータを取得できます。
他のデータセットに関しては、以前の記事でも紹介しています。
ビッグデータは量だけでなく質も大事
ざっと見た限り、顔検出と顔認識系は10〜20万枚くらい、それ以外だと1万〜6万枚くらいですね。
ただ上の目安となるデータ量を集めればいいかといったらそういう問題でもなく、上のダニエル・スミスさんの記事の主張通り、トライアンドエラーを繰り返して適切なデータ量に毎回設定し直していく必要があると考えられます。
ここでデータの量と共に大事になってくるのが、データの質です。
正しいデータを集め、与えてあげる必要があり、それは多すぎても、少なすぎても、まったく関連のない情報であってもだめです。予測するのに邪魔な情報は捨てなければなりません。
AIのビッグデータの質を決める特徴量とは?
例えば、特徴量というのがあります。機械学習における特徴量とは、学習データにどのような特徴があるかを定量化したものです。
簡単に説明します。あなたが芸能プロダクションのスカウトになった気持ちで考えてください。
大衆が好む芸能人の特徴はなにか、見た目にはどんな「特徴」があるか、性格にはどんな「特徴」があるか、声には、髪型には、etc。。。予測したいのは、大衆が好む芸能人という人物モデルです。
今まで支持されてきた芸能人は沢山いますが、ある法則があるのではないか、その法則に「強く関係している」人物の特徴を数値化したものが特徴量と考えます。
髪の長さは何センチ、身長は何センチ、声の周波数は何ヘルツ、性格が優しそうなら、誰と誰を比べて標準値を5としたら、4なのか、6なのか。
それだけでなく、その時代の景気が良かったのか、悪かったのか。
良かったなら、日経平均はいくらだったのか。
ただ、髪の長さにはまったく相関性がなかったとか、色々と状況によって時代によって変化する可能性もあります。そこで、適切な特徴量を学習に反映させるために、特徴選択というものを行っていきます。
これが学習データの質を決める一つの要因で、すべての数値を詰め込めば、適切な予測ができるかといったことではないのです。
アルゴリズムを変え、SVMで解くのか、k近傍法で解くのか、与える特徴量を変えたり、 何も変化がなかったらそこで初めてデータの量を増やしたりしたほうがいいのです。
機械学習についてはこちらの記事で解説しています。
AIのビッグデータを上手に集める方法
解決したい問題があり、それをどんなアルゴリズムで解くか。そのために必要になってくるデータの量はどれぐらい集めればいいのか。どのように情報を取捨選択すれば良いのか迷ってしまいますよね。
わたしたちがオススメする、いい方法があります!
- どれぐらいのデータ量が必要? まずは、あるものから試してみよう!正解はありません。
- データを訓練用とテスト用に分けて学習させて、モデルを作りましょう。
- さあ、学習モデルができました。 その結果を見て、どれくらい正解しているか判断しましょう。
- もし結果があなたの期待以下なら、新しいデータを集めてテストの値に満足いくまで ②と③を繰り返しましょう。
そして、ここで一番重要なのが、その結果によって最終的な目的が達成できるか?を判断することです。
AIを作る以上、かかっている工数を削減したい、ユーザーに対してのサービスを向上させたい、売上を上げたい、などの目的があるはずです。これを達成できなければいくら精度のいいAIを作っても意味がないですよね。
どれくらいのデータ量が必要か、というところに対しては、答えはありません。
ただし、データが少なくても、精度は悪いかもしれませんがAIは作れます。
まずはデータを集めないと・・・と言って闇雲にデータを集めて失敗されている会社様をたくさん見てきました。少ないデータでも、いかに早くスタートできるか、が勝負です。
またビジネスにおけるAIの活用方法について知りたい方には、AI研究所のビジネス向けAI講習がおすすめです。AIをビジネスで活用するコツと知識を詳しく学べます。
AIをビッグデータで作成する練習してみよう
まず無料で公開されいるプロジェクトや、上で紹介したようなデータセットを探しましょう。もちろん解決したい問題がどの分野に属するのかを認識することが重要です。
そして、プログラミングいらずでAIが作れる、Azure MLやNeural Network Consoleなどを使って実際にAIを作ってみましょう!
■参考記事
- Azure MLに無料登録してみよう
- プログラミング不要!? AI(人工知能)の作り方【Azure ML – 機械学習】
- Azure MLでCNN(畳み込みネットワーク)を使ってディープラーニングさせる方法
独学が不安な方や、AIプロジェクトの進め方や勘所をつかみたい方は、AI研究所のビジネス向けAI講習がおすすめですよ!画像認識のディープラーニングまでわかっちゃいます。
まずは第一歩を踏み出してみてください!