検索
連載

深層学習にはどんなデータが使えるのか? どれくらいのデータ量が必要か? ― DLLAB コミュニティ勉強会 2018Q2イベントから学ぶ最新技術情報

「機械学習・深層学習に向くデータの種類」「PoC(概念実証)段階と実用段階でのデータ収集の違い」「実用段階で精度メンテナンス」「深層学習に必要なデータ量」「アノテーションのクラウドソーシング」「オープンデータ」に関して有識者がコメントしたパネルディスカッションの内容を紹介する。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「AI・機械学習のイベントレポート」のインデックス

連載目次

ご注意:本記事は、@IT/Deep Insider編集部(デジタルアドバンテージ社)が「deepinsider.jp」というサイトから、内容を改変することなく、そのまま「@IT」へと転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。

 2018年5月28日(月)、「DLLAB コミュニティ勉強会 2018Q2」が開催された。ディープラーニングの実践活用を促進するための勉強会で、基本的にはビジネスパーソン向けのセミナーである。

各セッション

 セッションは、下記の5つだった。

  1. 『DLLAB ヘルスケア分科会 発足します』
  2. 『Retail AI 研究会 x DLLAB 連携開始』
  3. 『AIの下ごしらえラウンドテーブル:データ整備編』
  4. 『第4次産業革命の向こう側は「移民」か「AI」か!? 〜 IT企業が枝豆を売るワケ 〜』
  5. 『コミュニティアップデート』

 このうち本稿は、3のパネルディスカッション『AIの下ごしらえラウンドテーブル:データ整備編』の内容をレポートする。パネリストは下記の3名だ。

  • DefinedCrowd Corp. Chief Biz Dev Officer Aya Zook 氏
  • DATUM STUDIO 取締役 CAO(Chief Analytics Officer) 里 洋平 氏
  • OPTiM 執行役員/ディレクター 山本 大祐 氏

 司会は、日本マイクロソフト 深層学習 事業開発マネージャーの廣野 淳平 氏が務めた(以下、敬称略)。

図1 パネルディスカッションの様子(左から廣野/Aya/里/山本)
図1 パネルディスカッションの様子(左から廣野/Aya/里/山本)

 このセッションでは、「データをどうやって蓄積し整備するか」の考えやノウハウについて、3名のパネリストから聞き出された。ビジネスパーソンだけでなく、データサイエンティストや機械学習エンジニアにとっても参考となる内容だった。本稿ではこれについてまとめる。発言は口語調で記述した。

パネルディスカッション『AIの下ごしらえラウンドテーブル:データ整備編』の内容

各パネリストの自己紹介

 廣野  まずは自己紹介をお願いします。

 Aya  企業がAIに取り組む際に他社と差別化するには、「眠っている既存のデータのアセット(資産)化を、いかに素早く進めるか」が鍵になると思います。DefinedCrowdの主な事業分野は、音声技術・自然言語処理(NLP)・コンピュータービジョンで、特にAIソリューションの一連の工程において最初の方のデータ収集アノテーション(=データラベリング)/クレンジング/構造化にフォーカスしています(図2)。

図2 AIソリューションの開発工程
図2 AIソリューションの開発工程

 取引先にはデータサイエンティストが存在することを前提としており、モデリングなどはそちらで行います。アノテーションについてはクラウドソーシングcrowdsourcing)のサービスを提供しています(図3)。クラウドワーカーは3万5000人おり、NDA(秘密保持契約)などで信頼性を担保し、かつドメイン知識のある適切な人だけが選ばれるような仕組みになっています。このようにして、データの品質を大切にしています。

図3 DefinedCrowdによるクラウドソーシング
図3 DefinedCrowdによるクラウドソーシング

 里  新卒で入社したヤフーでは、リコメンドエンジンのアルゴリズムなどを作りました。その後も転職してデータ分析などの仕事をした後、4年前に2人でDATUM STUDIOという会社を立ち上げました(図4)。2人ともデータ回りの仕事を15〜20年ほどやってきた経験があります。

図4 DATUM STUDIOの業務内容
図4 DATUM STUDIOの業務内容

 人工知能の文脈で行っている業務は、主に「過去の膨大なデータから未来を予測する」ということで、それによって顧客のビジネスの改善を支援しています(図5)。例えば中古車の買い取り価格を未来予測するといった事例があります。

図5 人工知能に関連する業務
図5 人工知能に関連する業務

 山本  昔、プログラミング言語を作っていたりして、OSやプラットフォームまわりが専門です(参考:図6)。

図6 OPTiM Cloud IoT OS (AI・IoTプラットフォーム)の構成図
図6 OPTiM Cloud IoT OS (AI・IoTプラットフォーム)の構成図

 最近では、五感をハックして空間を認識していく技術や体験を共有する技術に興味を持っています。具体的には、

  • 裏側で使われる技術として「ウェアラブル、ドローン、VR/AR」
  • それらを支える「ディープラーニング、ブロックチェーン」
  • それらをつなぎ合わせる「IoTプラットフォーム」

などを組み合わせて、ユーザー体験を変えること、もっと言うと社会変革を起こすことを目指しています。

深層学習に向くデータの種類

 廣野  「弊社にはビッグデータがあるので、AIで何かできないか?」というお客さんが来たら、どういうふうにお答えしますか?

 山本  うーん……データの種類によって使う技術やコストが全然違ってくるので、まずは「どの分野なのでしょうか?」というお話から始めることになりますかね。

 廣野  実際に、こういうお客さんからの問い合わせは多いですよね。一般の人からすると、「機械学習・深層学習に向いているデータとは何か?」が非常に理解しにくいのが、こういう質問につながっているのではないかと思います。一般の人は、データ収集において何を重視すればよいのでしょうか?

 Aya  先ほどの回答と似ていますが、「何を作りたいのか」がまずは大事です。そこでポイントになるのが、「人間がやっていることをAIでスケール化・機械化させる」ということをベースに考えることです。

 例えば「チャットボットを作りたい」なら、「人間と人間がやり取りしているQ&AのようなことをAIでスケール化させる」というふうに考えて、Q&Aフォーラムの文字データや音声データを集めることになります。

 例えば「CT画像などの医療診断をしたい」なら、「人間が目で見ていることをAIでスケール化させる」というように考えて、収集が必要なデータを絞り込めますよね。

 逆にセンサーデータなどは、「人間がやっていること」ではないので、あまり深層学習には適してないのかなと思います。

 里  AIを「万能」と思っている人も多くて、そういった上司から「我が社もAIを」という指示が来て、弊社に相談されるケースはよくあります。しかしよく話してみると、そもそもデータを持っていないということもあり、この場合はどうしようもありません。

 先ほどの話にもあったように、基本的にAIは「人ができること」しかできません。AIは、人にもできることを、大量にさばいたり、高速にさばいたりといったことが得意です。

 人がすでにやって何か予測していることであれば、それは「AIで解決できる」可能性があります。例えば人が「前日の夜空を見て、明日の天気を予想すること」をしているなら、人が見ている「夜空のデータ」を集めて機械学習できます。

 逆に「人が誰もやっていないことをAIにさせたいです」という話は、そもそも「AIに何を学習させるのか?」という目的がはっきりしていません。そうなると「取りあえずデータを片っ端から何でも取ってくる」という計画を立てたりして、結果的に機械学習がうまくいきません。「人もやっていないことを、AIでやらせる」というのは現実的には難しいのです。

 つまりは繰り返しになりますが、「人がやっていること」で収集対象のデータを絞るのがお勧めです。

 廣野  なるほど。少し話を戻しますが、では、先ほどのチャットボットの例で言うと、どういうNLPデータが深層学習にとって“質の高い”と言えるのでしょうか?

 Aya  Q&Aのシナリオが決まっていて、オントロジー(概念体系)/ドメイン/概念/インテント(意図)がはっきりしているデータの方が、機械学習を行いやすいので、“質の高い”データと言えますね。つまり、まったく使っていない眠っているデータではなく、Q&Aにおいて人が実用しているデータの方が良いということです。

PoC段階と実用段階でのデータ収集の違い

 廣野  例えば医療の画像データで病変部位を判定するのに、深層学習で画像認識させる事例があります。こういった例を想定すると、最初はPoCProof of Concept概念実証)から始まってAIを作成していき、完成したら大規模な運用を行う実用段階に移行すると思います。PoCと実用段階では、データの蓄積の仕方は違ってくるのでしょうか?

 山本  そうですね。全然違ってくると思います。

 最初のPoC段階では、いかにコストをかけずに、質の高いデータセットをどう用意していくかが大事です。既存のものを使って安く早くデータを収集すべきだと思います。

 その後、有効な推論モデルが完成して横展開して大規模に運用していく実用段階になると、要求レベルが大きく変わって、「いかに安定して動作するか」といったことが求められるようになります。また、環境が徐々に変わっていくと精度も落ちやすいので、再学習を適宜行って精度を保つ必要も出てきます。さらに、そのモデルを販売してシステムとして売っていくとなると、より多くの考慮点が出てきます。といった点で、PoC段階とはデータ蓄積の仕方は変わってくると思います。

 廣野  実用段階に入ると、まるでDevOps(開発と運用の協働に関する概念)の話のようですね。

 山本  大正解です。弊社では、DevOpsをOpsOpsしてさらにOpsするみたいな感じで、よく分からないことになっていますね。(会場:笑)

実用段階での精度メンテナンス

 廣野  実用段階で精度が下がってきたときに、「どういったデータに対して下がっているのか。そのために、どういった新しいデータを集める必要あるのか」といった流れの継続的なプロセスが発生してしまうと思います。これに関して効果的な解決方法がないと思うのですが、今のところ、皆さんは気合でやっているのでしょうか?

 里  今のところだと、精度が下がってきたら、やはり人手で対処してしまっている部分はありますね。

 DATUM STUDIOで作る際には、機械学習モデルとシステムは疎結合にしています。具体的には、機械学習モデルはAPIとして提供したり、データベースに結果だけを入れたりしています。精度が下がってきたら、既存のシステムはそのまま動かしつつ、アルゴリズムやデータをいじってみて、精度が改善したら再度、APIやデータをリリースするという方法を採っています。

 という感じで、結構、ゴリゴリと手でやっていますね。

深層学習に必要なデータ量

 廣野  翻訳系のAPIはたくさんありますが、それをマニュアルの翻訳に使おうとしたら、結果は使い物にならないんですよね。なぜかというと、業界専用の言い回しや、専門用語、同じ単語でも意味合いが違う場合などがあり、おしきせのデータではきびしいからです。同じように翻訳系の深層学習では、「データを作るだけで一大プロジェクトになっている」という話をよく聞きますね。

 ところで、「データを作る」ということに関して、例えば製品の欠陥を画像認識するのであれば、実際には何百枚・何千枚・何万枚、どれくらいの画像データが必要になるのでしょうか?

 里  画像だとかなりの枚数が必要になるケースが多いのですが、結論はケース・バイ・ケースですね。最近、私がしているのは、「専門の人であれば、何枚ぐらい見ると、目的の判定(例えば製品の欠陥認識)ができるようになるか?」と聞いて、それを必要なデータ量の基準にすることです。まずはその枚数でできるかどうか機械学習してみます。

 山本  今のは“頂き”ですね! (会場:笑)

 私の場合、ケース・バイ・ケースはそのとおりなのですが、指標として「どういうケースなら、どれくらいのデータ量だったか」のパターンを教えることが多いですね。

 ケース・バイ・ケースというのは、10枚で精度が出ることもあれば、1000枚以上でも精度が出ないこともあります。それぐらい開きがあるので、「平均的にどれくらいのデータ量が必要か」というのは回答しづらいです。

 そういった回答をするよりも、顧客と信頼関係を築いてお互いに協力しながら、「コストをかけずに機械学習を試してみて、その結果を見て考えて再度試す」というサイクルを回していくことの方が重要です。まずは数百枚〜千枚ぐらいから、機械学習を試していくケースが多いと思います。

アノテーションのクラウドソーシング

 廣野  データのアノテーション作業は、クラウドソーシングすることがありますよね? しかしそうすると、思い通りのアノテーション(タグ付け)をしてもらえなかったり、国外へのデータの漏えいも気になったりします。DefinedCrowdさんはクラウドソーシングをサービスとして提供されていますが、そのクラウドワーカーをどう組織しているのでしょうか?

 Aya  そうですよね。一般的なクラウドソーシングの場合、アノテーションしてもらったデータが返ってきても、そのままでは使えずに、それをまたクレンジングする必要があったりして、結局、時間ばかりがかかってしまい、「クラウドソーシングしなくても、自分たちでできたのでは?」となることも多いと思います。また、社内で社員に作業させても、モチベーションがやはり高くないので、“やらされている”感のあるデータになってしまうことがあると思います。

 「もっと良いやり方があるのではないか」と考え、DefinedCrowdのクラウドソーシングでは、タスクデザインにこだわっています。

 具体的には、クラウドワーカーにとって「そのタスクが、誰のためで、何をしているのか」が分からないというのは当たり前ですが、なるべく簡単にして、トレーニングも必要ないような環境にする工夫をしています。

 また、データのバリデーションとして、タスクに対する1人のクラウドワーカーの結果を完全に信用することはできないので、もう一人のクラウドワーカーが結果をチェックするという、人力による作業も行っています。

 さらに、ドメイン知識を持っている人でなければ、そのドメインに関する資格を取ってもらいます。アノテーションは難しいので、タスクの内容を把握できるだけの知識・資格がない人は外します。

 タスクを行っている最中でも、人はさまざまな要因でパフォーマンスが上がったり下がったりしますので、パフォーマンスが下がっている人はタスクから外していきます。

 ちなみに、本当に良い仕事できる人は限られているので、報酬が高いタスクだけにクローズドな招待をしています。

 廣野  DATUM STUDIOさんは、アノテーションは外注されていますか?

 里  ケース・バイ・ケースで、顧客によります。できれば、外注したいですね。一部のケースでは、社内のアルバイトに作業してもらうことがあります。社員の中には、頑張って自分で作業する人もまれにいます。

 あと、クラウドソーシングした場合、先ほどの話のように品質の問題が出てくるので、同じタスクを複数のクラウドワーカーに投げて、その平均を取って品質を担保するような工夫はしています。1人だと、やはりブレが激しいです。

 山本  アウトソーシングしたアノテーション結果の平均を取ることで、ある程度の品質を担保して良しとすべきか(前者)。それとも、アノテーションという単調作業に対するモチベーションをコントロールしながら高品質のデータを作るべきか(後者)。この2つの考え方があるなと、私の業務経験から思います。

 先ほども出たPoC段階と実用段階では、データの質は求められ方が違うと思います。PoC段階では、アノテーションの仕方をちょっとずつ変えながら試していく段階なので前者の方法で十分ですが、実用段階からは後者の方法でアノテーションをする必要があると思います。

オープンデータについて

 廣野  データ量の海外・国内の差が個人的に気になります。学習時のデータは海外で、そのモデルを国内に持ってきて動かすと精度がでなくて、国内のデータを詰め直して学習し直すといった話も聞きます。例えばスマートスピーカーでは、英語と中国語は精度が出るけど、日本語はまだまだこれからということもあります。

 中国ではオープンデータが進んでいて、Eコマースのトップ3社がデータを公開しており、それを使って論文が書かれていたりしています。日本の学術的な進展も考えると、もっと日本でもオープンデータが広まることに期待したいです。

 Aya  オープンデータは、確かにメリットもあり、使えるとうれしいと思います。ただし米国の企業だと、プライバシー保護の観点もありますが、データをパブリックにすると他社にもそのデータが取られることになるので、競争の観点でもデータの公開を敬遠する傾向はありますね。個人的には、企業に対してパブリックなデータセットをもっと増やしてほしいなとは思います。

 廣野  ありがとうございます。今後もこのようなパネルディスカッションがしていきたいです。

動画 & DLLAB DAY 2018の紹介

 本セッションの動画はすでに公開されているので、より詳しくはこちらも参照してほしい。

 また、ご存じの方も多いと思うが、2018年6月21日にJP Tower Hall(KITTE東京丸の内)で下記のカンファレンスが開催されるので、ぜひチェックしてみてほしい。

「AI・機械学習のイベントレポート」のインデックス

AI・機械学習のイベントレポート

Copyright© Digital Advantage Corp. All Rights Reserved.

[an error occurred while processing this directive]
ページトップに戻る