Slide 1

Slide 1 text

⽇本におけるAI活⽤と注⽬トピック 電通国際情報サービス(ISID) X(クロス)イノベーション本部 AIテクノロジー部 AIトランスフォーメーションセンター 御⼿洗 拓真

Slide 2

Slide 2 text

2 アジェンダ 1: ⾃⼰紹介&はじめに 2: AI・機械学習とは? 3:⽇本におけるAI活⽤とAIの⺠主化 4:MLOpsと注⽬キーワード 5:さいごに

Slide 3

Slide 3 text

3 ⾃⼰紹介&はじめに 01

Slide 4

Slide 4 text

4 御⼿洗拓真 所属: 電通国際情報サービス クロスイノベーション本部 AIトランスフォーメーションセンター 経歴: 2015年3⽉:慶應義塾⼤学総合政策学部卒(近代史・社会学専攻) 2015年4⽉:新卒でとあるSIerへ⼊社し、 Azureベースの機械学習システム導⼊案件を推進 2020年2⽉:ISIDへ中途⼊社 現在は、顧客⽀援と並⾏してAIを使った⾃社サービス開発に尽⼒中 業務: 機械学習システム開発・導⼊、⾃社のAIソフトウェアの開発、主にAzureによる アーキテクチャ設計 ディープラーニング検定との関わり: 2019年10⽉に、エンジニア資格を取得しました。 Qiita : https://qiita.com/tamitarai 趣味: コーヒー、ウィスキーなど ⾃⼰紹介

Slide 5

Slide 5 text

5 はじめに l お話すること l 皆さんが就職した後や、就活の⾯接で喋るのに使えるようなAI・機械学習の説明 l ⽇本企業におけるAI導⼊の状況 l 「AI活⽤の課題」におけるの注⽬キーワード l お話しないこと l 数学的な機械学習の仕組みについてのお話 l 皆様に理解してもらうための「機械学習とは?」というお話 l 個別のドメインにおけるコアな最新技術のお話

Slide 6

Slide 6 text

6 AI・機械学習とは? 02

Slide 7

Slide 7 text

7 AI・機械学習とは? 皆様は、すでに「機械学習とは何か」について多かれ少なかれ知っていると思います。 では、機械学習システムの導⼊を検討しているお客様に 「機械学習ってなに?」と聞かれたら、なんと答えますか? 私(たち)は、「従来システムとの違い」という観点でご説明をすることが多いです。 (理由はあとで説明します)

Slide 8

Slide 8 text

8 AI・機械学習とは? 例えば、こんなお題をベースにして考えます。 画像を⼊⼒して、⽝と猫を分類するシステムを作る場合、 どのようなロジックで判定をしますか? ? 猫 猫 ⽝ ⽝

Slide 9

Slide 9 text

9 AI・機械学習とは? 従来型システムと機械学習に判定の違いとして、 「従来型は(基本)変化しない」「機械学習は変化する」ということを強調して説明します。 if ( 丸い顔==True, ⽑が⽣えている==True, ⽿が尖っている==True ): return "猫" 猫 従来型システム • ⼈間が詳細にルールや基準を定義して分類する • ⼀度ルールが決まれば、基本的には変わらない • AIがデータの背後にある法則性を⾒つけだして線を引く • データが変われば、線の引き⽅(=ルール)も変わる 機械学習 データ なんらかの軸(顔の丸さ) ⽿のとがりぐあい 猫

Slide 10

Slide 10 text

10 従来型システムと機械学習のアプローチの違いは、「演繹法」と「帰納法」としても説明できます。 AI・機械学習とは? 答 Data • 正しい理論を⼀つ⼀つ積み重ねて、確実な答えに⾄る • 仮説検証 • 理論が正しければ、答えは100%正しい 従来型システム:演繹法アプローチ 機械学習:帰納法アプローチ Data 答 答 答 答 答 答 • 答えから法則性を導き出す • ⇒⼈間と同じく100%ではないが、”曖昧さ”を 許容できる柔軟性がある • やってみないと分からないところがある

Slide 11

Slide 11 text

11 AI・機械学習とは? 機械学習の基本的な考え⽅は、「データ」を元に、機械が⾃動で線を引くことなので、 「データ」が変われば、「線の引き⽅」も変わる、ということを最後にまた強調します。 どちらのデータの⽅が適切な線が引けそうですか?

Slide 12

Slide 12 text

12 AI・機械学習とは? どちらのデータの⽅が適切な線が引けますか? つまり、データの質と量がとにかく⼤事!!!! 機械学習の基本的な考え⽅は、「データ」を元に、機械が⾃動で線を引くことなので、 「データ」が変われば、「線の引き⽅」も変わる、ということを最後にまた強調します。

Slide 13

Slide 13 text

13 AI・機械学習とは? 最後に、皆さんもよく⾒る、AIと機械学習とDeep Learningの⾔葉の説明をして、 必要に応じてDeep Learningって何がすごいの?という説明をします。(本稿では割愛) AI:「⼈の知能」っぽい働きをする仕組みすべて 機械学習 ルールベース 回帰モデル SVM Deep Learning ⼈間が決めたルールを元に判定する データからルールを⾒つけ出す仕組み

Slide 14

Slide 14 text

14 ⽇本におけるAI活⽤とAIの⺠主化 03

Slide 15

Slide 15 text

15 なぜ従来システムとの違いを強調して説明するのか? それは、⽇本では「システムは外部に発注して作らせて終わり」とする商習慣がまだまだ強く、 従来型システムと同じように考えられてしまうと、 「結局活⽤されない」とか「トラブルのタネになる」などの悲しい結果に繋がるためです。 従来システムのイメージ 機械学習システム 認識ズレによる問題 作ったら終わり、運⽤は外部任せでOK ⼀度作った後、定期的に再学習が必 要なので⾃分たちで運⽤する必要が ある 「え?再学習?運⽤する ⼈なんかいないし、運⽤ ⽅法もわからない よ。。。」 設計時に決めたとおりに動き続ける モデルの挙動は再学習するびに変 わってしまう 「確実に精度保証ができ ないならお⾦は払えな い!!!!」

Slide 16

Slide 16 text

16 なぜ「システムは外部発注して終わり」になるのか? 余談ですが、「システムは外部に発注して作って終わり」という商習慣の背景としては 以下のように「雇⽤の流動性の低さ」が挙げられることが多いです。 アメリカ ⽇本 雇⽤の流動性が⾼い 雇⽤の流動性が低い 最悪、解雇できるので、 社内にIT⼈材を抱えるリスクが取れる 解雇にしづらいので IT⼈材を社内に抱えるリスクが取りづらい ⾃社でシステムの開発から運⽤までをする システムごとに外部(=Sier)に IT⼈材をアウトソースして開発・運⽤をする ※ちなみに「それなら雇⽤の流動性を上げればいいんだ!解雇規制を緩和だ!」みたいな雑な議論を時々⾒ますが、 そんなに単純なら苦労しないのです。皆さんは、「ではなぜ雇⽤流動性が低い労働法制になっているのか?」というところまで 考えて頂けるとうれしいです。

Slide 17

Slide 17 text

17 いろいろ書きましたが、要するに何が⾔いたかったかというと、 ⽇本には、"⾃分たちで改善し続ける必要がある"AI活⽤が難しい構造的な背景がある、 ということです それでは続いて、⽇本におけるAI導⼊の状況を⾒てみましょう

Slide 18

Slide 18 text

18 ⼆極化するAI活⽤ https://www.pwc.com/jp/ja/knowledge/thoughtleadership/2021-ai-predictions.html AIの活⽤に関して、現場で感じる肌感覚としては、PoCは⼀巡した感があります。 調査を⾒ても、未導⼊の企業は未導⼊のままで、導⼊済み企業はPoCを終え、効果を実感しており、 ⼆極化している様⼦が⾒て取れます。 PwC様の調査 https://www.soumu.go.jp/johotsusintokei/statistics/data/210618_1.pdf 総務省の情報通信利⽤動向調査

Slide 19

Slide 19 text

19 このように、現状はAI活⽤は⼆極化していますが、 個⼈的には「AIを使ってみた」はなんだかんだ増えると思っています。(ただし「活⽤」はまだ別) 理由は、いわゆる「AIの⺠主化」の勢いがすごいためです。 「AIの⺠主化」に関連して、ここで触れたいキーワードは、以下の4つです 「AIの⺠主化」 ü Auto ML ü 学習済みモデルのAPI化 ü 学習済みモデルの公開 ü GoogleのAutoML Zero

Slide 20

Slide 20 text

20 Auto ML l インプットされたデータに対して最適な前処理、アルゴリズム、ハイパーパラメータを探索し、簡単に⾼精度 なモデルを作成する技術 l ⼀般的なタスクであれば、データ作成までできれば投⼊するだけでコンペ上位レベルのモデルができる l 各社、いろいろなサービスを出しており、ISIDもOpTApfというサービスをリリース OpTApfの製品ページ→https://isid-ai.jp/products/optapf.html https://youtu.be/0nGdTPJvjDI 具体的なサービスイメージ サービスによって異なるが、 例えばMicrosoftのAuto MatedMLは、協調フィルタリ ングとベイズ最適化問題を組み 合わせることで、上記の探索を 効率化している 以下のAzure Machine Learningの動画がわかりやすいです しくみ https://arxiv.org/pdf/1705.05355.pdf

Slide 21

Slide 21 text

21 学習済みモデルのAPI提供 l 画像、⾳声、⾃然⾔語、動画、etcとかなり⾊々なデータ・タスクが既にAPIとして提供されている l これらの多くは有料だが、すぐにAIを使って課題を解決できる Microsoftが提供するAPI Microsoft Azureは、APIとして例えば以下のようなAIを提供しています。 (以下は⼀例です。実際にはもっとあります。) 以下は、Azure Compute Visionの利⽤イメージです。 画像に写り込んだオブジェクトの位置を検出し、 それが「⾃転⾞」であることを特定しています MicrosoftのAPI利⽤画⾯例 https://docs.microsoft.com/ja-jp/azure/cognitive-services/what-are-cognitive-services https://azure.microsoft.com/ja-jp/services/cognitive-services/computer-vision/#featu

Slide 22

Slide 22 text

22 学習済みモデルの公開 l API化はまだされていなくても、様々な学習済みモデルがインターネット上で公開されている l 公開された学習済みモデルは、少しのコードを書くだけで利⽤することができる l ただし商⽤利⽤が制限されていることも多いので、ライセンスには注意 Hugging Face Model Hub: https://huggingface.co/models Pytorch Hub: https://pytorch.org/hub/ onnxのGit Hub https://github.com/onnx/models

Slide 23

Slide 23 text

23 AutoML-Zero l Googleが開発したアルゴリズム l 進化的アルゴリズムによって、ゼロから今まで⼈類が発⾒してきた⼿法をAIが⾃分で発⾒する l ReLUや、誤差逆伝播法などを⽤いた⼆層ニューラルネットワークを⾃⼒で発⾒ l まだ安定的に⾼精度なアルゴリズムを作成はできず、実⽤段階ではないとのこと https://ai.googleblog.com/2020/07/automl-zero-evolving-code-that-learns.html AutoML-Zeroの進化の過 程

Slide 24

Slide 24 text

24 このような「AIの⺠主化」が進むとAIのハードルはどんどん低くなり、 「使ってみた」⾃体は増えていくと考えています。 すると、次の課題は、「導⼊したAIをいかにして活⽤するか」です。 外部ベンダーにシステム構築を発注する⽂化がある⽇本では、 特に重要なテーマなのかなと思っています

Slide 25

Slide 25 text

25 MLOpsと注⽬キーワード 04

Slide 26

Slide 26 text

26 MLOps ご存知の⽅が多いかもですが、「AIの運⽤」を表す「MLOps」というキーワードが注⽬されています。 が、「MLOps」とは具体的に何をさすのでしょうか? [引⽤] Azureアーキテクチャセンター https://docs.microsoft.com/ja-jp/azure/architecture/example-scenario/mlops/media/basic-ml-process-flow.png

Slide 27

Slide 27 text

27 MLOps = AI活⽤に必要な要素ぜんぶ MLOpsの定義はいろいろありますが、私は、「AI活⽤に必要な要素ぜんぶ」だと思っています。 例えば、以下は、MLOpsに関して⾔及された要素として紹介されている図です。 私も、MLOpsとしてこれくらいまで含まれる気がします。 [引⽤] 渡部 徹太郎「MLOpsはバズワード」https://www.slideshare.net/tetsutarowatanabe/mlops- 249382186

Slide 28

Slide 28 text

28 MLOps = AI活⽤に必要な要素ぜんぶ つまり、AIの実運⽤・活⽤するにあたっては、 AI⾃体はほんの⼀部で、AI以外の仕組みが⼤部分を占めることになります そこで、ここでは「MLOps」という観点から以下のキーワードについてご紹介します ü 連合学習(Federated Learning) ü メタ学習 ü モデルの軽量化 ü AIに対するセキュリティ

Slide 29

Slide 29 text

29 MLOpsとの関係 ところで、キーワードだけ提⽰されてもMLOpsとの関係が良くわからないので、 先に広⼤なMLOpsを簡易的にモデル化し、キーワードマッピングしてみます。 データ 収集 教師 データ作成 モデル訓練 ・ 評価 本番環境 へのデプロ イ ユーザーに よる利⽤ 利⽤結果からフィードバック

Slide 30

Slide 30 text

30 データ 収集 教師 データ作成 モデル訓練 ・ 評価 本番環境 へのデプロ イ ユーザーに よる利⽤ 利⽤結果からフィードバック MLOpsとの関係 紹介するキーワードをMLOpsの簡易モデル上にマップすると、こんな感じです 収集 連合学習 メタ学習 モデル 軽量化 AIに対するセキュリティ

Slide 31

Slide 31 text

31 データ 収集 教師 データ作成 モデル訓練 ・ 評価 本番環境 へのデプロ イ ユーザーに よる利⽤ 利⽤結果からフィードバック 連合学習(Federation Learning) 連合学習 AIに対するセキュリティ メタ学習 モデル 軽量化

Slide 32

Slide 32 text

32 連合学習(Federation Learning) 背景の課題 l データを収集する際、プライバシーの問題や機密性がハードルになることが多い l スマホやアプリなどでユーザーの情報を収集したとしても、それをクラウド上に集約できない l 各企業がもっているデータを外に出さずに、企業間で協⼒したい 概要 l データを⼀箇所に集約して学習するのではなく、データを保持したデバイスごとに分散してモデルを訓練 l 各デバイスは、訓練によって得られたパラメータの勾配だけをクラウドに送信し、 ⼤元のモデルのパラメータを更新する https://arxiv.org/pdf/1907.09693.pdf

Slide 33

Slide 33 text

33 データ 収集 教師 データ作成 モデル訓練 ・ 評価 本番環境 へのデプロ イ ユーザーに よる利⽤ 利⽤結果からフィードバック 連合学習 AIに対するセキュリティ メタ学習 メタ学習 モデル 軽量化

Slide 34

Slide 34 text

34 メタ学習 背景の課題 l DLで精度の良いモデルを作成するには、⼤量のデータで学習する必要がある l しかし、業務上のタスクを解くモデルを訓練させるための教師データを⼤量に作るのは、すごく⼤変 例えば「機器の故障原因」を分類したいけど、同じ原因が違う名前で⼊⼒されてるなど、ラベルをつけるのが⼤変 概要 l さまざまなタスクでモデルを学習させ、「いろいろなタスクでどのようにパラメータを学習しているのか」を 学習させることで、新たなタスクのデータが少ししかなくても、精度の⾼いモデルを構築するための訓練⼿法 [引⽤]https://arxiv.org/pdf/1703.03400.pdf タスク1に 最適化させた パラメータ タスク3に 最適化させた パラメータ タスク2に 最適化させた パラメータ いろんなタスクに すぐに適応できる メタパラメータ

Slide 35

Slide 35 text

35 ※ は同じ構造をもつネットワーク 2-2. ねずみハムスターを分類するタスクに 最適化したパラメータを学習 2-3. 狼・狐分類するタスクに最適化したパラメータを学習 1. 共通のメタ・パラメー タで各タスクのネット ワークを初期化 (=最初はぜんぶ同じモ デルからスタート) 5. メタ・パラメータを 更新する 3-2. ねずみハムスター 分類タスクの損失を算出 3-3.狼・狐分類タスクの損失を算出 4.各タスクの 損失合計の 勾配を計算 メタ・ Optimizer 2-1. ⽝猫を分類するタスクに最適化した パラメータを学習 ⽝猫分類タスク に最適化した パラメータ ねずみハムスター 分類タスク に最適化した パラメータ 狼・狐分類 タスクに最適化した パラメータ メタ・ パラメータ メタ学習の流れイメージ 3-1. ⽝猫分類タスクの損失を算出

Slide 36

Slide 36 text

36 データ 収集 教師 データ作成 モデル訓練 ・ 評価 本番環境 へのデプロ イ ユーザーに よる利⽤ 利⽤結果からフィードバック 連合学習 AIに対するセキュリティ メタ学習 モデル軽量化 モデル 軽量化

Slide 37

Slide 37 text

37 モデルの軽量化 背景の課題 l ⾼精度なモデルではパラメータ数が増え、リッチな計算資源が必要になる傾向がある l しかし、エッジデバイスなどで訓練や推論を⾏うユースケースでは、リッチな計算資源確保ができない (エッジじゃなかったとしても、リソースを確保するのはたいへん) 概要 l ネットワーク中の重要度が低いノードを削減してパラメータ数を減らしたり、⾏列計算を簡易化して演算回 数をへらすなどの⼯夫によって、精度をできるだけ確保しつつ必要なメモリや演算回数を削減する 元々のネットワーク 重要度が低いネットワークを削除