Chomado's Blog
You Are Reading

AI 学習サービス Aidemy 受講メモ 05 「機械学習にデータはどれくらい必要なのか?」(転移学習, アルゴリズムチートシート)

1
機械学習

AI 学習サービス Aidemy 受講メモ 05 「機械学習にデータはどれくらい必要なのか?」(転移学習, アルゴリズムチートシート)


AI 学習サービス Aidemy (アイデミー) の、3 か月コース「AIマーケティングコース」を
一部体験させていただけることになりました!
なので、そこで学んだことを、皆さまにもシェアできればと思い、授業メモを取ることにしました。
(もちろん、私のこの個人メモを見るよりも 実際の Aidemy さんの動画教材 を見た方が 1024 倍勉強になります)

(前回の記事:『AI 学習サービス Aidemy 受講メモ 04 「機械学習の流れの全体像」』)

(次回の記事:『AI 学習サービス Aidemy 受講メモ 06「機械学習におけるデータ分割方法」(ホールドアウト法, k-分割交差検証, LOO)』)

今日の話題- 機械学習にデータはどれくらい必要なのか?

機械学習にデータはどれくらい必要なのか?
(『2.1.3 データはどれくらい必要なのか?』より)

今日は「機械学習にデータはどれくらい必要なのか?」について勉強しました。

トピック:

  1. データの枚数がどれくらい必要なのか?
    1. ディープラーニング以外の機械学習
    2. ディープラーニングの場合
  2. そもそもデータが無い時は?
    1. データを作る
    2. APIを利用
    3. 転移学習 を利用

元動画、元教材

すべて Aidemy (アイデミー) さんの コンテンツです。

形式 リンク
動画 2.1.3 データはどれくらい必要なのか?
テキスト 2.1.4 データの学習
YouTube 動画 データはどれくらい必要なのか

1. 機械学習にどれくらいのデータが必要なのか

機械学習にデータはどれくらい必要なのか?
(『2.1.3 データはどれくらい必要なのか?』より)

機械学習にどれくらいのデータが必要なのか。
それは「ケースバイケース」(場合による)という答えになる。

とはいえ、ある程度予想をつけることはできる。

1-1. Deep Learning 以外の場合

アルゴリズム・チートシート
(YouTube 動画|『データはどれくらい必要なのか』より)

機械学習にどれくらいデータが必要なのか、という話で、
まず、deep learning 以外の場合。

Scikit-Learn (サイキット ラーン) という有名な機械学習ライブラリの
アルゴリズム・チートシート」というものがある。

(「チートシート」というのは虎の巻的なやつ。これを見れば大丈夫的な。)

サイキットラーンのチートシート
https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html

使用するデータの内容と目的に応じて、どのアルゴリズムを使えばいいのか教えてくれるもの。

先生「**Scikit-Learn** という、世界で最も使われている機械学習ライブラリのチートシートを持ってきたわ。これは、機械学習の様々なアルゴリズムのなかで、どのアルゴリズムを選ぶのがいいのか、フローチャートでまとまっているものよ」

データが 50 個以上あることは前提

Microsoft のアルゴリズムチートシート

機械学習のアルゴリズムチートシート、Microsoft も出しています。
2019 年のものなので、わりと新しめかも。

→『Azure Machine Learning デザイナーの機械学習アルゴリズム チート シート
Azure Machine Learning デザイナーの機械学習アルゴリズム チート シート

1-2. Deep Learning の場合

機械学習にデータはどれくらい必要なのか?
(YouTube 動画|『データはどれくらい必要なのか』より)

Deep Learning の場合、もっと多くのデータ必要となる。

たとえば分類問題の場合、目安は 1 カテゴリ 1,000 枚以上。

先生「だから、たとえば、『0 から 9 までの数字の画像認識』というテーマであれば、1万枚の画像データと正解ラベルがある、というのがひとつの目安になるわね」

めっちゃ多いなあ。。。。

2. そもそもデータが無いときは?

先生「わかってるわ。そんなにデータが無いって言うんでしょう?データが無いときも、まだ諦めるのは早いわ。どうすればいいか、3 つ手法を紹介しましょう」


(YouTube 動画|『データはどれくらい必要なのか』より)

  • そもそもデータが無い時は?
    1. データを作る
    2. API を利用
    3. 転移学習 を利用

2-1. データをつくる


(YouTube 動画|『データはどれくらい必要なのか』より)

データが足りないのだからデータを作りましょう、という話。
主に次のふたつの方法がある:

  1. SNS などから取得
  2. web スクレイピングの利用

ただ、個の場合、web 上にあるデータに限られるし、商用利用に制限のあるケースがあることに注意

2-2. API を利用


(YouTube 動画|『データはどれくらい必要なのか』より)

学習データを集めてモデルを作るんじゃなくて、学習済みモデルを利用させてもらおうという話。

Microsoft Azure Cognitive Services など、
クラウドベンダーが学習済みのモデルを API 経由で提供していて、
ユーザがその API を叩くと、推論結果を返してくれる。
それを利用する。

カスタマイズができない場合が多い

2-3. 転移学習 を利用


(『2.1.3 データはどれくらい必要なのか?』より)

転移学習 (Transfer Learning) とは、
学習済みモデルに、独自に新しいデータを加えて
新しい学習済みモデルを作る手法

少ないデータで高い正解率を実現できるので、ディープラーニングによる画像診断などで主流

転移学習の例

画像認識研究のための研究用標準データセットである ImageNet (1400万枚を超える画像に何が写っているかを、2万種以上のラベルで示したものがネットで無料で公開されている)
を学習した VGG 16 モデル (ImageNet を学習済みの 16 層からなる CNN (Convolutional (畳み込み) Neural Network) モデルで、有名な学習済みモデルのひとつ) に、

自分で用意した犬の画像と猫の画像、それぞれ 50 枚程度を使って、

「犬猫判別機」というオリジナルの学習モデルを作ることができる。

(deep learning は 1 カテゴリ 1000 枚以上のデータが必要だって話だったし、これが 50 枚程度で済むなら、かなりお手軽だよね)

ImageNet (image-net.org)

まとめ

機械学習にどれくらいのデータが必要なのか、という問いの答えは「ケースバイケース」。一概には言えない。

先生「例えば、紙である資料をデータ化しようというプロジェクトの場合、機械学習を使うより、最近は RPA というルーチン作業の自動化ツールを用いたほうが、工数が少なく、簡単に処理できるケースも多いの」

だから、膨大なデータが必要な機械学習にこだわらず、いろいろな手法を検討するということが最も大事

花あやめ (Iris) の例

次は、『2.1.4 データの学習』に進みます。


(画像:『Data Science Example – Iris dataset』より)

機械学習では 「Iris(あやめ)」 というサンプルデータセットがよく使用されます。
これで品種分類 (classification) をしている人がたくさんいます


(図『2.1.4 データの学習』より)

Next Step

次は機械学習と統計学の違い、データの分割方法などについて勉強します

(次回の記事:『AI 学習サービス Aidemy 受講メモ 06「機械学習におけるデータ分割方法」(ホールドアウト法, k-分割交差検証, LOO)』)


Madoka Chomado (ちょまど)

千代田まどかです。よくちょまどと呼ばれます。Microsoft 社員。文系出身プログラマ兼マンガ家です。私の書いた記事一覧がこちらです

(2) Comments

  1. […] (前回の記事:『AI 学習サービス Aidemy 受講メモ 05 「機械学習にデータはどれくらい必要なのか?」(転移学習, アルゴリズムチートシート)』) […]

コメントを残す

メールアドレスが公開されることはありません。